diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,14 @@
 # Revision history for skylighting
 
+## 0.3.3 -- 2017-04-22
+
+  * Revert change from 0.3.2; now entities from a DTD are
+    resolved if the DTD element is included.  This is needed
+    for agda.xml and some others.  If you want to use a custom
+    xml definition without needing language.dtd, just remove
+    the reference to language.dtd in your xml file.
+  * Added `case` keyword for ats (Hanwen (Steinway) Wu).
+
 ## 0.3.2 -- 2017-04-01
 
   * Parse xml definitions without resolving entities from
diff --git a/skylighting.cabal b/skylighting.cabal
--- a/skylighting.cabal
+++ b/skylighting.cabal
@@ -1,5 +1,5 @@
 name:                skylighting
-version:             0.3.2
+version:             0.3.3
 synopsis:            syntax highlighting library
 description:         Skylighting is a syntax highlighting library with
                      support for over one hundred languages.  It derives
@@ -21,6 +21,8 @@
 build-type:          Simple
 extra-source-files:  changelog.md
                      README.md
+                     xml/*.xml
+                     xml/language.dtd
                      test/default.theme
                      test/cases/abc.ada
                      test/cases/abc.agda
diff --git a/src/Skylighting/Parser.hs b/src/Skylighting/Parser.hs
--- a/src/Skylighting/Parser.hs
+++ b/src/Skylighting/Parser.hs
@@ -67,8 +67,7 @@
 
 application :: String -> IOSArrow b Syntax
 application fp
-    = readDocument [withValidate no, withSubstDTDEntities no,
-                    withInputEncoding utf8] fp
+    = readDocument [withValidate no, withInputEncoding utf8] fp
       >>>
       multi (hasName "language")
       >>>
diff --git a/src/Skylighting/Syntax/Ats.hs b/src/Skylighting/Syntax/Ats.hs
--- a/src/Skylighting/Syntax/Ats.hs
+++ b/src/Skylighting/Syntax/Ats.hs
@@ -9,4 +9,4 @@
 
 -- | Syntax definition for ATS.
 syntax :: Syntax
-syntax = decode "\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aats.xml\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXAts\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC3Existential Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC3Existential Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL]\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CANFunction Keyword Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CANFunction Keyword Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\NUL=\RS\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\NUL{\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Universal Context\NUL[\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC3Existential Context\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKNormal\RS\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EMMultiline C-style Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EMMultiline C-style Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH*/\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\f\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Multiline Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Multiline Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH*)\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\SOH(*\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Multiline Comment\f\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKNormal\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKNormal\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\r\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT////\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC4Rest-of-file Comment\SOH(*\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Multiline Comment\SOH/*\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EMMultiline C-style Comment\SOH//\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FSSingleline C++ style Comment\SOH.<\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESCTermination Metrics Context\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NULQ`\\s*[A-Za-z\\300-\\326\\330-\\366\\370-\\377_][A-Za-z\\300-\\326\\330-\\366\\370-\\3770-9_']*\SOH\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\t\n !%&()*+,-./:;<=>?[\\]^{|}~\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aabsprop\NUL\NUL\NUL\NUL\NUL\NUL\NUL\babst0ype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aabstype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aabsview\NUL\NUL\NUL\NUL\NUL\NUL\NUL\fabsviewt0ype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\vabsviewtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\tabsvt0ype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\babsvtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXand\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXas\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKassume\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQbegin\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQbreak\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bclassdec\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bcontinue\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bdataprop\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bdatasort\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bdatatype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bdataview\NUL\NUL\NUL\NUL\NUL\NUL\NUL\fdataviewtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\tdatavtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXdo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\adynload\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTelse\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXend\NUL\NUL\NUL\NUL\NUL\NUL\NUL\texception\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKextern\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKextval\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKextype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXfor\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXif\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXin\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQinfix\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKinfixl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKinfixr\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXlet\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQlocal\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKmacdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bmacrodef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKnonfix\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXof\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXop\NUL\NUL\NUL\NUL\NUL\NUL\NUL\boverload\NUL\NUL\NUL\NUL\NUL\NUL\NUL\apostfix\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKprefix\NUL\NUL\NUL\NUL\NUL\NUL\NUL\apropdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQprval\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQprvar\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXrec\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQscase\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXsif\NUL\NUL\NUL\NUL\NUL\NUL\NUL\asortdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXsta\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKstacst\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKstadef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\astaload\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKstavar\NUL\NUL\NUL\NUL\NUL\NUL\NUL\asymelim\NUL\NUL\NUL\NUL\NUL\NUL\NUL\asymintr\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTthen\NUL\NUL\NUL\NUL\NUL\NUL\NUL\atkindef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXtry\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\atypedef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXval\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXvar\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aviewdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\vviewtypedef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bvtypedef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTwhen\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQwhere\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQwhile\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTwith\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bwithprop\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bwithtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bwithview\NUL\NUL\NUL\NUL\NUL\NUL\NUL\fwithviewtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\twithvtype\NUL\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\t\n !%&()*+,-./:;<=>?[\\]^{|}~\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKcastfn\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXfix\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXfn\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXfnx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXfun\NUL\NUL\NUL\NUL\NUL\NUL\NUL\timplement\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aimplmnt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXlam\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTllam\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQpraxi\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTprfn\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQprfun\NUL\NUL\NUL\NUL\NUL\NUL\NUL\vprimplement\NUL\NUL\NUL\NUL\NUL\NUL\NUL\tprimplmnt\NUL\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CANFunction Keyword Context\a\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\t\n !%&()*+,-./:;<=>?[\\]^{|}~\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a#assert\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a#define\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQ#elif\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b#elifdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t#elifndef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQ#else\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK#endif\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK#error\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX#if\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK#ifdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a#ifndef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b#include\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK#print\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQ#then\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK#undef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$arrpsz\NUL\NUL\NUL\NUL\NUL\NUL\NUL\v$arrptrsize\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$delay\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b$effmask\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f$effmask_all\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f$effmask_exn\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f$effmask_ntm\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f$effmask_ref\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f$effmask_wrt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$extern\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b$extkind\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$extval\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$extype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO$extype_struct\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$ldelay\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQ$list\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$list_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b$list_vt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT$lst\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$lst_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$lst_vt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\v$myfilename\NUL\NUL\NUL\NUL\NUL\NUL\NUL\v$myfunction\NUL\NUL\NUL\NUL\NUL\NUL\NUL\v$mylocation\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$raise\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT$rec\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$rec_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$rec_vt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$record\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t$record_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n$record_vt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t$showtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT$tup\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$tup_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$tup_vt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$tuple\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b$tuple_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t$tuple_vt\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NULM[A-Za-z\\300-\\326\\330-\\366\\370-\\377_][A-Za-z\\300-\\326\\330-\\366\\370-\\3770-9_']*\SOH\RS\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC4~?0[xX][0-9A-Fa-f_]+\SOH\ETX\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NULS~?[0-9][0-9_]*((\\.([0-9][0-9_]*)?([eE][-+]?[0-9][0-9_]*)?)|([eE][-+]?[0-9][0-9_]*))\SOH\EOT\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO~?[0-9][0-9_]*\SOH\STX\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC4Rest-of-file Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC4Rest-of-file Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FSSingleline C++ style Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FSSingleline C++ style Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOString Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOString Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\"\b\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL+(\\\\[ntbr'\"\\\\]|\\\\[0-9]{3}|\\\\x[0-9A-Fa-f]{2})\SOH\RS\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\\\\$\SOH\RS\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESCTermination Metrics Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESCTermination Metrics Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH>.\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Universal Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Universal Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL}\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\"Kiwamu Okabe (kiwamu@debian.or.jp)\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT0.01\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTLGPL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK*.dats\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK*.sats\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK*.hats\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKNormal"
+syntax = decode "\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aats.xml\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXAts\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC3Existential Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC3Existential Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL]\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CANFunction Keyword Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CANFunction Keyword Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\NUL=\RS\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\NUL{\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Universal Context\NUL[\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC3Existential Context\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKNormal\RS\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EMMultiline C-style Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EMMultiline C-style Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH*/\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\f\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Multiline Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Multiline Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH*)\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\SOH(*\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Multiline Comment\f\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKNormal\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKNormal\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\r\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT////\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC4Rest-of-file Comment\SOH(*\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Multiline Comment\SOH/*\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EMMultiline C-style Comment\SOH//\f\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FSSingleline C++ style Comment\SOH.<\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESCTermination Metrics Context\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NULQ`\\s*[A-Za-z\\300-\\326\\330-\\366\\370-\\377_][A-Za-z\\300-\\326\\330-\\366\\370-\\3770-9_']*\SOH\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\t\n !%&()*+,-./:;<=>?[\\]^{|}~\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aabsprop\NUL\NUL\NUL\NUL\NUL\NUL\NUL\babst0ype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aabstype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aabsview\NUL\NUL\NUL\NUL\NUL\NUL\NUL\fabsviewt0ype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\vabsviewtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\tabsvt0ype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\babsvtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXand\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXas\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKassume\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQbegin\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQbreak\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTcase\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bclassdec\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bcontinue\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bdataprop\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bdatasort\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bdatatype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bdataview\NUL\NUL\NUL\NUL\NUL\NUL\NUL\fdataviewtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\tdatavtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXdo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\adynload\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTelse\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXend\NUL\NUL\NUL\NUL\NUL\NUL\NUL\texception\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKextern\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKextval\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKextype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXfor\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXif\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXin\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQinfix\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKinfixl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKinfixr\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXlet\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQlocal\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKmacdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bmacrodef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKnonfix\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXof\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXop\NUL\NUL\NUL\NUL\NUL\NUL\NUL\boverload\NUL\NUL\NUL\NUL\NUL\NUL\NUL\apostfix\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKprefix\NUL\NUL\NUL\NUL\NUL\NUL\NUL\apropdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQprval\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQprvar\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXrec\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQscase\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXsif\NUL\NUL\NUL\NUL\NUL\NUL\NUL\asortdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXsta\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKstacst\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKstadef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\astaload\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKstavar\NUL\NUL\NUL\NUL\NUL\NUL\NUL\asymelim\NUL\NUL\NUL\NUL\NUL\NUL\NUL\asymintr\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTthen\NUL\NUL\NUL\NUL\NUL\NUL\NUL\atkindef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXtry\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\atypedef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXval\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXvar\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aviewdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\vviewtypedef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bvtypedef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTwhen\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQwhere\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQwhile\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTwith\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bwithprop\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bwithtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\bwithview\NUL\NUL\NUL\NUL\NUL\NUL\NUL\fwithviewtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\twithvtype\NUL\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\t\n !%&()*+,-./:;<=>?[\\]^{|}~\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKcastfn\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXfix\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STXfn\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXfnx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXfun\NUL\NUL\NUL\NUL\NUL\NUL\NUL\timplement\NUL\NUL\NUL\NUL\NUL\NUL\NUL\aimplmnt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXlam\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTllam\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQpraxi\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTprfn\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQprfun\NUL\NUL\NUL\NUL\NUL\NUL\NUL\vprimplement\NUL\NUL\NUL\NUL\NUL\NUL\NUL\tprimplmnt\NUL\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CANFunction Keyword Context\a\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\t\n !%&()*+,-./:;<=>?[\\]^{|}~\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a#assert\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a#define\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQ#elif\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b#elifdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t#elifndef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQ#else\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK#endif\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK#error\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX#if\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK#ifdef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a#ifndef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b#include\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK#print\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQ#then\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK#undef\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$arrpsz\NUL\NUL\NUL\NUL\NUL\NUL\NUL\v$arrptrsize\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$delay\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b$effmask\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f$effmask_all\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f$effmask_exn\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f$effmask_ntm\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f$effmask_ref\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f$effmask_wrt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$extern\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b$extkind\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$extval\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$extype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO$extype_struct\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$ldelay\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ENQ$list\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$list_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b$list_vt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT$lst\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$lst_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$lst_vt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\v$myfilename\NUL\NUL\NUL\NUL\NUL\NUL\NUL\v$myfunction\NUL\NUL\NUL\NUL\NUL\NUL\NUL\v$mylocation\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$raise\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT$rec\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$rec_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$rec_vt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$record\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t$record_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n$record_vt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t$showtype\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT$tup\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$tup_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a$tup_vt\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK$tuple\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b$tuple_t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t$tuple_vt\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NULM[A-Za-z\\300-\\326\\330-\\366\\370-\\377_][A-Za-z\\300-\\326\\330-\\366\\370-\\3770-9_']*\SOH\RS\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC4~?0[xX][0-9A-Fa-f_]+\SOH\ETX\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NULS~?[0-9][0-9_]*((\\.([0-9][0-9_]*)?([eE][-+]?[0-9][0-9_]*)?)|([eE][-+]?[0-9][0-9_]*))\SOH\EOT\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO~?[0-9][0-9_]*\SOH\STX\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC4Rest-of-file Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC4Rest-of-file Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FSSingleline C++ style Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FSSingleline C++ style Comment\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOString Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOString Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\"\b\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL+(\\\\[ntbr'\"\\\\]|\\\\[0-9]{3}|\\\\x[0-9A-Fa-f]{2})\SOH\RS\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\\\\$\SOH\RS\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESCTermination Metrics Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESCTermination Metrics Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\SOH>.\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Universal Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC1Universal Context\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETXATS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL}\SOH\NUL\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\"Kiwamu Okabe (kiwamu@debian.or.jp)\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT0.01\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOTLGPL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK*.dats\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK*.sats\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK*.hats\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACKNormal"
diff --git a/xml/abc.xml b/xml/abc.xml
new file mode 100644
--- /dev/null
+++ b/xml/abc.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- Andrea Primiani - primiani at dag dot it
+ 	version1.10 - 12 december 2005 -->
+<language name="ABC" version="3" kateversion="2.4" section="Other" extensions="*.abc;*.ABC" mimetype="text/vnd.abc" casesensitive="1" author="Andrea Primiani (primiani@dag.it)" license="LGPL">
+    <highlighting>
+        <contexts>
+           <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+<!-- detects tuplet symbols e.g. (3 or (3:2:2-->
+	    <RegExpr attribute="Tuplet" context="#stay" String="\([23456789]:?[23456789]?:?[23456789]?" />
+<!-- detects quoted strings -->
+	    <RangeDetect attribute="String" context="#stay" char="&quot;" char1="&quot;"/>
+<!-- detects decorations delimited by ! ! symbols -->
+	    <RangeDetect attribute="Decoration" context="#stay" char="!" char1="!" />
+<!-- detects single header command delimited by [ and sends to Header context -->
+	    <RegExpr attribute="Header" context="Header" String="\[[ABCGHILMNOQRSTUVZ]:" />
+<!-- detects single header line inside a song without [] - ends at EOL-->
+	    <RegExpr attribute="Header" context="Header2" String="[ABCGHILMNOPQRSTUVZ]:" />
+<!-- detect beginning of header zone with X: and sends to Header context -->	    
+	    <Detect2Chars attribute="Header" context="Header" char="X" char1=":" beginRegion="header" column="0"/>
+<!-- detects bar beginning (or chord) symbols and sends to Bar context -->
+	    <AnyChar attribute="Bar" context="Bar" String="|:[" />
+<!-- detects ] if used to close chords -->	    
+	    <DetectChar attribute="Bar" context="#stay" char="]" />
+<!-- detects () for slurs -->
+	    <AnyChar attribute="Slur" context="#stay" String="()" />
+<!-- detects {} for gracings -->
+	    <AnyChar attribute="Slur" context="#stay" String="{}" />
+<!-- detects W: and w: lyric lines -->	    
+	    <Detect2Chars attribute="Lyrics" context="Lyrics" char="W" char1=":" />
+	    <Detect2Chars attribute="Lyrics" context="Lyrics" char="w" char1=":" />
+<!-- detects %% preprocessor lines and % comment lines-->	    
+	    <Detect2Chars attribute="Preprocessor" context="Preprocessor" char="%" char1="%"/>
+	    <DetectChar attribute="Comment" context="Comment" char="%" />
+<!-- detects ^ _ = symbols before a note -->
+	    <RegExpr attribute="Sharp" context="#stay" String="[_|\^]?[_|=|\^][A-Ga-g]" />
+	   </context>
+<!-- returns to Normal context at the end of line -->	   
+	   <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop" />
+	   <context name="Lyrics" attribute="Lyrics" lineEndContext="#pop" />
+	   <context name="Part" attribute="Header" lineEndContext="#pop" />
+	   <context name="Comment" attribute="Comment" lineEndContext="#pop" />
+<!-- returns to Normal context after the end of bar symbols or at EOL -->
+	   <context name="Bar" attribute="Bar" lineEndContext="#pop" >
+	   	<DetectChar attribute="Normal Text" context="#pop" char="&quot;" />
+<!-- the bar symbol ends when a note letter follows -->
+		<RegExpr attribute="Normal Text" context="#pop" String="[A-Ga-gZz]" />
+<!-- the bar symbol ends after a white space -->
+		<DetectChar attribute="Normal Text" context="#pop" char=" " />
+<!-- detects decorations delimited by ! ! symbols -->
+	    <RangeDetect attribute="Decoration" context="#stay" char="!" char1="!" />
+<!-- detects () for slurs -->
+	    <AnyChar attribute="Slur" context="#stay" String="()" />
+<!-- chomps all other bar symbols -->
+		<RegExpr attribute="Bar" context="#pop" String=":*\|*[1-9]|/*\|" />
+	   </context>
+<!-- returns to Normal context at the end of header -->
+	   <context name="Header" attribute="Header" lineEndContext="#stay">
+<!-- the header ends after K: line -->
+		<RegExpr attribute="Header" context="#pop" String="K:.+" endRegion="header" column="0"/>
+<!-- the single header command ends at the ] char -->
+		<DetectChar attribute="Header" context="#pop" char="]" />
+	   </context>
+<!-- the single header line ends at EOL -->
+	   <context name="Header2" attribute="Header" lineEndContext="#pop" />
+       </contexts>
+        <itemDatas>
+          <itemData name="Normal Text" defStyleNum="dsNormal"/>
+          <itemData name="Notes" defStyleNum="dsKeyword" bold="true"/>
+	  <itemData name="Comment" defStyleNum="dsComment"/>
+	  <itemData name="Decoration" defStyleNum="dsFloat" color="#00bbaa" />
+	  <itemData name="String" defStyleNum="dsString" bold="true"/>
+	  <itemData name="Preprocessor" defStyleNum="dsString" italic="true"/>
+	  <itemData name="Header" defStyleNum="dsFloat"/>
+	  <itemData name="Slur" defStyleNum="dsDataType" bold="true"/>
+	  <itemData name="Tuplet" defStyleNum="dsDataType" color="#bb00bb"/>
+	  <itemData name="Lyrics" defStyleNum="dsDataType" color="#00bb00"/>
+	  <itemData name="Bar" defStyleNum="dsChar" color="#0000ff"/>
+	  <itemData name="Sharp" defStyleNum="dsNormal" color="#22bb66" bold="true"/>
+	</itemDatas>
+ </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="%" />
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
diff --git a/xml/actionscript.xml b/xml/actionscript.xml
new file mode 100644
--- /dev/null
+++ b/xml/actionscript.xml
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="ActionScript 2.0" version="2" kateversion="5.0" section="Sources" extensions="*.as" mimetype="text/x-actionscript" license="LGPL" author="Aaron Miller (armantic101@gmail.com)">
+  <highlighting>
+    
+    <list name="properties">
+      <item> _accProps </item>
+      <item> _focusrect </item>
+      <item> _global </item>
+      <item> _highquality </item>
+      <item> _level </item>
+      <item> _parent </item>
+      <item> _quality </item>
+      <item> _root </item>
+      <item> _soundbuftime </item>
+      <item> maxscroll </item>
+      <item> scroll </item>
+      <item> this </item>
+    </list>
+    
+    <list name="global_functions">
+      <item> asfunction </item>
+      <item> call </item>
+      <item> chr </item>
+      <item> clearInterval </item>
+      <item> duplicateMovieClip </item>
+      <item> escape </item>
+      <item> eval </item>
+      <item> fscommand </item>
+      <item> getProperty </item>
+      <item> getTimer </item>
+      <item> getURL </item>
+      <item> getVersion </item>
+      <item> gotoAndPlay </item>
+      <item> gotoAndStop </item>
+      <item> ifFrameLoaded </item>
+      <item> int </item>
+      <item> isFinite </item>
+      <item> isNaN </item>
+      <item> length </item>
+      <item> loadMovie </item>
+      <item> loadMovieNum </item>
+      <item> loadVariables </item>
+      <item> loadVariablesNum </item>
+      <item> mbchr </item>
+      <item> mblength </item>
+      <item> mbord </item>
+      <item> mbsubstring </item>
+      <item> nextFrame </item>
+      <item> nextScene </item>
+      <item> on </item>
+      <item> onClipEvent </item>
+      <item> ord </item>
+      <item> parseFloat </item>
+      <item> parseInt </item>
+      <item> play </item>
+      <item> prevFrame </item>
+      <item> prevScene </item>
+      <item> print </item>
+      <item> printAsBitmap </item>
+      <item> printAsBitmapNum </item>
+      <item> printNum </item>
+      <item> random </item>
+      <item> removeMovieClip </item>
+      <item> setInterval </item>
+      <item> setProperty </item>
+      <item> showRedrawRegions </item>
+      <item> startDrag </item>
+      <item> stop </item>
+      <item> stopAllSounds </item>
+      <item> stopDrag </item>
+      <item> substring </item>
+      <item> targetPath </item>
+      <item> tellTarget </item>
+      <item> toggleHighQuality </item>
+      <item> trace </item>
+      <item> typeof </item>
+      <item> unescape </item>
+      <item> unloadMovie </item>
+      <item> unloadMovieNum </item>
+    <item> updateAfterEvent </item>
+    </list>
+      
+    <list name="classes">
+      <item> Accessibility </item>
+      <item> Accordion </item>
+      <item> Alert </item>
+      <item> Binding </item>
+      <item> Button </item>
+      <item> Camera </item>
+      <item> CellRenderer </item>
+      <item> CheckBox </item>
+      <item> Collection </item>
+      <item> Color </item>
+      <item> ComboBox </item>
+      <item> ComponentMixins </item>
+      <item> ContextMenu </item>
+      <item> ContextMenuItem </item>
+      <item> CustomActions </item>
+      <item> CustomFormatter </item>
+      <item> CustomValidator </item>
+      <item> DataGrid </item>
+      <item> DataHolder </item>
+      <item> DataProvider </item>
+      <item> DataSet </item>
+      <item> DataType </item>
+      <item> Date </item>
+      <item> DateChooser </item>
+      <item> DateField </item>
+      <item> Delta </item>
+      <item> DeltaItem </item>
+      <item> DeltaPacket </item>
+      <item> DepthManager </item>
+      <item> EndPoint </item>
+      <item> Error </item>
+      <item> FaultEvent </item>
+      <item> FocusManager </item>
+      <item> Form </item>
+      <item> Function </item>
+      <item> Iterator </item>
+      <item> Key </item>
+      <item> Label </item>
+      <item> List </item>
+      <item> LoadVars </item>
+      <item> Loader </item>
+      <item> LocalConnection </item>
+      <item> Log </item>
+      <item> Math </item>
+      <item> Media </item>
+      <item> Menu </item>
+      <item> MenuBar </item>
+      <item> Microphone </item>
+      <item> Mouse </item>
+      <item> MovieClip </item>
+      <item> MovieClipLoader </item>
+      <item> NetConnection </item>
+      <item> NetStream </item>
+      <item> Number </item>
+      <item> NumericStepper </item>
+      <item> PendingCall </item>
+      <item> PopUpManager </item>
+      <item> PrintJob </item>
+      <item> ProgressBar </item>
+      <item> RDBMSResolver </item>
+      <item> RadioButton </item>
+      <item> RelayResponder </item>
+      <item> SOAPCall </item>
+      <item> Screen </item>
+      <item> ScrollPane </item>
+      <item> Selection </item>
+      <item> SharedObject </item>
+      <item> Slide </item>
+      <item> Sound </item>
+      <item> Stage </item>
+      <item> StyleManager </item>
+      <item> System </item>
+      <item> TextArea </item>
+      <item> TextField </item>
+      <item> TextFormat </item>
+      <item> TextInput </item>
+      <item> TextSnapshot </item>
+      <item> TransferObject </item>
+      <item> Tree </item>
+      <item> TreeDataProvider </item>
+      <item> TypedValue </item>
+      <item> UIComponent </item>
+      <item> UIEventDispatcher </item>
+      <item> UIObject </item>
+      <item> Video </item>
+      <item> WebService </item>
+      <item> WebServiceConnector </item>
+      <item> Window </item>
+      <item> XML </item>
+      <item> XMLConnector </item>
+      <item> XUpdateResolver </item>
+    </list>
+    
+    <list name="keywords">
+      <item> add </item>
+      <item> and </item>
+      <item> break </item>
+      <item> case </item>
+      <item> catch </item>
+      <item> class </item>
+      <item> continue </item>
+      <item> default </item>
+      <item> delete </item>
+      <item> do </item>
+      <item> dynamic </item>
+      <item> else </item>
+      <item> eq </item>
+      <item> extends </item>
+      <item> finally </item>
+      <item> for </item>
+      <item> function </item>
+      <item> ge </item>
+      <item> get </item>
+      <item> gt </item>
+      <item> if </item>
+      <item> implements </item>
+      <item> import </item>
+      <item> in </item>
+      <item> instanceof </item>
+      <item> interface </item>
+      <item> intrinsic </item>
+      <item> le </item>
+      <item> lt </item>
+      <item> ne </item>
+      <item> new </item>
+      <item> not </item>
+      <item> or </item>
+      <item> private </item>
+      <item> public </item>
+      <item> return </item>
+      <item> set </item>
+      <item> static </item>
+      <item> switch </item>
+      <item> throw </item>
+      <item> try </item>
+      <item> var </item>
+      <item> void </item>
+      <item> while </item>
+      <item> with </item>
+    </list>
+    
+    <list name="const">
+      <item> false </item>
+      <item> Infinity </item>
+      <item> -Infinity </item>
+      <item> NaN </item>
+      <item> newline </item>
+      <item> null </item>
+      <item> true </item>
+      <item> undefined </item>
+    </list>
+    
+    <list name="types">
+      <item> Array </item>
+      <item> Boolean </item>
+      <item> Number </item>
+      <item> Object </item>
+      <item> String </item>
+      <item> Void </item>
+    </list>
+    
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <!-- Comment next line if you don't use Javadoc tool -->
+        <IncludeRules context="##Javadoc"/>
+        <keyword attribute="Properties" context="#stay" String="properties"/>
+        <keyword attribute="Global Functions" context="#stay" String="global_functions"/>
+        <keyword attribute="Classes" context="#stay" String="classes"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Constants" context="#stay" String="const"/>
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <Float attribute="Float" context="#stay">
+          <AnyChar String="fF" attribute="Float" context="#stay"/>
+        </Float>
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Int attribute="Decimal" context="#stay">
+          <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
+        </Int>
+        <HlCChar attribute="Char" context="#stay"/>
+        <RegExpr attribute="Decimal" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1"/>
+        <RegExpr attribute="Decimal" context="#stay" String="//\s*END.*$" endRegion="Region1"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/> 
+        <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"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\.{3,3}\s+" />  
+        <RegExpr attribute="Keyword" context="StaticImports" String="\b(import\s+static)\b" />
+        <RegExpr attribute="Keyword" context="Imports" String="\b(package|import)\b" /> 
+        <RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[(])" />
+        <RegExpr attribute="Symbol" context="Member" String="[.]{1,1}" /> 
+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <LineContinue attribute="String" context="#stay"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="Member" fallthrough="true" fallthroughContext="#pop">  
+        <RegExpr attribute="Function" context="#pop" String="\b[_a-zA-Z]\w*(?=[\s]*)" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="StaticImports">
+        <RegExpr attribute="StaticImports" context="#pop" String="\s*.*$" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="Imports">
+        <RegExpr attribute="Imports" context="#pop" String="\s*.*$" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
+      <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"  defStyleNum="dsNormal"/>
+      <itemData name="Keyword"      defStyleNum="dsKeyword"/>
+      <itemData name="Function"     defStyleNum="dsFunction"/>
+      <itemData name="StaticImports" defStyleNum="dsImport"/>
+      <itemData name="Imports"      defStyleNum="dsImport"/>
+      <itemData name="Data Type"    defStyleNum="dsDataType"/>
+      <itemData name="Decimal"      defStyleNum="dsDecVal"/>
+      <itemData name="Octal"        defStyleNum="dsBaseN"/>
+      <itemData name="Hex"          defStyleNum="dsBaseN"/>
+      <itemData name="Float"        defStyleNum="dsFloat"/>
+      <itemData name="Char"         defStyleNum="dsChar"/>
+      <itemData name="String"       defStyleNum="dsString"/>
+      <itemData name="String Char"  defStyleNum="dsSpecialString"/>
+      <itemData name="Comment"      defStyleNum="dsComment"/>
+      <itemData name="Symbol"       defStyleNum="dsNormal"/>
+      <itemData name="Properties"   defStyleNum="dsAttribute" bold="1"/>
+      <itemData name="Global Functions"   defStyleNum="dsFunction" bold="1"/>
+      <itemData name="Classes"   defStyleNum="dsBuiltIn" bold="1"/>
+      <itemData name="Constants" defStyleNum="dsConstant" bold="1"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//"/>
+      <comment name="multiLine" start="/*" end="*/"/>
+    </comments>
+    <keywords casesensitive="1"/>
+  </general>
+</language>
diff --git a/xml/ada.xml b/xml/ada.xml
new file mode 100644
--- /dev/null
+++ b/xml/ada.xml
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Ada"
+          version="2"
+          kateversion="5.0"
+          section="Sources"
+          extensions="*.adb;*.ads;*.ada;*.a"
+          indenter="ada"
+          mimetype="text/x-adasrc">
+  <highlighting>
+    <list name="keywords">
+      <item> abort </item>
+      <item> abs </item>
+      <item> abstract </item>
+      <item> accept </item>
+      <item> access </item>
+      <item> aliased </item>
+      <item> all </item>
+      <item> and </item>
+      <item> array </item>
+      <item> at </item>
+      <item> begin </item>
+      <item> body </item>
+      <item> constant </item>
+      <item> declare </item>
+      <item> delay </item>
+      <item> delta </item>
+      <item> digits </item>
+      <item> do </item>
+      <item> else </item>
+      <item> elsif </item>
+      <item> end </item>
+      <item> entry </item>
+      <item> exception </item>
+      <item> exit </item>
+      <item> for </item>
+      <item> function </item>
+      <item> generic </item>
+      <item> goto </item>
+      <item> in </item>
+      <item> interface </item>
+      <item> is </item>
+      <item> limited </item>
+      <item> mod </item>
+      <item> new </item>
+      <item> not </item>
+      <item> null </item>
+      <item> of </item>
+      <item> or </item>
+      <item> others </item>
+      <item> out </item>
+      <item> overriding </item>
+      <item> package </item>
+      <item> pragma </item>
+      <item> private </item>
+      <item> procedure </item>
+      <item> protected </item>
+      <item> raise </item>
+      <item> range </item>
+      <item> rem </item>
+      <item> record </item>
+      <item> renames </item>
+      <item> requeue </item>
+      <item> return </item>
+      <item> reverse </item>
+      <item> separate </item>
+      <item> subtype </item>
+      <item> tagged </item>
+      <item> task </item>
+      <item> terminate </item>
+      <item> then </item>
+      <item> type </item>
+      <item> until </item>
+      <item> use </item>
+      <item> when </item>
+      <item> while </item>
+      <item> with </item>
+      <item> xor </item>
+    </list>
+    <list name="pragmas">
+      <item> all_calls_remote </item>
+      <item> assert </item>
+      <item> assertion_policy </item>
+      <item> asynchronous </item>
+      <item> atomic </item>
+      <item> atomic_components </item>
+      <item> attach_handler </item>
+      <item> controlled </item>
+      <item> convention </item>
+      <item> detect_blocking </item>
+      <item> discard_names </item>
+      <item> elaborate </item>
+      <item> elaborate_all </item>
+      <item> elaborate_body </item>
+      <item> export </item>
+      <item> import </item>
+      <item> inline </item>
+      <item> inspection_point </item>
+      <item> interrupt_handler </item>
+      <item> interrupt_priority </item>
+      <item> linker_options </item>
+      <item> list </item>
+      <item> locking_policy </item>
+      <item> no_return </item>
+      <item> normalize_scalars </item>
+      <item> optimize </item>
+      <item> pack </item>
+      <item> page </item>
+      <item> partition_elaboration_policy </item>
+      <item> preelaborable_initialization </item>
+      <item> preelaborate </item>
+      <item> priority </item>
+      <item> priority_specific_dispatching </item>
+      <item> profile </item>
+      <item> pure </item>
+      <item> queuing_policy </item>
+      <item> relative_deadline </item>
+      <item> remote_call_interface </item>
+      <item> remote_types </item>
+      <item> restrictions </item>
+      <item> reviewable </item>
+      <item> shared_passive </item>
+      <item> storage_size </item>
+      <item> suppress </item>
+      <item> task_dispatching_policy </item>
+      <item> unchecked_union </item>
+      <item> unsuppress </item>
+      <item> volatile </item>
+      <item> volatile_components </item>
+    </list>
+    <list name="types">
+      <item> boolean </item>
+      <item> character </item>
+      <item> float </item>
+      <item> integer </item>
+      <item> long_float </item>
+      <item> long_integer </item>
+      <item> long_long_float </item>
+      <item> long_long_integer </item>
+      <item> short_float </item>
+      <item> short_integer </item>
+      <item> string </item>
+      <item> wide_string </item>
+      <item> wide_character </item>
+      <item> wide_wide_character </item>
+      <item> wide_wide_string </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Default">
+        <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"/>
+        <keyword attribute="Pragmas" context="#stay" String="pragmas" />
+        <keyword attribute="Data Type" context="#stay" String="types" />
+        <Float attribute="Float" context="#stay"/>
+        <Int attribute="Decimal" context="#stay"/>
+        <RegExpr attribute="Char" context="#stay" String="'.'"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <Detect2Chars attribute="Comment" context="Comment" char="-" char1="-"/>
+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;|"/>
+      </context>
+      <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker"/>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Comment"/>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="Keyword"     defStyleNum="dsKeyword" />
+      <itemData name="Pragmas"     defStyleNum="dsExtension" bold="1" />
+      <itemData name="Data Type"   defStyleNum="dsDataType"/>
+      <itemData name="Decimal"     defStyleNum="dsDecVal" />
+      <itemData name="Base-N"      defStyleNum="dsBaseN" />
+      <itemData name="Float"       defStyleNum="dsFloat" />
+      <itemData name="Char"        defStyleNum="dsChar" />
+      <itemData name="String"      defStyleNum="dsString" />
+      <itemData name="Comment"     defStyleNum="dsComment" />
+      <itemData name="Symbol"      defStyleNum="dsNormal"/>
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="--" />
+    </comments>
+    <keywords casesensitive="0" />
+  </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/agda.xml b/xml/agda.xml
new file mode 100644
--- /dev/null
+++ b/xml/agda.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"[
+  <!ENTITY charsdelim "_;.&#34;(){}@">
+  <!ENTITY wordsep "(?=([&charsdelim;]|\s|$))">
+]>
+<language name="Agda" version="2" kateversion="5.0" section="Sources" extensions="*.agda" mimetype="text/x-agda" author="Matthias C. M. Troffaes" license="LGPL">
+  <highlighting>
+    <list name="reserved keywords">
+      <item> abstract </item>
+      <item> codata </item>
+      <item> coinductive </item>
+      <item> constructor </item>
+      <item> data </item>
+      <item> field </item>
+      <item> forall </item>
+      <item> hiding </item>
+      <item> import </item>
+      <item> in </item>
+      <item> inductive </item>
+      <item> infix </item>
+      <item> infixl  </item>
+      <item> infixr </item>
+      <item> let </item>
+      <item> open </item>
+      <item> pattern </item>
+      <item> postulate </item>
+      <item> primitive </item>
+      <item> private </item>
+      <item> public </item>
+      <item> module </item>
+      <item> mutual </item>
+      <item> quote </item>
+      <item> quoteGoal </item>
+      <item> quoteTerm </item>
+      <item> record </item>
+      <item> renaming </item>
+      <item> rewrite </item>
+      <item> syntax </item>
+      <item> to </item>
+      <item> unquote </item>
+      <item> using </item>
+      <item> where </item>
+      <item> with </item>
+    </list>
+    <contexts>
+      <context attribute="Normal" lineEndContext="#stay" name="code">
+        <RegExpr attribute="Pragma"  context="#stay" String="\{-#.*#-\}" />
+        <keyword attribute="Keyword" context="#stay" String="reserved keywords" />
+        <RegExpr attribute="Type"    context="#stay" String="(Prop|Set[₀-₉]+|Set[0-9]*)&wordsep;" />
+        <RegExpr attribute="Special" context="#stay" String="(-&gt;|→|∀|λ|:|=|\|)&wordsep;" />
+        <RegExpr attribute="Float"   context="#stay" String="\d+\.\d+&wordsep;" />
+        <RegExpr attribute="Decimal" context="#stay" String="[0-9]+&wordsep;" />
+        <DetectChar attribute="Char"   context="char"   char="'" />
+        <DetectChar attribute="String" context="string" char="&quot;" />
+        <Detect2Chars attribute="Comment" context="comment"  char="-"  char1="-" />
+        <Detect2Chars attribute="Comment" context="comments" char="{" char1="-" />
+        <Detect2Chars attribute="Hole"    context="hole"     char="{" char1="!" />
+        <!-- delimiters which cannot be part of an identifier, or
+             backslash which starts a lambda expression -->
+        <AnyChar      attribute="Special" context="#stay" String="&charsdelim;\\" />
+        <!-- any other identifier (can contain backslash and single
+             quote anywhere except at start, but these two special
+             cases are already taken care off above) -->
+        <RegExpr attribute="Normal" context="#stay" String="[^&charsdelim;\s]+" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="comment" />
+      <context attribute="Comment" lineEndContext="#stay" name="comments">
+        <Detect2Chars attribute="Comment" context="comments" char="{" char1="-" /> <!-- for nested comments -->
+        <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
+      </context>
+      <context attribute="Hole" lineEndContext="#stay" name="hole">
+        <Detect2Chars attribute="Hole" context="#pop" char="!" char1="}" />
+      </context>
+      <context attribute="Char" lineEndContext="#pop" name="char">
+        <Detect2Chars attribute="Char" context="#stay" char="\\" char1="'" />
+        <DetectChar   attribute="Char" context="#pop"  char="'" />
+      </context>
+      <context attribute="String" lineEndContext="#stay" name="string">
+        <Detect2Chars attribute="String" context="#stay" char="\\" char1="&quot;" />
+        <DetectChar   attribute="String" context="#pop"  char="&quot;" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal"   defStyleNum="dsNormal"   spellChecking="false" />
+      <itemData name="Comment"  defStyleNum="dsComment" />
+      <itemData name="Pragma"   defStyleNum="dsPreprocessor" spellChecking="false" />
+      <itemData name="Hole"     defStyleNum="dsOthers"   spellChecking="false" />
+      <itemData name="Keyword"  defStyleNum="dsKeyword"  spellChecking="false" />
+      <itemData name="Type"     defStyleNum="dsDataType" spellChecking="false" />
+      <itemData name="Special"  defStyleNum="dsOthers"   spellChecking="false" />
+      <itemData name="Decimal"  defStyleNum="dsDecVal"   spellChecking="false" />
+      <itemData name="Float"    defStyleNum="dsFloat"    spellChecking="false" />
+      <itemData name="Char"     defStyleNum="dsChar"     spellChecking="false" />
+      <itemData name="String"   defStyleNum="dsString" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <folding indentationsensitive="1"/>
+    <comments>
+      <comment name="singleLine" start="--" />
+      <comment name="multiLine" start="{-" end="-}" />
+    </comments>
+    <keywords casesensitive="1"
+              weakDeliminator=":!+,-&lt;=&gt;%&amp;*/?[]^|~\\"
+              additionalDeliminator="&charsdelim;" />
+  </general>
+</language>
diff --git a/xml/alert.xml b/xml/alert.xml
new file mode 100644
--- /dev/null
+++ b/xml/alert.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  This file is part of KDE's kate project.
+
+  copyright   : (C) 2004 by Dominik Haumann
+  email       : dhdev at gmx dot de
+
+ **********************************************************************
+ * 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.                                       *
+ **********************************************************************
+
+ This file is included in every file that highlights the "alerts" keywords.
+ That's why extensions and mimetype are empty.
+
+ Changes by Alex Turbov:
+  Introduce 3 alert levels and sort keywords according importance.
+  Few more keywords has been added.
+-->
+<language version="3" kateversion="3.1" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPLv2+" hidden="true">
+  <highlighting>
+    <list name="alerts_hi">
+      <item> ALERT </item>
+      <item> ATTENTION </item>
+      <item> DANGER </item>
+      <item> HACK </item>
+      <item> SECURITY </item>
+    </list>
+    <list name="alerts_mid">
+      <item> BUG </item>
+      <item> FIXME </item>
+      <item> DEPRECATED </item>
+      <item> TASK </item>
+      <item> TODO </item>
+      <item> TBD </item>
+      <item> WARNING </item>
+      <item> CAUTION </item>
+      <item> NOLINT </item>
+    </list>
+    <list name="alerts_lo">
+      <item> ### </item>
+      <item> NOTE </item>
+      <item> NOTICE </item>
+      <item> TEST </item>
+      <item> TESTING </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
+        <StringDetect attribute="Region Marker" context="#stay" String="{{{" beginRegion="AlertRegion1" />
+        <StringDetect attribute="Region Marker" context="#stay" String="}}}" endRegion="AlertRegion1" />
+        <StringDetect attribute="Region Marker" context="#stay" String="BEGIN" beginRegion="AlertRegion2" />
+        <StringDetect attribute="Region Marker" context="#stay" String="END" endRegion="AlertRegion2" />
+        <keyword attribute="Alert Level 1" context="#stay" String="alerts_hi" />
+        <keyword attribute="Alert Level 2" context="#stay" String="alerts_mid" />
+        <keyword attribute="Alert Level 3" context="#stay" String="alerts_lo" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"   defStyleNum="dsNormal"/>
+      <itemData name="Alert Level 1" defStyleNum="dsAlert" color="#e85848" selColor="#e85848" backgroundColor="#451e1a" />
+      <itemData name="Alert Level 2" defStyleNum="dsAlert" color="#ca9219" selColor="#ca9219" backgroundColor="#451e1a" />
+      <itemData name="Alert Level 3" defStyleNum="dsAlert" color="#81ca2d" selColor="#81ca2d" />
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="1"/>
+  </general>
+</language>
+<!-- kate: indent-width 2; -->
diff --git a/xml/alert_indent.xml b/xml/alert_indent.xml
new file mode 100644
--- /dev/null
+++ b/xml/alert_indent.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  This file is part of KDE's kate project.
+
+  copyright   : (C) 2004 by Dominik Haumann
+  email       : dhdev at gmx dot de
+
+ **********************************************************************
+ * 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.                                       *
+ **********************************************************************
+
+ This file is included in every file that highlights the "alerts" keywords.
+ That's why extensions and mimetype are empty.
+-->
+<language version="3" kateversion="2.4" name="Alerts_indent" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPLv2+" hidden="true">
+  <highlighting>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
+        <IncludeRules context="##Alerts" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <folding indentationsensitive="1" />
+  </general>
+</language>
diff --git a/xml/apache.xml b/xml/apache.xml
new file mode 100644
--- /dev/null
+++ b/xml/apache.xml
@@ -0,0 +1,634 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+
+<!-- Changelog:
+
+v1.1:
+- improved Syntax
+- added support for Apache 2.2 Directives
+- .ht* files may now automaticaly be highlighted
+
+v1.0:
+- first Release
+-->
+
+<language name="Apache Configuration" section="Configuration"
+          version="2" kateversion="5.0"
+          extensions="httpd.conf;httpd2.conf;apache.conf;apache2.conf;.htaccess*;.htpasswd*"
+          mimetype=""
+          author="Jan Janssen (medhefgo@googlemail.com)" license="LGPL">
+
+<highlighting>
+<list name="String Directives">
+<item>AcceptFilter</item>
+<item>AccessFileName</item>
+<item>Action</item>
+<item>AddAlt</item>
+<item>AddAltByEncoding</item>
+<item>AddAltByType</item>
+<item>AddCharset</item>
+<item>AddDefaultCharset</item>
+<item>AddDescription</item>
+<item>AddEncoding</item>
+<item>AddHandler</item>
+<item>AddIcon</item>
+<item>AddIconByEncoding</item>
+<item>AddIconByType</item>
+<item>AddInputFilter</item>
+<item>AddLanguage</item>
+<item>AddModuleInfo</item>
+<item>AddOutputFilter</item>
+<item>AddOutputFilterByType</item>
+<item>AddType</item>
+<item>Alias</item>
+<item>AliasMatch</item>
+<item>Allow</item>
+<item>Anonymous</item>
+<item>AuthBasicProvider</item>
+<item>AuthDBMGroupFile</item>
+<item>AuthDBMUserFile</item>
+<item>AuthDigestDomain</item>
+<item>AuthDigestFile</item>
+<item>AuthDigestGroupFile</item>
+<item>AuthDigestNonceFormat</item>
+<item>AuthDigestProvider</item>
+<item>AuthGroupFile</item>
+<item>AuthLDAPBindDN</item>
+<item>AuthLDAPBindPassword</item>
+<item>AuthLDAPCharsetConfig</item>
+<item>AuthLDAPGroupAttribute</item>
+<item>AuthLDAPUrl</item>
+<item>AuthName</item>
+<item>AuthUserFile</item>
+<item>BrowserMatch</item>
+<item>BrowserMatchNoCase</item>
+<item>BS2000Account</item>
+<item>CacheDisable</item>
+<item>CacheEnable</item>
+<item>CacheFile</item>
+<item>CacheGcClean</item>
+<item>CacheGcUnused</item>
+<item>CacheRoot</item>
+<item>CGIMapExtension</item>
+<item>CharsetDefault</item>
+<item>CharsetOptions</item>
+<item>CharsetSourceEnc</item>
+<item>CookieDomain</item>
+<item>CookieLog</item>
+<item>CookieName</item>
+<item>CoreDumpDirectory</item>
+<item>CustomLog</item>
+<item>Dav</item>
+<item>DavGenericLockDB</item>
+<item>DavLockDB</item>
+<item>DBDParams</item>
+<item>DBDPrepareSQL</item>
+<item>DBDriver</item>
+<item>DefaultIcon</item>
+<item>DefaultLanguage</item>
+<item>DefaultType</item>
+<item>DeflateFilterNote</item>
+<item>Deny</item>
+<item>DirectoryIndex</item>
+<item>DocumentRoot</item>
+<item>ErrorDocument</item>
+<item>ErrorLog</item>
+<item>Example</item>
+<item>ExpiresByType</item>
+<item>ExpiresDefault</item>
+<item>ExtFilterDefine</item>
+<item>ExtFilterOptions</item>
+<item>FilterChain</item>
+<item>FilterDeclare</item>
+<item>FilterProtocol</item>
+<item>FilterProvider</item>
+<item>FilterTrace</item>
+<item>ForceType</item>
+<item>ForensicLog</item>
+<item>Group</item>
+<item>Header</item>
+<item>HeaderName</item>
+<item>ImapBase</item>
+<item>Include</item>
+<item>IndexIgnore</item>
+<item>IndexOptions</item>
+<item>IndexStyleSheet</item>
+<item>ISAPICacheFile</item>
+<item>LanguagePriority</item>
+<item>LDAPSharedCacheFile</item>
+<item>LDAPTrustedCA</item>
+<item>LDAPTrustedCAType</item>
+<item>LDAPTrustedClientCert</item>
+<item>LDAPTrustedGlobalCert</item>
+<item>Listen</item>
+<item>LoadFile</item>
+<item>LoadModule</item>
+<item>LockFile</item>
+<item>LogFormat</item>
+<item>MetaDir</item>
+<item>MetaSuffix</item>
+<item>MimeMagicFile</item>
+<item>MMapFile</item>
+<item>NameVirtualHost</item>
+<item>NoProxy</item>
+<item>NWSSLTrustedCerts</item>
+<item>NWSSLUpgradeable</item>
+<item>PassEnv</item>
+<item>PidFile</item>
+<item>ProxyBlock</item>
+<item>ProxyDomain</item>
+<item>ProxyPass</item>
+<item>ProxyPassReverse</item>
+<item>ProxyPassReverseCookieDomain</item>
+<item>ProxyPassReverseCookiePath</item>
+<item>ProxyRemote</item>
+<item>ProxyRemoteMatch</item>
+<item>ReadmeName</item>
+<item>Redirect</item>
+<item>RedirectMatch</item>
+<item>RedirectPermanent</item>
+<item>RedirectTemp</item>
+<item>RemoveCharset</item>
+<item>RemoveEncoding</item>
+<item>RemoveHandler</item>
+<item>RemoveInputFilter</item>
+<item>RemoveLanguage</item>
+<item>RemoveOutputFilter</item>
+<item>RemoveType</item>
+<item>RequestHeader</item>
+<item>Require</item>
+<item>RewriteBase</item>
+<item>RewriteCond</item>
+<item>RewriteLock</item>
+<item>RewriteLog</item>
+<item>RewriteMap</item>
+<item>RewriteRule</item>
+<item>ScoreBoardFile</item>
+<item>Script</item>
+<item>ScriptAlias</item>
+<item>ScriptAliasMatch</item>
+<item>ScriptLog</item>
+<item>ScriptSock</item>
+<item>SecureListen</item>
+<item>ServerAdmin</item>
+<item>ServerAlias</item>
+<item>ServerName</item>
+<item>ServerPath</item>
+<item>ServerRoot</item>
+<item>SetEnv</item>
+<item>SetEnvIf</item>
+<item>SetEnvIfNoCase</item>
+<item>SetHandler</item>
+<item>SetInputFilter</item>
+<item>SetOutputFilter</item>
+<item>SSIEndTag</item>
+<item>SSIErrorMsg</item>
+<item>SSIStartTag</item>
+<item>SSITimeFormat</item>
+<item>SSIUndefinedEcho</item>
+<item>SSLCACertificateFile</item>
+<item>SSLCACertificatePath</item>
+<item>SSLCADNRequestFile</item>
+<item>SSLCADNRequestPath</item>
+<item>SSLCARevocationFile</item>
+<item>SSLCARevocationPath</item>
+<item>SSLCertificateChainFile</item>
+<item>SSLCertificateFile</item>
+<item>SSLCertificateKeyFile</item>
+<item>SSLCipherSuite</item>
+<item>SSLCryptoDevice</item>
+<item>SSLHonorCiperOrder</item>
+<item>SSLPassPhraseDialog</item>
+<item>SSLProxyCACertificateFile</item>
+<item>SSLProxyCACertificatePath</item>
+<item>SSLProxyCARevocationFile</item>
+<item>SSLProxyCARevocationPath</item>
+<item>SSLProxyCipherSuite</item>
+<item>SSLProxyMachineCertificateFile</item>
+<item>SSLProxyMachineCertificatePath</item>
+<item>SSLProxyProtocol</item>
+<item>SSLRandomSeed</item>
+<item>SSLRequire</item>
+<item>SSLRequireSSL</item>
+<item>SSLUserName</item>
+<item>SuexecUserGroup</item>
+<item>TransferLog</item>
+<item>TypesConfig</item>
+<item>UnsetEnv</item>
+<item>User</item>
+<item>UserDir</item>
+<item>VirtualDocumentRoot</item>
+<item>VirtualDocumentRootIP</item>
+<item>VirtualScriptAlias</item>
+<item>VirtualScriptAliasIP</item>
+<item>Win32DisableAcceptEx</item>
+</list>
+
+<list name="Integer Directives">
+<item>AllowCONNECT</item>
+<item>AssignUserID</item>
+<item>AuthDigestNonceLifetime</item>
+<item>AuthDigestShmemSize</item>
+<item>CacheDefaultExpire</item>
+<item>CacheDirLength</item>
+<item>CacheDirLevels</item>
+<item>CacheForceCompletion</item>
+<item>CacheGcDaily</item>
+<item>CacheGcInterval</item>
+<item>CacheGcMemUsage</item>
+<item>CacheLastModifiedFactor</item>
+<item>CacheMaxExpire</item>
+<item>CacheMaxFileSize</item>
+<item>CacheMinFileSize</item>
+<item>CacheSize</item>
+<item>CacheTimeMargin</item>
+<item>ChildPerUserID</item>
+<item>CookieExpires</item>
+<item>DavMinTimeout</item>
+<item>DBDExptime</item>
+<item>DBDKeep</item>
+<item>DBDMax</item>
+<item>DBDMin</item>
+<item>DBDPersist</item>
+<item>DeflateBufferSize</item>
+<item>DeflateCompressionLevel</item>
+<item>DeflateMemLevel</item>
+<item>DeflateWindowSize</item>
+<item>IdentityCheckTimeout</item>
+<item>ISAPIReadAheadBuffer</item>
+<item>KeepAliveTimeout</item>
+<item>LDAPCacheEntries</item>
+<item>LDAPCacheTTL</item>
+<item>LDAPConnectionTimeout</item>
+<item>LDAPOpCacheEntries</item>
+<item>LDAPOpCacheTTL</item>
+<item>LDAPSharedCacheSize</item>
+<item>LimitInternalRecursion</item>
+<item>LimitRequestBody</item>
+<item>LimitRequestFields</item>
+<item>LimitRequestFieldsize</item>
+<item>LimitRequestLine</item>
+<item>LimitXMLRequestBody</item>
+<item>ListenBacklog</item>
+<item>MaxClients</item>
+<item>MaxKeepAliveRequests</item>
+<item>MaxMemFree</item>
+<item>MaxRequestsPerChild</item>
+<item>MaxRequestsPerThread</item>
+<item>MaxSpareServers</item>
+<item>MaxSpareThreads</item>
+<item>MaxThreads</item>
+<item>MaxThreadsPerChild</item>
+<item>MCacheMaxObjectCount</item>
+<item>MCacheMaxObjectSize</item>
+<item>MCacheMaxStreamingBuffer</item>
+<item>MCacheMinObjectSize</item>
+<item>MCacheSize</item>
+<item>MinSpareServers</item>
+<item>MinSpareThreads</item>
+<item>NumServers</item>
+<item>ProxyIOBufferSize</item>
+<item>ProxyMaxForwards</item>
+<item>ProxyReceiveBufferSize</item>
+<item>ProxyTimeout</item>
+<item>RewriteLogLevel</item>
+<item>RLimitCPU</item>
+<item>RLimitMEM</item>
+<item>RLimitNPROC</item>
+<item>ScriptLogBuffer</item>
+<item>ScriptLogLength</item>
+<item>SendBufferSize</item>
+<item>ServerLimit</item>
+<item>SSLProxyVerifyDepth</item>
+<item>SSLSessionCacheTimeout</item>
+<item>SSLVerifyDepth</item>
+<item>StartServers</item>
+<item>StartThreads</item>
+<item>ThreadLimit</item>
+<item>ThreadsPerChild</item>
+<item>ThreadStackSize</item>
+<item>TimeOut</item>
+</list>
+
+<list name="Alternative Directives">
+<item>AcceptMutex</item>
+<item>AcceptPathInfo</item>
+<item>AllowEncodedSlashes</item>
+<item>AllowOverride</item>
+<item>Anonymous_Authoritative</item>
+<item>Anonymous_LogEmail</item>
+<item>Anonymous_MustGiveEmail</item>
+<item>Anonymous_NoUserID</item>
+<item>Anonymous_VerifyEmail</item>
+<item>AuthAuthoritative</item>
+<item>AuthBasicAuthoritative</item>
+<item>AuthBasicProvider</item>
+<item>AuthDBMAuthoritative</item>
+<item>AuthDBMType</item>
+<item>AuthDefaultAuthoritative</item>
+<item>AuthDigestAlgorithm</item>
+<item>AuthDigestNcCheck</item>
+<item>AuthDigestQop</item>
+<item>AuthLDAPAuthoritative</item>
+<item>AuthLDAPCompareDNOnServer</item>
+<item>AuthLDAPDereferenceAliases</item>
+<item>AuthLDAPEnabled</item>
+<item>AuthLDAPFrontPageHack</item>
+<item>AuthLDAPGroupAttributeIsDN</item>
+<item>AuthLDAPRemoteUserIsDN</item>
+<item>AuthType</item>
+<item>AuthzDBMAuthoritative</item>
+<item>AuthzDBMType</item>
+<item>AuthzDefaultAuthoritative</item>
+<item>AuthzGroupFileAuthoritative</item>
+<item>AuthzLDAPAuthoritative</item>
+<item>AuthzOwnerAuthoritative</item>
+<item>AuthzUserAuthoritative</item>
+<item>BufferedLogs</item>
+<item>CacheExpiryCheck</item>
+<item>CacheIgnoreCacheControl</item>
+<item>CacheIgnoreHeaders</item>
+<item>CacheIgnoreNoLastMod</item>
+<item>CacheNegotiatedDocs</item>
+<item>CacheStoreNoStore</item>
+<item>CacheStorePrivate</item>
+<item>CheckSpelling</item>
+<item>ContentDigest</item>
+<item>CookieStyle</item>
+<item>CookieTracking</item>
+<item>CoreDumpDirectory</item>
+<item>CustomLog</item>
+<item>DavDepthInfinity</item>
+<item>DirectorySlash</item>
+<item>DumpIOInput</item>
+<item>DumpIOOutput</item>
+<item>EnableExceptionHook</item>
+<item>EnableMMAP</item>
+<item>EnableSendfile</item>
+<item>ExpiresActive</item>
+<item>ExtendedStatus</item>
+<item>FileETag</item>
+<item>ForceLanguagePriority</item>
+<item>HostnameLookups</item>
+<item>IdentityCheck</item>
+<item>ImapDefault</item>
+<item>ImapMenu</item>
+<item>IndexOrderDefault</item>
+<item>ISAPIAppendLogToErrors</item>
+<item>ISAPIAppendLogToQuery</item>
+<item>ISAPIFakeAsync</item>
+<item>ISAPILogNotSupported</item>
+<item>KeepAlive</item>
+<item>LDAPTrustedMode</item>
+<item>LDAPVerifyServerCert</item>
+<item>LogLevel</item>
+<item>MCacheRemovalAlgorithm</item>
+<item>MetaFiles</item>
+<item>ModMimeUsePathInfo</item>
+<item>MultiviewsMatch</item>
+<item>Options</item>
+<item>Order</item>
+<item>ProtocolEcho</item>
+<item>ProxyBadHeader</item>
+<item>ProxyErrorOverride</item>
+<item>ProxyPreserveHost</item>
+<item>ProxyRequests</item>
+<item>ProxyVia</item>
+<item>RewriteEngine</item>
+<item>RewriteOptions</item>
+<item>Satisfy</item>
+<item>ScriptInterpreterSource</item>
+<item>ServerSignature</item>
+<item>ServerTokens</item>
+<item>SSLEngine</item>
+<item>SSLMutex</item>
+<item>SSLOptions</item>
+<item>SSLProtocol</item>
+<item>SSLProxyEngine</item>
+<item>SSLProxyVerify</item>
+<item>SSLSessionCache</item>
+<item>SSLVerifyClient</item>
+<item>UseCanonicalName</item>
+<item>XBitHack</item>
+</list>
+
+<list name="Alternates">
+<item>On</item>
+<item>Off</item>
+<item>Default</item>
+<item>flock</item>
+<item>fcntl</item>
+<item>posixsem</item>
+<item>pthread</item>
+<item>sysvsem</item>
+<item>All</item>
+<item>None</item>
+<item>AuthConfig</item>
+<item>FileInfo</item>
+<item>Indexes</item>
+<item>Limit</item>
+<item>Options</item>
+
+<item>ExecCGI</item>
+<item>FollowSymLinks</item>
+<item>Includes</item>
+<item>IncludesNOEXEC</item>
+<item>Indexes</item>
+<item>MultiViews</item>
+<item>SymLinksIfOwnerMatch</item>
+<item>StdEnvVars</item>
+<item>CompatEnvVars</item>
+<item>ExportCertData</item>
+<item>FakeBasicAuth</item>
+<item>StrictRequire</item>
+<item>OptRenegotiate</item>
+
+<item>SDBM</item>
+<item>GDBM</item>
+<item>NDBM</item>
+<item>DB</item>
+<item>MD5</item>
+<item>MD5-sess</item>
+<item>auth</item>
+<item>auth-int</item>
+<item>never</item>
+<item>searching</item>
+<item>finding</item>
+<item>always</item>
+<item>Basic</item>
+<item>Digest</item>
+<item>Connection</item>
+<item>Keep-Alive</item>
+<item>Proxy-Authenticate</item>
+<item>Proxy-Authorization</item>
+<item>TE</item>
+<item>Trailers</item>
+<item>Transfer-Encoding</item>
+<item>Upgrade</item>
+<item>Netscape</item>
+<item>Cookie</item>
+<item>Cookie2</item>
+<item>RFC2109</item>
+<item>RFC2965</item>
+<item>INode</item>
+<item>MTime</item>
+<item>Size</item>
+<item>Prefer</item>
+<item>Fallback</item>
+<item>Double</item>
+<item>error</item>
+<item>nocontent</item>
+<item>map</item>
+<item>referer</item>
+<item>formatted</item>
+<item>semiformatted</item>
+<item>unformatted</item>
+<item>Ascending</item>
+<item>Descending</item>
+<item>Name</item>
+<item>Date</item>
+<item>Size</item>
+<item>Description</item>
+<item>SSL</item>
+<item>TLS</item>
+<item>STARTTLS</item>
+<item>emerg</item>
+<item>alert</item>
+<item>crit</item>
+<item>error</item>
+<item>warn</item>
+<item>notice</item>
+<item>info</item>
+<item>debug</item>
+<item>LRU</item>
+<item>GDSF</item>
+<item>Any</item>
+<item>NegotiatedOnly</item>
+<item>Filters</item>
+<item>Handlers</item>
+<item>Deny,Allow</item>
+<item>Allow,Deny</item>
+<item>Mutual-failure</item>
+<item>IsError</item>
+<item>Ignore</item>
+<item>StartBody</item>
+<item>Full</item>
+<item>Block</item>
+<item>inherit</item>
+<item>Registry</item>
+<item>Registry-Strict</item>
+<item>Script</item>
+<item>EMail</item>
+<item>Major</item>
+<item>Minor</item>
+<item>Min</item>
+<item>Minimal</item>
+<item>Prod</item>
+<item>ProductOnly</item>
+<item>OS</item>
+<item>Full</item>
+<item>optional</item>
+<item>posixsem</item>
+<item>sysvsem</item>
+<item>sem</item>
+<item>pthread</item>
+<item>fcntl:</item>
+<item>flock:</item>
+<item>file:</item>
+<item>yes</item>
+<item>no</item>
+<item>SSLv2</item>
+<item>SSLv3</item>
+<item>TLSv1</item>
+<item>require</item>
+<item>optional_no_ca</item>
+<item>nonenotnull</item>
+<item>dbm:</item>
+<item>shm:</item>
+<item>dc:</item>
+<item>DNS</item>
+</list>
+
+
+<contexts>
+ <context name="apache" attribute="Normal Text" lineEndContext="#stay">
+  <keyword context="String Directives" String="String Directives" />
+  <keyword attribute="Directives" context="Integer Directives" String="Integer Directives" />
+  <keyword attribute="Directives" context="Alternative Directives" String="Alternative Directives" />
+
+  <RegExpr attribute="Container" context="Container Open" String="&lt;\w+" beginRegion="Container" />
+  <RegExpr attribute="Container" context="Container Close" String="&lt;/\w+" endRegion="Container" />
+  <DetectChar attribute="Comment" context="Comment" char="#" firstNonSpace="true" />
+ </context>
+
+ <!--	Directives - separated after String, Integer and Alternatives -->
+ <context name="String Directives" attribute="Directives" lineEndContext="#pop">
+  <RegExpr attribute="String" context="#stay" String="[^#]*" />
+  <IncludeRules context="Comment Alert" />
+ </context>
+
+ <context name="Integer Directives" attribute="Other" lineEndContext="#pop">
+  <Float attribute="Float" context="Integer Directives" />
+  <Int attribute="Int" context="Integer Directives" />
+  <IncludeRules context="Comment Alert" />
+ </context>
+
+ <context name="Alternative Directives" attribute="Other" lineEndContext="#pop">
+  <keyword attribute="Alternates" context="#stay" String="Alternates" />
+  <DetectChar attribute="Alternates" context="#stay" char="-" />
+  <DetectChar attribute="Alternates" context="#stay" char="+" />
+  <IncludeRules context="Comment Alert" />
+ </context>
+
+<!--	Other -->
+ <context name="Comment" attribute="Comment" lineEndContext="#pop">
+  <DetectSpaces />
+  <IncludeRules context="##Alerts" />
+  <DetectIdentifier />
+ </context>
+
+<!--	Container -->
+ <context name="Container Open" attribute="Container" lineEndContext="#pop">
+  <DetectChar attribute="Container" context="Alert" char="&gt;" />
+  <RegExpr attribute="Attribute" context="#stay" String="[^#&gt;]*" />
+  <IncludeRules context="Comment Alert" />
+ </context>
+
+ <context name="Container Close" attribute="Container" lineEndContext="#pop">
+  <DetectChar attribute="Container" context="Alert" char="&gt;" />
+ </context>
+
+<!--	Alerts -->
+ <context name="Comment Alert" attribute="Normal Text" lineEndContext="#pop">
+  <DetectChar attribute="Alert" context="Alert" char="#" />
+ </context>
+
+ <context name="Alert" attribute="Alert" lineEndContext="#pop" />
+</contexts>
+
+<itemDatas>
+ <itemData name="Normal Text" defStyleNum="dsNormal" />
+ <itemData name="Comment" defStyleNum="dsComment" />
+ <itemData name="Directives" defStyleNum="dsExtension" bold="true" />
+ <itemData name="String" defStyleNum="dsString" />
+ <itemData name="Float" defStyleNum="dsFloat" />
+ <itemData name="Int" defStyleNum="dsFloat" />
+ <itemData name="Alternates" defStyleNum="dsKeyword" />
+ <itemData name="Alert" defStyleNum="dsError" />
+ <itemData name="Container" defStyleNum="dsFunction" />
+ <itemData name="Attribute" defStyleNum="dsAttribute" />
+ <itemData name="Other" defStyleNum="dsChar" />
+</itemDatas>
+</highlighting>
+
+
+<general>
+ <comments>
+  <comment name="singleLine" start="#" />
+ </comments>
+ <keywords casesensitive="0" weakDeliminator="," />
+</general>
+
+</language>
+
+
diff --git a/xml/asn1.xml b/xml/asn1.xml
new file mode 100644
--- /dev/null
+++ b/xml/asn1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+        You'll find the "Writing a Kate Highlighting XML File HOWTO" at http://kate.kde.org/doc/hlhowto.php
+        This is a template for the XML format used for syntax highlight descriptions
+        for the Kate text editor (http://kate.kde.org), which is part of the KDE
+        desktop environment (http://www.kde.org).
+
+        Use it as the base for your own syntax files.
+
+        Look at language.dtd for some documentation of the allowed elements and their attributes.
+        There is also a description of how to validate your syntax file.
+
+        You'll find the "Writing a Kate Highlighting XML File HOWTO" at http://kate.kde.org/doc/hlhowto.php
+-->
+<language name="ASN.1" section="Markup" version="2" kateversion="2.3" extensions="*.asn;*.asn1" mimetype="" author="Philippe Rigault" license="GPL">
+  <highlighting>
+    <list name="keywords">
+      <item> DEFINITIONS </item>
+      <item> BEGIN </item>
+      <item> END </item>
+      <item> EXPORTS </item>
+      <item> IMPORTS </item>
+      <item> FROM </item>
+      <item> APPLICATION </item>
+      <item> PRIVATE </item>
+      <item> UNIVERSAL </item>
+      <item> DEFAULT </item>
+      <item> OPTIONAL </item>
+      <item> FALSE </item>
+      <item> TRUE </item>
+    </list>
+    <list name="types">
+      <item> BOOLEAN </item>
+      <item> INTEGER </item>
+      <item> OCTET STRING </item>
+      <item> NULL </item>
+      <item> REAL </item>
+      <item> ENUMERATED </item>
+      <item> SEQUENCE </item>
+      <item> SET </item>
+      <item> CHOICE </item>
+      <item> OF </item>
+      <item> VisibleString </item>
+      <item> StringStore </item>
+    </list>
+    
+    <contexts>
+      <context name="Normal Text" 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="-"/>      
+      </context>
+      
+      <context attribute="Comment" lineEndContext="#pop" name="Comment">
+      </context>
+    </contexts>
+    
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Keyword"     defStyleNum="dsKeyword"/>
+      <itemData name="Comment"     defStyleNum="dsComment"/>
+      <itemData name="Data Type"   defStyleNum="dsDataType"/>
+    </itemDatas>
+  </highlighting>
+</language>
+<!--
+// kate: space-indent on; indent-width 2; replace-tabs on;
+-->
diff --git a/xml/asp.xml b/xml/asp.xml
new file mode 100644
--- /dev/null
+++ b/xml/asp.xml
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE  language SYSTEM "language.dtd">
+<language name="ASP" version="2" kateversion="5.0" section="Markup" extensions="*.asp;" mimetype="text/x-asp-src;text/x-asp-src" author="Antonio Salazar (savedfastcool@gmail.com)" license="LGPL">
+    <highlighting>
+        <list name="control structures">
+            <item>select</item>
+            <item>case</item>
+            <item>end select</item>
+
+            <item>if</item>
+            <item>then</item>
+            <item>else</item>
+            <item>elseif</item>
+            <item>end if</item>
+
+
+            <item>while</item>
+            <item>do</item>
+            <item>until</item>
+            <item>loop</item>
+            <item>wend</item>
+
+            <item>for</item>
+            <item>each</item>
+            <item>to</item>
+            <item>in</item>
+            <item>next</item>
+
+            <item>exit</item>
+            <item>continue</item>
+        </list>
+        <list name="keywords">
+            <item>dim</item>
+            <item>redim</item>
+            <item>preserve</item>
+
+            <item>const</item>
+            <item>erase</item>
+            <item>nothing</item>
+            <item>set</item>
+
+            <item>new</item>
+            <item>me</item>
+
+
+            <item>function</item>
+            <item>sub</item>
+            <item>call</item>
+
+            <item>class</item>
+            <item>private</item>
+            <item>public</item>
+            <item>with</item>
+
+            <item>randomize</item>
+
+            <item>open</item>
+            <item>close</item>
+            <item>movenext</item>
+            <item>execute</item>
+            <item>eof</item>
+
+            <item>not</item>
+            <item>true</item>
+            <item>false</item>
+            <item>or</item>
+            <item>and</item>
+            <item>xor</item>
+        </list>
+        <list name="functions">
+            <item>response</item>
+            <item>write</item>
+            <item>redirect</item>
+            <item>end</item>
+
+            <item>request</item>
+            <item>form</item>
+            <item>querystring</item>
+            <item>servervariables</item>
+            <item>cookies</item>
+
+            <item>session</item>
+
+            <item>server</item>
+            <item>createobject</item>
+
+            <item>abs</item>
+            <item>array</item>
+            <item>asc</item>
+            <item>atn</item>
+            <item>cbool</item>
+            <item>cbyte</item>
+            <item>ccur</item>
+            <item>cdate</item>
+            <item>cdbl</item>
+            <item>chr</item>
+            <item>cint</item>
+            <item>clng</item>
+            <item>cos</item>
+            <item>csng</item>
+            <item>cstr</item>
+            <item>date</item>
+            <item>dateadd</item>
+
+            <item>DateDiff</item>
+            <item>DatePart</item>
+            <item>DateSerial</item>
+            <item>DateValue</item>
+            <item>Date</item>
+            <item>Day</item>
+            <item>Exp</item>
+            <item>Filter</item>
+            <item>Fix</item>
+            <item>FormatCurrency</item>
+            <item>FormatDateTime</item>
+            <item>FormatNumber</item>
+            <item>FormatPercent</item>
+
+            <item>GetObject</item>
+            <item>Hex</item>
+            <item>Hour</item>
+            <item>InputBox</item>
+            <item>InStr</item>
+            <item>InStrRev</item>
+            <item>Int</item>
+            <item>IsArray</item>
+            <item>IsDate</item>
+            <item>IsEmpty</item>
+            <item>IsNull</item>
+            <item>IsNumeric</item>
+            <item>IsObject</item>
+            <item>Join</item>
+            <item>LBound</item>
+            <item>LCase</item>
+
+            <item>Left</item>
+            <item>Len</item>
+            <item>LoadPicture</item>
+            <item>Log</item>
+            <item>LTrim</item>
+            <item>Mid</item>
+            <item>Minute</item>
+            <item>Month</item>
+            <item>MonthName</item>
+            <item>MsgBox</item>
+            <item>Now</item>
+            <item>Oct</item>
+            <item>Replace</item>
+
+            <item>RGB</item>
+            <item>Right</item>
+            <item>Rnd</item>
+            <item>Round</item>
+            <item>RTrim</item>
+
+            <item>ScriptEngine</item>
+            <item>ScriptEngineBuildVersion</item>
+            <item>ScriptEngineMajorVersion</item>
+            <item>ScriptEngineMinorVersion</item>
+            <item>Second</item>
+            <item>Sgn</item>
+            <item>Sin</item>
+            <item>Space</item>
+            <item>Split</item>
+            <item>Sqr</item>
+            <item>StrComp</item>
+            <item>StrReverse</item>
+            <item>String</item>
+            <item>Tan</item>
+            <item>Time</item>
+            <item>Timer</item>
+            <item>TimeSerial</item>
+            <item>TimeValue</item>
+            <item>Trim</item>
+            <item>TypeName</item>
+            <item>UBound</item>
+            <item>UCase</item>
+            <item>VarType</item>
+            <item>Weekday</item>
+            <item>WeekdayName</item>
+            <item>Year</item>
+
+            <item>Add</item>
+            <item>AddFolders</item>
+            <item>BuildPath</item>
+            <item>Clear</item>
+            <item>Close</item>
+            <item>Copy</item>
+            <item>CopyFile</item>
+            <item>CopyFolder</item>
+            <item>CreateFolder</item>
+            <item>CreateTextFile</item>
+            <item>Delete</item>
+            <item>DeleteFile</item>
+            <item>DeleteFolder</item>
+            <item>DriveExists</item>
+            <item>Exists</item>
+            <item>FileExists</item>
+            <item>FolderExists</item>
+            <item>GetAbsolutePathName</item>
+            <item>GetBaseName</item>
+            <item>GetDrive</item>
+            <item>GetDriveName</item>
+            <item>GetExtensionName</item>
+            <item>GetFile</item>
+            <item>GetFileName</item>
+            <item>GetFolder</item>
+            <item>GetParentFolderName</item>
+
+            <item>GetSpecialFolder</item>
+            <item>GetTempName</item>
+            <item>Items</item>
+            <item>item</item>
+            <item>Keys</item>
+            <item>Move</item>
+            <item>MoveFile</item>
+            <item>MoveFolder</item>
+            <item>OpenAsTextStream</item>
+            <item>OpenTextFile</item>
+            <item>Raise</item>
+            <item>Read</item>
+            <item>ReadAll</item>
+            <item>ReadLine</item>
+            <item>Remove</item>
+            <item>RemoveAll</item>
+            <item>Skip</item>
+            <item>SkipLine</item>
+            <item>Write</item>
+            <item>WriteBlankLines</item>
+            <item>WriteLine</item>
+        </list>
+            <contexts>
+            <context name="nosource" attribute="Normal Text" lineEndContext="#stay">
+                <StringDetect attribute="Keyword" context="aspsource" String="&lt;%" />
+                <RegExpr attribute="HTML Tag" context="aspsource" String="&lt;\s*script\s*language=&quot;VBScript&quot;[^&gt;]*&gt;" insensitive="true" />
+                <RegExpr attribute="HTML Tag" context="scripts" String="&lt;\s*script(\s|&gt;)" insensitive="true" />
+                <RegExpr attribute="HTML Tag" context="htmltag" String="&lt;\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*" />
+                <StringDetect attribute="HTML Comment" context="htmlcomment" String="&lt;!--" />
+            </context>
+
+            <context name="aspsource" attribute="ASP Text" lineEndContext="#stay">
+                <StringDetect attribute="Keyword" context="#pop" String="%&gt;" />
+                <RegExpr attribute="HTML Tag" context="#pop" String="&lt;\s*\/\s*script\s*&gt;" insensitive="true" />
+                <DetectChar attribute="Comment" context="asp_onelinecomment" char="'" />
+                <DetectChar attribute="String" context="doublequotestring" char="&quot;" />
+                <DetectChar attribute="String" context="singlequotestring" char="&#39;" />
+                <DetectChar attribute="Keyword" context="#stay" char="&amp;" />
+                <RegExpr attribute="String" context="" String="" />
+                <RegExpr attribute="String" context="#stay" String="[0123456789]*\.\.\.[0123456789]*" />
+                <HlCOct attribute="Octal" context="#stay" />
+                <HlCHex attribute="Hex" context="#stay" />
+                <Float attribute="Float" context="#stay" />
+                <Int attribute="Decimal" context="#stay" />
+                <AnyChar attribute="Other" context="#stay" String=";()}{:,[]" />
+                <keyword attribute="Other" context="#stay" String="Others" />
+
+                <RegExpr attribute="Control Structures" context="#stay" String="\belseif\b" insensitive="true" beginRegion="iffi1" endRegion="iffi1"/>
+                <RegExpr attribute="Control Structures" context="#stay" String="\belse\b" insensitive="true" beginRegion="iffi1" endRegion="iffi1"/>
+                <RegExpr attribute="Control Structures" context="#stay" String="\bif\b" insensitive="true" beginRegion="iffi1"/>
+                <RegExpr attribute="Control Structures" context="#stay" String="\bend if\b" insensitive="true" endRegion="iffi1"/>
+
+                <RegExpr attribute="Keyword" context="#stay" String="\bexit function\b" insensitive="true" />
+                <RegExpr attribute="Keyword" context="#stay" String="\bfunction\b" insensitive="true" beginRegion="funendfun1"/>
+                <RegExpr attribute="Keyword" context="#stay" String="\bend function\b" insensitive="true" endRegion="funendfun1"/>
+
+                <RegExpr attribute="Keyword" context="#stay" String="\bexit sub\b" insensitive="true" />
+                <RegExpr attribute="Keyword" context="#stay" String="\bsub\b" insensitive="true" beginRegion="subendsub1"/>
+                <RegExpr attribute="Keyword" context="#stay" String="\bend sub\b" insensitive="true" endRegion="subendsub1"/>
+
+                <RegExpr attribute="Keyword" context="#stay" String="\bclass\b" insensitive="true" beginRegion="classendclass1"/>
+                <RegExpr attribute="Keyword" context="#stay" String="\bend class\b" insensitive="true" endRegion="classendclass1"/>
+
+                <RegExpr attribute="Control Structures" context="#stay" String="\bexit do\b" insensitive="true" />
+                <RegExpr attribute="Control Structures" context="#stay" String="\bdo(\s+(while))?\b" insensitive="true" beginRegion="doloop1"/>
+                <RegExpr attribute="Control Structures" context="#stay" String="\bloop\b" insensitive="true" endRegion="doloop1"/>
+
+                <RegExpr attribute="Control Structures" context="#stay" String="\bexit while\b" insensitive="true" />
+                <RegExpr attribute="Control Structures" context="#stay" String="\bwhile\b" insensitive="true" beginRegion="whilewend1"/>
+                <RegExpr attribute="Control Structures" context="#stay" String="\bwend\b" insensitive="true" endRegion="whilewend1"/>
+
+                <RegExpr attribute="Control Structures" context="#stay" String="\bexit for\b" insensitive="true" />
+                <RegExpr attribute="Control Structures" context="#stay" String="\bfor\b" insensitive="true" beginRegion="fornext1"/>
+                <RegExpr attribute="Control Structures" context="#stay" String="\bnext\b" insensitive="true" endRegion="fornext1"/>
+
+                <RegExpr attribute="Control Structures" context="#stay" String="\bselect case\b" insensitive="true" beginRegion="selcase1"/>
+                <RegExpr attribute="Control Structures" context="#stay" String="\bend select\b" insensitive="true" endRegion="selcase1"/>
+
+                <keyword attribute="Keyword" context="#stay" String="keywords" />
+                <keyword attribute="Control Structures" context="#stay" String="control structures" />
+                <keyword attribute="Function" context="#stay" String="functions" />
+            </context>
+            <context name="asp_onelinecomment" attribute="Comment" lineEndContext="#pop">
+                <StringDetect attribute="Keyword" context="#pop#pop" String="%&gt;" />
+            </context>
+            <context name="doublequotestring" attribute="String" lineEndContext="#stay">
+                <Detect2Chars attribute="Escape Code" context="#stay" char="&quot;" char1="&quot;" />
+                <RegExpr attribute="Escape Code" context="#stay" String="\\[0-7]{1,3}" />
+                <RegExpr attribute="Escape Code" context="#stay" String="\\x[0-9A-Fa-f]{1,2}" />
+                <DetectChar attribute="String" context="#pop" char="&quot;" />
+            </context>
+            <context name="singlequotestring" attribute="String" lineEndContext="#stay">
+                <Detect2Chars attribute="Escape Code" context="#stay" char="'" char1="'"/>
+                <DetectChar attribute="String" context="#pop" char="'" />
+            </context>
+            <context name="htmltag" attribute="Identifier" lineEndContext="#stay">
+                <Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1="&gt;" />
+                <DetectChar attribute="HTML Tag" context="#pop" char="&gt;"/>
+                <StringDetect attribute="Keyword" context="aspsource" String="&lt;%" />
+                <StringDetect attribute="Keyword" context="aspsource" String="&lt;%" />
+                <RegExpr attribute="Identifier" context="identifiers" String="\s*=\s*"/>
+            </context>
+            <context name="htmlcomment" attribute="HTML Comment" lineEndContext="#stay">
+                <StringDetect attribute="Keyword" context="aspsource" String="&lt;%" />
+                <StringDetect attribute="Keyword" context="aspsource" String="&lt;%" />
+                <StringDetect attribute="HTML Comment" context="#pop" String="--&gt;" />
+                <RegExpr attribute="Normal Text" context="identifiers" String="\s*=\s*"/>
+            </context>
+            <context name="identifiers" attribute="Identifier" lineEndContext="#stay">
+                <RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
+                <DetectChar attribute="Types" context="types1" char="'" />
+                <DetectChar attribute="Types" context="types2" char="&quot;" />
+            </context>
+
+            <context name="types1" attribute="Types" lineEndContext="#stay">
+                <StringDetect attribute="Keyword" context="aspsource" String="&lt;%" />
+                <StringDetect attribute="Keyword" context="aspsource" String="&lt;%" />
+                <DetectChar attribute="Types" context="#pop#pop" char="'" />
+            </context>
+
+            <context name="types2" attribute="Types" lineEndContext="#stay">
+                <StringDetect attribute="Keyword" context="aspsource" String="&lt;%" />
+                <StringDetect attribute="Keyword" context="aspsource" String="&lt;%" />
+                <DetectChar attribute="Types" context="#pop#pop" char="&quot;" />
+            </context>
+
+            <context name="scripts" attribute="Normal Text" lineEndContext="#stay">
+                <Detect2Chars attribute="Comment" context="scripts_onelinecomment" char="/" char1="/" />
+                <Detect2Chars attribute="Comment" context="twolinecomment" char="/" char1="*" />
+                <keyword attribute="Control Structures" context="#stay" String="control structures" />
+                <keyword attribute="Keyword" context="#stay" String="keywords" />
+                <keyword attribute="Function" context="#stay" String="functions" />
+                <StringDetect attribute="Keyword" context="aspsource" String="&lt;%"/>
+                <RegExpr attribute="HTML Tag" context="#pop" String="&lt;\s*\/\s*script\s*&gt;" insensitive="true" />
+
+                <DetectChar attribute="String" context="doublequotestring" char="&quot;" />
+                <DetectChar attribute="String" context="singlequotestring" char="&#39;" />
+                <HlCOct attribute="Octal" context="#stay" />
+                <HlCHex attribute="Hex" context="#stay" />
+                <Float attribute="Float" context="#stay" />
+                <Int attribute="Decimal" context="#stay" />
+                <DetectChar attribute="Normal Text" context="#stay" char="{" beginRegion="Brace1" />
+                <DetectChar attribute="Normal Text" context="#stay" char="}" endRegion="Brace1" />
+                <AnyChar attribute="Other" context="#stay" String=";()}{:,[]" />
+                <keyword attribute="Other" context="#stay" String="Others" />
+            </context>
+            <context name="scripts_onelinecomment" attribute="Comment" lineEndContext="#pop">
+                <RegExpr attribute="HTML Tag" context="#pop#pop" String="&lt;\s*\/\s*script\s*&gt;" insensitive="true" />
+            </context>
+            <context name="twolinecomment" attribute="Comment" lineEndContext="#stay">
+                <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment" />
+            </context>
+
+        </contexts>
+        <itemDatas>
+            <itemData name="Normal Text" defStyleNum="dsNormal" />
+            <itemData name="ASP Text" defStyleNum="dsNormal" />
+            <itemData name="Keyword" defStyleNum="dsKeyword" />
+            <itemData name="Function" defStyleNum="dsFunction" />
+            <itemData name="Decimal" defStyleNum="dsDecVal" />
+            <itemData name="Octal" defStyleNum="dsBaseN" />
+            <itemData name="Hex" defStyleNum="dsBaseN" />
+            <itemData name="Float" defStyleNum="dsFloat" />
+            <itemData name="String" defStyleNum="dsString" />
+            <itemData name="Comment" defStyleNum="dsComment" />
+            <itemData name="Variable" defStyleNum="dsVariable" />
+            <itemData name="Control Structures" defStyleNum="dsControlFlow" bold="0" />
+            <itemData name="Escape Code" defStyleNum="dsKeyword" color="#0F0F8F" selColor="#ffffff" bold="1" italic="0" />
+            <itemData name="Other" defStyleNum="dsOthers" />
+
+            <itemData name="HTML Tag" defStyleNum="dsKeyword" color="#0F0000" selColor="#ffffff" bold="1" italic="0" />
+            <itemData name="HTML Comment" defStyleNum="dsComment" />
+            <itemData name="Identifier" defStyleNum="dsOthers" />
+            <itemData name="Types" defStyleNum="dsDataType" />
+        </itemDatas>
+    </highlighting>
+    <general>
+        <comments>
+            <comment name="singleLine" start="'" />
+            <comment name="multiLine" start="/*" end="*/" />
+        </comments>
+        <keywords casesensitive="0" weakDeliminator=""/>
+    </general>
+</language>
diff --git a/xml/ats.xml b/xml/ats.xml
new file mode 100644
--- /dev/null
+++ b/xml/ats.xml
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+<!-- Regular expresion constants: -->
+<!ENTITY LETTER "A-Za-z\0300-\0326\0330-\0366\0370-\0377">          <!-- Latin-1 letters. -->
+<!ENTITY IDENT  "[&LETTER;_][&LETTER;0-9_']*">                      <!-- ATS identifiers. -->
+<!ENTITY ESC    "(\\[ntbr'&quot;\\]|\\[0-9]{3}|\\x[0-9A-Fa-f]{2})"> <!-- ATS character code escapes. -->
+<!ENTITY DEC    "[0-9][0-9_]*">                                     <!-- Decimal digits with underscores. -->
+]>
+<language name="ATS" version="0.01" kateversion="2.4" section="Sources" extensions="*.dats;*.sats;*.hats" mimetype="" author="Kiwamu Okabe (kiwamu@debian.or.jp)" license="LGPL">
+  <highlighting>
+    <list name="keywords">
+      <item> abstype </item>
+      <item> abst0ype </item>
+      <item> absprop </item>
+      <item> absview </item>
+      <item> absvtype </item>
+      <item> absviewtype </item>
+      <item> absvt0ype </item>
+      <item> absviewt0ype </item>
+      <item> and </item>
+      <item> as </item>
+      <item> assume </item>
+      <item> begin </item>
+      <item> break </item>
+      <item> case </item>
+      <item> continue </item>
+      <item> classdec </item>
+      <item> datasort </item>
+      <item> datatype </item>
+      <item> dataprop </item>
+      <item> dataview </item>
+      <item> datavtype </item>
+      <item> dataviewtype </item>
+      <item> do </item>
+      <item> dynload </item>
+      <item> else </item>
+      <item> end </item>
+      <item> exception </item>
+      <item> extern </item>
+      <item> extype </item>
+      <item> extval </item>
+      <item> if </item>
+      <item> in </item>
+      <item> infix </item>
+      <item> infixl </item>
+      <item> infixr </item>
+      <item> prefix </item>
+      <item> postfix </item>
+      <item> let </item>
+      <item> local </item>
+      <item> macdef </item>
+      <item> macrodef </item>
+      <item> nonfix </item>
+      <item> overload </item>
+      <item> of </item>
+      <item> op </item>
+      <item> rec </item>
+      <item> scase </item>
+      <item> sif </item>
+      <item> sortdef </item>
+      <item> sta </item>
+      <item> stacst </item>
+      <item> stadef </item>
+      <item> stavar </item>
+      <item> staload </item>
+      <item> symelim </item>
+      <item> symintr </item>
+      <item> then </item>
+      <item> try </item>
+      <item> tkindef </item>
+      <item> type </item>
+      <item> typedef </item>
+      <item> propdef </item>
+      <item> viewdef </item>
+      <item> vtypedef </item>
+      <item> viewtypedef </item>
+      <item> val </item>
+      <item> prval </item>
+      <item> var </item>
+      <item> prvar </item>
+      <item> when </item>
+      <item> where </item>
+      <item> for </item>
+      <item> while </item>
+      <item> with </item>
+      <item> withtype </item>
+      <item> withprop </item>
+      <item> withview </item>
+      <item> withvtype </item>
+      <item> withviewtype </item>
+    </list>
+    <list name="special keywords">
+      <item> $arrpsz </item>
+      <item> $arrptrsize </item>
+      <item> $delay </item>
+      <item> $ldelay </item>
+      <item> $effmask </item>
+      <item> $effmask_ntm </item>
+      <item> $effmask_exn </item>
+      <item> $effmask_ref </item>
+      <item> $effmask_wrt </item>
+      <item> $effmask_all </item>
+      <item> $extern </item>
+      <item> $extkind </item>
+      <item> $extype </item>
+      <item> $extype_struct </item>
+      <item> $extval </item>
+      <item> $lst </item>
+      <item> $lst_t </item>
+      <item> $lst_vt </item>
+      <item> $list </item>
+      <item> $list_t </item>
+      <item> $list_vt </item>
+      <item> $rec </item>
+      <item> $rec_t </item>
+      <item> $rec_vt </item>
+      <item> $record </item>
+      <item> $record_t </item>
+      <item> $record_vt </item>
+      <item> $tup </item>
+      <item> $tup_t </item>
+      <item> $tup_vt </item>
+      <item> $tuple </item>
+      <item> $tuple_t </item>
+      <item> $tuple_vt </item>
+      <item> $raise </item>
+      <item> $showtype </item>
+      <item> $myfilename </item>
+      <item> $mylocation </item>
+      <item> $myfunction </item>
+      <item> #assert </item>
+      <item> #define </item>
+      <item> #elif </item>
+      <item> #elifdef </item>
+      <item> #elifndef </item>
+      <item> #else </item>
+      <item> #endif </item>
+      <item> #error </item>
+      <item> #if </item>
+      <item> #ifdef </item>
+      <item> #ifndef </item>
+      <item> #include </item>
+      <item> #print </item>
+      <item> #then </item>
+      <item> #undef </item>
+    </list>
+    <list name="function keywords">
+      <item> fn </item>
+      <item> fnx </item>
+      <item> fun </item>
+      <item> prfn </item>
+      <item> prfun </item>
+      <item> praxi </item>
+      <item> castfn </item>
+      <item> implmnt </item>
+      <item> implement </item>
+      <item> primplmnt </item>
+      <item> primplement </item>
+      <item> lam </item>
+      <item> llam </item>
+      <item> fix </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <StringDetect attribute="Comment" context="Rest-of-file Comment" String="////" beginRegion="comment" />
+        <Detect2Chars attribute="Comment" context="Multiline Comment" char="(" char1="*" beginRegion="comment" />
+        <Detect2Chars attribute="Comment" context="Multiline C-style Comment" char="/" char1="*" beginRegion="Comment"/>
+        <Detect2Chars attribute="Comment" context="Singleline C++ style Comment" char="/" char1="/"/>
+
+        <Detect2Chars attribute="Termination Metrics" context="Termination Metrics Context" char="." char1="&lt;" />
+
+        <RegExpr attribute="Constructor" context="#stay" String="`\s*&IDENT;"/>
+
+        <!-- Identifiers and keywords. -->
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <keyword attribute="Function Keyword" context="Function Keyword Context" String="function keywords" />
+        <keyword attribute="Special Keyword" context="#stay" String="special keywords" />
+        <RegExpr attribute="Identifier" context="#stay" String="&IDENT;" />
+
+        <!-- Numeric constants. -->
+        <!-- Note that they may contain underscores. -->
+        <RegExpr attribute="Hexadecimal" context="#stay" String="~?0[xX][0-9A-Fa-f_]+" />
+        <RegExpr attribute="Float" context="#stay" String="~?&DEC;((\.(&DEC;)?([eE][-+]?&DEC;)?)|([eE][-+]?&DEC;))" />
+        <RegExpr attribute="Decimal" context="#stay" String="~?&DEC;" />
+      </context>
+
+      <context attribute="Comment" lineEndContext="#stay" name="Rest-of-file Comment"/>
+      <context attribute="Comment" lineEndContext="#stay" name="Multiline Comment">
+        <!-- Support for nested comments -->
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1=")" endRegion="comment" />
+        <Detect2Chars attribute="Comment" context="Multiline Comment" char="(" char1="*" beginRegion="comment" />
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Multiline C-style Comment">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Singleline C++ style Comment"/>
+
+      <context attribute="String" lineEndContext="#stay" name="String Context">
+        <DetectChar attribute="String" context="#pop" char="&quot;" />
+        <RegExpr attribute="Escaped characters" context="#stay" String="&ESC;" />
+        <!-- An underscore at the end of a line in a string indicates  -->
+        <!-- that the string will continue on the next line.           -->
+        <RegExpr attribute="Escaped characters" context="#stay" String="\\$" />
+      </context>
+
+      <context attribute="Termination Metrics" lineEndContext="#stay" name="Termination Metrics Context">
+        <Detect2Chars attribute="Termination Metrics" context="#pop" char="&gt;" char1="." />
+      </context>
+
+      <context attribute="Normal text" lineEndContext="#stay" name="Function Keyword Context">
+        <DetectChar attribute="Normal text" context="#pop" char="=" />
+	<DetectChar attribute="Universal" context="Universal Context" char="{" />
+	<DetectChar attribute="Existential" context="Existential Context" char="[" />
+        <IncludeRules context="Normal"/>
+      </context>
+
+      <context attribute="Universal" lineEndContext="#stay" name="Universal Context">
+        <DetectChar attribute="Universal" context="#pop" char="}" />
+      </context>
+
+      <context attribute="Existential" lineEndContext="#stay" name="Existential Context">
+        <DetectChar attribute="Existential" context="#pop" char="]" />
+      </context>
+</contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Identifier" defStyleNum="dsNormal"/>
+      <itemData name="Keyword"  defStyleNum="dsKeyword"/>
+      <itemData name="Function Keyword"  defStyleNum="dsKeyword"/>
+      <itemData name="Special Keyword"  defStyleNum="dsDataType"/>
+      <itemData name="Termination Metrics" defStyleNum="dsDataType"/>
+      <itemData name="Universal" defStyleNum="dsDataType"/>
+      <itemData name="Existential" defStyleNum="dsDataType"/>
+      <itemData name="Decimal"  defStyleNum="dsDecVal"/>
+      <itemData name="Hexadecimal"  defStyleNum="dsBaseN"/>
+      <itemData name="Float"  defStyleNum="dsFloat"/>
+      <itemData name="Character"  defStyleNum="dsChar"/>
+      <itemData name="String"  defStyleNum="dsString"/>
+      <itemData name="Comment"  defStyleNum="dsComment"/>
+      <itemData name="Constructor" defStyleNum="dsDataType"/>
+    </itemDatas>
+  </highlighting>
+
+  <general>
+    <keywords casesensitive="1" />
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="(*" end="*)" />
+      <comment name="multiLine" start="/*" end="*/" />
+      <comment name="multiLine" start="////" end="" />
+    </comments>
+  </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/awk.xml b/xml/awk.xml
new file mode 100644
--- /dev/null
+++ b/xml/awk.xml
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="AWK" version="1" kateversion="5.0" section="Scripts"
+  extensions="*.awk" mimetype="text/x-awk" indenter="cstyle"
+  license="LGPL">
+<!-- patched by igli#kate@irc:chat.freenode.net -->
+  <highlighting>
+    <list name="keywords">
+      <item>if</item>
+      <item>else</item>
+      <item>while</item>
+      <item>do</item>
+      <item>for</item>
+      <item>in</item>
+      <item>continue</item>
+      <item>break</item>
+      <item>print</item>
+      <item>printf</item>
+      <item>getline</item>
+      <item>function</item>
+      <item>return</item>
+      <item>next</item>
+      <item>exit</item>
+    </list>
+    <list name="builtins">
+      <item>ARGC</item>
+      <item>ARGV</item>
+      <item>CONVFMT</item>
+      <item>ENVIRON</item>
+      <item>FILENAME</item>
+      <item>FNR</item>
+      <item>FS</item>
+      <item>NF</item>
+      <item>NR</item>
+      <item>OFMT</item>
+      <item>OFS</item>
+      <item>ORS</item>
+      <item>RS</item>
+      <item>RSTART</item>
+      <item>RLENGTH</item>
+      <item>SUBSEP</item>
+    </list>
+    <list name="functions">
+      <item>gsub</item>
+      <item>gensub</item>
+      <item>index</item>
+      <item>length</item>
+      <item>match</item>
+      <item>split</item>
+      <item>sprintf</item>
+      <item>sub</item>
+      <item>substr</item>
+      <item>tolower</item>
+      <item>toupper</item>
+      <item>atan2</item>
+      <item>cos</item>
+      <item>exp</item>
+      <item>int</item>
+      <item>log</item>
+      <item>rand</item>
+      <item>sin</item>
+      <item>sqrt</item>
+      <item>srand</item>
+      <item>close</item>
+      <item>fflush</item>
+      <item>system</item>
+    </list>
+    <list name="special">
+      <item> BEGIN </item>
+      <item> END </item>
+    </list>
+
+<contexts>
+<!-- START CONTEXTS -->
+<context name="Pattern" attribute="Normal" lineEndContext="#stay">
+	<DetectChar char="{" context="Block" attribute="Keyword" beginRegion="block" />
+	<DetectChar char="}" attribute="Error" context="#stay"/>
+	<DetectChar char="/" firstNonSpace="true" lookAhead="true" context="MatchPattern"/>
+	<IncludeRules context="base" />
+	<keyword String="special" attribute="Special" context="#stay"/>
+</context>
+
+<context name="Block" attribute="Normal" lineEndContext="#stay">
+	<DetectChar char="}" attribute="Keyword" context="#pop" endRegion="block" />
+	<DetectChar char="{" context="Block" attribute="Keyword" beginRegion="block" />
+	<IncludeRules context="base" />
+	<keyword String="special" attribute="Error" context="#stay"/>
+</context>
+
+<context name="base" attribute="Normal" lineEndContext="#stay">
+	<DetectSpaces />
+	<DetectChar char="#" context="Comment" attribute="Comment"/>
+	<DetectChar char="~" context="Match" attribute="Operator"/>
+	<DetectChar char="&quot;" context="String" attribute="String"/>
+	<AnyChar String="!%&amp;*+,-./:;&lt;=&gt;?^|" attribute="Operator" context="#stay"/>
+	<keyword String="keywords" attribute="Keyword" context="#stay"/>
+	<keyword String="builtins" attribute="Builtin" context="#stay"/>
+	<keyword String="functions" attribute="Function" context="#stay"/>
+	<Float attribute="Float"   context="#stay"/>
+	<Int   attribute="Decimal" context="#stay"/>
+	<RegExpr String="\$[A-Za-z0-9_]+" attribute="Field" context="#stay"/>
+</context>
+
+<context name="String" attribute="String" lineEndContext="#stay">
+	<DetectChar char="&quot;" attribute="String" context="#pop"/>
+	<HlCStringChar attribute="Escape" context="#stay"/>
+	<DetectChar char="\" context="Escape" attribute="Operator"/>
+</context>
+
+<context name="Comment" attribute="Comment" lineEndContext="#pop">
+	<IncludeRules context="##Alerts"/>
+</context>
+
+<context name="Escape" attribute="Normal" lineEndContext="#pop">
+	<RegExpr String="." attribute="String" context="#pop"/>
+</context>
+
+<context name="Match" attribute="Normal" lineEndContext="#pop"
+   fallthrough="true" fallthroughContext="#pop">
+	<DetectSpaces />
+	<Detect2Chars char="/" char1="^" attribute="Regex Op" context="Regex"/>
+	<DetectChar char="/" attribute="Regex Op" context="Regex"/>
+</context>
+<context name="Regex" attribute="Regex" lineEndContext="#stay">
+	<IncludeRules context="regex"/>
+	<DetectChar char="/" context="#pop#pop" attribute="Regex Op"/>
+</context>
+<context name="regex" attribute="Normal" lineEndContext="#stay">
+	<HlCStringChar attribute="Escape" context="#stay"/>
+	<DetectChar char="\" context="Regex Escape" attribute="Regex Op"/>
+	<Detect2Chars char="[" char1="^" context="RegexChar" attribute="Regex Op"/>
+	<DetectChar char="[" context="RegexChar" attribute="Regex Op"/>
+	<AnyChar String="$.+?*()|" context="#stay" attribute="Regex Op"/>
+</context>
+<context name="Regex Escape" attribute="Normal" lineEndContext="#pop">
+	<RegExpr String="." attribute="Regex" context="#pop"/>
+</context>
+
+<context name="RegexChar" attribute="Regex" lineEndContext="#pop"
+   fallthrough="true" fallthroughContext="InChar">
+	<Detect2Chars char="-" char1="]" context="InChar" attribute="Regex"/>
+	<AnyChar String="-]" context="InChar" attribute="Regex"/>
+</context>
+<context name="InChar" attribute="Regex" lineEndContext="#stay">
+	<HlCStringChar attribute="String" context="#stay"/>
+	<DetectChar char="\" context="Regex Escape" attribute="Regex Op"/>
+	<Detect2Chars char="-" char1="]" context="Regex Escape" lookAhead="true"/>
+	<DetectChar char="]" context="#pop#pop" attribute="Regex Op"/>
+	<DetectChar char="-" context="#stay" attribute="Regex Op"/>
+	<RegExpr String="\[:(?=[_\w][_\d\w]*:\])" context="CharClass" attribute="Regex Op"/>
+</context>
+<context name="CharClass" attribute="Custom" lineEndContext="#pop">
+	<RegExpr String="(alpha|alnum|blank|cntrl|digit|graph|lower|punct|space|upper|xdigit)(?=:\])"
+		attribute="CharClass" context="#stay"/>
+	<Detect2Chars char=":" char1="]" attribute="Regex Op" context="#pop"/>
+</context>
+
+<context name="MatchPattern" attribute="Normal" lineEndContext="#pop"
+   fallthrough="true" fallthroughContext="#pop">
+	<Detect2Chars char="/" char1="^" attribute="Regex Op" context="RegexPattern"/>
+	<DetectChar char="/" attribute="Regex Op" context="RegexPattern"/>
+</context>
+<context name="RegexPattern" attribute="Regex" lineEndContext="#stay">
+	<IncludeRules context="regex"/>
+	<DetectChar char="/" context="CheckRange" attribute="Regex Op"/>
+</context>
+<context name="CheckRange" attribute="Normal" lineEndContext="#pop#pop#pop"
+   fallthrough="true" fallthroughContext="#pop#pop#pop">
+	<RegExpr String="\s*,\s*(?=/)" context="RangePattern" attribute="Operator"/>
+</context>
+<context name="RangePattern" attribute="Normal" lineEndContext="#pop#pop#pop#pop"
+   fallthrough="true" fallthroughContext="#pop#pop#pop#pop">
+	<Detect2Chars char="/" char1="^" attribute="Regex Op" context="Pattern2"/>
+	<DetectChar char="/" attribute="Regex Op" context="Pattern2"/>
+</context>
+<context name="Pattern2" attribute="Regex" lineEndContext="#stay">
+	<IncludeRules context="regex"/>
+	<DetectChar char="/" context="#pop#pop#pop#pop#pop" attribute="Regex Op"/>
+</context>
+
+<!-- END OF CONTEXTS -->
+</contexts>
+    <itemDatas>
+      <itemData name="Normal"   defStyleNum="dsNormal"/>
+      <itemData name="Keyword"  defStyleNum="dsKeyword"/>
+      <itemData name="Builtin"  defStyleNum="dsBuiltIn"/>
+      <itemData name="Function" defStyleNum="dsFunction"/>
+      <itemData name="Decimal"  defStyleNum="dsDecVal"/>
+      <itemData name="Float"    defStyleNum="dsFloat"/>
+      <itemData name="String"   defStyleNum="dsString"/>
+      <itemData name="Comment"  defStyleNum="dsComment"/>
+      <itemData name="Escape"   defStyleNum="dsSpecialChar"/>
+      <itemData name="Field"    defStyleNum="dsDataType"/>
+      <itemData name="Error"    defStyleNum="dsError"/>
+      <itemData name="Special"  defStyleNum="dsControlFlow" bold="0"/>
+      <itemData name="Operator" defStyleNum="dsOperator"/>
+      <itemData name="Regex"    defStyleNum="dsSpecialString"/>
+      <itemData name="Regex Op" defStyleNum="dsOthers"/>
+      <itemData name="CharClass" defStyleNum="dsExtension"/>
+      <itemData name="Custom"   defStyleNum="dsOthers" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="#"/>
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
diff --git a/xml/bash.xml b/xml/bash.xml
new file mode 100644
--- /dev/null
+++ b/xml/bash.xml
@@ -0,0 +1,964 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+        <!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
+        <!ENTITY varname  "[A-Za-z_][A-Za-z0-9_]*">
+        <!ENTITY word     "[^|&amp;;()&lt;&gt;\s]+">    <!-- see man bash -->
+        <!ENTITY eos      "(?=($|\s))">                 <!-- eol or space following -->
+        <!ENTITY noword   "(?![\w$+-])">                <!-- no word, $, + or - following -->
+        <!ENTITY pathpart "([\w_@.&#37;*?+-]|\\ )">     <!-- valid character in a file name -->
+]>
+<language name="Bash" version="3" kateversion="5.0" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;*.nix;.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)
+    Changes by Matthew Woehlke (mw_triad@users.sourceforge.net)
+    Changes by Sebastian Pipping (webmaster@hartwork.org)
+    Changes by Luiz Angelo Daros de Luca (luizluca@gmail.com)
+    Released under the LGPL, part of kdelibs/kate -->
+
+  <highlighting>
+    <list name="keywords">
+      <item> else </item>
+      <item> for </item>
+      <item> function </item>
+      <item> in </item>
+      <item> select </item>
+      <item> until </item>
+      <item> while </item>
+      <item> elif </item>
+      <item> then </item>
+      <item> set </item>
+    </list>
+
+    <list name="builtins">
+      <item> : </item>
+      <item> source </item>
+      <item> alias </item>
+      <item> bg </item>
+      <item> bind </item>
+      <item> break </item>
+      <item> builtin </item>
+      <item> cd </item>
+      <item> caller </item>
+      <item> command </item>
+      <item> compgen </item>
+      <item> complete </item>
+      <item> continue </item>
+      <item> dirs </item>
+      <item> disown </item>
+      <item> echo </item>
+      <item> enable </item>
+      <item> eval </item>
+      <item> exec </item>
+      <item> exit </item>
+      <item> fc </item>
+      <item> fg </item>
+      <item> getopts </item>
+      <item> hash </item>
+      <item> help </item>
+      <item> history </item>
+      <item> jobs </item>
+      <item> kill </item>
+      <item> let </item>
+      <item> logout </item>
+      <item> popd </item>
+      <item> printf </item>
+      <item> pushd </item>
+      <item> pwd </item>
+      <item> return </item>
+      <item> set </item>
+      <item> shift </item>
+      <item> shopt </item>
+      <item> suspend </item>
+      <item> test </item>
+      <item> time </item>
+      <item> times </item>
+      <item> trap </item>
+      <item> type </item>
+      <item> ulimit </item>
+      <item> umask </item>
+      <item> unalias </item>
+      <item> wait </item>
+    </list>
+
+    <list name="builtins_var">
+      <item> export </item>
+      <item> unset </item>
+      <item> declare </item>
+      <item> typeset </item>
+      <item> local </item>
+      <item> read </item>
+      <item> readonly </item>
+    </list>
+
+    <list name="unixcommands">
+      <!-- /bin -->
+      <item> arch </item>
+      <item> awk </item>
+      <item> bash </item>
+      <item> bunzip2 </item>
+      <item> bzcat </item>
+      <item> bzcmp </item>
+      <item> bzdiff </item>
+      <item> bzegrep </item>
+      <item> bzfgrep </item>
+      <item> bzgrep </item>
+      <item> bzip2 </item>
+      <item> bzip2recover </item>
+      <item> bzless </item>
+      <item> bzmore </item>
+      <item> cat </item>
+      <item> chattr </item>
+      <item> chgrp </item>
+      <item> chmod </item>
+      <item> chown </item>
+      <item> chvt </item>
+      <item> cp </item>
+      <item> date </item>
+      <item> dd </item>
+      <item> deallocvt </item>
+      <item> df </item>
+      <item> dir </item>
+      <item> dircolors </item>
+      <item> dmesg </item>
+      <item> dnsdomainname </item>
+      <item> domainname </item>
+      <item> du </item>
+      <item> dumpkeys </item>
+      <item> echo </item>
+      <item> ed </item>
+      <item> egrep </item>
+      <item> false </item>
+      <item> fgconsole </item>
+      <item> fgrep </item>
+      <item> fuser </item>
+      <item> gawk </item>
+      <item> getkeycodes </item>
+      <item> gocr </item>
+      <item> grep </item>
+      <item> groff </item>
+      <item> groups </item>
+      <item> gunzip </item>
+      <item> gzexe </item>
+      <item> gzip </item>
+      <item> hostname </item>
+      <item> igawk </item>
+      <item> install </item>
+      <item> kbd_mode </item>
+      <item> kbdrate </item>
+      <item> killall </item>
+      <item> last </item>
+      <item> lastb </item>
+      <item> link </item>
+      <item> ln </item>
+      <item> loadkeys </item>
+      <item> loadunimap </item>
+      <item> login </item>
+      <item> ls </item>
+      <item> lsattr </item>
+      <item> lsmod </item>
+      <item> lsmod.old </item>
+      <item> lzcat </item>
+      <item> lzcmp </item>
+      <item> lzdiff </item>
+      <item> lzegrep </item>
+      <item> lzfgrep </item>
+      <item> lzgrep </item>
+      <item> lzless </item>
+      <item> lzcat </item>
+      <item> lzma </item>
+      <item> lzmainfo </item>
+      <item> lzmore </item>
+      <item> mapscrn </item>
+      <item> mesg </item>
+      <item> mkdir </item>
+      <item> mkfifo </item>
+      <item> mknod </item>
+      <item> mktemp </item>
+      <item> more </item>
+      <item> mount </item>
+      <item> mv </item>
+      <item> nano </item>
+      <item> netstat </item>
+      <item> nisdomainname </item>
+      <item> nroff </item>
+      <item> openvt </item>
+      <item> pgawk </item>
+      <item> pidof </item>
+      <item> ping </item>
+      <item> ps </item>
+      <item> pstree </item>
+      <item> pwd </item>
+      <item> rbash </item>
+      <item> readlink </item>
+      <item> red </item>
+      <item> resizecons </item>
+      <item> rm </item>
+      <item> rmdir </item>
+      <item> run-parts </item>
+      <item> sash </item>
+      <item> sed </item>
+      <item> setfont </item>
+      <item> setkeycodes </item>
+      <item> setleds </item>
+      <item> setmetamode </item>
+      <item> setserial </item>
+      <item> sh </item>
+      <item> showkey </item>
+      <item> shred </item>
+      <item> sleep </item>
+      <item> ssed </item>
+      <item> stat </item>
+      <item> stty </item>
+      <item> su </item>
+      <item> sync </item>
+      <item> tar </item>
+      <item> tempfile </item>
+      <item> touch </item>
+      <item> troff </item>
+      <item> true </item>
+      <item> umount </item>
+      <item> uname </item>
+      <item> unicode_start </item>
+      <item> unicode_stop </item>
+      <item> unlink </item>
+      <item> unlzma </item>
+      <item> unxz </item>
+      <item> utmpdump </item>
+      <item> uuidgen </item>
+      <item> vdir </item>
+      <item> wall </item>
+      <item> wc </item>
+      <item> xz </item>
+      <item> xzcat </item>
+      <item> ypdomainname </item>
+      <item> zcat </item>
+      <item> zcmp </item>
+      <item> zdiff </item>
+      <item> zegrep </item>
+      <item> zfgrep </item>
+      <item> zforce </item>
+      <item> zgrep </item>
+      <item> zless </item>
+      <item> zmore </item>
+      <item> znew </item>
+      <item> zsh </item>
+
+      <!-- some from /usr/bin -->
+      <item> aclocal </item>
+      <item> aconnect </item>
+      <item> aplay </item>
+      <item> apm </item>
+      <item> apmsleep </item>
+      <item> apropos </item>
+      <item> ar </item>
+      <item> arecord </item>
+      <item> as </item>
+      <item> as86 </item>
+      <item> autoconf </item>
+      <item> autoheader </item>
+      <item> automake </item>
+      <item> awk </item>
+      <item> basename </item>
+      <item> bc </item>
+      <item> bison </item>
+      <item> c++ </item>
+      <item> cal </item>
+      <item> cat </item>
+      <item> cc </item>
+      <item> cdda2wav </item>
+      <item> cdparanoia </item>
+      <item> cdrdao </item>
+      <item> cd-read </item>
+      <item> cdrecord </item>
+      <item> chfn </item>
+      <item> chgrp </item>
+      <item> chmod </item>
+      <item> chown </item>
+      <item> chroot </item>
+      <item> chsh </item>
+      <item> clear </item>
+      <item> cmp </item>
+      <item> co </item>
+      <item> col </item>
+      <item> comm </item>
+      <item> cp </item>
+      <item> cpio </item>
+      <item> cpp </item>
+      <item> cut </item>
+      <item> dc </item>
+      <item> dd </item>
+      <item> df </item>
+      <item> diff </item>
+      <item> diff3 </item>
+      <item> dir </item>
+      <item> dircolors </item>
+      <item> directomatic </item>
+      <item> dirname </item>
+      <item> du </item>
+      <item> env </item>
+      <item> expr </item>
+      <item> fbset </item>
+      <item> file </item>
+      <item> find </item>
+      <item> flex </item>
+      <item> flex++ </item>
+      <item> fmt </item>
+      <item> free </item>
+      <item> ftp </item>
+      <item> funzip </item>
+      <item> fuser </item>
+      <item> g++ </item>
+      <item> gawk </item>
+      <item> gc </item>
+      <item> gcc </item>
+      <item> clang </item>
+      <item> valgrind </item>
+      <item> xdg-open </item>
+      <item> cmake </item>
+      <item> qmake </item>
+      <item> svn </item>
+      <item> git </item>
+      <item> rsync </item>
+      <item> gdb </item>
+      <item> getent </item>
+      <item> getopt </item>
+      <item> gettext </item>
+      <item> gettextize </item>
+      <item> gimp </item>
+      <item> gimp-remote </item>
+      <item> gimptool </item>
+      <item> gmake </item>
+      <item> gs </item>
+      <item> head </item>
+      <item> hexdump </item>
+      <item> id </item>
+      <item> install </item>
+      <item> join </item>
+      <item> kill </item>
+      <item> killall </item>
+      <item> ld </item>
+      <item> ld86 </item>
+      <item> ldd </item>
+      <item> less </item>
+      <item> lex </item>
+      <item> ln </item>
+      <item> locate </item>
+      <item> lockfile </item>
+      <item> logname </item>
+      <item> lp </item>
+      <item> lpr </item>
+      <item> ls </item>
+      <item> lynx </item>
+      <item> m4 </item>
+      <item> make </item>
+      <item> man </item>
+      <item> mkdir </item>
+      <item> mknod </item>
+      <item> msgfmt </item>
+      <item> mv </item>
+      <item> namei </item>
+      <item> nasm </item>
+      <item> nawk </item>
+      <item> nice </item>
+      <item> nl </item>
+      <item> nm </item>
+      <item> nm86 </item>
+      <item> nmap </item>
+      <item> nohup </item>
+      <item> nop </item>
+      <item> od </item>
+      <item> passwd </item>
+      <item> patch </item>
+      <item> pcregrep </item>
+      <item> pcretest </item>
+      <item> perl </item>
+      <item> perror </item>
+      <item> pidof </item>
+      <item> pr </item>
+      <item> printf </item>
+      <item> procmail </item>
+      <item> prune </item>
+      <item> ps2ascii </item>
+      <item> ps2epsi </item>
+      <item> ps2frag </item>
+      <item> ps2pdf </item>
+      <item> ps2ps </item>
+      <item> psbook </item>
+      <item> psmerge </item>
+      <item> psnup </item>
+      <item> psresize </item>
+      <item> psselect </item>
+      <item> pstops </item>
+      <item> rcs </item>
+      <item> rev </item>
+      <item> rm </item>
+      <item> scp </item>
+      <item> sed </item>
+      <item> seq </item>
+      <item> setterm </item>
+      <item> shred </item>
+      <item> size </item>
+      <item> size86 </item>
+      <item> skill </item>
+      <item> slogin </item>
+      <item> snice </item>
+      <item> sort </item>
+      <item> sox </item>
+      <item> split </item>
+      <item> ssh </item>
+      <item> ssh-add </item>
+      <item> ssh-agent </item>
+      <item> ssh-keygen </item>
+      <item> ssh-keyscan </item>
+      <item> stat </item>
+      <item> strings </item>
+      <item> strip </item>
+      <item> sudo </item>
+      <item> suidperl </item>
+      <item> sum </item>
+      <item> tac </item>
+      <item> tail </item>
+      <item> tee </item>
+      <item> test </item>
+      <item> tr </item>
+      <item> uniq </item>
+      <item> unlink </item>
+      <item> unzip </item>
+      <item> updatedb </item>
+      <item> updmap </item>
+      <item> uptime </item>
+      <item> users </item>
+      <item> vmstat </item>
+      <item> w </item>
+      <item> wc </item>
+      <item> wget </item>
+      <item> whatis </item>
+      <item> whereis </item>
+      <item> which </item>
+      <item> who </item>
+      <item> whoami </item>
+      <item> write </item>
+      <item> xargs </item>
+      <item> yacc </item>
+      <item> yes </item>
+      <item> zip </item>
+      <item> zsoelim </item>
+
+      <!-- others -->
+      <item> dcop </item>
+      <item> kdialog </item>
+      <item> kfile </item>
+      <item> xhost </item>
+      <item> xmodmap </item>
+      <item> xset </item>
+    </list>
+
+
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Start">
+        <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" />
+      </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" />
+      </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;](?=#)" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Comment">
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+      </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;](?=#)" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="CommentParen">
+        <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;](?=#)" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="CommentBackq">
+        <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">
+        <IncludeRules context="FindSpecialCommands" />
+        <IncludeRules context="FindNormalCommands" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindSpecialCommands">
+        <!-- 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&eos;" 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 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" />
+        <!-- mark function definitions without function keyword -->
+        <RegExpr attribute="Function" context="#stay" String="&funcname;\s*\(\)" />
+        <!-- handle keywords -->
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <RegExpr attribute="Builtin" context="#stay" String="\.(?=\s)" />
+        <!-- handle commands that have variable names as argument -->
+        <keyword attribute="Builtin" context="VarName" String="builtins_var" />
+        <!-- handle here-string -->
+        <RegExpr attribute="Redirection" context="#stay" String="\d*&lt;&lt;&lt;" />
+        <!-- handle here document -->
+        <StringDetect attribute="Redirection" context="HereDoc" String="&lt;&lt;" lookAhead="true" />
+        <!-- handle process subst -->
+        <RegExpr attribute="Redirection" context="ProcessSubst" String="[&lt;&gt;]\(" />
+        <!-- handle redirection -->
+        <RegExpr attribute="Redirection" context="#stay" String="([0-9]*(&gt;{1,2}|&lt;)(&amp;[0-9]+-?)?|&amp;&gt;|&gt;&amp;|[0-9]*&lt;&gt;)" />
+        <!-- handle &, &&, | and || -->
+        <RegExpr attribute="Control" context="#stay" String="([|&amp;])\1?" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindNormalCommands">
+        <keyword attribute="Builtin" context="CommandArgs" String="builtins" />
+        <keyword attribute="Command" context="CommandArgs" String="unixcommands" />
+        <RegExpr attribute="OtherCommand" context="#stay" String="&pathpart;*(?=/)" />
+        <RegExpr attribute="OtherCommand" context="#stay" String="~\w*" />
+        <RegExpr attribute="OtherCommand" context="#stay" String="/&pathpart;*(?=([/);$`'&quot;]|$))" />
+        <RegExpr attribute="OtherCommand" context="CommandArgs" String="/&pathpart;*(?=([\s);$`'&quot;]|$))" />
+        <!-- This list is not complete. ie, ":" is missing but as it is in bash completition. -->
+        <RegExpr attribute="OtherCommand" context="CommandArgs" String="&pathpart;*" />
+      </context>
+
+      <!-- CommandArgs matches the items after a command -->
+      <context attribute="Normal Text" lineEndContext="#pop" name="CommandArgs">
+        <LineContinue />
+        <IncludeRules context="FindMost" />
+        <RegExpr attribute="Keyword" context="#stay" String="\\$" />
+        <!-- handle keywords -->
+        <RegExpr attribute="Option" context="#stay" String="\.(?=\s)" />
+        <!-- handle here-string -->
+        <RegExpr attribute="Redirection" context="#stay" String="\d*&lt;&lt;&lt;" />
+        <!-- handle here document -->
+        <StringDetect attribute="Redirection" context="HereDoc" String="&lt;&lt;" lookAhead="true" />
+        <!-- handle process subst -->
+        <RegExpr attribute="Redirection" context="ProcessSubst" String="[&lt;&gt;]\(" />
+        <!-- handle redirection -->
+        <RegExpr attribute="Redirection" context="#stay" String="([0-9]*(&gt;{1,2}|&lt;)(&amp;[0-9]+-?)?|&amp;&gt;|&gt;&amp;|[0-9]*&lt;&gt;)" />
+        <!-- handle &, &&, | and || -->
+        <RegExpr attribute="Control" context="#pop" String="([|&amp;;])\1?" />
+        <RegExpr attribute="Option" context="#stay" String="-?-[a-z][A-Za-z0-9_-]*" />
+        <keyword attribute="Option" context="#stay" String="keywords" />
+        <AnyChar String=")}" context="#pop" lookAhead="true"/>
+      </context>
+
+      <!-- FindCommands matches many items that can be expected outside strings, substitutions etc, when inside a Backquote -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindCommandsBackq">
+        <IncludeRules context="FindSpecialCommands" />
+        <IncludeRules context="FindNormalCommandsBackq" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindNormalCommandsBackq">
+        <keyword attribute="Builtin" context="CommandArgsBackq" String="builtins" />
+        <keyword attribute="Command" context="CommandArgsBackq" String="unixcommands" />
+        <RegExpr attribute="OtherCommand" context="#stay" String="&pathpart;*(?=/)" />
+        <RegExpr attribute="OtherCommand" context="#stay" String="~\w*" />
+        <RegExpr attribute="OtherCommand" context="#stay" String="/&pathpart;*(?=([/);$`'&quot;]|$))" />
+        <RegExpr attribute="OtherCommand" context="CommandArgsBackq" String="/&pathpart;*(?=([\s);$`'&quot;]|$))" />
+        <RegExpr attribute="OtherCommand" context="CommandArgsBackq" String="&pathpart;*" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="CommandArgsBackq">
+        <LineContinue />
+        <DetectChar attribute="Keyword" context="#pop" char="`" lookAhead="true"/>
+        <IncludeRules context="CommandArgs" />
+      </context>
+
+      <!-- FindOthers contains various rules to mark different shell input -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindOthers">
+        <RegExpr attribute="Escape" context="#stay" String="\\[][;\\$`{}()|&amp;&lt;&gt;* ]" />
+        <RegExpr attribute="Keyword" context="#stay" String="\\$" />
+        <RegExpr attribute="Escape" context="#stay" String="\{(?!(\s|$))\S*\}" />
+        <RegExpr attribute="Path" context="#stay" String="&pathpart;*(?=/)" />
+        <RegExpr attribute="Path" context="#stay" String="~\w*" />
+        <RegExpr attribute="Path" context="#stay" String="/&pathpart;*(?=([\s/):;$`'&quot;]|$))" />
+        <!-- TODO: shell globs beside * and ? (in Path's) -->
+      </context>
+
+      <!-- FindStrings looks for single and double quoted strings, also with $-prefix -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">
+        <Detect2Chars attribute="Escape" context="#stay" char="\\" char1="'" />
+        <Detect2Chars attribute="Escape" context="#stay" char="\\" char1="&quot;" />
+        <DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
+        <DetectChar attribute="String DoubleQ" context="StringDQ" char="&quot;" />
+        <Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
+        <Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1="&quot;" />
+      </context>
+
+      <!-- FindSubstitutions goes after anything starting with $ and ` and their escapes -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindSubstitutions">
+        <RegExpr attribute="Variable" context="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="#stay" String="\$\{#[0-9]+\}" />
+        <RegExpr attribute="Variable" context="VarBrace" String="\$\{&varname;" />
+        <RegExpr attribute="Variable" context="VarBrace" String="\$\{[*@#?$!_0-9-](?=[:#%/=?+-])" />
+        <StringDetect attribute="Variable" context="ExprDblParenSubst" String="$((" beginRegion="expression" />
+        <StringDetect attribute="Redirection" context="SubstFile" String="$(&lt;" />
+        <StringDetect attribute="Variable" context="SubstCommand" String="$(" />
+        <DetectChar attribute="Backquote" context="SubstBackq" char="`" />
+        <RegExpr attribute="Escape" context="#stay" String="\\[`$\\]" />
+      </context>
+
+      <!-- FindTests finds operators valid in tests -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindTests">
+        <RegExpr attribute="Expression" context="#stay" String="-[abcdefghkprstuwxOGLSNozn](?=\s)"/>
+        <RegExpr attribute="Expression" context="#stay" String="-([no]t|ef)(?=\s)"/>
+        <RegExpr attribute="Expression" context="#stay" String="([!=]=?|[&gt;&lt;])(?=\s)"/>
+        <RegExpr attribute="Expression" context="#stay" String="-(eq|ne|[gl][te])(?=\s)"/>
+      </context>
+
+
+<!-- ====== These are the contexts that can be branched to ======= -->
+
+      <!-- ExprDblParen consumes an expression started in command mode till )) -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParen">
+        <Detect2Chars attribute="Keyword" context="#pop" char=")" char1=")" endRegion="expression" />
+        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+        <IncludeRules context="FindMost" />
+      </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" />
+      </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" />
+      </context>
+
+      <!-- ExprBracket consumes an expression till ] -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracket">
+        <RegExpr attribute="Builtin" context="#pop" String="\s\](?=($|[\s;|&amp;]))" endRegion="expression" />
+        <RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
+        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+        <IncludeRules context="FindTests" />
+        <IncludeRules context="FindMost" />
+      </context>
+
+      <!-- ExprDblBracket consumes an expression till ]] -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracket">
+        <RegExpr attribute="Keyword" context="#pop" String="\s\]\](?=($|[\s;|&amp;]))" endRegion="expression" />
+        <RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
+        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+        <IncludeRules context="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>
+
+      <!-- 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>
+
+      <!-- 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:,+_./-]" />
+      </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" />
+      </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="[" />
+        <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" />
+      </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>
+
+      <!-- VarName consumes spare variable names and assignments -->
+      <context attribute="Normal Text" lineEndContext="#pop" name="VarName" fallthrough="true" fallthroughContext="#pop">
+        <!-- handle command line options -->
+        <RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9]+" />
+        <RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
+        <RegExpr attribute="Variable" context="#stay" String="\b&varname;" />
+        <DetectChar attribute="Variable" context="Subscript" char="[" />
+        <DetectChar attribute="Variable" context="Assign" char="=" />
+        <IncludeRules context="FindMost" />
+        <!-- stay here in spaces and other safe characters -->
+        <RegExpr attribute="Normal Text" context="#stay" String="[^]})|;`&amp;&gt;&lt;]" />
+      </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" />
+      </context>
+
+      <!-- StringSQ consumes anything till ' -->
+      <context attribute="String SingleQ" lineEndContext="#stay" name="StringSQ">
+        <DetectChar attribute="String SingleQ" context="#pop" char="'" />
+      </context>
+
+      <!-- StringDQ consumes anything till ", substitutes vars and expressions -->
+      <context attribute="String DoubleQ" lineEndContext="#stay" name="StringDQ">
+        <DetectChar attribute="String DoubleQ" context="#pop" char="&quot;" />
+        <RegExpr attribute="String Escape" context="#stay" String="\\[`&quot;\\$\n]" />
+        <IncludeRules context="FindSubstitutions" />
+      </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.)" />
+      </context>
+
+      <!-- VarBrace is called as soon as ${xxx is encoutered -->
+      <context attribute="Error" lineEndContext="#stay" name="VarBrace">
+        <DetectChar attribute="Variable" context="#pop" char="}" />
+        <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" />
+      </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" />
+      </context>
+
+      <!-- SubstBackq is called when a backquote is encountered -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="SubstBackq">
+        <DetectChar attribute="Backquote" context="#pop" char="`" />
+        <IncludeRules context="FindCommentsBackq" />
+        <IncludeRules context="FindCommandsBackq" />
+        <IncludeRules context="FindStrings" />
+        <IncludeRules context="FindSubstitutions" />
+        <IncludeRules context="FindOthers" />
+      </context>
+
+      <!-- Case is called after the case keyword is encoutered. We handle this because of
+           the lonely closing parentheses that would otherwise disturb the expr matching -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="Case">
+        <RegExpr attribute="Keyword" context="CaseIn" String="\sin\b" />
+        <IncludeRules context="FindMost" />
+      </context>
+
+      <!-- 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="(|" />
+        <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" />
+        <RegExpr attribute="Keyword" context="#pop" String="esac(?=$|[\s;)])" lookAhead="true" firstNonSpace="true" endRegion="caseexpr"/>
+        <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="HereDocIQ"  String="(&lt;&lt;-\s*&quot;(&word;)&quot;)" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*'(&word;)')" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*\\(&word;))" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocINQ" String="(&lt;&lt;-\s*(&word;))" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*&quot;(&word;)&quot;)" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*'(&word;)')" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*\\(&word;))" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocNQ"  String="(&lt;&lt;\s*(&word;))" lookAhead="true" />
+        <StringDetect attribute="Redirection" context="#pop"  String="&lt;&lt;" /><!-- always met -->
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder">
+        <IncludeRules context="FindAll" />
+      </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\b" 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\b" 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="^\t*%2\b" 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="^\t*%2\b" dynamic="true" column="0"/>
+        <IncludeRules context="FindSubstitutions" />
+      </context>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text"	defStyleNum="dsNormal" />
+      <itemData name="Comment"		defStyleNum="dsComment" />
+      <itemData name="Keyword"		defStyleNum="dsKeyword" />
+      <itemData name="Control"		defStyleNum="dsKeyword" />
+      <itemData name="Builtin"		defStyleNum="dsBuiltIn" />
+      <itemData name="Command"		defStyleNum="dsFunction" />
+      <itemData name="OtherCommand"	defStyleNum="dsExtension" />
+      <itemData name="Redirection"	defStyleNum="dsOperator" />
+      <itemData name="Escape"		defStyleNum="dsDataType" />
+      <itemData name="String SingleQ"	defStyleNum="dsString" />
+      <itemData name="String DoubleQ"	defStyleNum="dsString" />
+      <itemData name="Backquote"	defStyleNum="dsKeyword" />
+      <itemData name="String Transl."	defStyleNum="dsString" />
+      <itemData name="String Escape"	defStyleNum="dsDataType" />
+      <itemData name="Variable" 	defStyleNum="dsVariable" />
+      <itemData name="Expression"	defStyleNum="dsOthers" />
+      <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="`"/>
+  </general>
+</language>
diff --git a/xml/bibtex.xml b/xml/bibtex.xml
new file mode 100644
--- /dev/null
+++ b/xml/bibtex.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+	  [
+	  <!ENTITY stringVariable   	"[a-zA-Z0-9\-]+">
+	  <!ENTITY fieldFormat    	"[a-zA-Z0-9\-_\.]+">
+	  <!ENTITY latexCmd	  	"\\([a-zA-Z@]+|[^ ])">
+	  <!ENTITY refKeyFormat  	"[a-zA-Z0-9_@\\-\\:]+"> <!--taken from kile 2.0.3-->
+	  ]>
+<language name="BibTeX" version="2" kateversion="5.0" extensions="*.bib" section="Markup" mimetype="text/x-bib" casesensitive="1" author="Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net)+Thomas Braun (thomas.braun@virtuell-zuhause.de)" license="LGPL">
+  <highlighting>
+    <list name="kw_entry">
+      <item>@article</item> 
+      <item>@book</item> 
+      <item>@booklet</item> 
+      <item>@conference</item> 
+      <item>@collection</item>
+      <item>@electronic</item>
+      <item>@inbook</item> 
+      <item>@incollection</item> 
+      <item>@inproceedings</item> 
+      <item>@manual</item> 
+      <item>@mastersthesis</item> 
+      <item>@misc</item>
+      <item>@online</item>
+      <item>@patent</item>
+      <item>@periodical</item>
+      <item>@proceedings</item>
+      <item>@report</item>
+      <item>@phdthesis</item>
+      <item>@set</item>
+      <item>@thesis</item> 
+      <item>@techreport</item> 
+      <item>@unpublished</item>
+      <item>@www</item>
+      <item>@person</item> <!--all three from the directory package-->
+      <item>@company</item>
+      <item>@place</item>
+    </list>
+    <contexts>
+      <context name="Normal" attribute="Comment" lineEndContext="#stay">
+        <keyword String="kw_entry" attribute="Entry" context="Entry"/>
+	<StringDetect String="@string" attribute="Command" insensitive="true" context="StringCommand"/>
+	<StringDetect String="@preamble" attribute="Command" insensitive="true" context="PreambleCommand"/>
+	<StringDetect String="@comment" attribute="Comment" insensitive="true" context="#stay"/> <!--nothing special needed here-->
+    </context>
+
+	<context name="PreambleCommand" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop" lineEndContext="#stay" >
+		<DetectChar char="{" context="CurlyBracket" />
+	</context>
+	
+	<context name="StringCommand" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop" lineEndContext="#stay" >
+		<DetectChar char="{" context="CurlyBracket" />
+		<RegExpr String="&stringVariable;" attribute="String" context="CurlyBracket"/>
+      </context>
+
+      <context name="Entry" attribute="Normal Text" lineEndContext="#stay">
+	      <DetectChar char="{"  context="#stay" beginRegion="block" />
+	      <RegExpr String="&refKeyFormat;" attribute="Ref Key" context="#stay"/>
+	      <DetectChar char="," context="Field"/>
+	      <DetectChar char="}" attribute="Normal Text" context="#pop" endRegion="block" />
+      </context>
+
+      <context name="Field" attribute="Normal Text" lineEndContext="#stay">
+	      <RegExpr String="&fieldFormat;" attribute="Field" firstNonSpace="true"/>
+	      <DetectSpaces/>
+	      <DetectChar char="=" context="#stay"/>
+	      <DetectSpaces/>
+	      <DetectChar char="{" context="CurlyBracket"/>
+	      <DetectChar char="}" context="#pop" lookAhead="true"/>
+	      <DetectChar char="&quot;"  attribute="Normal Text" context="QuotedText"/>
+	      <DetectChar char="," context="#stay"/>
+	      <DetectChar char="#" context="#stay"/> <!-- the bibtex string concatenate character -->
+	      <RegExpr String="[0-9]+" context="#stay"/>
+	      <RegExpr String="&stringVariable;" attribute="String" /> <!-- assume this is a variable created with @String -->
+	      <DetectSpaces/>
+	      <RegExpr String="." attribute="Error" context="#stay"/> <!--this rule catches all errors-->
+      </context>
+
+      <context name="CurlyBracket" attribute="Normal Text" lineEndContext="#stay">
+	      <DetectChar char="{" context="CurlyBracket"/>
+	      <RegExpr String="&latexCmd;" attribute="LatexCommand" context="#stay"/>
+	      <RegExpr String="}$" context="#pop#pop"/>
+	      <DetectChar char="}" context="#pop"/>
+      </context>
+
+      <context name="QuotedText" attribute="String" lineEndContext="#stay">
+	      <DetectChar char="&quot;" attribute="Normal Text" context="#pop"/>
+	      <RegExpr String="&latexCmd;" attribute="LatexCommand" context="#stay"/>
+      </context>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Entry" defStyleNum="dsVariable" spellChecking="false"/>
+      <itemData name="Command" defStyleNum="dsFunction" spellChecking="false"/>
+      <itemData name="Field" defStyleNum="dsDataType" spellChecking="false"/>
+      <itemData name="Ref Key" defStyleNum="dsOthers" spellChecking="false"/>
+      <itemData name="LatexCommand" defStyleNum="dsChar" spellChecking="false"/>
+      <itemData name="Comment" defStyleNum="dsComment" spellChecking="false"/>
+      <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
+      <itemData name="String" defStyleNum="dsString" spellChecking="true"/>
+</itemDatas>
+  </highlighting>
+  <general>
+   <keywords casesensitive="0" weakDeliminator="\" wordWrapDeliminator=",{}[]"/>
+  </general>
+</language>
diff --git a/xml/boo.xml b/xml/boo.xml
new file mode 100644
--- /dev/null
+++ b/xml/boo.xml
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language>
+<!-- Based on Python syntax highlighting v1.99 by Primoz Anzur, Paul Giannaros, Michael Bueker, Per Wigren -->
+<!-- Also based on boo.lang from gtksourceview -->
+<language name="Boo" version="2" kateversion="5.0" section="Sources" extensions="*.boo" mimetype="text/x-boo" casesensitive="1" author="Marc Dassonneville" license="LGPL">
+	<highlighting>
+		<list name="namespace">
+			<item>import</item>
+			<item>from</item>
+			<item>as</item>
+			<item>namespace</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="primitive">
+			<item>bool</item>
+			<item>byte</item>
+			<item>sbyte</item>
+			<item>double</item>
+			<item>decimal</item>
+			<item>single</item>
+			<item>short</item>
+			<item>ushort</item>
+			<item>int</item>
+			<item>char</item>
+			<item>uint</item>
+			<item>long</item>
+			<item>ulong</item>
+			<item>object</item>
+			<item>duck</item>
+			<item>string</item>
+			<item>regex</item>
+			<item>date</item>
+			<item>timespan</item>
+		</list>
+
+		<list name="definition">
+			<item>abstract</item>
+			<item>virtual</item>
+			<item>override</item>
+			<item>static</item>
+			<item>final</item>
+			<item>transient</item>
+			<item>macro</item>
+
+			<item>protected</item>
+			<item>private</item>
+			<item>public</item>
+			<item>internal</item>
+			<item>partial</item>
+
+			<item>class</item>
+			<item>struct</item>
+			<item>interface</item>
+			<item>enum</item>
+			<item>callable</item>
+			<item>of</item>
+
+			<item>def</item>
+			<item>constructor</item>
+			<item>destructor</item>
+
+			<item>do</item>
+			<item>get</item>
+			<item>set</item>
+			<item>event</item>
+
+			<item>return</item>
+			<item>yield</item>
+		</list>
+
+		<list name="boolean">
+			<item>true</item>
+			<item>false</item>
+		</list>
+
+		<list name="literals">
+			<item>null</item>
+			<item>self</item>
+			<item>super</item>
+		</list>
+
+		<list name="keywords">
+			<item>and</item>
+			<item>break</item>
+			<item>cast</item>
+			<item>continue</item>
+			<item>elif</item>
+			<item>else</item>
+			<item>except</item>
+			<item>ensure</item>
+			<item>for</item>
+			<item>given</item>
+			<item>goto</item>
+			<item>if</item>
+			<item>in</item>
+			<item>is</item>
+			<item>isa</item>
+			<item>not</item>
+			<item>or</item>
+			<item>otherwise</item>
+			<item>pass</item>
+			<item>raise</item>
+			<item>try</item>
+			<item>unless</item>
+			<item>when</item>
+			<item>while</item>
+			<item>ref</item>
+		</list>
+
+		<list name="builtins">
+			<item>assert</item>
+			<item>__eval__</item>
+			<item>__switch__</item>
+			<item>enumerate</item>
+			<item>filter</item>
+			<item>len</item>
+			<item>typeof</item>
+			<item>map</item>
+			<item>max</item>
+			<item>min</item>
+			<item>property</item>
+			<item>using</item>
+			<item>getter</item>
+			<item>required</item>
+			<item>lock</item>
+			<item>range</item>
+			<item>zip</item>
+			<item>checked</item>
+			<item>unchecked</item>
+			<item>rawArrayIndexing</item>
+			<item>normalArrayIndexing</item>
+			<item>print</item>
+			<item>array</item>
+			<item>matrix</item>
+			<item>yieldAll</item>
+		</list>
+
+		<contexts>
+			<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+				<keyword attribute="Preprocessor" String="namespace" context="#stay"/>
+				<keyword attribute="Definition Keyword" String="definition" context="#stay"/>
+				<keyword attribute="Operator" String="operators" context="#stay"/>
+				<keyword attribute="Flow Control Keyword" String="keywords" context="#stay"/>
+				<keyword attribute="Builtin Function" String="builtins" context="#stay"/>
+				<keyword attribute="Special Variable" String="literals" context="#stay"/>
+				<keyword attribute="Special Variable" String="boolean" context="#stay"/>
+				<keyword attribute="Data Type" String="primitive" context="#stay" />
+				<RegExpr attribute="Normal Text" String="[a-zA-Z_][a-zA-Z_0-9]+" context="#stay"/>
+
+				<RegExpr attribute="Complex" String=" ((([0-9]*\.[0-9]+|[0-9]+\.)|([0-9]+|([0-9]*\.[0-9]+|[0-9]+\.))[eE](\+|-)?[0-9]+)|[0-9]+)[jJ]" context="#stay"/>
+				<RegExpr attribute="Float" String="([0-9]+\.[0-9]*|\.[0-9]+)([eE][0-9]+)?" context="#stay"/>
+				<RegExpr attribute="Int" String="([1-9][0-9]*([eE][0-9]+)?|0)" context="#stay"/>
+				<RegExpr attribute="Long" String="[1-9][0-9]*([eE][0-9.]+)?[Ll]" context="#stay"/>
+				<RegExpr attribute="Hex" String="0[Xx][0-9a-fA-F]+" context="#stay"/>
+				<RegExpr attribute="Octal" String="0[1-9][0-9]*" context="#stay"/>
+
+				<RegExpr attribute="Raw String" String="[rR]'''" context="Raw Tripple A-string"/>
+				<RegExpr attribute="Raw String" String="[rR]&quot;&quot;&quot;" context="Raw Tripple Q-string"/>
+
+				<RegExpr attribute="Raw String" String="[rR]'" context="Raw A-string"/>
+				<RegExpr attribute="Raw String" String="[rR]&quot;" context="Raw Q-string"/>
+
+				<RegExpr attribute="Comment" String="#.*$" context="#stay"/>
+				<RegExpr attribute="Comment" String="^\s*u?'''" context="Tripple A-comment" beginRegion="Tripple A-region"/>
+				<RegExpr attribute="Comment" String="^\s*u?&quot;&quot;&quot;" context="Tripple Q-comment" beginRegion="Tripple Q-region"/>
+				<Detect2Chars attribute="Comment" char="/" char1="/" context="Comment SlashSlash"/>
+
+				<StringDetect attribute="String" String="'''" context="Tripple A-string" beginRegion="Tripple A-region"/>
+				<StringDetect attribute="String" String="&quot;&quot;&quot;" context="Tripple Q-string" beginRegion="Tripple Q-region"/>
+				<DetectChar attribute="String" char="'" context="Single A-string"/>
+				<DetectChar attribute="String" char="&quot;" context="Single Q-string"/>
+
+				<DetectChar attribute="Operator" char="(" context="parenthesised" beginRegion="parenthesis"/>
+				<DetectChar attribute="Operator" char=")" context="#pop" endRegion="parenthesis"/>
+
+				<StringDetect attribute="Operator" String="[|" context="Quasi-Quotation" beginRegion="qq"/>
+				<StringDetect attribute="Operator" String="|]" context="#pop" endRegion="qq"/>
+
+				<RegExpr attribute="Operator" String="[+*/%\|=;\!&lt;&gt;!^&amp;~-]" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+			</context>
+
+			<context name="parenthesised" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<IncludeRules context="Normal" />
+			</context>
+
+			<context name="Quasi-Quotation" attribute="Operator" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<IncludeRules context="Normal" />
+			</context>
+
+			<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">
+				<HlCChar attribute="Comment" context="#stay"/>
+				<RegExpr attribute="Comment" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
+			</context>
+
+			<context name="Tripple A-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<HlCStringChar attribute="String Char" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+				<RegExpr attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
+			</context>
+
+			<context name="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 Char" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+				<RegExpr attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
+			</context>
+
+			<context name="Raw Tripple Q-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<HlCStringChar attribute="Raw String" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+				<RegExpr attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
+			</context>
+
+			<context name="Comment SlashSlash" attribute="Comment" lineEndContext="#pop" >
+				<LineContinue attribute="Comment" context="#stay"/>
+			</context>
+
+			<context name="Single A-comment" attribute="Comment" lineEndContext="#stay">
+				<HlCStringChar attribute="Comment" context="#stay"/>
+				<DetectChar attribute="Comment" char="'" context="#pop"/>
+			</context>
+
+			<context name="Single Q-comment" attribute="Comment" lineEndContext="#stay">
+				<HlCStringChar attribute="Comment" context="#stay"/>
+				<DetectChar attribute="Comment" char="&quot;" context="#pop"/>
+			</context>
+
+			<context name="Single A-string" attribute="String" lineEndContext="#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 Char" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+				<DetectChar attribute="String" char="&quot;" context="#pop"/>
+			</context>
+
+			<context name="Raw A-string" attribute="Raw String" lineEndContext="#stay">
+				<HlCStringChar attribute="Raw String" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+				<DetectChar attribute="Raw String" char="'" context="#pop"/>
+			</context>
+
+			<context name="Raw Q-string" attribute="Raw String" lineEndContext="#stay">
+				<HlCStringChar attribute="Raw String" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%\([a-zA-Z0-9_]+\)[a-zA-Z]" context="#stay"/>
+				<RegExpr attribute="String Substitution" String="%[a-zA-Z]" context="#stay"/>
+				<DetectChar attribute="Raw String" char="&quot;" context="#pop"/>
+			</context>
+		</contexts>
+
+
+		<itemDatas>
+			<itemData name="Normal Text" defStyleNum="dsNormal"/>
+			<itemData name="Definition Keyword" defStyleNum="dsKeyword"/>
+			<itemData name="Data Type" defStyleNum="dsDataType"/>
+			<itemData name="Operator" defStyleNum="dsOperator" />
+			<itemData name="String Substitution" defStyleNum="dsNormal"/>
+			<itemData name="Flow Control Keyword" defStyleNum="dsControlFlow"/>
+			<itemData name="Builtin Function" defStyleNum="dsDataType"/>
+			<itemData name="Special Variable" defStyleNum="dsOthers"/>
+			<itemData name="Preprocessor" defStyleNum="dsChar"/>
+			<itemData name="String Char" defStyleNum="dsSpecialChar"/>
+			<itemData name="Long" defStyleNum="dsOthers"/>
+			<itemData name="Float" defStyleNum="dsFloat"/>
+			<itemData name="Int" defStyleNum="dsDecVal"/>
+			<itemData name="Hex" defStyleNum="dsOthers"/>
+			<itemData name="Octal" defStyleNum="dsOthers"/>
+			<itemData name="Complex" defStyleNum="dsOthers"/>
+			<itemData name="Comment" defStyleNum="dsComment"/>
+			<itemData name="String" defStyleNum="dsString"/>
+			<itemData name="Raw String" defStyleNum="dsVerbatimString"/>
+		</itemDatas>
+	</highlighting>
+	<general>
+		<folding indentationsensitive="1" />
+		<emptyLines>
+			<emptyLine regexpr="\s+" casesensitive="false"/>
+			<emptyLine regexpr="\s*#.*$" casesensitive="false"/>
+		</emptyLines>
+		<comments>
+			<comment name="singleLine" start="#" position="afterwhitespace"/>
+		</comments>
+		<keywords casesensitive="1" />
+	</general>
+</language>
diff --git a/xml/c.xml b/xml/c.xml
new file mode 100644
--- /dev/null
+++ b/xml/c.xml
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="C" section="Sources"
+          version="2" kateversion="5.0"
+          indenter="cstyle"
+          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="controlflow">
+      <item> break </item>
+      <item> case </item>
+      <item> continue </item>
+      <item> default </item>
+      <item> do </item>
+      <item> else </item>
+      <item> for </item>
+      <item> goto </item>
+      <item> if </item>
+      <item> return </item>
+      <item> switch </item>
+      <item> while </item>
+    </list>
+    <list name="keywords">
+      <item> enum </item>
+      <item> extern </item>
+      <item> inline </item>
+      <item> sizeof </item>
+      <item> struct </item>
+      <item> typedef </item>
+      <item> union </item>
+    </list>
+    <list name="types">
+      <item> auto </item>
+      <item> char </item>
+      <item> const </item>
+      <item> double </item>
+      <item> float </item>
+      <item> int </item>
+      <item> long </item>
+      <item> register </item>
+      <item> restrict </item>
+      <item> short </item>
+      <item> signed </item>
+      <item> static </item>
+      <item> unsigned </item>
+      <item> void </item>
+      <item> volatile </item>
+      <item> int8_t </item>
+      <item> int16_t </item>
+      <item> int32_t </item>
+      <item> int64_t </item>
+      <item> uint8_t </item>
+      <item> uint16_t </item>
+      <item> uint32_t </item>
+      <item> uint64_t </item>
+      <item> int_least8_t </item>
+      <item> int_least16_t </item>
+      <item> int_least32_t </item>
+      <item> int_least64_t </item>
+      <item> uint_least8_t </item>
+      <item> uint_least16_t </item>
+      <item> uint_least32_t </item>
+      <item> uint_least64_t </item>
+      <item> int_fast8_t </item>
+      <item> int_fast16_t </item>
+      <item> int_fast32_t </item>
+      <item> int_fast64_t </item>
+      <item> uint_fast8_t </item>
+      <item> uint_fast16_t </item>
+      <item> uint_fast32_t </item>
+      <item> uint_fast64_t </item>
+      <item> size_t </item>
+      <item> ssize_t </item>
+      <item> wchar_t </item>
+      <item> intptr_t </item>
+      <item> uintptr_t </item>
+      <item> intmax_t </item>
+      <item> uintmax_t </item>
+      <item> ptrdiff_t </item>
+      <item> sig_atomic_t </item>
+      <item> wint_t </item>
+      <item> _Imaginary </item>
+      <item> _Complex </item>
+      <item> _Bool </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <DetectSpaces />
+	<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0\s*$" 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="Control Flow" context="#stay" String="controlflow"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <DetectIdentifier />
+        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+        <Float attribute="Float" context="#stay">
+          <AnyChar String="fF" attribute="Float" context="#stay"/>
+        </Float>
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <RegExpr attribute="Binary" context="#stay" String="0b[01]+[ul]{0,3}" insensitive="true" />
+        <Int attribute="Decimal" context="#stay" >
+          <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
+        </Int>
+        <HlCChar attribute="Char" context="#stay"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+      </context>
+
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <LineContinue attribute="String" context="#stay"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+
+      <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
+      </context>
+
+      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
+        <LineContinue attribute="Comment" context="#stay"/>
+        <IncludeRules context="##Alerts" />
+      </context>
+
+      <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+        <IncludeRules context="##Alerts" />
+      </context>
+
+      <context attribute="Error" lineEndContext="#pop" name="AfterHash">
+        <RegExpr attribute="Preprocessor" context="Include" String="#\s*(?:include|include_next)" insensitive="true" firstNonSpace="true" />
+
+        <!-- define, elif, else, endif, error, if, ifdef, ifndef, 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" />
+        
+        <!-- folding for apple style #pragma mark - label -->
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*pragma\s+mark\s+-\s*$" insensitive="true" firstNonSpace="true" endRegion="pragma_mark" />
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*pragma\s+mark" insensitive="true" firstNonSpace="true" endRegion="pragma_mark" beginRegion="pragma_mark" />
+
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if)|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="Include">
+        <LineContinue attribute="Preprocessor" context="#stay"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
+        <IncludeRules context="Preprocessor" />
+      </context>
+
+      <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
+        <LineContinue attribute="Preprocessor" context="#stay"/>
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/" />
+      </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" />
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <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="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" />
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <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="PP" firstNonSpace="true" />
+        <RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"  defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>
+      <itemData name="Keyword"      defStyleNum="dsKeyword" spellChecking="false"/>
+      <itemData name="Data Type"    defStyleNum="dsDataType" spellChecking="false"/>
+      <itemData name="Decimal"      defStyleNum="dsDecVal" spellChecking="false"/>
+      <itemData name="Octal"        defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Hex"          defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Binary"       defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Float"        defStyleNum="dsFloat" spellChecking="false"/>
+      <itemData name="Char"         defStyleNum="dsChar" spellChecking="false"/>
+      <itemData name="String"       defStyleNum="dsString"/>
+      <itemData name="String Char"  defStyleNum="dsSpecialChar"/>
+      <itemData name="Comment"      defStyleNum="dsComment"/>
+      <itemData name="Symbol"       defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Preprocessor" defStyleNum="dsPreprocessor" spellChecking="false"/>
+      <itemData name="Prep. Lib"    defStyleNum="dsImport" spellChecking="false"/>
+      <itemData name="Alert"        defStyleNum="dsAlert" spellChecking="false"/>
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
+      <itemData name="Error"        defStyleNum="dsError" spellChecking="false"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="/*" end="*/" />
+    </comments>
+    <keywords casesensitive="1" additionalDeliminator="'&quot;" />
+  </general>
+</language>
diff --git a/xml/changelog.xml b/xml/changelog.xml
new file mode 100644
--- /dev/null
+++ b/xml/changelog.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="ChangeLog" version="2" kateversion="2.4" section="Other" extensions="ChangeLog" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL">
+  <highlighting>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <DetectChar attribute="Entry" context="entry" char="*" firstNonSpace="true" />
+        <RegExpr attribute="Date" context="line" String="\d\d\d\d\s*-\s*\d\d\s*-\s*\d\d\s*" column="0"/>
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="line">
+        <RegExpr attribute="Name" context="#stay" String="(\w\s*)+"/>
+        <RegExpr attribute="E-Mail" context="#pop" String="&lt;.*&gt;\s*$"/>
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="entry">
+        <RegExpr attribute="Entry" context="#pop" String=".*:" minimal="true"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Name" defStyleNum="dsKeyword"/>
+      <itemData name="E-Mail" defStyleNum="dsOthers"/>
+      <itemData name="Date" defStyleNum="dsDataType"/>
+      <itemData name="Entry" defStyleNum="dsDecVal"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="1" />
+  </general>
+</language>
diff --git a/xml/clojure.xml b/xml/clojure.xml
new file mode 100644
--- /dev/null
+++ b/xml/clojure.xml
@@ -0,0 +1,797 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  This file is part of KDE's kate project.
+
+  copyright   : (C) 2004 by Dominik Haumann, (C) 2011 by Caspar Hasenclever
+
+ **********************************************************************
+ * 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.                                       *
+ **********************************************************************
+ -->
+<language version="5" kateversion="5.0" name="Clojure" section="Sources" extensions="*.clj;*.cljs" mimetype="" author="Dominik Haumann [lisp] modified for clojure by Caspar Hasenclever" license="LGPLv2+">
+  <highlighting>
+    <list name="definitions">
+      <item> def </item>
+      <item> def- </item>
+      <item> defalias </item>
+      <item> defhinted </item>
+      <item> definline </item>
+      <item> defmacro </item>
+      <item> defmacro- </item>
+      <item> defmethod </item>
+      <item> defmulti </item>
+      <item> defn </item>
+      <item> defn- </item>
+      <item> defnk </item>
+      <item> defn-memo </item>
+      <item> defonce </item>
+      <item> defonce- </item>
+      <item> defprotocol </item>
+      <item> defrecord </item>
+      <item> defstruct </item>
+      <item> defstruct- </item>
+      <item> deftest </item>
+      <item> deftest- </item>
+      <item> deftype </item>
+      <item> defunbound </item>
+      <item> defunbound- </item>
+      <item> defvar </item>
+      <item> defvar- </item>
+    </list>
+    <list name="keywords">
+      <item> &lt; </item>
+      <item> &lt;= </item>
+      <item> = </item>
+      <item> == </item>
+      <item> &gt; </item>
+      <item> &gt;= </item>
+      <item> - </item>
+      <item> -&gt; </item>
+      <item> -&gt;&gt; </item>
+      <item> / </item>
+      <item> . </item>
+      <item> .. </item>
+      <item> * </item>
+      <item> + </item>
+      <item> accessor </item>
+      <item> aclone </item>
+      <item> add-classpath </item>
+      <item> add-watcher </item>
+      <item> agent </item>
+      <item> agent-errors </item>
+      <item> aget </item>
+      <item> alength </item>
+      <item> alias </item>
+      <item> all-ns </item>
+      <item> alter </item>
+      <item> alter-meta! </item>
+      <item> alter-var-root </item>
+      <item> amap </item>
+      <item> ancestors </item>
+      <item> and </item>
+      <item> append-child </item>
+      <item> apply </item>
+      <item> apply-template </item>
+      <item> are </item>
+      <item> areduce </item>
+      <item> array-map </item>
+      <item> aset </item>
+      <item> aset-boolean </item>
+      <item> aset-byte </item>
+      <item> aset-char </item>
+      <item> aset-double </item>
+      <item> aset-float </item>
+      <item> aset-int </item>
+      <item> aset-long </item>
+      <item> aset-short </item>
+      <item> assert </item>
+      <item> assert-any </item>
+      <item> assert-expr </item>
+      <item> assert-predicate </item>
+      <item> assoc </item>
+      <item> assoc! </item>
+      <item> associative? </item>
+      <item> assoc-in </item>
+      <item> atom </item>
+      <item> atom? </item>
+      <item> attrs </item>
+      <item> await </item>
+      <item> await1 </item>
+      <item> await-for </item>
+      <item> bases </item>
+      <item> bean </item>
+      <item> bigdec </item>
+      <item> bigint </item>
+      <item> binding </item>
+      <item> bit-and </item>
+      <item> bit-and-not </item>
+      <item> bit-clear </item>
+      <item> bit-flip </item>
+      <item> bit-not </item>
+      <item> bit-or </item>
+      <item> bit-set </item>
+      <item> bit-shift-left </item>
+      <item> bit-shift-right </item>
+      <item> bit-test </item>
+      <item> bit-xor </item>
+      <item> boolean </item>
+      <item> boolean-array </item>
+      <item> booleans </item>
+      <item> bound-fn </item>
+      <item> bound-fn* </item>
+      <item> branch? </item>
+      <item> butlast </item>
+      <item> byte </item>
+      <item> byte-array </item>
+      <item> bytes </item>
+      <item> case </item>
+      <item> cast </item>
+      <item> catch </item>
+      <item> char </item>
+      <item> char? </item>
+      <item> char-array </item>
+      <item> char-escape-string </item>
+      <item> char-name-string </item>
+      <item> chars </item>
+      <item> children </item>
+      <item> chunk </item>
+      <item> chunk-append </item>
+      <item> chunk-buffer </item>
+      <item> chunk-cons </item>
+      <item> chunked-seq? </item>
+      <item> chunk-first </item>
+      <item> chunk-next </item>
+      <item> chunk-rest </item>
+      <item> class </item>
+      <item> class? </item>
+      <item> clear-agent-errors </item>
+      <item> clojure-version </item>
+      <item> coll? </item>
+      <item> collection-tag </item>
+      <item> comment </item>
+      <item> commute </item>
+      <item> comp </item>
+      <item> comparator </item>
+      <item> compare </item>
+      <item> compare-and-set! </item>
+      <item> compile </item>
+      <item> complement </item>
+      <item> compose-fixtures </item>
+      <item> concat </item>
+      <item> cond </item>
+      <item> condp </item>
+      <item> conj </item>
+      <item> conj! </item>
+      <item> cons </item>
+      <item> constantly </item>
+      <item> construct-proxy </item>
+      <item> contains? </item>
+      <item> content </item>
+      <item> content-handler </item>
+      <item> count </item>
+      <item> counted? </item>
+      <item> create-ns </item>
+      <item> create-struct </item>
+      <item> cycle </item>
+      <item> dec </item>
+      <item> decimal? </item>
+      <item> declare </item>
+      <item> delay </item>
+      <item> delay? </item>
+      <item> deliver </item>
+      <item> deref </item>
+      <item> derive </item>
+      <item> descendants </item>
+      <item> destructure </item>
+      <item> difference </item>
+      <item> disj </item>
+      <item> disj! </item>
+      <item> dissoc </item>
+      <item> dissoc! </item>
+      <item> distinct </item>
+      <item> distinct? </item>
+      <item> do </item>
+      <item> doall </item>
+      <item> doc </item>
+      <item> dorun </item>
+      <item> doseq </item>
+      <item> dosync </item>
+      <item> do-template </item>
+      <item> dotimes </item>
+      <item> doto </item>
+      <item> double </item>
+      <item> double-array </item>
+      <item> doubles </item>
+      <item> down </item>
+      <item> drop </item>
+      <item> drop-last </item>
+      <item> drop-while </item>
+      <item> e </item>
+      <item> edit </item>
+      <item> element </item>
+      <item> emit </item>
+      <item> emit-element </item>
+      <item> empty </item>
+      <item> empty? </item>
+      <item> end? </item>
+      <item> ensure </item>
+      <item> enumeration-seq </item>
+      <item> eval </item>
+      <item> even? </item>
+      <item> every? </item>
+      <item> extend </item>
+      <item> extenders </item>
+      <item> extend-protocol </item>
+      <item> extends? </item>
+      <item> extend-type </item>
+      <item> false? </item>
+      <item> ffirst </item>
+      <item> file-position </item>
+      <item> file-seq </item>
+      <item> filter </item>
+      <item> finally </item>
+      <item> find </item>
+      <item> find-doc </item>
+      <item> find-ns </item>
+      <item> find-var </item>
+      <item> first </item>
+      <item> float </item>
+      <item> float? </item>
+      <item> float-array </item>
+      <item> floats </item>
+      <item> flush </item>
+      <item> fn </item>
+      <item> fn? </item>
+      <item> fnext </item>
+      <item> for </item>
+      <item> force </item>
+      <item> format </item>
+      <item> function? </item>
+      <item> future </item>
+      <item> future? </item>
+      <item> future-call </item>
+      <item> future-cancel </item>
+      <item> future-cancelled? </item>
+      <item> future-done? </item>
+      <item> gen-and-load-class </item>
+      <item> gen-and-save-class </item>
+      <item> gen-class </item>
+      <item> gen-interface </item>
+      <item> gensym </item>
+      <item> get </item>
+      <item> get-child </item>
+      <item> get-child-count </item>
+      <item> get-in </item>
+      <item> get-method </item>
+      <item> get-possibly-unbound-var </item>
+      <item> get-proxy-class </item>
+      <item> get-thread-bindings </item>
+      <item> get-validator </item>
+      <item> handle </item>
+      <item> handler-case </item>
+      <item> hash </item>
+      <item> hash-map </item>
+      <item> hash-set </item>
+      <item> identical? </item>
+      <item> identity </item>
+      <item> if </item>
+      <item> if-let </item>
+      <item> ifn? </item>
+      <item> if-not </item>
+      <item> import </item>
+      <item> inc </item>
+      <item> inc-report-counter </item>
+      <item> index </item>
+      <item> init-proxy </item>
+      <item> in-ns </item>
+      <item> insert-child </item>
+      <item> insert-left </item>
+      <item> insert-right </item>
+      <item> inspect </item>
+      <item> inspect-table </item>
+      <item> inspect-tree </item>
+      <item> instance? </item>
+      <item> int </item>
+      <item> int-array </item>
+      <item> integer? </item>
+      <item> interleave </item>
+      <item> intern </item>
+      <item> interpose </item>
+      <item> intersection </item>
+      <item> into </item>
+      <item> into-array </item>
+      <item> ints </item>
+      <item> io! </item>
+      <item> is </item>
+      <item> isa? </item>
+      <item> is-leaf </item>
+      <item> iterate </item>
+      <item> iterator-seq </item>
+      <item> join </item>
+      <item> join-fixtures </item>
+      <item> juxt </item>
+      <item> key </item>
+      <item> keys </item>
+      <item> keyword </item>
+      <item> keyword? </item>
+      <item> keywordize-keys </item>
+      <item> last </item>
+      <item> lazy-cat </item>
+      <item> lazy-seq </item>
+      <item> left </item>
+      <item> leftmost </item>
+      <item> lefts </item>
+      <item> let </item>
+      <item> letfn </item>
+      <item> line-seq </item>
+      <item> list </item>
+      <item> list* </item>
+      <item> list? </item>
+      <item> list-model </item>
+      <item> list-provider </item>
+      <item> load </item>
+      <item> loaded-libs </item>
+      <item> load-file </item>
+      <item> load-reader </item>
+      <item> load-script </item>
+      <item> load-string </item>
+      <item> locking </item>
+      <item> long </item>
+      <item> long-array </item>
+      <item> longs </item>
+      <item> loop </item>
+      <item> macroexpand </item>
+      <item> macroexpand-1 </item>
+      <item> macroexpand-all </item>
+      <item> main </item>
+      <item> make-array </item>
+      <item> make-hierarchy </item>
+      <item> make-node </item>
+      <item> map </item>
+      <item> map? </item>
+      <item> mapcat </item>
+      <item> map-invert </item>
+      <item> max </item>
+      <item> max-key </item>
+      <item> memfn </item>
+      <item> memoize </item>
+      <item> merge </item>
+      <item> merge-with </item>
+      <item> meta </item>
+      <item> methods </item>
+      <item> method-sig </item>
+      <item> min </item>
+      <item> min-key </item>
+      <item> mod </item>
+      <item> name </item>
+      <item> namespace </item>
+      <item> neg? </item>
+      <item> newline </item>
+      <item> next </item>
+      <item> nfirst </item>
+      <item> nil? </item>
+      <item> nnext </item>
+      <item> node </item>
+      <item> not </item>
+      <item> not= </item>
+      <item> not-any? </item>
+      <item> not-empty </item>
+      <item> not-every? </item>
+      <item> ns </item>
+      <item> ns-aliases </item>
+      <item> ns-imports </item>
+      <item> ns-interns </item>
+      <item> ns-map </item>
+      <item> ns-name </item>
+      <item> ns-publics </item>
+      <item> ns-refers </item>
+      <item> ns-resolve </item>
+      <item> ns-unalias </item>
+      <item> ns-unmap </item>
+      <item> nth </item>
+      <item> nthnext </item>
+      <item> num </item>
+      <item> number? </item>
+      <item> odd? </item>
+      <item> or </item>
+      <item> parents </item>
+      <item> partial </item>
+      <item> partition </item>
+      <item> path </item>
+      <item> pcalls </item>
+      <item> peek </item>
+      <item> persistent! </item>
+      <item> pmap </item>
+      <item> pop </item>
+      <item> pop! </item>
+      <item> pop-thread-bindings </item>
+      <item> pos? </item>
+      <item> postwalk </item>
+      <item> postwalk-demo </item>
+      <item> postwalk-replace </item>
+      <item> pr </item>
+      <item> prefer-method </item>
+      <item> prefers </item>
+      <item> prev </item>
+      <item> prewalk </item>
+      <item> prewalk-demo </item>
+      <item> prewalk-replace </item>
+      <item> primitives-classnames </item>
+      <item> print </item>
+      <item> print-cause-trace </item>
+      <item> print-ctor </item>
+      <item> print-doc </item>
+      <item> print-dup </item>
+      <item> printf </item>
+      <item> println </item>
+      <item> println-str </item>
+      <item> print-method </item>
+      <item> print-namespace-doc </item>
+      <item> print-simple </item>
+      <item> print-special-doc </item>
+      <item> print-stack-trace </item>
+      <item> print-str </item>
+      <item> print-throwable </item>
+      <item> print-trace-element </item>
+      <item> prn </item>
+      <item> prn-str </item>
+      <item> project </item>
+      <item> promise </item>
+      <item> proxy </item>
+      <item> proxy-call-with-super </item>
+      <item> proxy-mappings </item>
+      <item> proxy-name </item>
+      <item> proxy-super </item>
+      <item> pr-str </item>
+      <item> push-thread-bindings </item>
+      <item> pvalues </item>
+      <item> quot </item>
+      <item> rand </item>
+      <item> rand-int </item>
+      <item> range </item>
+      <item> ratio? </item>
+      <item> rational? </item>
+      <item> rationalize </item>
+      <item> read </item>
+      <item> read-line </item>
+      <item> read-string </item>
+      <item> recur </item>
+      <item> reduce </item>
+      <item> ref </item>
+      <item> refer </item>
+      <item> refer-clojure </item>
+      <item> ref-history-count </item>
+      <item> re-find </item>
+      <item> ref-max-history </item>
+      <item> ref-min-history </item>
+      <item> ref-set </item>
+      <item> re-groups </item>
+      <item> reify </item>
+      <item> release-pending-sends </item>
+      <item> rem </item>
+      <item> re-matcher </item>
+      <item> re-matches </item>
+      <item> remove </item>
+      <item> remove-method </item>
+      <item> remove-ns </item>
+      <item> remove-watcher </item>
+      <item> rename </item>
+      <item> rename-keys </item>
+      <item> re-pattern </item>
+      <item> repeat </item>
+      <item> repeatedly </item>
+      <item> repl </item>
+      <item> replace </item>
+      <item> repl-caught </item>
+      <item> repl-exception </item>
+      <item> replicate </item>
+      <item> repl-prompt </item>
+      <item> repl-read </item>
+      <item> report </item>
+      <item> require </item>
+      <item> re-seq </item>
+      <item> reset! </item>
+      <item> reset-meta! </item>
+      <item> resolve </item>
+      <item> rest </item>
+      <item> resultset-seq </item>
+      <item> reverse </item>
+      <item> reversible? </item>
+      <item> right </item>
+      <item> rightmost </item>
+      <item> rights </item>
+      <item> root </item>
+      <item> rseq </item>
+      <item> rsubseq </item>
+      <item> run-all-tests </item>
+      <item> run-tests </item>
+      <item> satisfies? </item>
+      <item> second </item>
+      <item> select </item>
+      <item> select-keys </item>
+      <item> send </item>
+      <item> send-off </item>
+      <item> seq </item>
+      <item> seq? </item>
+      <item> seque </item>
+      <item> sequence </item>
+      <item> sequential? </item>
+      <item> seq-zip </item>
+      <item> set </item>
+      <item> set? </item>
+      <item> set-test </item>
+      <item> set-validator! </item>
+      <item> short </item>
+      <item> short-array </item>
+      <item> shorts </item>
+      <item> shutdown-agents </item>
+      <item> skip-if-eol </item>
+      <item> skip-whitespace </item>
+      <item> slurp </item>
+      <item> some </item>
+      <item> sort </item>
+      <item> sort-by </item>
+      <item> sorted? </item>
+      <item> sorted-map </item>
+      <item> sorted-map-by </item>
+      <item> sorted-set </item>
+      <item> sorted-set-by </item>
+      <item> special-form-anchor </item>
+      <item> special-symbol? </item>
+      <item> split-at </item>
+      <item> split-with </item>
+      <item> str </item>
+      <item> stream? </item>
+      <item> string? </item>
+      <item> stringify-keys </item>
+      <item> struct </item>
+      <item> struct-map </item>
+      <item> subs </item>
+      <item> subseq </item>
+      <item> subvec </item>
+      <item> successful? </item>
+      <item> supers </item>
+      <item> swap! </item>
+      <item> symbol </item>
+      <item> symbol? </item>
+      <item> sync </item>
+      <item> syntax-symbol-anchor </item>
+      <item> take </item>
+      <item> take-last </item>
+      <item> take-nth </item>
+      <item> take-while </item>
+      <item> test </item>
+      <item> test-all-vars </item>
+      <item> testing </item>
+      <item> testing-contexts-str </item>
+      <item> testing-vars-str </item>
+      <item> test-ns </item>
+      <item> test-var </item>
+      <item> the-ns </item>
+      <item> throw </item>
+      <item> time </item>
+      <item> to-array </item>
+      <item> to-array-2d </item>
+      <item> trampoline </item>
+      <item> transient </item>
+      <item> tree-seq </item>
+      <item> true? </item>
+      <item> try </item>
+      <item> try-expr </item>
+      <item> type </item>
+      <item> unchecked-add </item>
+      <item> unchecked-dec </item>
+      <item> unchecked-divide </item>
+      <item> unchecked-inc </item>
+      <item> unchecked-multiply </item>
+      <item> unchecked-negate </item>
+      <item> unchecked-remainder </item>
+      <item> unchecked-subtract </item>
+      <item> underive </item>
+      <item> unimport </item>
+      <item> union </item>
+      <item> unquote </item>
+      <item> unquote-splicing </item>
+      <item> up </item>
+      <item> update-in </item>
+      <item> update-proxy </item>
+      <item> use </item>
+      <item> use-fixtures </item>
+      <item> val </item>
+      <item> vals </item>
+      <item> var? </item>
+      <item> var-get </item>
+      <item> var-set </item>
+      <item> vary-meta </item>
+      <item> vec </item>
+      <item> vector </item>
+      <item> vector? </item>
+      <item> walk </item>
+      <item> when </item>
+      <item> when-first </item>
+      <item> when-let </item>
+      <item> when-not </item>
+      <item> while </item>
+      <item> with-bindings </item>
+      <item> with-bindings* </item>
+      <item> with-in-str </item>
+      <item> with-loading-context </item>
+      <item> with-local-vars </item>
+      <item> with-meta </item>
+      <item> with-open </item>
+      <item> with-out-str </item>
+      <item> with-precision </item>
+      <item> with-test </item>
+      <item> with-test-out </item>
+      <item> xml-seq </item>
+      <item> zero? </item>
+    </list>
+    <list name="variables">
+      <item> *1 </item>
+      <item> *2 </item>
+      <item> *3 </item>
+      <item> *agent* </item>
+      <item> *allow-unresolved-vars* </item>
+      <item> *assert* </item>
+      <item> *clojure-version* </item>
+      <item> *command-line-args* </item>
+      <item> *compile-files* </item>
+      <item> *compile-path* </item>
+      <item> *current* </item>
+      <item> *e </item>
+      <item> *err* </item>
+      <item> *file* </item>
+      <item> *flush-on-newline* </item>
+      <item> *in* </item>
+      <item> *initial-report-counters* </item>
+      <item> *load-tests* </item>
+      <item> *macro-meta* </item>
+      <item> *math-context* </item>
+      <item> *ns* </item>
+      <item> *out* </item>
+      <item> *print-dup* </item>
+      <item> *print-length* </item>
+      <item> *print-level* </item>
+      <item> *print-meta* </item>
+      <item> *print-readably* </item>
+      <item> *read-eval* </item>
+      <item> *report-counters* </item>
+      <item> *sb* </item>
+      <item> *source-path* </item>
+      <item> *stack* </item>
+      <item> *stack-trace-depth* </item>
+      <item> *state* </item>
+      <item> *testing-contexts* </item>
+      <item> *testing-vars* </item>
+      <item> *test-out* </item>
+      <item> *use-context-classloader* </item>
+      <item> *warn-on-reflection* </item>
+    </list>
+    <contexts>
+      <context name="Level0" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="Brackets1" context="Level1" char="("/>
+        <Detect2Chars attribute="Brackets1" context="Level1" char="#" char1="("/>
+        <IncludeRules context="Default" />
+      </context>
+      <context name="Default" attribute="Normal" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="#stay" String=";.*$"/>
+        <Detect2Chars attribute="Comment" context="#stay" char="#" char1="_"/>
+        <RegExpr attribute="Modifier" context="#stay" String="[@~]\S+"/>
+        <RegExpr attribute="Modifier2" context="#stay" String="::?[a-zA-Z0-9\-]+"/>
+        <Detect2Chars attribute="Brackets" context="#stay" char="#" char1="{"/>
+        <Detect2Chars attribute="Brackets" context="#stay" char="^" char1="{"/>
+        <DetectChar attribute="BracketsCurly" context="#stay" char="{"/>
+        <DetectChar attribute="BracketsCurly" context="#stay" char="}"/>
+        <DetectChar attribute="BracketsSquare" context="#stay" char="["/>
+        <DetectChar attribute="BracketsSquare" context="#stay" char="]"/>
+        <Detect2Chars attribute="Variable" context="#stay" char="#" char1="'"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Variable" context="#stay" String="variables"/>
+        <keyword attribute="Definition" context="function_decl" String="definitions"/>
+        <RegExpr attribute="Char" context="#stay" String="\\."/>
+        <Detect2Chars attribute="String" context="String" char="#" char1="&quot;"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <Float attribute="Float" context="#stay"/>
+        <Int attribute="Decimal" context="#stay"/>
+        <DetectChar attribute="Brackets1" context="Level1" char="("/>
+      </context>
+      <context name="function_decl" attribute="Function" lineEndContext="#stay">
+        <RegExpr attribute="Function" context="#pop" String="\s*[A-Za-z0-9-+\&lt;\&gt;//\*]*\s*"/>
+      </context>
+      <context name="SpecialNumber" attribute="Normal" lineEndContext="#pop">
+        <Float attribute="Float" context="#pop"/>
+        <Int attribute="Decimal" context="#pop"/>
+        <HlCOct attribute="BaseN" context="#pop"/>
+        <HlCHex attribute="Float" context="#pop"/>
+      </context>
+      <context name="String" attribute="String" lineEndContext="#stay">
+        <RegExpr attribute="Char" context="#stay" String="#\\."/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context name="Level1" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="Brackets2" context="Level2" char="("/>
+        <Detect2Chars attribute="Brackets2" context="Level2" char="#" char1="("/>
+        <DetectChar attribute="Brackets1" context="#pop" char=")" />
+        <IncludeRules context="Default" />
+      </context>
+      <context name="Level2" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="Brackets3" context="Level3" char="("/>
+        <Detect2Chars attribute="Brackets3" context="Level3" char="#" char1="("/>
+        <DetectChar attribute="Brackets2" context="#pop" char=")" />
+        <IncludeRules context="Default" />
+      </context>
+      <context name="Level3" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="Brackets4" context="Level4" char="("/>
+        <Detect2Chars attribute="Brackets4" context="Level4" char="#" char1="("/>
+        <DetectChar attribute="Brackets3" context="#pop" char=")" />
+        <IncludeRules context="Default" />
+      </context>
+      <context name="Level4" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="Brackets5" context="Level5" char="("/>
+        <Detect2Chars attribute="Brackets5" context="Level5" char="#" char1="("/>
+        <DetectChar attribute="Brackets4" context="#pop" char=")" />
+        <IncludeRules context="Default" />
+      </context>
+      <context name="Level5" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="Brackets6" context="Level6" char="("/>
+        <Detect2Chars attribute="Brackets6" context="Level6" char="#" char1="("/>
+        <DetectChar attribute="Brackets5" context="#pop" char=")" />
+        <IncludeRules context="Default" />
+      </context>
+      <context name="Level6" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="Brackets1" context="Level1" char="("/>
+        <Detect2Chars attribute="Brackets1" context="Level1" char="#" char1="("/>
+        <DetectChar attribute="Brackets6" context="#pop" char=")" />
+        <IncludeRules context="Default" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal" defStyleNum="dsNormal"/>
+      <itemData name="Keyword" defStyleNum="dsKeyword"/>
+      <itemData name="Operator" defStyleNum="dsOperator"/>
+      <itemData name="Modifier" defStyleNum="dsAttribute"/>
+      <itemData name="Modifier2" defStyleNum="dsAttribute"/>
+      <itemData name="Variable" defStyleNum="dsVariable" />
+      <itemData name="Definition" defStyleNum="dsBuiltIn"/>
+      <itemData name="Data" defStyleNum="dsDataType"/>
+      <itemData name="Decimal" defStyleNum="dsDecVal"/>
+      <itemData name="BaseN" defStyleNum="dsBaseN"/>
+      <itemData name="Float" defStyleNum="dsFloat"/>
+      <itemData name="Function" defStyleNum="dsFunction"/>
+      <itemData name="Char" defStyleNum="dsChar"/>
+      <itemData name="String" defStyleNum="dsString"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
+      <itemData name="Brackets" defStyleNum="dsNormal" color="#0000ff" selColor="#00ff00" bold="1" italic="0"/>
+      <itemData name="BracketsSquare" defStyleNum="dsNormal" color="#3333ff" selColor="#3333aa"/>
+      <itemData name="BracketsCurly" defStyleNum="dsNormal" color="#206620" selColor="#219921"/>
+      <itemData name="Brackets1"    defStyleNum="dsNormal" color="#ff0000" selColor="#ffaa00" bold="0" italic="0"/>
+      <itemData name="Brackets2"    defStyleNum="dsNormal" color="#ff8800" selColor="#ffff00" bold="0" italic="0"/>
+      <itemData name="Brackets3"    defStyleNum="dsNormal" color="#888800" selColor="#888888" bold="0" italic="0"/>
+      <itemData name="Brackets4"    defStyleNum="dsNormal" color="#008800" selColor="#000000" bold="0" italic="0"/>
+      <itemData name="Brackets5"    defStyleNum="dsNormal" color="#000088" selColor="#000000" bold="0" italic="0"/>
+      <itemData name="Brackets6"    defStyleNum="dsNormal" color="#880088" selColor="#000000" bold="0" italic="0"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="1" weakDeliminator="-+*?!&lt;&gt;=/:#\"/>
+    <comments>
+      <comment name="singleLine" start=";;"/>
+    </comments>
+  </general>
+</language>
diff --git a/xml/cmake.xml b/xml/cmake.xml
new file mode 100644
--- /dev/null
+++ b/xml/cmake.xml
@@ -0,0 +1,1301 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  This file is part of KDE's kate project.
+
+  Copyright 2004 Alexander Neundorf (neundorf@kde.org)
+  Copyright 2005 Dominik Haumann (dhdev@gmx.de)
+  Copyright 2007,2008,2013,2014 Matthew Woehlke (mw_triad@users.sourceforge.net)
+  Copyright 2013,2014,2015 Alex Turbov (i.zaufi@gmail.com)
+
+ **********************************************************************
+ * This library is free software; you can redistribute it and/or      *
+ * 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  *
+ * Lesser General Public License for more details.                    *
+ *                                                                    *
+ * 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,   *
+ * Boston, MA  02110-1301, USA.                                       *
+ **********************************************************************
+ -->
+<!-- generated for "cmake version 2.8.12.1, 3.0.2, 3.1.2 and 3.3.0" -->
+<language
+    name="CMake"
+    version="3"
+    kateversion="5.0"
+    section="Other"
+    extensions="CMakeLists.txt;*.cmake;*.cmake.in"
+    style="CMake"
+    mimetype="text/x-cmake"
+    author="Alexander Neundorf (neundorf@kde.org)"
+    license="LGPLv2+"
+  >
+  <highlighting>
+
+    <!-- ATTENTION Do not change the list name! Or change a generation script accordingly -->
+    <list name = "commands">
+      <!-- generated list -->
+      <item> add_compile_options </item>
+      <item> add_custom_command </item>
+      <item> add_custom_target </item>
+      <item> add_definitions </item>
+      <item> add_dependencies </item>
+      <item> add_executable </item>
+      <item> add_library </item>
+      <item> add_subdirectory </item>
+      <item> add_test </item>
+      <item> aux_source_directory </item>
+      <item> break </item>
+      <item> build_command </item>
+      <item> build_name </item>
+      <item> cmake_host_system_information </item>
+      <item> cmake_minimum_required </item>
+      <item> cmake_policy </item>
+      <item> configure_file </item>
+      <item> continue </item>
+      <item> create_test_sourcelist </item>
+      <item> ctest_build </item>
+      <item> ctest_configure </item>
+      <item> ctest_coverage </item>
+      <item> ctest_empty_binary_directory </item>
+      <item> ctest_memcheck </item>
+      <item> ctest_read_custom_files </item>
+      <item> ctest_run_script </item>
+      <item> ctest_sleep </item>
+      <item> ctest_start </item>
+      <item> ctest_submit </item>
+      <item> ctest_test </item>
+      <item> ctest_update </item>
+      <item> ctest_upload </item>
+      <item> define_property </item>
+      <item> else </item>
+      <item> elseif </item>
+      <item> enable_language </item>
+      <item> enable_testing </item>
+      <item> endforeach </item>
+      <item> endfunction </item>
+      <item> endif </item>
+      <item> endmacro </item>
+      <item> endwhile </item>
+      <item> exec_program </item>
+      <item> execute_process </item>
+      <item> export </item>
+      <item> export_library_dependencies </item>
+      <item> file </item>
+      <item> find_file </item>
+      <item> find_library </item>
+      <item> find_package </item>
+      <item> find_path </item>
+      <item> find_program </item>
+      <item> fltk_wrap_ui </item>
+      <item> foreach </item>
+      <item> function </item>
+      <item> get_cmake_property </item>
+      <item> get_directory_property </item>
+      <item> get_filename_component </item>
+      <item> get_property </item>
+      <item> get_source_file_property </item>
+      <item> get_target_property </item>
+      <item> get_test_property </item>
+      <item> if </item>
+      <item> include </item>
+      <item> include_directories </item>
+      <item> include_external_msproject </item>
+      <item> include_regular_expression </item>
+      <item> install </item>
+      <item> install_files </item>
+      <item> install_programs </item>
+      <item> install_targets </item>
+      <item> link_directories </item>
+      <item> link_libraries </item>
+      <item> list </item>
+      <item> load_cache </item>
+      <item> load_command </item>
+      <item> macro </item>
+      <item> make_directory </item>
+      <item> mark_as_advanced </item>
+      <item> math </item>
+      <item> message </item>
+      <item> option </item>
+      <item> output_required_files </item>
+      <item> project </item>
+      <item> qt_wrap_cpp </item>
+      <item> qt_wrap_ui </item>
+      <item> remove </item>
+      <item> remove_definitions </item>
+      <item> return </item>
+      <item> separate_arguments </item>
+      <item> set </item>
+      <item> set_directory_properties </item>
+      <item> set_property </item>
+      <item> set_source_files_properties </item>
+      <item> set_target_properties </item>
+      <item> set_tests_properties </item>
+      <item> site_name </item>
+      <item> source_group </item>
+      <item> string </item>
+      <item> subdir_depends </item>
+      <item> subdirs </item>
+      <item> target_compile_definitions </item>
+      <item> target_compile_features </item>
+      <item> target_compile_options </item>
+      <item> target_include_directories </item>
+      <item> target_link_libraries </item>
+      <item> target_sources </item>
+      <item> try_compile </item>
+      <item> try_run </item>
+      <item> unset </item>
+      <item> use_mangled_mesa </item>
+      <item> utility_source </item>
+      <item> variable_requires </item>
+      <item> variable_watch </item>
+      <item> while </item>
+      <item> write_file </item>
+    </list>
+
+    <list name="itkvtk_commands">
+      <item> itk_wrap_tcl </item>
+      <item> vtk_make_instantiator </item>
+      <item> vtk_wrap_java </item>
+      <item> vtk_wrap_python </item>
+      <item> vtk_wrap_tcl </item>
+    </list>
+
+    <!-- ATTENTION Do not change the list name! Or change a generation script accordingly -->
+    <list name="special_args">
+      <!-- generated list -->
+      <item> AFTER </item>
+      <item> ALIAS </item>
+      <item> ALL </item>
+      <item> ALPHABET </item>
+      <item> AND </item>
+      <item> APPEND </item>
+      <item> APPENDNUMBER_ERRORS </item>
+      <item> APPEND_STRING </item>
+      <item> ARCHIVE </item>
+      <item> ARGS </item>
+      <item> ASCII </item>
+      <item> AUTHOR_WARNING </item>
+      <item> BEFORE </item>
+      <item> BRIEF_DOCS </item>
+      <item> BUILD </item>
+      <item> BUNDLE </item>
+      <item> BYPRODUCTS </item>
+      <item> CACHE </item>
+      <item> CACHED_VARIABLE </item>
+      <item> CDASH_UPLOAD </item>
+      <item> CDASH_UPLOAD_TYPE </item>
+      <item> CLEAR </item>
+      <item> CMAKE_FIND_ROOT_PATH_BOTH </item>
+      <item> CMAKE_FLAGS </item>
+      <item> CODE </item>
+      <item> COMMAND </item>
+      <item> COMMAND_NAME </item>
+      <item> COMMENT </item>
+      <item> COMPARE </item>
+      <item> COMPILE_DEFINITIONS </item>
+      <item> COMPILE_OUTPUT_VARIABLE </item>
+      <item> COMPILE_RESULT_VAR </item>
+      <item> COMPONENT </item>
+      <item> COMPONENTS </item>
+      <item> CONCAT </item>
+      <item> CONDITION </item>
+      <item> CONFIG </item>
+      <item> CONFIGS </item>
+      <item> CONFIGURATION </item>
+      <item> CONFIGURATIONS </item>
+      <item> CONFIGURE </item>
+      <item> CONTENT </item>
+      <item> COPY </item>
+      <item> COPYONLY </item>
+      <item> COPY_FILE </item>
+      <item> COPY_FILE_ERROR </item>
+      <item> CRLF </item>
+      <item> DEFINED </item>
+      <item> DEFINITION </item>
+      <item> DEPENDS </item>
+      <item> DESTINATION </item>
+      <item> DIRECTORY </item>
+      <item> DIRECTORY_PERMISSIONS </item>
+      <item> DOC </item>
+      <item> DOS </item>
+      <item> DOWNLOAD </item>
+      <item> ENV </item>
+      <item> END </item>
+      <item> EQUAL </item>
+      <item> ERROR_FILE </item>
+      <item> ERROR_QUIET </item>
+      <item> ERROR_STRIP_TRAILING_WHITESPACE </item>
+      <item> ERROR_VARIABLE </item>
+      <item> ESCAPE_QUOTES </item>
+      <item> EXACT </item>
+      <item> EXCLUDE </item>
+      <item> EXCLUDE_FROM_ALL </item>
+      <item> EXCLUDE_LABEL </item>
+      <item> EXISTS </item>
+      <item> EXPECTED_HASH </item>
+      <item> EXPECTED_MD5 </item>
+      <item> EXPORT </item>
+      <item> EXPORT_LINK_INTERFACE_LIBRARIES </item>
+      <item> EXPR </item>
+      <item> EXTRA_INCLUDE </item>
+      <item> FATAL_ERROR </item>
+      <item> FILE </item>
+      <item> FILES </item>
+      <item> FILES_MATCHING </item>
+      <item> FILE_PERMISSIONS </item>
+      <item> FIND </item>
+      <item> FLAGS </item>
+      <item> FOLLOW_SYMLINKS </item>
+      <item> FORCE </item>
+      <item> FRAMEWORK </item>
+      <item> FULL_DOCS </item>
+      <item> FUNCTION </item>
+      <item> GENERATE </item>
+      <item> GENEX_STRIP </item>
+      <item> GET </item>
+      <item> GLOB </item>
+      <item> GLOBAL </item>
+      <item> GLOB_RECURSE </item>
+      <item> GREATER </item>
+      <item> GROUP_EXECUTE </item>
+      <item> GROUP_READ </item>
+      <item> GUARD </item>
+      <item> GUID </item>
+      <item> HEX </item>
+      <item> HINTS </item>
+      <item> IMPLICIT_DEPENDS </item>
+      <item> IMPORTED </item>
+      <item> IN </item>
+      <item> INACTIVITY_TIMEOUT </item>
+      <item> INCLUDE </item>
+      <item> INCLUDES </item>
+      <item> INCLUDE_INTERNALS </item>
+      <item> INCLUDE_LABEL </item>
+      <item> INHERITED </item>
+      <item> INPUT </item>
+      <item> INPUT_FILE </item>
+      <item> INSERT </item>
+      <item> INSTALL </item>
+      <item> INTERFACE </item>
+      <item> IS_ABSOLUTE </item>
+      <item> IS_DIRECTORY </item>
+      <item> IS_NEWER_THAN </item>
+      <item> IS_SYMLINK </item>
+      <item> ITEMS </item>
+      <item> LABELS </item>
+      <item> LANGUAGES </item>
+      <item> LENGTH </item>
+      <item> LENGTH_MAXIMUM </item>
+      <item> LENGTH_MINIMUM </item>
+      <item> LESS </item>
+      <item> LF </item>
+      <item> LIBRARY </item>
+      <item> LIMIT </item>
+      <item> LIMIT_COUNT </item>
+      <item> LIMIT_INPUT </item>
+      <item> LIMIT_OUTPUT </item>
+      <item> LINK_INTERFACE_LIBRARIES </item>
+      <item> LINK_LIBRARIES </item>
+      <item> LINK_PRIVATE </item>
+      <item> LINK_PUBLIC </item>
+      <item> LISTS </item>
+      <item> LIST_DIRECTORIES </item>
+      <item> LOCK </item>
+      <item> LOG </item>
+      <item> MACOSX_BUNDLE </item>
+      <item> MAIN_DEPENDENCY </item>
+      <item> MAKE_C_IDENTIFIER </item>
+      <item> MAKE_DIRECTORY </item>
+      <item> MATCH </item>
+      <item> MATCHALL </item>
+      <item> MATCHES </item>
+      <item> MD5 </item>
+      <item> MESSAGE_NEVER </item>
+      <item> MODULE </item>
+      <item> NAME </item>
+      <item> NAMELINK_ONLY </item>
+      <item> NAMELINK_SKIP </item>
+      <item> NAMES </item>
+      <item> NAMESPACE </item>
+      <item> NAMES_PER_DIR </item>
+      <item> NEW </item>
+      <item> NEWLINE_CONSUME </item>
+      <item> NEWLINE_STYLE </item>
+      <item> NEW_PROCESS </item>
+      <item> NOT </item>
+      <item> NOTEQUAL </item>
+      <item> NO_CMAKE_BUILDS_PATH </item>
+      <item> NO_CMAKE_ENVIRONMENT_PATH </item>
+      <item> NO_CMAKE_FIND_ROOT_PATH </item>
+      <item> NO_CMAKE_PACKAGE_REGISTRY </item>
+      <item> NO_CMAKE_PATH </item>
+      <item> NO_CMAKE_SYSTEM_PACKAGE_REGISTRY </item>
+      <item> NO_CMAKE_SYSTEM_PATH </item>
+      <item> NO_DEFAULT_PATH </item>
+      <item> NO_HEX_CONVERSION </item>
+      <item> NO_MODULE </item>
+      <item> NO_POLICY_SCOPE </item>
+      <item> NO_SOURCE_PERMISSIONS </item>
+      <item> NO_SYSTEM_ENVIRONMENT_PATH </item>
+      <item> NUMBER_ERRORS </item>
+      <item> NUMBER_WARNINGS </item>
+      <item> OBJECT </item>
+      <item> OFF </item>
+      <item> OFFSET </item>
+      <item> OLD </item>
+      <item> ON </item>
+      <item> ONLY_CMAKE_FIND_ROOT_PATH </item>
+      <item> OPTIONAL </item>
+      <item> OPTIONAL_COMPONENTS </item>
+      <item> OPTIONS </item>
+      <item> OR </item>
+      <item> OUTPUT </item>
+      <item> OUTPUT_DIRECTORY </item>
+      <item> OUTPUT_FILE </item>
+      <item> OUTPUT_QUIET </item>
+      <item> OUTPUT_STRIP_TRAILING_WHITESPACE </item>
+      <item> OUTPUT_VARIABLE </item>
+      <item> OWNER_EXECUTE </item>
+      <item> OWNER_READ </item>
+      <item> OWNER_WRITE </item>
+      <item> PACKAGE </item>
+      <item> PARALLEL_LEVEL </item>
+      <item> PARENT_SCOPE </item>
+      <item> PARTS </item>
+      <item> PATHS </item>
+      <item> PATH_SUFFIXES </item>
+      <item> PATH_TO_MESA </item>
+      <item> PATTERN </item>
+      <item> PERMISSIONS </item>
+      <item> PLATFORM </item>
+      <item> POLICY </item>
+      <item> POP </item>
+      <item> POST_BUILD </item>
+      <item> PREORDER </item>
+      <item> PRE_BUILD </item>
+      <item> PRE_LINK </item>
+      <item> PRIVATE </item>
+      <item> PRIVATE_HEADER </item>
+      <item> PROCESS </item>
+      <item> PROGRAM </item>
+      <item> PROGRAMS </item>
+      <item> PROGRAM_ARGS </item>
+      <item> PROJECT_NAME </item>
+      <item> PROPERTIES </item>
+      <item> PROPERTY </item>
+      <item> PUBLIC </item>
+      <item> PUBLIC_HEADER </item>
+      <item> PUSH </item>
+      <item> QUERY </item>
+      <item> QUIET </item>
+      <item> RANDOM </item>
+      <item> RANDOM_SEED </item>
+      <item> RANGE </item>
+      <item> READ </item>
+      <item> READ_WITH_PREFIX </item>
+      <item> REGEX </item>
+      <item> REGULAR_EXPRESSION </item>
+      <item> RELATIVE </item>
+      <item> RELATIVE_PATH </item>
+      <item> RELEASE </item>
+      <item> REMOVE </item>
+      <item> REMOVE_AT </item>
+      <item> REMOVE_DUPLICATES </item>
+      <item> REMOVE_ITEM </item>
+      <item> REMOVE_RECURSE </item>
+      <item> RENAME </item>
+      <item> REPLACE </item>
+      <item> REQUIRED </item>
+      <item> REQUIRED_VARIABLE1 </item>
+      <item> REQUIRED_VARIABLE2 </item>
+      <item> RESOURCE </item>
+      <item> RESULT </item>
+      <item> RESULT_VAR </item>
+      <item> RESULT_VARIABLE </item>
+      <item> RETRY_COUNT </item>
+      <item> RETRY_DELAY </item>
+      <item> RETURN_VALUE </item>
+      <item> REVERSE </item>
+      <item> RUNTIME </item>
+      <item> RUNTIME_DIRECTORY </item>
+      <item> RUN_OUTPUT_VARIABLE </item>
+      <item> RUN_RESULT_VAR </item>
+      <item> SCHEDULE_RANDOM </item>
+      <item> SCRIPT </item>
+      <item> SEND_ERROR </item>
+      <item> SET </item>
+      <item> SHA1 </item>
+      <item> SHA224 </item>
+      <item> SHA256 </item>
+      <item> SHA384 </item>
+      <item> SHA512 </item>
+      <item> SHARED </item>
+      <item> SHOW_PROGRESS </item>
+      <item> SORT </item>
+      <item> SOURCE </item>
+      <item> SOURCES </item>
+      <item> START </item>
+      <item> STATIC </item>
+      <item> STATUS </item>
+      <item> STREQUAL </item>
+      <item> STRGREATER </item>
+      <item> STOP_TIME </item>
+      <item> STRIDE </item>
+      <item> STRINGS </item>
+      <item> STRIP </item>
+      <item> STRLESS </item>
+      <item> SUBSTRING </item>
+      <item> SYSTEM </item>
+      <item> TARGET </item>
+      <item> TARGETS </item>
+      <item> TEST </item>
+      <item> TEST_VARIABLE </item>
+      <item> TIMEOUT </item>
+      <item> TIMESTAMP </item>
+      <item> TLS_CAINFO </item>
+      <item> TLS_VERIFY </item>
+      <item> TOLOWER </item>
+      <item> TOUPPER </item>
+      <item> TO_CMAKE_PATH </item>
+      <item> TO_NATIVE_PATH </item>
+      <item> TRACK </item>
+      <item> TYPE </item>
+      <item> UNIX </item>
+      <item> UNIX_COMMAND </item>
+      <item> UNKNOWN </item>
+      <item> UPLOAD </item>
+      <item> UPPER </item>
+      <item> USES_TERMINAL </item>
+      <item> USE_SOURCE_PERMISSIONS </item>
+      <item> UTC </item>
+      <item> UUID </item>
+      <item> VALUE </item>
+      <item> VARIABLE </item>
+      <item> VERBATIM </item>
+      <item> VERSION </item>
+      <item> VERSION_EQUAL </item>
+      <item> VERSION_GREATER </item>
+      <item> VERSION_LESS </item>
+      <item> WARNING </item>
+      <item> WIN32 </item>
+      <item> WINDOWS_COMMAND </item>
+      <item> WORKING_DIRECTORY </item>
+      <item> WRITE </item>
+    </list>
+
+    <!-- these are "special" and don't show up in the generated lists -->
+    <list name="extra_special_args">
+      <!-- get_filename_component() has <COMP> placeholder for the following special args -->
+      <item> PATH </item>
+      <item> NAME </item>
+      <item> EXT </item>
+      <item> NAME_WE </item>
+      <item> ABSOLUTE </item>
+      <item> REALPATH </item>
+      <!-- set() has <type> placeholder for the following special args -->
+      <item> FILEPATH </item>
+      <!-- PATH already present above -->
+      <item> STRING </item>
+      <item> BOOL </item>
+      <item> INTERNAL </item>
+      <!-- key values to the QUERY parameter of cmake_host_system_information() -->
+      <item> NUMBER_OF_LOGICAL_CORES </item>
+      <item> NUMBER_OF_PHYSICAL_CORES </item>
+      <item> HOSTNAME </item>
+      <item> FQDN </item>
+      <item> TOTAL_VIRTUAL_MEMORY </item>
+      <item> AVAILABLE_VIRTUAL_MEMORY </item>
+      <item> TOTAL_PHYSICAL_MEMORY </item>
+      <item> AVAILABLE_PHYSICAL_MEMORY </item>
+      <!-- Since CMake 3.3 -->
+      <item> IN_LIST </item>
+    </list>
+
+    <!-- ATTENTION Do not change the list name! Or change a generation script accordingly -->
+    <list name="properties">
+      <!-- generated list -->
+      <item> ABSTRACT </item>
+      <item> ADDITIONAL_MAKE_CLEAN_FILES </item>
+      <item> ADVANCED </item>
+      <item> ALIASED_TARGET </item>
+      <item> ALLOW_DUPLICATE_CUSTOM_TARGETS </item>
+      <item> ANDROID_API </item>
+      <item> ANDROID_API_MIN </item>
+      <item> ANDROID_GUI </item>
+      <item> ARCHIVE_OUTPUT_DIRECTORY </item>
+      <item> ARCHIVE_OUTPUT_NAME </item>
+      <item> ATTACHED_FILES </item>
+      <item> ATTACHED_FILES_ON_FAIL </item>
+      <item> AUTOGEN_TARGETS_FOLDER </item>
+      <item> AUTOGEN_TARGET_DEPENDS </item>
+      <item> AUTOMOC </item>
+      <item> AUTOMOC_MOC_OPTIONS </item>
+      <item> AUTOMOC_TARGETS_FOLDER </item>
+      <item> AUTORCC </item>
+      <item> AUTORCC_OPTIONS </item>
+      <item> AUTOUIC </item>
+      <item> AUTOUIC_OPTIONS </item>
+      <item> BUILD_WITH_INSTALL_RPATH </item>
+      <item> BUNDLE </item>
+      <item> BUNDLE_EXTENSION </item>
+      <item> CACHE_VARIABLES </item>
+      <item> CLEAN_NO_CUSTOM </item>
+      <item> CMAKE_CONFIGURE_DEPENDS </item>
+      <item> CMAKE_CXX_KNOWN_FEATURES </item>
+      <item> CMAKE_C_KNOWN_FEATURES </item>
+      <item> COMPATIBLE_INTERFACE_BOOL </item>
+      <item> COMPATIBLE_INTERFACE_NUMBER_MAX </item>
+      <item> COMPATIBLE_INTERFACE_NUMBER_MIN </item>
+      <item> COMPATIBLE_INTERFACE_STRING </item>
+      <item> COMPILE_DEFINITIONS </item>
+      <item> COMPILE_FEATURES </item>
+      <item> COMPILE_FLAGS </item>
+      <item> COMPILE_OPTIONS </item>
+      <item> COMPILE_PDB_NAME </item>
+      <item> COMPILE_PDB_OUTPUT_DIRECTORY </item>
+      <item> COST </item>
+      <item> CPACK_DESKTOP_SHORTCUTS </item>
+      <item> CPACK_NEVER_OVERWRITE </item>
+      <item> CPACK_PERMANENT </item>
+      <item> CPACK_STARTUP_SHORTCUTS </item>
+      <item> CPACK_START_MENU_SHORTCUTS </item>
+      <item> CPACK_WIX_ACL </item>
+      <item> CROSSCOMPILING_EMULATOR </item>
+      <item> CXX_EXTENSIONS </item>
+      <item> CXX_STANDARD </item>
+      <item> CXX_STANDARD_REQUIRED </item>
+      <item> C_EXTENSIONS </item>
+      <item> C_STANDARD </item>
+      <item> C_STANDARD_REQUIRED </item>
+      <item> DEBUG_CONFIGURATIONS </item>
+      <item> DEBUG_POSTFIX </item>
+      <item> DEFINE_SYMBOL </item>
+      <item> DEFINITIONS </item>
+      <item> DEPENDS </item>
+      <item> DISABLED_FEATURES </item>
+      <item> ECLIPSE_EXTRA_NATURES </item>
+      <item> ENABLED_FEATURES </item>
+      <item> ENABLED_LANGUAGES </item>
+      <item> ENABLE_EXPORTS </item>
+      <item> ENVIRONMENT </item>
+      <item> EXCLUDE_FROM_ALL </item>
+      <item> EXCLUDE_FROM_DEFAULT_BUILD </item>
+      <item> EXPORT_NAME </item>
+      <item> EXTERNAL_OBJECT </item>
+      <item> EchoString </item>
+      <item> FAIL_REGULAR_EXPRESSION </item>
+      <item> FIND_LIBRARY_USE_LIB64_PATHS </item>
+      <item> FIND_LIBRARY_USE_OPENBSD_VERSIONING </item>
+      <item> FOLDER </item>
+      <item> FRAMEWORK </item>
+      <item> Fortran_FORMAT </item>
+      <item> Fortran_MODULE_DIRECTORY </item>
+      <item> GENERATED </item>
+      <item> GENERATOR_FILE_NAME </item>
+      <item> GLOBAL_DEPENDS_DEBUG_MODE </item>
+      <item> GLOBAL_DEPENDS_NO_CYCLES </item>
+      <item> GNUtoMS </item>
+      <item> HAS_CXX </item>
+      <item> HEADER_FILE_ONLY </item>
+      <item> HELPSTRING </item>
+      <item> IMPLICIT_DEPENDS_INCLUDE_TRANSFORM </item>
+      <item> IMPORTED </item>
+      <item> IMPORTED_CONFIGURATIONS </item>
+      <item> IMPORTED_IMPLIB </item>
+      <item> IMPORTED_LINK_DEPENDENT_LIBRARIES </item>
+      <item> IMPORTED_LINK_INTERFACE_LANGUAGES </item>
+      <item> IMPORTED_LINK_INTERFACE_LIBRARIES </item>
+      <item> IMPORTED_LINK_INTERFACE_MULTIPLICITY </item>
+      <item> IMPORTED_LOCATION </item>
+      <item> IMPORTED_NO_SONAME </item>
+      <item> IMPORTED_SONAME </item>
+      <item> IMPORT_PREFIX </item>
+      <item> IMPORT_SUFFIX </item>
+      <item> INCLUDE_DIRECTORIES </item>
+      <item> INCLUDE_REGULAR_EXPRESSION </item>
+      <item> INSTALL_NAME_DIR </item>
+      <item> INSTALL_RPATH </item>
+      <item> INSTALL_RPATH_USE_LINK_PATH </item>
+      <item> INTERFACE_AUTOUIC_OPTIONS </item>
+      <item> INTERFACE_COMPILE_DEFINITIONS </item>
+      <item> INTERFACE_COMPILE_FEATURES </item>
+      <item> INTERFACE_COMPILE_OPTIONS </item>
+      <item> INTERFACE_INCLUDE_DIRECTORIES </item>
+      <item> INTERFACE_LINK_LIBRARIES </item>
+      <item> INTERFACE_POSITION_INDEPENDENT_CODE </item>
+      <item> INTERFACE_SOURCES </item>
+      <item> INTERFACE_SYSTEM_INCLUDE_DIRECTORIES </item>
+      <item> INTERPROCEDURAL_OPTIMIZATION </item>
+      <item> IN_TRY_COMPILE </item>
+      <item> JOB_POOLS </item>
+      <item> JOB_POOL_COMPILE </item>
+      <item> JOB_POOL_LINK </item>
+      <item> KEEP_EXTENSION </item>
+      <item> LABELS </item>
+      <item> LANGUAGE </item>
+      <item> LIBRARY_OUTPUT_DIRECTORY </item>
+      <item> LIBRARY_OUTPUT_NAME </item>
+      <item> LINKER_LANGUAGE </item>
+      <item> LINK_DEPENDS </item>
+      <item> LINK_DEPENDS_NO_SHARED </item>
+      <item> LINK_DIRECTORIES </item>
+      <item> LINK_FLAGS </item>
+      <item> LINK_INTERFACE_LIBRARIES </item>
+      <item> LINK_INTERFACE_MULTIPLICITY </item>
+      <item> LINK_LIBRARIES </item>
+      <item> LINK_SEARCH_END_STATIC </item>
+      <item> LINK_SEARCH_START_STATIC </item>
+      <item> LISTFILE_STACK </item>
+      <item> LOCATION </item>
+      <item> MACOSX_BUNDLE </item>
+      <item> MACOSX_BUNDLE_INFO_PLIST </item>
+      <item> MACOSX_FRAMEWORK_INFO_PLIST </item>
+      <item> MACOSX_PACKAGE_LOCATION </item>
+      <item> MACOSX_RPATH </item>
+      <item> MACROS </item>
+      <item> MEASUREMENT </item>
+      <item> MODIFIED </item>
+      <item> NAME </item>
+      <item> NO_SONAME </item>
+      <item> NO_SYSTEM_FROM_IMPORTED </item>
+      <item> OBJECT_DEPENDS </item>
+      <item> OBJECT_OUTPUTS </item>
+      <item> OSX_ARCHITECTURES </item>
+      <item> OUTPUT_NAME </item>
+      <item> PACKAGES_FOUND </item>
+      <item> PACKAGES_NOT_FOUND </item>
+      <item> PARENT_DIRECTORY </item>
+      <item> PASS_REGULAR_EXPRESSION </item>
+      <item> PDB_NAME </item>
+      <item> PDB_OUTPUT_DIRECTORY </item>
+      <item> POSITION_INDEPENDENT_CODE </item>
+      <item> POST_INSTALL_SCRIPT </item>
+      <item> PREDEFINED_TARGETS_FOLDER </item>
+      <item> PREFIX </item>
+      <item> PRE_INSTALL_SCRIPT </item>
+      <item> PRIVATE_HEADER </item>
+      <item> PROCESSORS </item>
+      <item> PROJECT_LABEL </item>
+      <item> PUBLIC_HEADER </item>
+      <item> REPORT_UNDEFINED_PROPERTIES </item>
+      <item> REQUIRED_FILES </item>
+      <item> RESOURCE </item>
+      <item> RESOURCE_LOCK </item>
+      <item> RULE_LAUNCH_COMPILE </item>
+      <item> RULE_LAUNCH_CUSTOM </item>
+      <item> RULE_LAUNCH_LINK </item>
+      <item> RULE_MESSAGES </item>
+      <item> RUNTIME_OUTPUT_DIRECTORY </item>
+      <item> RUNTIME_OUTPUT_NAME </item>
+      <item> RUN_SERIAL </item>
+      <item> SKIP_BUILD_RPATH </item>
+      <item> SKIP_RETURN_CODE </item>
+      <item> SOURCES </item>
+      <item> SOVERSION </item>
+      <item> STATIC_LIBRARY_FLAGS </item>
+      <item> STRINGS </item>
+      <item> SUFFIX </item>
+      <item> SYMBOLIC </item>
+      <item> TARGET_ARCHIVES_MAY_BE_SHARED_LIBS </item>
+      <item> TARGET_SUPPORTS_SHARED_LIBS </item>
+      <item> TEST_INCLUDE_FILE </item>
+      <item> TIMEOUT </item>
+      <item> TYPE </item>
+      <item> USE_FOLDERS </item>
+      <item> VALUE </item>
+      <item> VARIABLES </item>
+      <item> VERSION </item>
+      <item> VISIBILITY_INLINES_HIDDEN </item>
+      <item> VS_DEPLOYMENT_CONTENT </item>
+      <item> VS_DEPLOYMENT_LOCATION </item>
+      <item> VS_DOTNET_REFERENCES </item>
+      <item> VS_DOTNET_TARGET_FRAMEWORK_VERSION </item>
+      <item> VS_GLOBAL_KEYWORD </item>
+      <item> VS_GLOBAL_PROJECT_TYPES </item>
+      <item> VS_GLOBAL_ROOTNAMESPACE </item>
+      <item> VS_KEYWORD </item>
+      <item> VS_SCC_AUXPATH </item>
+      <item> VS_SCC_LOCALPATH </item>
+      <item> VS_SCC_PROJECTNAME </item>
+      <item> VS_SCC_PROVIDER </item>
+      <item> VS_SHADER_ENTRYPOINT </item>
+      <item> VS_SHADER_FLAGS </item>
+      <item> VS_SHADER_MODEL </item>
+      <item> VS_SHADER_TYPE </item>
+      <item> VS_WINRT_COMPONENT </item>
+      <item> VS_WINRT_EXTENSIONS </item>
+      <item> VS_WINRT_REFERENCES </item>
+      <item> VS_XAML_TYPE </item>
+      <item> WILL_FAIL </item>
+      <item> WIN32_EXECUTABLE </item>
+      <item> WORKING_DIRECTORY </item>
+      <item> WRAP_EXCLUDE </item>
+      <item> XCODE_EXPLICIT_FILE_TYPE </item>
+      <item> XCODE_LAST_KNOWN_FILE_TYPE </item>
+      <item> XCTEST </item>
+    </list>
+
+    <!-- these are "special" and don't show up in the generated lists -->
+    <list name="extra_properties">
+      <item> COMMANDS </item> <!-- WARNING: this one looks like a cmake bug, watch for it to migrate to the generated list! -->
+      <item> DEFINITION </item>
+    </list>
+
+    <!-- ATTENTION Do not change the list name! Or change a generation script accordingly -->
+    <list name="cmake_vars">
+      <!-- generated list -->
+      <item> APPLE </item>
+      <item> BORLAND </item>
+      <item> BUILD_SHARED_LIBS </item>
+      <item> CMAKE_ABSOLUTE_DESTINATION_FILES </item>
+      <item> CMAKE_ANDROID_API </item>
+      <item> CMAKE_ANDROID_API_MIN </item>
+      <item> CMAKE_ANDROID_GUI </item>
+      <item> CMAKE_APPBUNDLE_PATH </item>
+      <item> CMAKE_AR </item>
+      <item> CMAKE_ARCHIVE_OUTPUT_DIRECTORY </item>
+      <item> CMAKE_ARGC </item>
+      <item> CMAKE_ARGV0 </item>
+      <item> CMAKE_AUTOMOC </item>
+      <item> CMAKE_AUTOMOC_MOC_OPTIONS </item>
+      <item> CMAKE_AUTOMOC_RELAXED_MODE </item>
+      <item> CMAKE_AUTORCC </item>
+      <item> CMAKE_AUTORCC_OPTIONS </item>
+      <item> CMAKE_AUTOUIC </item>
+      <item> CMAKE_AUTOUIC_OPTIONS </item>
+      <item> CMAKE_BACKWARDS_COMPATIBILITY </item>
+      <item> CMAKE_BINARY_DIR </item>
+      <item> CMAKE_BUILD_TOOL </item>
+      <item> CMAKE_BUILD_TYPE </item>
+      <item> CMAKE_BUILD_WITH_INSTALL_RPATH </item>
+      <item> CMAKE_CACHEFILE_DIR </item>
+      <item> CMAKE_CACHE_MAJOR_VERSION </item>
+      <item> CMAKE_CACHE_MINOR_VERSION </item>
+      <item> CMAKE_CACHE_PATCH_VERSION </item>
+      <item> CMAKE_CFG_INTDIR </item>
+      <item> CMAKE_CL_64 </item>
+      <item> CMAKE_COLOR_MAKEFILE </item>
+      <item> CMAKE_COMMAND </item>
+      <item> CMAKE_COMPILER_2005 </item>
+      <item> CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY </item>
+      <item> CMAKE_CONFIGURATION_TYPES </item>
+      <item> CMAKE_CROSSCOMPILING </item>
+      <item> CMAKE_CROSSCOMPILING_EMULATOR </item>
+      <item> CMAKE_CTEST_COMMAND </item>
+      <item> CMAKE_CURRENT_BINARY_DIR </item>
+      <item> CMAKE_CURRENT_LIST_DIR </item>
+      <item> CMAKE_CURRENT_LIST_FILE </item>
+      <item> CMAKE_CURRENT_LIST_LINE </item>
+      <item> CMAKE_CURRENT_SOURCE_DIR </item>
+      <item> CMAKE_CXX_COMPILE_FEATURES </item>
+      <item> CMAKE_CXX_EXTENSIONS </item>
+      <item> CMAKE_CXX_STANDARD </item>
+      <item> CMAKE_CXX_STANDARD_REQUIRED </item>
+      <item> CMAKE_C_COMPILE_FEATURES </item>
+      <item> CMAKE_C_EXTENSIONS </item>
+      <item> CMAKE_C_STANDARD </item>
+      <item> CMAKE_C_STANDARD_REQUIRED </item>
+      <item> CMAKE_DEBUG_POSTFIX </item>
+      <item> CMAKE_DEBUG_TARGET_PROPERTIES </item>
+      <item> CMAKE_DL_LIBS </item>
+      <item> CMAKE_EDIT_COMMAND </item>
+      <item> CMAKE_ERROR_DEPRECATED </item>
+      <item> CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION </item>
+      <item> CMAKE_EXECUTABLE_SUFFIX </item>
+      <item> CMAKE_EXE_LINKER_FLAGS </item>
+      <item> CMAKE_EXPORT_NO_PACKAGE_REGISTRY </item>
+      <item> CMAKE_EXTRA_GENERATOR </item>
+      <item> CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES </item>
+      <item> CMAKE_FIND_LIBRARY_PREFIXES </item>
+      <item> CMAKE_FIND_LIBRARY_SUFFIXES </item>
+      <item> CMAKE_FIND_NO_INSTALL_PREFIX </item>
+      <item> CMAKE_FIND_PACKAGE_NAME </item>
+      <item> CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY </item>
+      <item> CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY </item>
+      <item> CMAKE_FIND_PACKAGE_WARN_NO_MODULE </item>
+      <item> CMAKE_FIND_ROOT_PATH </item>
+      <item> CMAKE_FIND_ROOT_PATH_MODE_INCLUDE </item>
+      <item> CMAKE_FIND_ROOT_PATH_MODE_LIBRARY </item>
+      <item> CMAKE_FIND_ROOT_PATH_MODE_PACKAGE </item>
+      <item> CMAKE_FIND_ROOT_PATH_MODE_PROGRAM </item>
+      <item> CMAKE_FRAMEWORK_PATH </item>
+      <item> CMAKE_Fortran_FORMAT </item>
+      <item> CMAKE_Fortran_MODDIR_DEFAULT </item>
+      <item> CMAKE_Fortran_MODDIR_FLAG </item>
+      <item> CMAKE_Fortran_MODOUT_FLAG </item>
+      <item> CMAKE_Fortran_MODULE_DIRECTORY </item>
+      <item> CMAKE_GENERATOR </item>
+      <item> CMAKE_GENERATOR_PLATFORM </item>
+      <item> CMAKE_GENERATOR_TOOLSET </item>
+      <item> CMAKE_GNUtoMS </item>
+      <item> CMAKE_HOME_DIRECTORY </item>
+      <item> CMAKE_HOST_APPLE </item>
+      <item> CMAKE_HOST_SYSTEM </item>
+      <item> CMAKE_HOST_SYSTEM_NAME </item>
+      <item> CMAKE_HOST_SYSTEM_PROCESSOR </item>
+      <item> CMAKE_HOST_SYSTEM_VERSION </item>
+      <item> CMAKE_HOST_UNIX </item>
+      <item> CMAKE_HOST_WIN32 </item>
+      <item> CMAKE_IGNORE_PATH </item>
+      <item> CMAKE_IMPORT_LIBRARY_PREFIX </item>
+      <item> CMAKE_IMPORT_LIBRARY_SUFFIX </item>
+      <item> CMAKE_INCLUDE_CURRENT_DIR </item>
+      <item> CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE </item>
+      <item> CMAKE_INCLUDE_DIRECTORIES_BEFORE </item>
+      <item> CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE </item>
+      <item> CMAKE_INCLUDE_PATH </item>
+      <item> CMAKE_INSTALL_DEFAULT_COMPONENT_NAME </item>
+      <item> CMAKE_INSTALL_MESSAGE </item>
+      <item> CMAKE_INSTALL_NAME_DIR </item>
+      <item> CMAKE_INSTALL_PREFIX </item>
+      <item> CMAKE_INSTALL_RPATH </item>
+      <item> CMAKE_INSTALL_RPATH_USE_LINK_PATH </item>
+      <item> CMAKE_INTERNAL_PLATFORM_ABI </item>
+      <item> CMAKE_JOB_POOL_COMPILE </item>
+      <item> CMAKE_JOB_POOL_LINK </item>
+      <item> CMAKE_LIBRARY_ARCHITECTURE </item>
+      <item> CMAKE_LIBRARY_ARCHITECTURE_REGEX </item>
+      <item> CMAKE_LIBRARY_OUTPUT_DIRECTORY </item>
+      <item> CMAKE_LIBRARY_PATH </item>
+      <item> CMAKE_LIBRARY_PATH_FLAG </item>
+      <item> CMAKE_LINK_DEF_FILE_FLAG </item>
+      <item> CMAKE_LINK_DEPENDS_NO_SHARED </item>
+      <item> CMAKE_LINK_INTERFACE_LIBRARIES </item>
+      <item> CMAKE_LINK_LIBRARY_FILE_FLAG </item>
+      <item> CMAKE_LINK_LIBRARY_FLAG </item>
+      <item> CMAKE_LINK_LIBRARY_SUFFIX </item>
+      <item> CMAKE_MACOSX_BUNDLE </item>
+      <item> CMAKE_MACOSX_RPATH </item>
+      <item> CMAKE_MAJOR_VERSION </item>
+      <item> CMAKE_MAKE_PROGRAM </item>
+      <item> CMAKE_MATCH_COUNT </item>
+      <item> CMAKE_MFC_FLAG </item>
+      <item> CMAKE_MINIMUM_REQUIRED_VERSION </item>
+      <item> CMAKE_MINOR_VERSION </item>
+      <item> CMAKE_MODULE_LINKER_FLAGS </item>
+      <item> CMAKE_MODULE_PATH </item>
+      <item> CMAKE_NOT_USING_CONFIG_FLAGS </item>
+      <item> CMAKE_NO_BUILTIN_CHRPATH </item>
+      <item> CMAKE_NO_SYSTEM_FROM_IMPORTED </item>
+      <item> CMAKE_OBJECT_PATH_MAX </item>
+      <item> CMAKE_OSX_ARCHITECTURES </item>
+      <item> CMAKE_OSX_DEPLOYMENT_TARGET </item>
+      <item> CMAKE_OSX_SYSROOT </item>
+      <item> CMAKE_PARENT_LIST_FILE </item>
+      <item> CMAKE_PATCH_VERSION </item>
+      <item> CMAKE_PDB_OUTPUT_DIRECTORY </item>
+      <item> CMAKE_POSITION_INDEPENDENT_CODE </item>
+      <item> CMAKE_PREFIX_PATH </item>
+      <item> CMAKE_PROGRAM_PATH </item>
+      <item> CMAKE_PROJECT_NAME </item>
+      <item> CMAKE_RANLIB </item>
+      <item> CMAKE_ROOT </item>
+      <item> CMAKE_RUNTIME_OUTPUT_DIRECTORY </item>
+      <item> CMAKE_SCRIPT_MODE_FILE </item>
+      <item> CMAKE_SHARED_LIBRARY_PREFIX </item>
+      <item> CMAKE_SHARED_LIBRARY_SUFFIX </item>
+      <item> CMAKE_SHARED_LINKER_FLAGS </item>
+      <item> CMAKE_SHARED_MODULE_PREFIX </item>
+      <item> CMAKE_SHARED_MODULE_SUFFIX </item>
+      <item> CMAKE_SIZEOF_VOID_P </item>
+      <item> CMAKE_SKIP_BUILD_RPATH </item>
+      <item> CMAKE_SKIP_INSTALL_ALL_DEPENDENCY </item>
+      <item> CMAKE_SKIP_INSTALL_RPATH </item>
+      <item> CMAKE_SKIP_INSTALL_RULES </item>
+      <item> CMAKE_SKIP_RPATH </item>
+      <item> CMAKE_SOURCE_DIR </item>
+      <item> CMAKE_STAGING_PREFIX </item>
+      <item> CMAKE_STANDARD_LIBRARIES </item>
+      <item> CMAKE_STATIC_LIBRARY_PREFIX </item>
+      <item> CMAKE_STATIC_LIBRARY_SUFFIX </item>
+      <item> CMAKE_STATIC_LINKER_FLAGS </item>
+      <item> CMAKE_SYSROOT </item>
+      <item> CMAKE_SYSTEM </item>
+      <item> CMAKE_SYSTEM_IGNORE_PATH </item>
+      <item> CMAKE_SYSTEM_INCLUDE_PATH </item>
+      <item> CMAKE_SYSTEM_LIBRARY_PATH </item>
+      <item> CMAKE_SYSTEM_NAME </item>
+      <item> CMAKE_SYSTEM_PREFIX_PATH </item>
+      <item> CMAKE_SYSTEM_PROCESSOR </item>
+      <item> CMAKE_SYSTEM_PROGRAM_PATH </item>
+      <item> CMAKE_SYSTEM_VERSION </item>
+      <item> CMAKE_TOOLCHAIN_FILE </item>
+      <item> CMAKE_TRY_COMPILE_CONFIGURATION </item>
+      <item> CMAKE_TWEAK_VERSION </item>
+      <item> CMAKE_USER_MAKE_RULES_OVERRIDE </item>
+      <item> CMAKE_USE_RELATIVE_PATHS </item>
+      <item> CMAKE_VERBOSE_MAKEFILE </item>
+      <item> CMAKE_VERSION </item>
+      <item> CMAKE_VISIBILITY_INLINES_HIDDEN </item>
+      <item> CMAKE_VS_DEVENV_COMMAND </item>
+      <item> CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD </item>
+      <item> CMAKE_VS_INTEL_Fortran_PROJECT_VERSION </item>
+      <item> CMAKE_VS_MSBUILD_COMMAND </item>
+      <item> CMAKE_VS_MSDEV_COMMAND </item>
+      <item> CMAKE_VS_NsightTegra_VERSION </item>
+      <item> CMAKE_VS_PLATFORM_NAME </item>
+      <item> CMAKE_VS_PLATFORM_TOOLSET </item>
+      <item> CMAKE_WARN_DEPRECATED </item>
+      <item> CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION </item>
+      <item> CMAKE_WIN32_EXECUTABLE </item>
+      <item> CMAKE_XCODE_PLATFORM_TOOLSET </item>
+      <item> CPACK_ABSOLUTE_DESTINATION_FILES </item>
+      <item> CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY </item>
+      <item> CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION </item>
+      <item> CPACK_INCLUDE_TOPLEVEL_DIRECTORY </item>
+      <item> CPACK_INSTALL_SCRIPT </item>
+      <item> CPACK_PACKAGING_INSTALL_PREFIX </item>
+      <item> CPACK_SET_DESTDIR </item>
+      <item> CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION </item>
+      <item> CTEST_BINARY_DIRECTORY </item>
+      <item> CTEST_BUILD_COMMAND </item>
+      <item> CTEST_BUILD_NAME </item>
+      <item> CTEST_BZR_COMMAND </item>
+      <item> CTEST_BZR_UPDATE_OPTIONS </item>
+      <item> CTEST_CHECKOUT_COMMAND </item>
+      <item> CTEST_CONFIGURATION_TYPE </item>
+      <item> CTEST_CONFIGURE_COMMAND </item>
+      <item> CTEST_COVERAGE_COMMAND </item>
+      <item> CTEST_COVERAGE_EXTRA_FLAGS </item>
+      <item> CTEST_CURL_OPTIONS </item>
+      <item> CTEST_CVS_CHECKOUT </item>
+      <item> CTEST_CVS_COMMAND </item>
+      <item> CTEST_CVS_UPDATE_OPTIONS </item>
+      <item> CTEST_DROP_LOCATION </item>
+      <item> CTEST_DROP_METHOD </item>
+      <item> CTEST_DROP_SITE </item>
+      <item> CTEST_DROP_SITE_CDASH </item>
+      <item> CTEST_DROP_SITE_PASSWORD </item>
+      <item> CTEST_DROP_SITE_USER </item>
+      <item> CTEST_GIT_COMMAND </item>
+      <item> CTEST_GIT_UPDATE_CUSTOM </item>
+      <item> CTEST_GIT_UPDATE_OPTIONS </item>
+      <item> CTEST_HG_COMMAND </item>
+      <item> CTEST_HG_UPDATE_OPTIONS </item>
+      <item> CTEST_MEMORYCHECK_COMMAND </item>
+      <item> CTEST_MEMORYCHECK_COMMAND_OPTIONS </item>
+      <item> CTEST_MEMORYCHECK_SANITIZER_OPTIONS </item>
+      <item> CTEST_MEMORYCHECK_SUPPRESSIONS_FILE </item>
+      <item> CTEST_MEMORYCHECK_TYPE </item>
+      <item> CTEST_NIGHTLY_START_TIME </item>
+      <item> CTEST_P4_CLIENT </item>
+      <item> CTEST_P4_COMMAND </item>
+      <item> CTEST_P4_OPTIONS </item>
+      <item> CTEST_P4_UPDATE_OPTIONS </item>
+      <item> CTEST_SCP_COMMAND </item>
+      <item> CTEST_SITE </item>
+      <item> CTEST_SOURCE_DIRECTORY </item>
+      <item> CTEST_SVN_COMMAND </item>
+      <item> CTEST_SVN_OPTIONS </item>
+      <item> CTEST_SVN_UPDATE_OPTIONS </item>
+      <item> CTEST_TEST_TIMEOUT </item>
+      <item> CTEST_TRIGGER_SITE </item>
+      <item> CTEST_UPDATE_COMMAND </item>
+      <item> CTEST_UPDATE_OPTIONS </item>
+      <item> CTEST_UPDATE_VERSION_ONLY </item>
+      <item> CTEST_USE_LAUNCHERS </item>
+      <item> CYGWIN </item>
+      <item> ENV </item>
+      <item> EXECUTABLE_OUTPUT_PATH </item>
+      <item> GHS-MULTI </item>
+      <item> LIBRARY_OUTPUT_PATH </item>
+      <item> MINGW </item>
+      <item> MSVC </item>
+      <item> MSVC10 </item>
+      <item> MSVC11 </item>
+      <item> MSVC12 </item>
+      <item> MSVC14 </item>
+      <item> MSVC60 </item>
+      <item> MSVC70 </item>
+      <item> MSVC71 </item>
+      <item> MSVC80 </item>
+      <item> MSVC90 </item>
+      <item> MSVC_IDE </item>
+      <item> MSVC_VERSION </item>
+      <item> PROJECT_BINARY_DIR </item>
+      <item> PROJECT_NAME </item>
+      <item> PROJECT_SOURCE_DIR </item>
+      <item> PROJECT_VERSION </item>
+      <item> PROJECT_VERSION_MAJOR </item>
+      <item> PROJECT_VERSION_MINOR </item>
+      <item> PROJECT_VERSION_PATCH </item>
+      <item> PROJECT_VERSION_TWEAK </item>
+      <item> UNIX </item>
+      <item> WIN32 </item>
+      <item> WINCE </item>
+      <item> WINDOWS_PHONE </item>
+      <item> WINDOWS_STORE </item>
+      <item> XCODE_VERSION </item>
+    </list>
+
+    <list name="simple_generator_expr">
+      <item> CONFIGURATION </item>
+      <item> ANGLE-R </item>
+      <item> COMMA </item>
+      <item> SEMICOLON </item>
+      <item> INSTALL_PREFIX </item>
+    </list>
+
+    <list name="generator_expr">
+      <!-- Logical Expressions -->
+      <item> 0 </item>
+      <item> 1 </item>
+      <item> BOOL </item>
+      <item> AND </item>
+      <item> OR </item>
+      <item> NOT </item>
+      <item> STREQUAL </item>
+      <item> EQUAL </item>
+      <item> CONFIG </item>
+      <item> PLATFORM_ID </item>
+      <item> C_COMPILER_ID </item>
+      <item> CXX_COMPILER_ID </item>
+      <item> VERSION_GREATER </item>
+      <item> VERSION_LESS </item>
+      <item> VERSION_EQUAL </item>
+      <item> C_COMPILER_VERSION </item>
+      <item> CXX_COMPILER_VERSION </item>
+      <item> TARGET_POLICY </item>
+      <item> COMPILER_FEATURES </item>
+      <!-- Informational Expressions -->
+      <item> CONFIGURATION </item>
+      <item> TARGET_FILE </item>
+      <item> TARGET_FILE_NAME </item>
+      <item> TARGET_FILE_DIR </item>
+      <item> TARGET_LINKER_FILE </item>
+      <item> TARGET_LINKER_FILE_NAME </item>
+      <item> TARGET_LINKER_FILE_DIR </item>
+      <item> TARGET_SONAME_FILE </item>
+      <item> TARGET_SONAME_FILE_NAME </item>
+      <item> TARGET_SONAME_FILE_DIR </item>
+      <item> TARGET_PDB_FILE </item>
+      <item> TARGET_PDB_FILE_NAME </item>
+      <item> TARGET_PDB_FILE_DIR </item>
+      <item> TARGET_PROPERTY </item>
+      <item> INSTALL_PREFIX </item>
+      <!-- Output Expressions -->
+      <item> JOIN </item>
+      <item> ANGLE-R </item>
+      <item> COMMA </item>
+      <item> SEMICOLON </item>
+      <item> TARGET_NAME </item>
+      <item> LINK_ONLY </item>
+      <item> INSTALL_INTERFACE </item>
+      <item> BUILD_INTERFACE </item>
+      <item> LOWER_CASE </item>
+      <item> UPPER_CASE </item>
+      <item> MAKE_C_IDENTIFIER </item>
+      <item> TARGET_OBJECTS </item>
+      <!-- TODO Is this from CMake 2.x? -->
+      <item> TARGET_DIR </item>
+    </list>
+
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text">
+        <DetectSpaces/>
+
+        <!-- handle folding for if else elseif endif blocks -->
+        <WordDetect String="if" attribute="Commands" context="Command Args" beginRegion="ifthenelse" insensitive="true" />
+        <WordDetect String="else" attribute="Commands" context="Command Args" endRegion="ifthenelse" beginRegion="ifthenelse" insensitive="true" />
+        <WordDetect String="elseif" attribute="Commands" context="Command Args" endRegion="ifthenelse" beginRegion="ifthenelse" insensitive="true" />
+        <WordDetect String="endif" attribute="Commands" context="Command Args" endRegion="ifthenelse" insensitive="true" />
+
+        <!-- handle folding for macro endmacro blocks -->
+        <WordDetect String="macro" attribute="Commands" context="Command Args" beginRegion="macro" insensitive="true" />
+        <WordDetect String="endmacro" attribute="Commands" context="Command Args" endRegion="macro" insensitive="true" />
+
+        <!-- handle folding for foreach endforeach blocks -->
+        <WordDetect String="foreach" attribute="Commands" context="Command Args" beginRegion="foreach" insensitive="true" />
+        <WordDetect String="endforeach" attribute="Commands" context="Command Args" endRegion="foreach" insensitive="true" />
+
+        <!-- handle folding for while endwhile blocks -->
+        <WordDetect String="while" attribute="Commands" context="Command Args" beginRegion="while" insensitive="true" />
+        <WordDetect String="endwhile" attribute="Commands" context="Command Args" endRegion="while" insensitive="true" />
+
+        <keyword attribute="Commands" context="Command Args" String="commands" insensitive="true" />
+        <keyword attribute="Third-Party Commands" context="#stay" String="itkvtk_commands" insensitive="true" />
+        <RegExpr attribute="Region Marker" context="#stay" String="#\s*BEGIN.*$" beginRegion="block" firstNonSpace="true" />
+        <RegExpr attribute="Region Marker" context="#stay" String="#\s*END.*$" endRegion="block" firstNonSpace="true" />
+        <RegExpr attribute="Region Marker" context="RST Documentation" String="^#\[(=*)\[\.rst:" column="0" />
+        <RegExpr attribute="Comment" context="Bracketed Comment" String="^#\[(=*)\[" column="0" />
+        <DetectChar attribute="Comment" context="Comment" char="#" />
+        <IncludeRules context="Detect Variables" />
+        <RegExpr attribute="Macros" context="Macro Args" String="\w+\s*(?=\()" />
+      </context>
+      <!-- ATTENTION Do not change the context name! Or change a generation script accordingly -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="Detect More Builtin Variables">
+        <!-- generated rules -->
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_ARCHIVE_OUTPUT_DIRECTORY_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_COMPILER_IS_GNU[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_DISABLE_FIND_PACKAGE_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_EXE_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_LIBRARY_OUTPUT_DIRECTORY_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_MAP_IMPORTED_CONFIG_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_MODULE_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_PDB_OUTPUT_DIRECTORY_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_POLICY_DEFAULT_CMP[0-9]+\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_POLICY_WARNING_CMP[0-9]+\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_PROJECT_[A-Za-z_][A-Za-z_0-9]*_INCLUDE\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_RUNTIME_OUTPUT_DIRECTORY_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_SHARED_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_STATIC_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_USER_MAKE_RULES_OVERRIDE_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_XCODE_ATTRIBUTE_[A-Za-z_][A-Za-z_0-9]*\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_ARCHIVE_APPEND\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_ARCHIVE_CREATE\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_ARCHIVE_FINISH\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER_ABI\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER_EXTERNAL_TOOLCHAIN\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER_ID\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER_LOADED\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER_TARGET\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILER_VERSION\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_COMPILE_OBJECT\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_CREATE_SHARED_LIBRARY\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_CREATE_SHARED_MODULE\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_CREATE_STATIC_LIBRARY\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_DEBUG\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_MINSIZEREL\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_RELEASE\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_RELWITHDEBINFO\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_GHS_KERNEL_FLAGS_DEBUG\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_GHS_KERNEL_FLAGS_MINSIZEREL\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_GHS_KERNEL_FLAGS_RELEASE\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_GHS_KERNEL_FLAGS_RELWITHDEBINFO\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_IGNORE_EXTENSIONS\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_IMPLICIT_INCLUDE_DIRECTORIES\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_IMPLICIT_LINK_DIRECTORIES\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_IMPLICIT_LINK_LIBRARIES\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_INCLUDE_WHAT_YOU_USE\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_LIBRARY_ARCHITECTURE\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_LINKER_PREFERENCE\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_LINKER_PREFERENCE_PROPAGATES\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_LINK_EXECUTABLE\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_OUTPUT_EXTENSION\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_PLATFORM_ID\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_POSTFIX\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_SIMULATE_ID\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_SIMULATE_VERSION\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_SIZEOF_DATA_PTR\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_SOURCE_FILE_EXTENSIONS\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_VISIBILITY_PRESET\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\b[A-Za-z_][A-Za-z_0-9]*_BINARY_DIR\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\b[A-Za-z_][A-Za-z_0-9]*_SOURCE_DIR\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\b[A-Za-z_][A-Za-z_0-9]*_VERSION\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\b[A-Za-z_][A-Za-z_0-9]*_VERSION_MAJOR\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\b[A-Za-z_][A-Za-z_0-9]*_VERSION_MINOR\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\b[A-Za-z_][A-Za-z_0-9]*_VERSION_PATCH\b" />
+        <RegExpr attribute="Builtin CMake Variable" context="#stay" String="\b[A-Za-z_][A-Za-z_0-9]*_VERSION_TWEAK\b" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Detect Builtin Variables">
+        <keyword attribute="Builtin CMake Variable" context="#stay" String="cmake_vars" insensitive="false" />
+        <IncludeRules context="Detect More Builtin Variables" />
+      </context>
+      <context attribute="CMake Variable" lineEndContext="#pop" name="VarSubst">
+        <IncludeRules context="Detect Builtin Variables" />
+        <DetectIdentifier />
+        <DetectChar attribute="CMake Variable" context="#pop" char="}" />
+        <IncludeRules context="Detect Variables" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Detect Variables">
+        <RegExpr attribute="Environment Variable" context="#stay" String="\$ENV\{\s*[\w-]+\s*\}" />
+        <Detect2Chars attribute="CMake Variable" context="VarSubst" char="$" char1="{" />
+      </context>
+      <context attribute="Generator Expression" lineEndContext="#pop#pop" name="DetectSimpleGEEnd">
+        <DetectChar attribute="Generator Expression" context="#pop#pop" char="&gt;" />
+      </context>
+      <context attribute="Generator Expression" lineEndContext="#pop" name="Generator Expression">
+        <IncludeRules context="Detect Generator Expressions" />
+        <DetectChar attribute="Generator Expression" context="#pop" char="&gt;" />
+        <keyword attribute="Generator Expression Keyword" context="DetectSimpleGEEnd" String="simple_generator_expr" insensitive="false" />
+        <keyword attribute="Generator Expression Keyword" context="#stay" String="generator_expr" insensitive="false" />
+        <IncludeRules context="Detect Variables" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Detect Generator Expressions">
+        <Detect2Chars attribute="Generator Expression" context="Generator Expression" char="$" char1="&lt;" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Command Args">
+        <keyword attribute="Special Args" context="#stay" String="special_args" />
+        <keyword attribute="Special Args" context="#stay" String="extra_special_args" />
+        <!-- NOTE Handle CMP<NNN> as a special arg -->
+        <RegExpr attribute="Special Args" context="#stay" String="\bCMP[0-9]+\b" />
+        <keyword attribute="Properties" context="#stay" String="properties" />
+        <keyword attribute="Properties" context="#stay" String="extra_properties" />
+        <IncludeRules context="Detect Builtin Variables" />
+        <IncludeRules context="Macro Args" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Macro Args">
+        <DetectChar attribute="Normal Text" context="#pop" char=")" />
+        <RegExpr attribute="Escapes" context="#stay" String="\\[&quot;$n\\]" />
+        <DetectChar attribute="Strings" context="String" char="&quot;" />
+        <RegExpr attribute="Strings" context="Bracketed String" String="\[(=*)\[" />
+        <DetectChar attribute="Comment" context="Comment" char="#" />
+        <IncludeRules context="Detect Builtin Variables" />
+        <IncludeRules context="Detect Variables" />
+        <IncludeRules context="Detect Generator Expressions" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Comment">
+        <LineContinue attribute="Comment" context="#pop" />
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="RST Documentation" dynamic="true">
+        <RegExpr attribute="Region Marker" context="#pop" String="^#?\]%1\]" dynamic="true" column="0" />
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Bracketed Comment" dynamic="true">
+        <RegExpr attribute="Comment" context="#pop" String="^#?\]%1\]" dynamic="true" column="0" />
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+      </context>
+      <context attribute="Strings" lineEndContext="#stay" name="String">
+        <RegExpr attribute="Strings" context="#pop" String="&quot;(?=[ );]|$)" />
+        <RegExpr attribute="Escapes" context="#stay" String="\\[&quot;$nrt\\]" />
+        <IncludeRules context="Detect Variables" />
+        <IncludeRules context="Detect Generator Expressions" />
+      </context>
+      <context attribute="Strings" lineEndContext="#stay" name="Bracketed String" dynamic="true">
+        <RegExpr attribute="Strings" context="#pop" String="\]%1\]" dynamic="true" />
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
+      <itemData name="Special Args" defStyleNum="dsOthers" spellChecking="false" />
+      <itemData name="Properties" defStyleNum="dsOthers" spellChecking="false" />
+      <itemData name="Commands" defStyleNum="dsKeyword" spellChecking="false" />
+      <itemData name="Third-Party Commands" defStyleNum="dsExtension" spellChecking="false" />
+      <itemData name="Macros"  defStyleNum="dsFunction" spellChecking="false" />
+      <itemData name="Strings" defStyleNum="dsString" spellChecking="true" />
+      <itemData name="Escapes" defStyleNum="dsSpecialChar" spellChecking="false" />
+      <itemData name="Builtin CMake Variable" defStyleNum="dsVariable" spellChecking="false" />
+      <!-- TODO Rename to "Variable Substitution" -->
+      <itemData name="CMake Variable" defStyleNum="dsVariable" spellChecking="false" />
+      <!-- TODO Rename to "Environment Variable Substitution" -->
+      <itemData name="Environment Variable" defStyleNum="dsFloat" spellChecking="false" />
+      <itemData name="Generator Expression Keyword" defStyleNum="dsKeyword" color="#b84040" selColor="#b84040" spellChecking="false" />
+      <itemData name="Generator Expression" defStyleNum="dsOthers" color="#b86050" selColor="#b86050" spellChecking="false" />
+      <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" />
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false" />
+    </itemDatas>
+
+  </highlighting>
+
+  <general>
+    <comments>
+      <comment name="singleLine" start="#" />
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
diff --git a/xml/coffee.xml b/xml/coffee.xml
new file mode 100644
--- /dev/null
+++ b/xml/coffee.xml
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+
+<language name="CoffeeScript"
+          version="2"
+          kateversion="3.4"
+          section="Scripts"
+          extensions="Cakefile;*.coffee;*.coco"
+          mimetype="text/x-coffeescript;application/x-coffeescript"
+          indenter="python"
+          casesensitive="1"
+          author="Max Shawabkeh (max99x@gmail.com)"
+          license="MIT">
+  <highlighting>
+    <!-- Built-in constants. -->
+    <list name="value_keywords">
+      <item>false</item>
+      <item>true</item>
+      <item>yes</item>
+      <item>no</item>
+      <item>on</item>
+      <item>off</item>
+      <item>undefined</item>
+      <item>null</item>
+      <item>NaN</item>
+      <item>Infinity</item>
+    </list>
+    <!-- Generic keywords. -->
+    <list name="keywords">
+      <item>return</item>
+      <item>break</item>
+      <item>continue</item>
+      <item>throw</item>
+      <item>for</item>
+      <item>while</item>
+      <item>until</item>
+      <item>loop</item>
+      <item>if</item>
+      <item>else</item>
+      <item>unless</item>
+      <item>switch</item>
+      <item>when</item>
+      <item>then</item>
+      <item>and</item>
+      <item>or</item>
+      <item>in</item>
+      <item>do</item>
+      <item>of</item>
+      <item>by</item>
+      <item>is</item>
+      <item>isnt</item>
+      <item>not</item>
+      <item>typeof</item>
+      <item>delete</item>
+      <item>where</item>
+      <item>super</item>
+      <item>try</item>
+      <item>catch</item>
+      <item>finally</item>
+      <item>try</item>
+      <item>catch</item>
+      <item>finally</item>
+      <item>constructor</item>
+    </list>
+    <!-- Keywords which are always followed by a class name. -->
+    <list name="class_keywords">
+      <item>class</item>
+      <item>extends</item>
+      <item>new</item>
+      <item>instanceof</item>
+    </list>
+    <!-- Reserved words. -->
+    <list name="reserved">
+      <item>case</item>
+      <item>default</item>
+      <item>function</item>
+      <item>var</item>
+      <item>void</item>
+      <item>with</item>
+      <item>const</item>
+      <item>let</item>
+      <item>enum</item>
+      <item>export</item>
+      <item>import</item>
+      <item>native</item>
+      <item>__hasProp</item>
+      <item>__extends</item>
+      <item>__slice</item>
+      <item>__bind</item>
+      <item>__indexOf</item>
+    </list>
+    <!-- Built-in globals provided in most contexts. -->
+    <list name="globals">
+      <item>Object</item>
+      <item>Number</item>
+      <item>Boolean</item>
+      <item>Array</item>
+      <item>String</item>
+      <item>RegExp</item>
+      <item>Function</item>
+      <item>Date</item>
+      <item>Math</item>
+      <item>eval</item>
+      <item>setInterval</item>
+      <item>clearInterval</item>
+      <item>setTimeout</item>
+      <item>clearTimeout</item>
+      <item>isFinite</item>
+      <item>isNaN</item>
+      <item>parseFloat</item>
+      <item>parseInt</item>
+      <item>escape</item>
+      <item>unescape</item>
+      <item>console</item>
+      <item>encodeURI</item>
+      <item>encodeURIComponent</item>
+      <item>decodeURI</item>
+      <item>decodeURIComponent</item>
+    </list>
+    <!-- Built-in globals provided in browser context. -->
+    <list name="browser_globals">
+      <item>window</item>
+      <item>document</item>
+      <item>navigator</item>
+      <item>location</item>
+      <item>history</item>
+      <item>screen</item>
+      <item>alert</item>
+      <item>prompt</item>
+    </list>
+    <!-- Built-in globals provided in Node.js context. -->
+    <list name="nodejs_globals">
+      <item>process</item>
+      <item>GLOBAL</item>
+      <item>require</item>
+      <item>exports</item>
+    </list>
+    <!-- Context-sensitive highlighting rules. -->
+    <contexts>
+      <!-- Generic code. -->
+      <context name="Normal" attribute="Normal" lineEndContext="#stay">
+        <DetectSpaces/>
+        <!-- Numbers. -->
+        <Float attribute="Float" context="#stay"/>
+        <Int attribute="Decimal" context="#stay"/>
+        <HlCOct attribute="Oct" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <!-- Keywords. -->
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Keyword" context="Class" String="class_keywords"/>
+        <keyword attribute="Value Keywords" context="#stay" String="value_keywords"/>
+        <keyword attribute="Reserved" context="#stay" String="reserved"/>
+        <!-- Globals. -->
+        <keyword attribute="Globals" context="#stay" String="globals"/>
+        <keyword attribute="Browser Globals" context="#stay" String="browser_globals"/>
+        <keyword attribute="Node.js Globals" context="#stay" String="nodejs_globals"/>
+        <!-- Member accessors. -->
+        <RegExpr attribute="Accessor" context="#stay" String="(@[_$a-zA-Z][$\w]*|\bthis)\b" insensitive="false"/>
+        <!-- Function definitions. Matches an optional argument list followed by a function arrow (normal or fat). -->
+        <RegExpr attribute="Function" context="#stay" String="(\((\'[^']*'|&quot;[^&quot;]*&quot;|[^()])*\))?\s*(-|=)&gt;" insensitive="true"/>
+        <!-- Generic identifiers. -->
+        <RegExpr attribute="Identifier" context="#stay" String="[_$a-z][$\w]*\b" insensitive="true"/>
+        <!-- Strings. -->
+        <StringDetect attribute="String" context="Heredoc" String="'''" beginRegion="Heredoc"/>
+        <StringDetect attribute="String" context="Rich Heredoc" String="&quot;&quot;&quot;" beginRegion="Rich Heredoc"/>
+        <DetectChar attribute="String" context="String" char="'"/>
+        <DetectChar attribute="String" context="Rich String" char="&quot;"/>
+        <!-- Embedded JavaScript. -->
+        <DetectChar attribute="Javascript" context="Javascript" char="`" beginRegion="Javascript"/>
+        <!-- Comments. -->
+        <StringDetect attribute="Comment" context="Multiline Comment" String="###" beginRegion="Comment"/>
+        <DetectChar attribute="Comment" context="Comment" char="#"/>
+        <!-- Regular expressions. -->
+        <RegExpr attribute="Regex" context="Multiline Regex" String="///" beginRegion="Multiline Regex"/>
+        <RegExpr attribute="Regex" context="#stay" String="/([^/\\\r\n]|\\.)*/[mig]{0,3}"/>
+        <!-- Operators and other non-alphanumeric symbols. -->
+        <AnyChar attribute="Symbol" context="#stay" String="():!%&amp;+,-/.*&lt;=&gt;?[]|~^&#59;{}"/>
+      </context>
+      <!-- Multiline regular expressions. -->
+      <context name="Multiline Regex" attribute="Regex" lineEndContext="#stay" noIndentationBasedFolding="1">
+        <HlCStringChar attribute="Regex" context="#stay"/>
+        <DetectChar attribute="Comment" context="Comment" char="#"/>
+        <RegExpr attribute="Regex" context="#pop" String="///[mig]{0,3}" endRegion="Multiline Regex"/>
+      </context>
+      <!-- Class names. -->
+      <context name="Class" attribute="Normal" lineEndContext="#stay">
+        <DetectSpaces/>
+        <RegExpr attribute="Class" context="#pop" String="[@$:.\w\[\]]+"/>
+      </context>
+      <!-- Comments. -->
+      <context name="Comment" attribute="Comment" lineEndContext="#pop">
+        <IncludeRules context="##Alerts_indent"/>
+      </context>
+      <context name="Multiline Comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="1">
+        <StringDetect attribute="Comment" context="#pop" String="###" endRegion="Comment"/>
+        <IncludeRules context="##Alerts_indent"/>
+      </context>
+      <!-- Single-line strings. -->
+      <context name="String" attribute="String" lineEndContext="#stay">
+        <HlCStringChar attribute="String" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="'"/>
+      </context>
+      <context name="Rich String" attribute="String" lineEndContext="#stay">
+        <HlCStringChar attribute="String" context="#stay"/>
+        <Detect2Chars attribute="Embedding" context="Embedding" char="#" char1="{"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <!-- Multi-line strings. -->
+      <context name="Heredoc" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="1">
+        <HlCStringChar attribute="String" context="#stay"/>
+        <StringDetect attribute="String" context="#pop" String="'''" endRegion="Heredoc"/>
+      </context>
+      <context name="Rich Heredoc" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="1">
+        <HlCStringChar attribute="String" context="#stay"/>
+        <Detect2Chars attribute="Embedding" context="Embedding" char="#" char1="{"/>
+        <StringDetect attribute="String" context="#pop" String="&quot;&quot;&quot;" endRegion="Rich Heredoc"/>
+      </context>
+      <!-- Expressions embedded in strings. -->
+      <context name="Embedding" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="Embedding" context="#pop" char="}"/>
+      </context>
+      <!-- Embedded Javascript. -->
+      <context name="Javascript" attribute="Javascript" lineEndContext="#stay" noIndentationBasedFolding="1">
+        <DetectChar attribute="Javascript" context="#pop" char="`" endRegion="Javascript"/>
+        <!-- NOTE: This hides errors where a backtick is embedded in a JS string. -->
+        <IncludeRules context="Normal##JavaScript" includeAttrib="true"/>
+      </context>
+    </contexts>
+    <!-- Style mappings. -->
+    <itemDatas>
+      <itemData name="Normal" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Identifier" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
+      <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>
+      <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/>
+      <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
+      <itemData name="Oct" defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="String" defStyleNum="dsString" spellChecking="false"/>
+      <itemData name="Comment" defStyleNum="dsComment" spellChecking="true"/>
+      <itemData name="Symbol" defStyleNum="dsKeyword" spellChecking="false"/>
+      <itemData name="Embedding" defStyleNum="dsChar" spellChecking="false"/>
+      <itemData name="Accessor" defStyleNum="dsDataType" spellChecking="false"/>
+      <itemData name="Class" defStyleNum="dsDataType" spellChecking="false" bold="1"/>
+      <itemData name="Javascript" defStyleNum="dsAlert" spellChecking="false" italic="1"/>
+      <itemData name="Regex" defStyleNum="dsString" spellChecking="false"/>
+      <itemData name="Reserved" defStyleNum="dsAlert" spellChecking="false"/>
+      <itemData name="Value Keywords" defStyleNum="dsOthers" spellChecking="false"/>
+      <itemData name="Globals" defStyleNum="dsOthers" spellChecking="false"/>
+      <!-- Context-sensitive globals - not styled by default. -->
+      <itemData name="Browser Globals" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Node.js Globals" defStyleNum="dsNormal" spellChecking="false"/>
+    </itemDatas>
+  </highlighting>
+  <!-- Global settings. -->
+  <general>
+    <indentation mode="python"/>
+    <folding indentationsensitive="1"/>
+    <comments>
+      <comment name="singleLine" start="#"/>
+      <comment name="multiLine" start="###" end="###" region="Comment"/>
+    </comments>
+    <keywords casesensitive="1" additionalDeliminator="#'"/>
+    <emptyLines>
+      <emptyLine regexpr="(?:\s+|\s*#.*)"/>
+    </emptyLines>
+  </general>
+</language>
diff --git a/xml/coldfusion.xml b/xml/coldfusion.xml
new file mode 100644
--- /dev/null
+++ b/xml/coldfusion.xml
@@ -0,0 +1,732 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="ColdFusion" version="2" kateversion="2.2" section="Markup" extensions="*.cfm;*.cfc;*.cfml;*.dbm" mimetype="text/x-coldfusion">
+
+	<highlighting>
+
+		<list name="Script Keywords">
+
+			<item> if </item>
+			<item> else </item>
+			<item> for </item>
+			<item> in </item>
+			<item> while </item>
+			<item> do </item>
+			<item> continue </item>
+			<item> break </item>
+			<item> with </item>
+			<item> try </item>
+			<item> catch </item>
+			<item> switch </item>
+			<item> case </item>
+			<item> new </item>
+			<item> var </item>
+			<item> function </item>
+			<item> return </item>
+			<item> this </item>
+			<item> delete </item>
+			<item> true </item>
+			<item> false </item>
+			<item> void </item>
+			<item> throw </item>
+			<item> typeof </item>
+			<item> const </item>
+			<item> default </item>
+
+		</list>
+
+		<list name="Script Objects">
+
+			<item> Anchor </item>
+			<item> Applet </item>
+			<item> Area </item>
+			<item> Array </item>
+			<item> Boolean </item>
+			<item> Button </item>
+			<item> Checkbox </item>
+			<item> Date </item>
+			<item> Document </item>
+			<item> Event </item>
+			<item> FileUpload </item>
+			<item> Form </item>
+			<item> Frame </item>
+			<item> Function </item>
+			<item> Hidden </item>
+			<item> History </item>
+			<item> Image </item>
+			<item> Layer </item>
+			<item> Linke </item>
+			<item> Location </item>
+			<item> Math </item>
+			<item> Navigator </item>
+			<item> Number </item>
+			<item> Object </item>
+			<item> Option </item>
+			<item> Password </item>
+			<item> Radio </item>
+			<item> RegExp </item>
+			<item> Reset </item>
+			<item> Screen </item>
+			<item> Select </item>
+			<item> String </item>
+			<item> Submit </item>
+			<item> Text </item>
+			<item> Textarea </item>
+			<item> Window </item>
+
+		</list>
+
+		<list name="Script Methods">
+
+			<item> abs </item>
+			<item> acos </item>
+			<item> alert </item>
+			<item> anchor </item>
+			<item> apply </item>
+			<item> asin </item>
+			<item> atan </item>
+			<item> atan2 </item>
+			<item> back </item>
+			<item> blur </item>
+			<item> call </item>
+			<item> captureEvents </item>
+			<item> ceil </item>
+			<item> charAt </item>
+			<item> charCodeAt </item>
+			<item> clearInterval </item>
+			<item> clearTimeout </item>
+			<item> click </item>
+			<item> close </item>
+			<item> compile </item>
+			<item> concat </item>
+			<item> confirm </item>
+			<item> cos </item>
+			<item> disableExternalCapture </item>
+			<item> enableExternalCapture </item>
+			<item> eval </item>
+			<item> exec </item>
+			<item> exp </item>
+			<item> find </item>
+			<item> floor </item>
+			<item> focus </item>
+			<item> forward </item>
+			<item> fromCharCode </item>
+			<item> getDate </item>
+			<item> getDay </item>
+			<item> getFullYear </item>
+			<item> getHours </item>
+			<item> getMilliseconds </item>
+			<item> getMinutes </item>
+			<item> getMonth </item>
+			<item> getSeconds </item>
+			<item> getSelection </item>
+			<item> getTime </item>
+			<item> getTimezoneOffset </item>
+			<item> getUTCDate </item>
+			<item> getUTCDay </item>
+			<item> getUTCFullYear </item>
+			<item> getUTCHours </item>
+			<item> getUTCMilliseconds </item>
+			<item> getUTCMinutes </item>
+			<item> getUTCMonth </item>
+			<item> getUTCSeconds </item>
+			<item> go </item>
+			<item> handleEvent </item>
+			<item> home </item>
+			<item> indexOf </item>
+			<item> javaEnabled </item>
+			<item> join </item>
+			<item> lastIndexOf </item>
+			<item> link </item>
+			<item> load </item>
+			<item> log </item>
+			<item> match </item>
+			<item> max </item>
+			<item> min </item>
+			<item> moveAbove </item>
+			<item> moveBelow </item>
+			<item> moveBy </item>
+			<item> moveTo </item>
+			<item> moveToAbsolute </item>
+			<item> open </item>
+			<item> parse </item>
+			<item> plugins.refresh </item>
+			<item> pop </item>
+			<item> pow </item>
+			<item> preference </item>
+			<item> print </item>
+			<item> prompt </item>
+			<item> push </item>
+			<item> random </item>
+			<item> releaseEvents </item>
+			<item> reload </item>
+			<item> replace </item>
+			<item> reset </item>
+			<item> resizeBy </item>
+			<item> resizeTo </item>
+			<item> reverse </item>
+			<item> round </item>
+			<item> routeEvent </item>
+			<item> scrollBy </item>
+			<item> scrollTo </item>
+			<item> search </item>
+			<item> select </item>
+			<item> setDate </item>
+			<item> setFullYear </item>
+			<item> setHours </item>
+			<item> setInterval </item>
+			<item> setMilliseconds </item>
+			<item> setMinutes </item>
+			<item> setMonth </item>
+			<item> setSeconds </item>
+			<item> setTime </item>
+			<item> setTimeout </item>
+			<item> setUTCDate </item>
+			<item> setUTCFullYear </item>
+			<item> setUTCHours </item>
+			<item> setUTCMilliseconds </item>
+			<item> setUTCMinutes </item>
+			<item> setUTCMonth </item>
+			<item> setUTCSeconds </item>
+			<item> shift </item>
+			<item> sin </item>
+			<item> slice </item>
+			<item> sort </item>
+			<item> splice </item>
+			<item> split </item>
+			<item> sqrt </item>
+			<item> stop </item>
+			<item> String formatting </item>
+			<item> submit </item>
+			<item> substr </item>
+			<item> substring </item>
+			<item> taintEnabled </item>
+			<item> tan </item>
+			<item> test </item>
+			<item> toLocaleString </item>
+			<item> toLowerCase </item>
+			<item> toSource </item>
+			<item> toString </item>
+			<item> toUpperCase </item>
+			<item> toUTCString </item>
+			<item> unshift </item>
+			<item> unwatch </item>
+			<item> UTC </item>
+			<item> valueOf </item>
+			<item> watch </item>
+			<item> write </item>
+			<item> writeln  </item>
+
+		</list>
+
+		<list name="CFSCRIPT Keywords">
+
+			<item> break </item>
+			<item> case </item>
+			<item> catch </item>
+			<item> continue </item>
+			<item> default </item>
+			<item> do </item>
+			<item> else </item>
+			<item> for </item>
+			<item> function </item>
+			<item> if </item>
+			<item> in </item>
+			<item> return </item>
+			<item> switch </item>
+			<item> try </item>
+			<item> var </item>
+			<item> while </item>
+
+		</list>
+
+		<list name="CFSCRIPT Functions">
+
+			<item> Abs </item>
+			<item> ACos </item>
+			<item> ArrayAppend </item>
+			<item> ArrayAvg </item>
+			<item> ArrayClear </item>
+			<item> ArrayDeleteAt </item>
+			<item> ArrayInsertAt </item>
+			<item> ArrayIsEmpty </item>
+			<item> ArrayLen </item>
+			<item> ArrayMax </item>
+			<item> ArrayMin </item>
+			<item> ArrayNew </item>
+			<item> ArrayPrepend </item>
+			<item> ArrayResize </item>
+			<item> ArraySet </item>
+			<item> ArraySort </item>
+			<item> ArraySum </item>
+			<item> ArraySwap </item>
+			<item> ArrayToList </item>
+			<item> Asc </item>
+			<item> ASin </item>
+			<item> Atn </item>
+			<item> BitAnd </item>
+			<item> BitMaskClear </item>
+			<item> BitMaskRead </item>
+			<item> BitMaskSet </item>
+			<item> BitNot </item>
+			<item> BitOr </item>
+			<item> BitSHLN </item>
+			<item> BitSHRN </item>
+			<item> BitXor </item>
+			<item> Ceiling </item>
+			<item> Chr </item>
+			<item> CJustify </item>
+			<item> Compare </item>
+			<item> CompareNoCase </item>
+			<item> Cos </item>
+			<item> CreateDate </item>
+			<item> CreateDateTime </item>
+			<item> CreateObject </item>
+			<item> CreateODBCDate </item>
+			<item> CreateODBCDateTime </item>
+			<item> CreateODBCTime </item>
+			<item> CreateTime </item>
+			<item> CreateTimeSpan </item>
+			<item> CreateUUID </item>
+			<item> DateAdd </item>
+			<item> DateCompare </item>
+			<item> DateConvert </item>
+			<item> DateDiff </item>
+			<item> DateFormat </item>
+			<item> DatePart </item>
+			<item> Day </item>
+			<item> DayOfWeek </item>
+			<item> DayOfWeekAsString </item>
+			<item> DayOfYear </item>
+			<item> DaysInMonth </item>
+			<item> DaysInYear </item>
+			<item> DE </item>
+			<item> DecimalFormat </item>
+			<item> DecrementValue </item>
+			<item> Decrypt </item>
+			<item> DeleteClientVariable </item>
+			<item> DirectoryExists </item>
+			<item> DollarFormat </item>
+			<item> Duplicate </item>
+			<item> Encrypt </item>
+			<item> Evaluate </item>
+			<item> Exp </item>
+			<item> ExpandPath </item>
+			<item> FileExists </item>
+			<item> Find </item>
+			<item> FindNoCase </item>
+			<item> FindOneOf </item>
+			<item> FirstDayOfMonth </item>
+			<item> Fix </item>
+			<item> FormatBaseN </item>
+			<item> GetAuthUser </item>
+			<item> GetBaseTagData </item>
+			<item> GetBaseTagList </item>
+			<item> GetBaseTemplatePath </item>
+			<item> GetClientVariablesList </item>
+			<item> GetCurrentTemplatePath </item>
+			<item> GetDirectoryFromPath </item>
+			<item> GetException </item>
+			<item> GetFileFromPath </item>
+			<item> GetFunctionList </item>
+			<item> GetHttpRequestData </item>
+			<item> GetHttpTimeString </item>
+			<item> GetK2ServerDocCount </item>
+			<item> GetK2ServerDocCountLimit </item>
+			<item> GetLocale </item>
+			<item> GetMetaData </item>
+			<item> GetMetricData </item>
+			<item> GetPageContext </item>
+			<item> GetProfileSections </item>
+			<item> GetProfileString </item>
+			<item> GetServiceSettings </item>
+			<item> GetTempDirectory </item>
+			<item> GetTempFile </item>
+			<item> GetTemplatePath </item>
+			<item> GetTickCount </item>
+			<item> GetTimeZoneInfo </item>
+			<item> GetToken </item>
+			<item> Hash </item>
+			<item> Hour </item>
+			<item> HTMLCodeFormat </item>
+			<item> HTMLEditFormat </item>
+			<item> IIf </item>
+			<item> IncrementValue </item>
+			<item> InputBaseN </item>
+			<item> Insert </item>
+			<item> Int </item>
+			<item> IsArray </item>
+			<item> IsBinary </item>
+			<item> IsBoolean </item>
+			<item> IsCustomFunction </item>
+			<item> IsDate </item>
+			<item> IsDebugMode </item>
+			<item> IsDefined </item>
+			<item> IsK2ServerABroker </item>
+			<item> IsK2ServerDocCountExceeded </item>
+			<item> IsK2ServerOnline </item>
+			<item> IsLeapYear </item>
+			<item> IsNumeric </item>
+			<item> IsNumericDate </item>
+			<item> IsObject </item>
+			<item> IsQuery </item>
+			<item> IsSimpleValue </item>
+			<item> IsStruct </item>
+			<item> IsUserInRole </item>
+			<item> IsWDDX </item>
+			<item> IsXmlDoc </item>
+			<item> IsXmlElement </item>
+			<item> IsXmlRoot </item>
+			<item> JavaCast </item>
+			<item> JSStringFormat </item>
+			<item> LCase </item>
+			<item> Left </item>
+			<item> Len </item>
+			<item> ListAppend </item>
+			<item> ListChangeDelims </item>
+			<item> ListContains </item>
+			<item> ListContainsNoCase </item>
+			<item> ListDeleteAt </item>
+			<item> ListFind </item>
+			<item> ListFindNoCase </item>
+			<item> ListFirst </item>
+			<item> ListGetAt </item>
+			<item> ListInsertAt </item>
+			<item> ListLast </item>
+			<item> ListLen </item>
+			<item> ListPrepend </item>
+			<item> ListQualify </item>
+			<item> ListRest </item>
+			<item> ListSetAt </item>
+			<item> ListSort </item>
+			<item> ListToArray </item>
+			<item> ListValueCount </item>
+			<item> ListValueCountNoCase </item>
+			<item> LJustify </item>
+			<item> Log </item>
+			<item> Log10 </item>
+			<item> LSCurrencyFormat </item>
+			<item> LSDateFormat </item>
+			<item> LSEuroCurrencyFormat </item>
+			<item> LSIsCurrency </item>
+			<item> LSIsDate </item>
+			<item> LSIsNumeric </item>
+			<item> LSNumberFormat </item>
+			<item> LSParseCurrency </item>
+			<item> LSParseDateTime </item>
+			<item> LSParseEuroCurrency </item>
+			<item> LSParseNumber </item>
+			<item> LSTimeFormat </item>
+			<item> LTrim </item>
+			<item> Max </item>
+			<item> Mid </item>
+			<item> Min </item>
+			<item> Minute </item>
+			<item> Month </item>
+			<item> MonthAsString </item>
+			<item> Now </item>
+			<item> NumberFormat </item>
+			<item> ParagraphFormat </item>
+			<item> ParameterExists </item>
+			<item> ParseDateTime </item>
+			<item> Pi </item>
+			<item> PreserveSingleQuotes </item>
+			<item> Quarter </item>
+			<item> QueryAddColumn </item>
+			<item> QueryAddRow </item>
+			<item> QueryNew </item>
+			<item> QuerySetCell </item>
+			<item> QuotedValueList </item>
+			<item> Rand </item>
+			<item> Randomize </item>
+			<item> RandRange </item>
+			<item> REFind </item>
+			<item> REFindNoCase </item>
+			<item> RemoveChars </item>
+			<item> RepeatString </item>
+			<item> Replace </item>
+			<item> ReplaceList </item>
+			<item> ReplaceNoCase </item>
+			<item> REReplace </item>
+			<item> REReplaceNoCase </item>
+			<item> Reverse </item>
+			<item> Right </item>
+			<item> RJustify </item>
+			<item> Round </item>
+			<item> RTrim </item>
+			<item> Second </item>
+			<item> SetEncoding </item>
+			<item> SetLocale </item>
+			<item> SetProfileString </item>
+			<item> SetVariable </item>
+			<item> Sgn </item>
+			<item> Sin </item>
+			<item> SpanExcluding </item>
+			<item> SpanIncluding </item>
+			<item> Sqr </item>
+			<item> StripCR </item>
+			<item> StructAppend </item>
+			<item> StructClear </item>
+			<item> StructCopy </item>
+			<item> StructCount </item>
+			<item> StructDelete </item>
+			<item> StructFind </item>
+			<item> StructFindKey </item>
+			<item> StructFindValue </item>
+			<item> StructGet </item>
+			<item> StructInsert </item>
+			<item> StructIsEmpty </item>
+			<item> StructKeyArray </item>
+			<item> StructKeyExists </item>
+			<item> StructKeyList </item>
+			<item> StructNew </item>
+			<item> StructSort </item>
+			<item> StructUpdate </item>
+			<item> Tan </item>
+			<item> TimeFormat </item>
+			<item> ToBase64 </item>
+			<item> ToBinary </item>
+			<item> ToString </item>
+			<item> Trim </item>
+			<item> UCase </item>
+			<item> URLDecode </item>
+			<item> URLEncodedFormat </item>
+			<item> URLSessionFormat </item>
+			<item> Val </item>
+			<item> ValueList </item>
+			<item> Week </item>
+			<item> WriteOutput </item>
+			<item> XmlChildPos </item>
+			<item> XmlElemNew </item>
+			<item> XmlFormat </item>
+			<item> XmlNew </item>
+			<item> XmlParse </item>
+			<item> XmlSearch </item>
+			<item> XmlTransform </item>
+			<item> Year </item>
+			<item> YesNoFormat </item>
+
+		</list>
+
+		<contexts>
+
+			<context attribute="Normal Text" lineEndContext="#stay" name="Normal Text">
+				<StringDetect attribute="CF Comment" context="ctxCF Comment" String="&lt;!---" />
+				<StringDetect attribute="HTML Comment" context="ctxHTML Comment" String="&lt;!--" />
+				<RegExpr attribute="Script Tags" context="ctxCFSCRIPT Tag" String="&lt;[cC][fF][sS][cC][rR][iI][pP][tT]" />
+				<RegExpr attribute="Script Tags" context="ctxSCRIPT Tag" String="&lt;[sS][cC][rR][iI][pP][tT]" />
+				<RegExpr attribute="Style Tags" context="ctxSTYLE Tag" String="&lt;[sS][tT][yY][lL][eE]" />
+				<DetectChar attribute="HTML Entities" context="ctxHTML Entities" char="&amp;" />
+				<RegExpr attribute="Custom Tags" context="ctxCustom Tag" String="&lt;\/?[cC][fF]_" />
+				<RegExpr attribute="CFX Tags" context="ctxCFX Tag" String="&lt;\/?[cC][fF][xX]_" />
+				<RegExpr attribute="CF Tags" context="ctxCF Tag" String="&lt;\/?[cC][fF]" />
+				<RegExpr attribute="Table Tags" context="ctxTable Tag" String="&lt;\/?([tT][aAhHbBfFrRdD])|([cC][aA][pP][tT])" />
+				<RegExpr attribute="Anchor Tags" context="ctxAnchor Tag" String="&lt;\/?[aA] " />
+				<RegExpr attribute="Image Tags" context="ctxImage Tag" String="&lt;\/?[iI][mM][gG] " />
+				<RegExpr attribute="Tags" context="ctxTag" String="&lt;!?\/?[a-zA-Z0-9_]+" />
+			</context>
+
+
+
+			<context name="ctxCFSCRIPT Tag" attribute="Script Tags" lineEndContext="#stay">
+				<DetectChar attribute="Script Tags" context="ctxCFSCRIPT Block" char="&gt;" />
+				<DetectChar attribute="Normal Text" context="#stay" char="=" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+			<context name="ctxSCRIPT Tag" attribute="Script Tags" lineEndContext="#stay">
+				<DetectChar attribute="Script Tags" context="ctxSCRIPT Block" char="&gt;" />
+				<DetectChar attribute="Normal Text" context="#stay" char="=" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+			<context name="ctxSTYLE Tag" attribute="Style Tags" lineEndContext="#stay">
+				<DetectChar attribute="Style Tags" context="ctxSTYLE Block" char="&gt;" />
+				<DetectChar attribute="Normal Text" context="#stay" char="=" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+
+
+			<context name="ctxTag" attribute="Tags" lineEndContext="#stay">
+				<DetectChar attribute="Tags" context="#pop" char="&gt;" />
+				<DetectChar attribute="Normal Text" context="#stay" char="=" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+			<context name="ctxTable Tag" attribute="Table Tags" lineEndContext="#stay">
+				<DetectChar attribute="Table Tags" context="#pop" char="&gt;" />
+				<DetectChar attribute="Normal Text" context="#stay" char="=" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+			<context name="ctxAnchor Tag" attribute="Anchor Tags" lineEndContext="#stay">
+				<DetectChar attribute="Anchor Tags" context="#pop" char="&gt;" />
+				<DetectChar attribute="Normal Text" context="#stay" char="=" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+			<context name="ctxImage Tag" attribute="Image Tags" lineEndContext="#stay">
+				<DetectChar attribute="Image Tags" context="#pop" char="&gt;" />
+				<DetectChar attribute="Normal Text" context="#stay" char="=" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+			<context name="ctxCF Tag" attribute="CF Tags" lineEndContext="#stay">
+				<DetectChar attribute="CF Tags" context="#pop" char="&gt;" />
+				<DetectChar attribute="Normal Text" context="#stay" char="=" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+			<context name="ctxCustom Tag" attribute="Custom Tags" lineEndContext="#stay">
+				<DetectChar attribute="Custom Tags" context="#pop" char="&gt;" />
+				<DetectChar attribute="Normal Text" context="#stay" char="=" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+			<context name="ctxCFX Tag" attribute="CFX Tags" lineEndContext="#stay">
+				<DetectChar attribute="CFX Tags" context="#pop" char="&gt;" />
+				<DetectChar attribute="Normal Text" context="#stay" char="=" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+
+
+			<context name="ctxHTML Comment" attribute="HTML Comment" lineEndContext="#stay">
+				<StringDetect attribute="CF Comment" context="ctxCF Comment" String="&lt;!---" />
+				<StringDetect attribute="HTML Comment" context="#pop" String="--&gt;" />
+			</context>
+
+			<context name="ctxCF Comment" attribute="CF Comment" lineEndContext="#stay">
+				<StringDetect attribute="CF Comment" context="#pop" String="---&gt;" />
+			</context>
+
+			<context name="ctxC Style Comment" attribute="Script Comment" lineEndContext="#stay">
+        		<Detect2Chars attribute="Script Comment" context="#pop" char="*" char1="/" />
+			</context>
+
+			<context name="ctxOne Line Comment" attribute="Script Comment" lineEndContext="#pop" />
+
+			<context name="ctxHTML Entities" attribute="HTML Entities" lineEndContext="#pop">
+				<DetectChar attribute="HTML Entities" context="#pop" char=";" />
+			</context>
+
+
+
+			<context name="ctxCFSCRIPT Block" attribute="Normal Text" lineEndContext="#stay">
+				<Detect2Chars attribute="Script Comment" context="ctxC Style Comment" char="/" char1="*" />
+				<Detect2Chars attribute="Script Comment" context="ctxOne Line Comment" char="/" char1="/" />
+				<RegExpr attribute="Script Strings" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Script Strings" context="#stay" String="'[^']*'" />
+				<Int attribute="Script Numbers" context="#stay" />
+				<Float attribute="Script Numbers" context="#stay" />
+				<AnyChar attribute="Script Operators" context="#stay" String="[()[\]=+-*/]+" />
+				<AnyChar attribute="Brackets" context="#stay" String="{}" />
+
+				<keyword attribute="Script Keywords" context="#stay" String="CFSCRIPT Keywords" />
+				<keyword attribute="Script Functions" context="#stay" String="CFSCRIPT Functions" />
+				<RegExpr attribute="Script Tags" context="#pop#pop" String="&lt;/[cC][fF][sS][cC][rR][iI][pP][tT]&gt;" />
+			</context>
+
+
+
+			<context name="ctxSCRIPT Block" attribute="Normal Text" lineEndContext="#stay">
+				<Detect2Chars attribute="Script Comment" context="ctxC Style Comment" char="/" char1="*" />
+				<Detect2Chars attribute="Script Comment" context="ctxOne Line Comment" char="/" char1="/" />
+				<RegExpr attribute="Script Strings" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Script Strings" context="#stay" String="'[^']*'" />
+				<Int attribute="Script Numbers" context="#stay" />
+				<Float attribute="Script Numbers" context="#stay" />
+				<AnyChar attribute="Script Operators" context="#stay" String="[()[\]=+-*/]+" />
+				<AnyChar attribute="Brackets" context="#stay" String="{}" />
+
+				<keyword attribute="Script Keywords" context="#stay" String="Script Keywords" />
+				<keyword attribute="Script Objects" context="#stay" String="Script Objects" />
+				<keyword attribute="Script Functions" context="#stay" String="Script Methods" />
+				<RegExpr attribute="Script Tags" context="#pop#pop" String="&lt;/[sS][cC][rR][iI][pP][tT]&gt;" />
+			</context>
+
+
+
+			<context name="ctxSTYLE Block" attribute="Style Selectors" lineEndContext="#stay">
+				<Detect2Chars attribute="Script Comment" context="ctxC Style Comment" char="/" char1="*" />
+				<DetectChar attribute="Brackets" context="ctxStyle Properties" char="{" />
+				<RegExpr attribute="Style Tags" context="#pop#pop" String="&lt;/[sS][tT][yY][lL][eE]&gt;" />
+			</context>
+
+			<context name="ctxStyle Properties" attribute="Style Properties" lineEndContext="#stay">
+				<DetectChar attribute="Brackets" context="#pop" char="}" />
+				<Detect2Chars attribute="Script Comment" context="ctxC Style Comment" char="/" char1="*" />
+				<DetectChar attribute="Normal Text" context="ctxStyle Values" char=":" />
+			</context>
+
+			<context name="ctxStyle Values" attribute="Style Values" lineEndContext="#pop">
+				<DetectChar attribute="Normal Text" context="#pop" char=";" />
+				<DetectChar attribute="Normal Text" context="#stay" char="," />
+				<Int attribute="Numbers" context="#stay" />
+				<Float attribute="Numbers" context="#stay" />
+				<RegExpr attribute="Numbers" context="#stay" String="#([0-9a-fA-F]{3})|([0-9a-fA-F]{6})" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="&quot;[^&quot;]*&quot;" />
+				<RegExpr attribute="Attribute Values" context="#stay" String="'[^']*'" />
+			</context>
+
+		</contexts>
+
+		<itemDatas>
+
+			<itemData name="Normal Text" defStyleNum="dsNormal" />
+			<itemData name="Tags" defStyleNum="dsNormal"				color="#000080" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Table Tags" defStyleNum="dsNormal"			color="#008080" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Script Tags" defStyleNum="dsNormal"			color="#800000" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Image Tags" defStyleNum="dsNormal"			color="#800080" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Style Tags" defStyleNum="dsNormal"			color="#800080" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Anchor Tags" defStyleNum="dsNormal"			color="#008000" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Attribute Values" defStyleNum="dsNormal"	color="#0000ff" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="HTML Comment" defStyleNum="dsComment"		color="#008000" selColor="#999999" bold="0" italic="0" />
+			<itemData name="CF Comment" defStyleNum="dsComment"			color="#ff9900" selColor="#999999" bold="0" italic="0" />
+			<itemData name="Script Comment" defStyleNum="dsComment"		color="#ff9900" selColor="#999999" bold="0" italic="0" />
+			<itemData name="CF Tags" defStyleNum="dsNormal"				color="#800000" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Custom Tags" defStyleNum="dsNormal"			color="#cc6666" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="CFX Tags" defStyleNum="dsNormal"			color="#008000" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Numbers" defStyleNum="dsNormal"				color="#0000ff" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="HTML Entities" defStyleNum="dsNormal"		color="#000000" selColor="#ffffff" bold="1" italic="0" />
+			<itemData name="Style Selectors" defStyleNum="dsNormal"		color="#ff00ff" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Style Properties" defStyleNum="dsNormal"	color="#000080" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Style Values" defStyleNum="dsNormal"		color="#ff0000" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Brackets" defStyleNum="dsNormal"			color="#000080" selColor="#ffffff" bold="1" italic="0" />
+			<itemData name="Script Numbers" defStyleNum="dsNormal"		color="#ff00ff" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Script Strings" defStyleNum="dsNormal"		color="#008080" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Script Operators" defStyleNum="dsNormal"	color="#0000ff" selColor="#ffffff" bold="0" italic="0" />
+			<itemData name="Script Keywords" defStyleNum="dsNormal"		color="#0000cc" selColor="#ffffff" bold="1" italic="0" />
+			<itemData name="Script Functions" defStyleNum="dsFunction"	bold="1" />
+			<itemData name="Script Objects" defStyleNum="dsNormal"		color="#0000cc" selColor="#ffffff" bold="1" italic="0" />
+
+		</itemDatas>
+
+	</highlighting>
+
+	<general>
+
+		<comments>
+
+			<comment name="multiLine" start="&lt;!--" end="--&gt;" />
+			<comment name="multiLine" start="/*" end="*/" />
+			<comment name="singleLine" start="//" />
+
+		</comments>
+
+		<keywords casesensitive="0" weakDeliminator="-" />
+
+	</general>
+
+</language>
diff --git a/xml/commonlisp.xml b/xml/commonlisp.xml
new file mode 100644
--- /dev/null
+++ b/xml/commonlisp.xml
@@ -0,0 +1,1200 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  This file is part of KDE's kate project.
+  
+  copyright   : (C) 2004 by Dominik Haumann
+  email       : dhdev at gmx dot de
+
+ **********************************************************************
+ * 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.                                       *
+ **********************************************************************
+ -->
+<language version="3" kateversion="5.0" name="Common Lisp" section="Sources" extensions="*.lisp;*.cl;*.lsp" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPLv2+">
+  <highlighting>
+    <list name="symbols">
+      <item> &lt; </item>
+      <item> &lt;= </item>
+      <item> = </item>
+      <item> &gt; </item>
+      <item> &gt;= </item>
+      <item> =&gt; </item>
+      <item> - </item> 
+      <item> / </item> 
+      <item> /= </item> 
+      <item> // </item> 
+      <item> /// </item> 
+      <item> * </item> 
+      <item> ** </item> 
+      <item> *** </item> 
+      <item> + </item> 
+      <item> ++ </item> 
+      <item> +++ </item> 
+      <item> 1- </item> 
+      <item> 1+ </item> 
+    </list>
+    <list name="definitions">
+      <item> defclass </item> 
+      <item> defconstant </item> 
+      <item> defgeneric </item> 
+      <item> define-compiler-macro </item> 
+      <item> define-condition </item> 
+      <item> define-method-combination </item> 
+      <item> define-modify-macro </item> 
+      <item> define-setf-expander </item> 
+      <item> define-setf-method </item> 
+      <item> define-symbol-macro </item> 
+      <item> defmacro </item> 
+      <item> defmethod </item> 
+      <item> defpackage </item> 
+      <item> defparameter </item> 
+      <item> defsetf </item> 
+      <item> deftype </item> 
+      <item> defvar </item> 
+      <item> defun </item> 
+      <item> defstruct </item> 
+    </list>
+    <list name="keywords">
+      <item> abort </item> 
+      <item> abs </item> 
+      <item> access </item> 
+      <item> acons </item> 
+      <item> acos </item> 
+      <item> acosh </item> 
+      <item> add-method </item> 
+      <item> adjoin </item> 
+      <item> adjustable-array-p </item> 
+      <item> adjust-array </item> 
+      <item> allocate-instance </item> 
+      <item> alpha-char-p </item> 
+      <item> alphanumericp </item> 
+      <item> and </item> 
+      <item> append </item> 
+      <item> apply </item> 
+      <item> applyhook </item> 
+      <item> apropos </item> 
+      <item> apropos-list </item> 
+      <item> aref </item> 
+      <item> arithmetic-error </item> 
+      <item> arithmetic-error-operands </item> 
+      <item> arithmetic-error-operation </item> 
+      <item> array </item> 
+      <item> array-dimension </item> 
+      <item> array-dimension-limit </item> 
+      <item> array-dimensions </item> 
+      <item> array-displacement </item> 
+      <item> array-element-type </item> 
+      <item> array-has-fill-pointer-p </item> 
+      <item> array-in-bounds-p </item> 
+      <item> arrayp </item> 
+      <item> array-rank </item> 
+      <item> array-rank-limit </item> 
+      <item> array-row-major-index </item> 
+      <item> array-total-size </item> 
+      <item> array-total-size-limit </item> 
+      <item> ash </item> 
+      <item> asin </item> 
+      <item> asinh </item> 
+      <item> assert </item> 
+      <item> assoc </item> 
+      <item> assoc-if </item> 
+      <item> assoc-if-not </item> 
+      <item> atan </item> 
+      <item> atanh </item> 
+      <item> atom </item> 
+      <item> base-char </item> 
+      <item> base-string </item> 
+      <item> bignum </item> 
+      <item> bit </item> 
+      <item> bit-and </item> 
+      <item> bit-andc1 </item> 
+      <item> bit-andc2 </item> 
+      <item> bit-eqv </item> 
+      <item> bit-ior </item> 
+      <item> bit-nand </item> 
+      <item> bit-nor </item> 
+      <item> bit-not </item> 
+      <item> bit-orc1 </item> 
+      <item> bit-orc2 </item> 
+      <item> bit-vector </item> 
+      <item> bit-vector-p </item> 
+      <item> bit-xor </item> 
+      <item> block </item> 
+      <item> boole </item> 
+      <item> boole-1 </item> 
+      <item> boole-2 </item> 
+      <item> boolean </item> 
+      <item> boole-and </item> 
+      <item> boole-andc1 </item> 
+      <item> boole-andc2 </item> 
+      <item> boole-c1 </item> 
+      <item> boole-c2 </item> 
+      <item> boole-clr </item> 
+      <item> boole-eqv </item> 
+      <item> boole-ior </item> 
+      <item> boole-nand </item> 
+      <item> boole-nor </item> 
+      <item> boole-orc1 </item> 
+      <item> boole-orc2 </item> 
+      <item> boole-set </item> 
+      <item> boole-xor </item> 
+      <item> both-case-p </item> 
+      <item> boundp </item> 
+      <item> break </item> 
+      <item> broadcast-stream </item> 
+      <item> broadcast-stream-streams </item> 
+      <item> built-in-class </item> 
+      <item> butlast </item> 
+      <item> byte </item> 
+      <item> byte-position </item> 
+      <item> byte-size </item> 
+      <item> caaaar </item>
+      <item> caaadr </item>
+      <item> caaar </item> 
+      <item> caadar </item>
+      <item> caaddr </item>
+      <item> caadr </item> 
+      <item> caar </item> 
+      <item> cadaar </item>
+      <item> cadadr </item>
+      <item> cadar </item> 
+      <item> caddar </item>
+      <item> cadddr </item>
+      <item> caddr </item> 
+      <item> cadr </item> 
+      <item> call-arguments-limit </item> 
+      <item> call-method </item> 
+      <item> call-next-method </item> 
+      <item> capitalize </item> 
+      <item> car </item> 
+      <item> case </item> 
+      <item> catch </item> 
+      <item> ccase </item> 
+      <item> cdaaar </item> 
+      <item> cdaadr </item> 
+      <item> cdaar </item> 
+      <item> cdadar </item> 
+      <item> cdaddr </item> 
+      <item> cdadr </item> 
+      <item> cdar </item> 
+      <item> cddaar </item> 
+      <item> cddadr </item> 
+      <item> cddar </item> 
+      <item> cdddar </item> 
+      <item> cddddr </item> 
+      <item> cdddr </item> 
+      <item> cddr </item> 
+      <item> cdr </item> 
+      <item> ceiling </item> 
+      <item> cell-error </item> 
+      <item> cell-error-name </item> 
+      <item> cerror </item> 
+      <item> change-class </item> 
+      <item> char </item> 
+      <item> char&lt; </item> 
+      <item> char&lt;= </item> 
+      <item> char= </item> 
+      <item> char&gt; </item> 
+      <item> char&gt;= </item> 
+      <item> char/= </item> 
+      <item> character </item> 
+      <item> characterp </item> 
+      <item> char-bit </item> 
+      <item> char-bits </item> 
+      <item> char-bits-limit </item> 
+      <item> char-code </item> 
+      <item> char-code-limit </item> 
+      <item> char-control-bit </item> 
+      <item> char-downcase </item> 
+      <item> char-equal </item> 
+      <item> char-font </item> 
+      <item> char-font-limit </item> 
+      <item> char-greaterp </item> 
+      <item> char-hyper-bit </item> 
+      <item> char-int </item> 
+      <item> char-lessp </item> 
+      <item> char-meta-bit </item> 
+      <item> char-name </item> 
+      <item> char-not-equal </item> 
+      <item> char-not-greaterp </item> 
+      <item> char-not-lessp </item> 
+      <item> char-super-bit </item> 
+      <item> char-upcase </item> 
+      <item> check-type </item> 
+      <item> cis </item> 
+      <item> class </item> 
+      <item> class-name </item> 
+      <item> class-of </item> 
+      <item> clear-input </item> 
+      <item> clear-output </item> 
+      <item> close </item> 
+      <item> clrhash </item> 
+      <item> code-char </item> 
+      <item> coerce </item> 
+      <item> commonp </item> 
+      <item> compilation-speed </item> 
+      <item> compile </item> 
+      <item> compiled-function </item> 
+      <item> compiled-function-p </item> 
+      <item> compile-file </item> 
+      <item> compile-file-pathname </item> 
+      <item> compiler-let </item> 
+      <item> compiler-macro </item> 
+      <item> compiler-macro-function </item> 
+      <item> complement </item> 
+      <item> complex </item> 
+      <item> complexp </item> 
+      <item> compute-applicable-methods </item> 
+      <item> compute-restarts </item> 
+      <item> concatenate </item> 
+      <item> concatenated-stream </item> 
+      <item> concatenated-stream-streams </item> 
+      <item> cond </item> 
+      <item> condition </item> 
+      <item> conjugate </item> 
+      <item> cons </item> 
+      <item> consp </item> 
+      <item> constantly </item> 
+      <item> constantp </item> 
+      <item> continue </item> 
+      <item> control-error </item> 
+      <item> copy-alist </item> 
+      <item> copy-list </item> 
+      <item> copy-pprint-dispatch </item> 
+      <item> copy-readtable </item> 
+      <item> copy-seq </item> 
+      <item> copy-structure </item> 
+      <item> copy-symbol </item> 
+      <item> copy-tree </item> 
+      <item> cos </item> 
+      <item> cosh </item> 
+      <item> count </item> 
+      <item> count-if </item> 
+      <item> count-if-not </item> 
+      <item> ctypecase </item> 
+      <item> debug </item> 
+      <item> decf </item> 
+      <item> declaim </item> 
+      <item> declaration </item> 
+      <item> declare </item> 
+      <item> decode-float </item> 
+      <item> decode-universal-time </item> 
+      <item> delete </item> 
+      <item> delete-duplicates </item> 
+      <item> delete-file </item> 
+      <item> delete-if </item> 
+      <item> delete-if-not </item> 
+      <item> delete-package </item> 
+      <item> denominator </item> 
+      <item> deposit-field </item> 
+      <item> describe </item> 
+      <item> describe-object </item> 
+      <item> destructuring-bind </item> 
+      <item> digit-char </item> 
+      <item> digit-char-p </item> 
+      <item> directory </item> 
+      <item> directory-namestring </item> 
+      <item> disassemble </item> 
+      <item> division-by-zero </item> 
+      <item> do </item> 
+      <item> do* </item> 
+      <item> do-all-symbols </item> 
+      <item> documentation </item> 
+      <item> do-exeternal-symbols </item> 
+      <item> do-external-symbols </item> 
+      <item> dolist </item> 
+      <item> do-symbols </item> 
+      <item> dotimes </item> 
+      <item> double-float </item> 
+      <item> double-float-epsilon </item> 
+      <item> double-float-negative-epsilon </item> 
+      <item> dpb </item> 
+      <item> dribble </item> 
+      <item> dynamic-extent </item> 
+      <item> ecase </item> 
+      <item> echo-stream </item> 
+      <item> echo-stream-input-stream </item> 
+      <item> echo-stream-output-stream </item> 
+      <item> ed </item> 
+      <item> eighth </item> 
+      <item> elt </item> 
+      <item> encode-universal-time </item> 
+      <item> end-of-file </item> 
+      <item> endp </item> 
+      <item> enough-namestring </item> 
+      <item> ensure-directories-exist </item> 
+      <item> ensure-generic-function </item> 
+      <item> eq </item> 
+      <item> eql </item> 
+      <item> equal </item> 
+      <item> equalp </item> 
+      <item> error </item> 
+      <item> etypecase </item> 
+      <item> eval </item> 
+      <item> evalhook </item> 
+      <item> eval-when </item> 
+      <item> evenp </item> 
+      <item> every </item> 
+      <item> exp </item> 
+      <item> export </item> 
+      <item> expt </item> 
+      <item> extended-char </item> 
+      <item> fboundp </item> 
+      <item> fceiling </item> 
+      <item> fdefinition </item> 
+      <item> ffloor </item> 
+      <item> fifth </item> 
+      <item> file-author </item> 
+      <item> file-error </item> 
+      <item> file-error-pathname </item> 
+      <item> file-length </item> 
+      <item> file-namestring </item> 
+      <item> file-position </item> 
+      <item> file-stream </item> 
+      <item> file-string-length </item> 
+      <item> file-write-date </item> 
+      <item> fill </item> 
+      <item> fill-pointer </item> 
+      <item> find </item> 
+      <item> find-all-symbols </item> 
+      <item> find-class </item> 
+      <item> find-if </item> 
+      <item> find-if-not </item> 
+      <item> find-method </item> 
+      <item> find-package </item> 
+      <item> find-restart </item> 
+      <item> find-symbol </item> 
+      <item> finish-output </item> 
+      <item> first </item> 
+      <item> fixnum </item> 
+      <item> flet </item> 
+      <item> float </item> 
+      <item> float-digits </item> 
+      <item> floating-point-inexact </item> 
+      <item> floating-point-invalid-operation </item> 
+      <item> floating-point-overflow </item> 
+      <item> floating-point-underflow </item> 
+      <item> floatp </item> 
+      <item> float-precision </item> 
+      <item> float-radix </item> 
+      <item> float-sign </item> 
+      <item> floor </item> 
+      <item> fmakunbound </item> 
+      <item> force-output </item> 
+      <item> format </item> 
+      <item> formatter </item> 
+      <item> fourth </item> 
+      <item> fresh-line </item> 
+      <item> fround </item> 
+      <item> ftruncate </item> 
+      <item> ftype </item> 
+      <item> funcall </item> 
+      <item> function </item> 
+      <item> function-keywords </item> 
+      <item> function-lambda-expression </item> 
+      <item> functionp </item> 
+      <item> gbitp </item> 
+      <item> gcd </item> 
+      <item> generic-function </item> 
+      <item> gensym </item> 
+      <item> gentemp </item> 
+      <item> get </item> 
+      <item> get-decoded-time </item> 
+      <item> get-dispatch-macro-character </item> 
+      <item> getf </item> 
+      <item> gethash </item> 
+      <item> get-internal-real-time </item> 
+      <item> get-internal-run-time </item> 
+      <item> get-macro-character </item> 
+      <item> get-output-stream-string </item> 
+      <item> get-properties </item> 
+      <item> get-setf-expansion </item> 
+      <item> get-setf-method </item> 
+      <item> get-universal-time </item> 
+      <item> go </item> 
+      <item> graphic-char-p </item> 
+      <item> handler-bind </item> 
+      <item> handler-case </item> 
+      <item> hash-table </item> 
+      <item> hash-table-count </item> 
+      <item> hash-table-p </item> 
+      <item> hash-table-rehash-size </item> 
+      <item> hash-table-rehash-threshold </item> 
+      <item> hash-table-size </item> 
+      <item> hash-table-test </item> 
+      <item> host-namestring </item> 
+      <item> identity </item> 
+      <item> if </item> 
+      <item> if-exists </item> 
+      <item> ignorable </item> 
+      <item> ignore </item> 
+      <item> ignore-errors </item> 
+      <item> imagpart </item> 
+      <item> import </item> 
+      <item> incf </item> 
+      <item> initialize-instance </item> 
+      <item> inline </item> 
+      <item> in-package </item> 
+      <item> in-package </item> 
+      <item> input-stream-p </item> 
+      <item> inspect </item> 
+      <item> int-char </item> 
+      <item> integer </item> 
+      <item> integer-decode-float </item> 
+      <item> integer-length </item> 
+      <item> integerp </item> 
+      <item> interactive-stream-p </item> 
+      <item> intern </item> 
+      <item> internal-time-units-per-second </item> 
+      <item> intersection </item> 
+      <item> invalid-method-error </item> 
+      <item> invoke-debugger </item> 
+      <item> invoke-restart </item> 
+      <item> invoke-restart-interactively </item> 
+      <item> isqrt </item> 
+      <item> keyword </item> 
+      <item> keywordp </item> 
+      <item> labels </item> 
+      <item> lambda </item> 
+      <item> lambda-list-keywords </item> 
+      <item> lambda-parameters-limit </item> 
+      <item> last </item> 
+      <item> lcm </item> 
+      <item> ldb </item> 
+      <item> ldb-test </item> 
+      <item> ldiff </item> 
+      <item> least-negative-double-float </item> 
+      <item> least-negative-long-float </item> 
+      <item> least-negative-normalized-double-float </item> 
+      <item> least-negative-normalized-long-float </item> 
+      <item> least-negative-normalized-short-float </item> 
+      <item> least-negative-normalized-single-float </item> 
+      <item> least-negative-short-float </item> 
+      <item> least-negative-single-float </item> 
+      <item> least-positive-double-float </item> 
+      <item> least-positive-long-float </item> 
+      <item> least-positive-normalized-double-float </item> 
+      <item> least-positive-normalized-long-float </item> 
+      <item> least-positive-normalized-short-float </item> 
+      <item> least-positive-normalized-single-float </item> 
+      <item> least-positive-short-float </item> 
+      <item> least-positive-single-float </item> 
+      <item> length </item> 
+      <item> let </item> 
+      <item> let* </item> 
+      <item> lisp </item> 
+      <item> lisp-implementation-type </item> 
+      <item> lisp-implementation-version </item> 
+      <item> list </item> 
+      <item> list* </item> 
+      <item> list-all-packages </item> 
+      <item> listen </item> 
+      <item> list-length </item> 
+      <item> listp </item> 
+      <item> load </item> 
+      <item> load-logical-pathname-translations </item> 
+      <item> load-time-value </item> 
+      <item> locally </item> 
+      <item> log </item> 
+      <item> logand </item> 
+      <item> logandc1 </item> 
+      <item> logandc2 </item> 
+      <item> logbitp </item> 
+      <item> logcount </item> 
+      <item> logeqv </item> 
+      <item> logical-pathname </item> 
+      <item> logical-pathname-translations </item> 
+      <item> logior </item> 
+      <item> lognand </item> 
+      <item> lognor </item> 
+      <item> lognot </item> 
+      <item> logorc1 </item> 
+      <item> logorc2 </item> 
+      <item> logtest </item> 
+      <item> logxor </item> 
+      <item> long-float </item> 
+      <item> long-float-epsilon </item> 
+      <item> long-float-negative-epsilon </item> 
+      <item> long-site-name </item> 
+      <item> loop </item> 
+      <item> loop-finish </item> 
+      <item> lower-case-p </item> 
+      <item> machine-instance </item> 
+      <item> machine-type </item> 
+      <item> machine-version </item> 
+      <item> macroexpand </item> 
+      <item> macroexpand-1 </item> 
+      <item> macroexpand-l </item> 
+      <item> macro-function </item> 
+      <item> macrolet </item> 
+      <item> make-array </item> 
+      <item> make-array </item> 
+      <item> make-broadcast-stream </item> 
+      <item> make-char </item> 
+      <item> make-concatenated-stream </item> 
+      <item> make-condition </item> 
+      <item> make-dispatch-macro-character </item> 
+      <item> make-echo-stream </item> 
+      <item> make-hash-table </item> 
+      <item> make-instance </item> 
+      <item> make-instances-obsolete </item> 
+      <item> make-list </item> 
+      <item> make-load-form </item> 
+      <item> make-load-form-saving-slots </item> 
+      <item> make-method </item> 
+      <item> make-package </item> 
+      <item> make-pathname </item> 
+      <item> make-random-state </item> 
+      <item> make-sequence </item> 
+      <item> make-string </item> 
+      <item> make-string-input-stream </item> 
+      <item> make-string-output-stream </item> 
+      <item> make-symbol </item> 
+      <item> make-synonym-stream </item> 
+      <item> make-two-way-stream </item> 
+      <item> makunbound </item> 
+      <item> map </item> 
+      <item> mapc </item> 
+      <item> mapcan </item> 
+      <item> mapcar </item> 
+      <item> mapcon </item> 
+      <item> maphash </item> 
+      <item> map-into </item> 
+      <item> mapl </item> 
+      <item> maplist </item> 
+      <item> mask-field </item> 
+      <item> max </item> 
+      <item> member </item> 
+      <item> member-if </item> 
+      <item> member-if-not </item> 
+      <item> merge </item> 
+      <item> merge-pathname </item> 
+      <item> merge-pathnames </item> 
+      <item> method </item> 
+      <item> method-combination </item> 
+      <item> method-combination-error </item> 
+      <item> method-qualifiers </item> 
+      <item> min </item> 
+      <item> minusp </item> 
+      <item> mismatch </item> 
+      <item> mod </item> 
+      <item> most-negative-double-float </item> 
+      <item> most-negative-fixnum </item> 
+      <item> most-negative-long-float </item> 
+      <item> most-negative-short-float </item> 
+      <item> most-negative-single-float </item> 
+      <item> most-positive-double-float </item> 
+      <item> most-positive-fixnum </item> 
+      <item> most-positive-long-float </item> 
+      <item> most-positive-short-float </item> 
+      <item> most-positive-single-float </item> 
+      <item> muffle-warning </item> 
+      <item> multiple-value-bind </item> 
+      <item> multiple-value-call </item> 
+      <item> multiple-value-list </item> 
+      <item> multiple-value-prog1 </item> 
+      <item> multiple-value-seteq </item> 
+      <item> multiple-value-setq </item> 
+      <item> multiple-values-limit </item> 
+      <item> name-char </item> 
+      <item> namestring </item> 
+      <item> nbutlast </item> 
+      <item> nconc </item> 
+      <item> next-method-p </item> 
+      <item> nil </item> 
+      <item> nintersection </item> 
+      <item> ninth </item> 
+      <item> no-applicable-method </item> 
+      <item> no-next-method </item> 
+      <item> not </item> 
+      <item> notany </item> 
+      <item> notevery </item> 
+      <item> notinline </item> 
+      <item> nreconc </item> 
+      <item> nreverse </item> 
+      <item> nset-difference </item> 
+      <item> nset-exclusive-or </item> 
+      <item> nstring </item> 
+      <item> nstring-capitalize </item> 
+      <item> nstring-downcase </item> 
+      <item> nstring-upcase </item> 
+      <item> nsublis </item> 
+      <item> nsubst </item> 
+      <item> nsubst-if </item> 
+      <item> nsubst-if-not </item> 
+      <item> nsubstitute </item> 
+      <item> nsubstitute-if </item> 
+      <item> nsubstitute-if-not </item> 
+      <item> nth </item> 
+      <item> nthcdr </item> 
+      <item> nth-value </item> 
+      <item> null </item> 
+      <item> number </item> 
+      <item> numberp </item> 
+      <item> numerator </item> 
+      <item> nunion </item> 
+      <item> oddp </item> 
+      <item> open </item> 
+      <item> open-stream-p </item> 
+      <item> optimize </item> 
+      <item> or </item> 
+      <item> otherwise </item> 
+      <item> output-stream-p </item> 
+      <item> package </item> 
+      <item> package-error </item> 
+      <item> package-error-package </item> 
+      <item> package-name </item> 
+      <item> package-nicknames </item> 
+      <item> packagep </item> 
+      <item> package-shadowing-symbols </item> 
+      <item> package-used-by-list </item> 
+      <item> package-use-list </item> 
+      <item> pairlis </item> 
+      <item> parse-error </item> 
+      <item> parse-integer </item> 
+      <item> parse-namestring </item> 
+      <item> pathname </item> 
+      <item> pathname-device </item> 
+      <item> pathname-directory </item> 
+      <item> pathname-host </item> 
+      <item> pathname-match-p </item> 
+      <item> pathname-name </item> 
+      <item> pathnamep </item> 
+      <item> pathname-type </item> 
+      <item> pathname-version </item> 
+      <item> peek-char </item> 
+      <item> phase </item> 
+      <item> pi </item> 
+      <item> plusp </item> 
+      <item> pop </item> 
+      <item> position </item> 
+      <item> position-if </item> 
+      <item> position-if-not </item> 
+      <item> pprint </item> 
+      <item> pprint-dispatch </item> 
+      <item> pprint-exit-if-list-exhausted </item> 
+      <item> pprint-fill </item> 
+      <item> pprint-indent </item> 
+      <item> pprint-linear </item> 
+      <item> pprint-logical-block </item> 
+      <item> pprint-newline </item> 
+      <item> pprint-pop </item> 
+      <item> pprint-tab </item> 
+      <item> pprint-tabular </item> 
+      <item> prin1 </item> 
+      <item> prin1-to-string </item> 
+      <item> princ </item> 
+      <item> princ-to-string </item> 
+      <item> print </item> 
+      <item> print-not-readable </item> 
+      <item> print-not-readable-object </item> 
+      <item> print-object </item> 
+      <item> print-unreadable-object </item> 
+      <item> probe-file </item> 
+      <item> proclaim </item> 
+      <item> prog </item> 
+      <item> prog* </item> 
+      <item> prog1 </item> 
+      <item> prog2 </item> 
+      <item> progn </item> 
+      <item> program-error </item> 
+      <item> progv </item> 
+      <item> provide </item> 
+      <item> psetf </item> 
+      <item> psetq </item> 
+      <item> push </item> 
+      <item> pushnew </item> 
+      <item> putprop </item> 
+      <item> quote </item> 
+      <item> random </item> 
+      <item> random-state </item> 
+      <item> random-state-p </item> 
+      <item> rassoc </item> 
+      <item> rassoc-if </item> 
+      <item> rassoc-if-not </item> 
+      <item> ratio </item> 
+      <item> rational </item> 
+      <item> rationalize </item> 
+      <item> rationalp </item> 
+      <item> read </item> 
+      <item> read-byte </item> 
+      <item> read-char </item> 
+      <item> read-char-no-hang </item> 
+      <item> read-delimited-list </item> 
+      <item> reader-error </item> 
+      <item> read-eval-print </item> 
+      <item> read-from-string </item> 
+      <item> read-line </item> 
+      <item> read-preserving-whitespace </item> 
+      <item> read-sequence </item> 
+      <item> readtable </item> 
+      <item> readtable-case </item> 
+      <item> readtablep </item> 
+      <item> real </item> 
+      <item> realp </item> 
+      <item> realpart </item> 
+      <item> reduce </item> 
+      <item> reinitialize-instance </item> 
+      <item> rem </item> 
+      <item> remf </item> 
+      <item> remhash </item> 
+      <item> remove </item> 
+      <item> remove-duplicates </item> 
+      <item> remove-if </item> 
+      <item> remove-if-not </item> 
+      <item> remove-method </item> 
+      <item> remprop </item> 
+      <item> rename-file </item> 
+      <item> rename-package </item> 
+      <item> replace </item> 
+      <item> require </item> 
+      <item> rest </item> 
+      <item> restart </item> 
+      <item> restart-bind </item> 
+      <item> restart-case </item> 
+      <item> restart-name </item> 
+      <item> return </item> 
+      <item> return-from </item> 
+      <item> revappend </item> 
+      <item> reverse </item> 
+      <item> room </item> 
+      <item> rotatef </item> 
+      <item> round </item> 
+      <item> row-major-aref </item> 
+      <item> rplaca </item> 
+      <item> rplacd </item> 
+      <item> safety </item> 
+      <item> satisfies </item> 
+      <item> sbit </item> 
+      <item> scale-float </item> 
+      <item> schar </item> 
+      <item> search </item> 
+      <item> second </item> 
+      <item> sequence </item> 
+      <item> serious-condition </item> 
+      <item> set </item> 
+      <item> set-char-bit </item> 
+      <item> set-difference </item> 
+      <item> set-dispatch-macro-character </item> 
+      <item> set-exclusive-or </item> 
+      <item> setf </item> 
+      <item> set-macro-character </item> 
+      <item> set-pprint-dispatch </item> 
+      <item> setq </item> 
+      <item> set-syntax-from-char </item> 
+      <item> seventh </item> 
+      <item> shadow </item> 
+      <item> shadowing-import </item> 
+      <item> shared-initialize </item> 
+      <item> shiftf </item> 
+      <item> short-float </item> 
+      <item> short-float-epsilon </item> 
+      <item> short-float-negative-epsilon </item> 
+      <item> short-site-name </item> 
+      <item> signal </item> 
+      <item> signed-byte </item> 
+      <item> signum </item> 
+      <item> simle-condition </item> 
+      <item> simple-array </item> 
+      <item> simple-base-string </item> 
+      <item> simple-bit-vector </item> 
+      <item> simple-bit-vector-p </item> 
+      <item> simple-condition-format-arguments </item> 
+      <item> simple-condition-format-control </item> 
+      <item> simple-error </item> 
+      <item> simple-string </item> 
+      <item> simple-string-p </item> 
+      <item> simple-type-error </item> 
+      <item> simple-vector </item> 
+      <item> simple-vector-p </item> 
+      <item> simple-warning </item> 
+      <item> sin </item> 
+      <item> single-flaot-epsilon </item> 
+      <item> single-float </item> 
+      <item> single-float-epsilon </item> 
+      <item> single-float-negative-epsilon </item> 
+      <item> sinh </item> 
+      <item> sixth </item> 
+      <item> sleep </item> 
+      <item> slot-boundp </item> 
+      <item> slot-exists-p </item> 
+      <item> slot-makunbound </item> 
+      <item> slot-missing </item> 
+      <item> slot-unbound </item> 
+      <item> slot-value </item> 
+      <item> software-type </item> 
+      <item> software-version </item> 
+      <item> some </item> 
+      <item> sort </item> 
+      <item> space </item> 
+      <item> special </item> 
+      <item> special-form-p </item> 
+      <item> special-operator-p </item> 
+      <item> speed </item> 
+      <item> sqrt </item> 
+      <item> stable-sort </item> 
+      <item> standard </item> 
+      <item> standard-char </item> 
+      <item> standard-char-p </item> 
+      <item> standard-class </item> 
+      <item> standard-generic-function </item> 
+      <item> standard-method </item> 
+      <item> standard-object </item> 
+      <item> step </item> 
+      <item> storage-condition </item> 
+      <item> store-value </item> 
+      <item> stream </item> 
+      <item> stream-element-type </item> 
+      <item> stream-error </item> 
+      <item> stream-error-stream </item> 
+      <item> stream-external-format </item> 
+      <item> streamp </item> 
+      <item> streamup </item> 
+      <item> string </item> 
+      <item> string&lt; </item> 
+      <item> string&lt;= </item> 
+      <item> string= </item> 
+      <item> string&gt; </item> 
+      <item> string&gt;= </item> 
+      <item> string/= </item> 
+      <item> string-capitalize </item> 
+      <item> string-char </item> 
+      <item> string-char-p </item> 
+      <item> string-downcase </item> 
+      <item> string-equal </item> 
+      <item> string-greaterp </item> 
+      <item> string-left-trim </item> 
+      <item> string-lessp </item> 
+      <item> string-not-equal </item> 
+      <item> string-not-greaterp </item> 
+      <item> string-not-lessp </item> 
+      <item> stringp </item> 
+      <item> string-right-strim </item> 
+      <item> string-right-trim </item> 
+      <item> string-stream </item> 
+      <item> string-trim </item> 
+      <item> string-upcase </item> 
+      <item> structure </item> 
+      <item> structure-class </item> 
+      <item> structure-object </item> 
+      <item> style-warning </item> 
+      <item> sublim </item> 
+      <item> sublis </item> 
+      <item> subseq </item> 
+      <item> subsetp </item> 
+      <item> subst </item> 
+      <item> subst-if </item> 
+      <item> subst-if-not </item> 
+      <item> substitute </item> 
+      <item> substitute-if </item> 
+      <item> substitute-if-not </item> 
+      <item> subtypep </item> 
+      <item> svref </item> 
+      <item> sxhash </item> 
+      <item> symbol </item> 
+      <item> symbol-function </item> 
+      <item> symbol-macrolet </item> 
+      <item> symbol-name </item> 
+      <item> symbolp </item> 
+      <item> symbol-package </item> 
+      <item> symbol-plist </item> 
+      <item> symbol-value </item> 
+      <item> synonym-stream </item> 
+      <item> synonym-stream-symbol </item> 
+      <item> sys </item> 
+      <item> system </item> 
+      <item> t </item> 
+      <item> tagbody </item> 
+      <item> tailp </item> 
+      <item> tan </item> 
+      <item> tanh </item> 
+      <item> tenth </item> 
+      <item> terpri </item> 
+      <item> the </item> 
+      <item> third </item> 
+      <item> throw </item> 
+      <item> time </item> 
+      <item> trace </item> 
+      <item> translate-logical-pathname </item> 
+      <item> translate-pathname </item> 
+      <item> tree-equal </item> 
+      <item> truename </item> 
+      <item> truncase </item> 
+      <item> truncate </item> 
+      <item> two-way-stream </item> 
+      <item> two-way-stream-input-stream </item> 
+      <item> two-way-stream-output-stream </item> 
+      <item> type </item> 
+      <item> typecase </item> 
+      <item> type-error </item> 
+      <item> type-error-datum </item> 
+      <item> type-error-expected-type </item> 
+      <item> type-of </item> 
+      <item> typep </item> 
+      <item> unbound-slot </item> 
+      <item> unbound-slot-instance </item> 
+      <item> unbound-variable </item> 
+      <item> undefined-function </item> 
+      <item> unexport </item> 
+      <item> unintern </item> 
+      <item> union </item> 
+      <item> unless </item> 
+      <item> unread </item> 
+      <item> unread-char </item> 
+      <item> unsigned-byte </item> 
+      <item> untrace </item> 
+      <item> unuse-package </item> 
+      <item> unwind-protect </item> 
+      <item> update-instance-for-different-class </item> 
+      <item> update-instance-for-redefined-class </item> 
+      <item> upgraded-array-element-type </item> 
+      <item> upgraded-complex-part-type </item> 
+      <item> upper-case-p </item> 
+      <item> use-package </item> 
+      <item> user </item> 
+      <item> user-homedir-pathname </item> 
+      <item> use-value </item> 
+      <item> values </item> 
+      <item> values-list </item> 
+      <item> vector </item> 
+      <item> vectorp </item> 
+      <item> vector-pop </item> 
+      <item> vector-push </item> 
+      <item> vector-push-extend </item> 
+      <item> warn </item> 
+      <item> warning </item> 
+      <item> when </item> 
+      <item> wild-pathname-p </item> 
+      <item> with-accessors </item> 
+      <item> with-compilation-unit </item> 
+      <item> with-condition-restarts </item> 
+      <item> with-hash-table-iterator </item> 
+      <item> with-input-from-string </item> 
+      <item> with-open-file </item> 
+      <item> with-open-stream </item> 
+      <item> with-output-to-string </item> 
+      <item> with-package-iterator </item> 
+      <item> with-simple-restart </item> 
+      <item> with-slots </item> 
+      <item> with-standard-io-syntax </item> 
+      <item> write </item> 
+      <item> write-byte </item> 
+      <item> write-char </item> 
+      <item> write-line </item> 
+      <item> write-sequence </item> 
+      <item> write-string </item> 
+      <item> write-to-string </item> 
+      <item> yes-or-no-p </item> 
+      <item> y-or-n-p </item> 
+      <item> zerop </item> 
+    </list>
+
+    <list name="modifiers">
+      <item> :abort </item> 
+      <item> :adjustable </item> 
+      <item> :append </item> 
+      <item> :array </item> 
+      <item> :base </item> 
+      <item> :case </item> 
+      <item> :circle </item> 
+      <item> :conc-name </item> 
+      <item> :constructor </item> 
+      <item> :copier </item> 
+      <item> :count </item> 
+      <item> :create </item> 
+      <item> :default </item> 
+      <item> :defaults </item> 
+      <item> :device </item> 
+      <item> :direction </item> 
+      <item> :directory </item> 
+      <item> :displaced-index-offset </item> 
+      <item> :displaced-to </item> 
+      <item> :element-type </item> 
+      <item> :end1 </item> 
+      <item> :end2 </item> 
+      <item> :end </item> 
+      <item> :error </item> 
+      <item> :escape </item> 
+      <item> :external </item> 
+      <item> :from-end </item> 
+      <item> :gensym </item> 
+      <item> :host </item> 
+      <item> :if-does-not-exist:pretty </item> 
+      <item> :if-exists:print </item> 
+      <item> :include:print-function </item> 
+      <item> :index </item> 
+      <item> :inherited </item> 
+      <item> :initial-contents </item> 
+      <item> :initial-element </item> 
+      <item> :initial-offset </item> 
+      <item> :initial-value </item> 
+      <item> :input </item> 
+      <item> :internal:size </item> 
+      <item> :io </item> 
+      <item> :junk-allowed </item> 
+      <item> :key </item> 
+      <item> :length </item> 
+      <item> :level </item> 
+      <item> :named </item> 
+      <item> :name </item> 
+      <item> :new-version </item> 
+      <item> :nicknames </item> 
+      <item> :output-file </item> 
+      <item> :output </item> 
+      <item> :overwrite </item> 
+      <item> :predicate </item> 
+      <item> :preserve-whitespace </item> 
+      <item> :probe </item> 
+      <item> :radix </item> 
+      <item> :read-only </item> 
+      <item> :rehash-size </item> 
+      <item> :rehash-threshold </item> 
+      <item> :rename-and-delete </item> 
+      <item> :rename </item> 
+      <item> :start1 </item> 
+      <item> :start2 </item> 
+      <item> :start </item> 
+      <item> :stream </item> 
+      <item> :supersede </item> 
+      <item> :test </item> 
+      <item> :test-not </item> 
+      <item> :type </item> 
+      <item> :use </item> 
+      <item> :verbose </item> 
+      <item> :version </item> 
+    </list>
+    <list name="variables">
+      <item> *applyhook* </item>
+      <item> *break-on-signals* </item>
+      <item> *break-on-signals* </item>
+      <item> *break-on-warnings* </item>
+      <item> *compile-file-pathname* </item>
+      <item> *compile-file-pathname* </item>
+      <item> *compile-file-truename* </item>
+      <item> *compile-file-truename* </item>
+      <item> *compile-print* </item>
+      <item> *compile-verbose* </item>
+      <item> *compile-verbose* </item>
+      <item> *debugger-hook* </item>
+      <item> *debug-io* </item>
+      <item> *default-pathname-defaults* </item>
+      <item> *error-output* </item>
+      <item> *evalhook* </item>
+      <item> *features* </item>
+      <item> *gensym-counter* </item>
+      <item> *load-pathname*  </item>
+      <item> *load-print* </item>
+      <item> *load-truename* </item>
+      <item> *load-verbose* </item>
+      <item> *macroexpand-hook* </item>
+      <item> *modules* </item>
+      <item> *package* </item>
+      <item> *print-array* </item>
+      <item> *print-base* </item>
+      <item> *print-case* </item>
+      <item> *print-circle* </item>
+      <item> *print-escape* </item>
+      <item> *print-gensym* </item>
+      <item> *print-length* </item>
+      <item> *print-level* </item>
+      <item> *print-lines* </item>
+      <item> *print-miser-width* </item>
+      <item> *print-miser-width* </item>
+      <item> *print-pprint-dispatch* </item>
+      <item> *print-pprint-dispatch* </item>
+      <item> *print-pretty* </item>
+      <item> *print-radix* </item>
+      <item> *print-readably* </item>
+      <item> *print-right-margin* </item>
+      <item> *print-right-margin* </item>
+      <item> *query-io* </item>
+      <item> *random-state* </item>
+      <item> *read-base* </item>
+      <item> *read-default-float-format* </item>
+      <item> *read-eval* </item>
+      <item> *read-suppress* </item>
+      <item> *readtable* </item>
+      <item> *standard-input* </item>
+      <item> *standard-output* </item>
+      <item> *terminal-io* </item>
+      <item> *trace-output* </item>
+    </list>
+
+    <contexts>
+      <context name="Normal" attribute="Normal" lineEndContext="#stay">
+        <RegExpr attribute="Region Marker" context="#stay" String=";+\s*BEGIN.*$" beginRegion="region"/>
+        <RegExpr attribute="Region Marker" context="#stay" String=";+\s*END.*$" endRegion="region"/>
+        <RegExpr attribute="Comment" context="#stay" String=";.*$"/>
+        <Detect2Chars attribute="Comment" context="MultiLineComment" char="#" char1="|" beginRegion="region"/>
+        <DetectChar attribute="Brackets" context="#stay" char="("/>
+        <DetectChar attribute="Brackets" context="#stay" char=")"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Operator" context="#stay" String="symbols"/>
+        <keyword attribute="Modifier" context="#stay" String="modifiers"/>
+        <keyword attribute="Variable" context="#stay" String="variables"/>
+        <keyword attribute="Definition" context="function_decl" String="definitions"/>
+        <RegExpr attribute="Char" context="#stay" String="#\\."/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <RegExpr attribute="Char" context="SpecialNumber" String="#[bodxei]"/>
+        <RegExpr attribute="Decimal" context="#stay" String="#[tf]"/>
+        <Float attribute="Float" context="#stay"/>
+        <Int attribute="Decimal" context="#stay"/>
+      </context>
+      <context name="MultiLineComment" attribute="Comment" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="|" char1="#" endRegion="region"/>
+      </context>
+      <context name="function_decl" attribute="Function" lineEndContext="#stay">
+        <RegExpr attribute="Function" context="#pop" String="\s*[A-Za-z0-9-+\&lt;\&gt;//\*]*\s*" />
+      </context>
+      <context name="SpecialNumber" attribute="Normal" lineEndContext="#pop">
+        <Float attribute="Float" context="#pop"/>
+        <Int attribute="Decimal" context="#pop"/>
+        <HlCOct attribute="BaseN" context="#pop"/>
+        <HlCHex attribute="Float" context="#pop"/>
+      </context>
+      <context name="String" attribute="String" lineEndContext="#stay">
+        <RegExpr attribute="Char" context="#stay" String="#\\."/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal"      defStyleNum="dsNormal"/>
+      <itemData name="Keyword"     defStyleNum="dsKeyword"/>
+      <itemData name="Operator"    defStyleNum="dsOperator"/>
+      <itemData name="Modifier"    defStyleNum="dsBuiltIn"/>
+      <itemData name="Variable"    defStyleNum="dsVariable"/>
+      <itemData name="Definition"  defStyleNum="dsKeyword"/>
+      <itemData name="Data"        defStyleNum="dsDataType"/>
+      <itemData name="Decimal"     defStyleNum="dsDecVal"/>
+      <itemData name="BaseN"       defStyleNum="dsBaseN"/>
+      <itemData name="Float"       defStyleNum="dsFloat"/>
+      <itemData name="Function"    defStyleNum="dsFunction"/>
+      <itemData name="Char"        defStyleNum="dsChar"/>
+      <itemData name="String"      defStyleNum="dsString"/>
+      <itemData name="Comment"     defStyleNum="dsComment"/>
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
+      <itemData name="Brackets"    defStyleNum="dsNormal" color="#0000ff" selColor="#00ff00" bold="1" italic="0"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="1" weakDeliminator="-+*?!&lt;&gt;=/:#\"/>
+    <comments>
+      <comment name="singleLine" start=";;" />
+      <comment name="multiLine" start="#|" end="|#" />
+    </comments>
+  </general>
+</language>
diff --git a/xml/cpp.xml b/xml/cpp.xml
new file mode 100644
--- /dev/null
+++ b/xml/cpp.xml
@@ -0,0 +1,1612 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+    <!ENTITY space " ">
+    <!ENTITY separators ",&#59;">
+    <!ENTITY ns_punctuators "!&#37;&space;&amp;()+-/.*&lt;=&gt;?[]{|}~^&separators;">
+]>
+<!--
+  Copyright (c) 2012 by Alex Turbov (i.zaufi@gmail.com)
+  -->
+<language
+    name="C++"
+    section="Sources"
+    version="3"
+    kateversion="5.0"
+    indenter="cstyle"
+    style="C++"
+    mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr"
+    extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc"
+    author="Alex Turbov (i.zaufi@gmail.com)"
+    license="LGPL"
+    priority="9"
+  >
+<!--
+  The main purpose of this file is to hold Qt extensions syntax in a single place,
+  so later it can be included (using IncludeRules) to other (C++ based) syntaxes.
+
+  Based on Qt 4.8 documentation (http://qt-project.org/doc/qt-4.8/)
+-->
+<highlighting>
+  <list name="Qt4Macros">
+    <item> emit </item>
+    <item> signals </item>
+    <item> slots </item>
+    <item> foreach </item>
+    <item> forever </item>
+    <item> SIGNAL </item>
+    <item> SLOT </item>
+    <!-- http://qt-project.org/doc/qt-4.8/QApplication.html#macros -->
+    <item> qApp </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qcoreapplication.html#macros -->
+    <item> Q_DECLARE_TR_FUNCTIONS </item>
+    <!-- QObject related macros from http://qt-project.org/doc/qt-4.8/qobject.html#macros -->
+    <item> Q_CLASSINFO </item>
+    <item> Q_DISABLE_COPY </item>
+    <item> Q_EMIT </item>
+    <item> Q_ENUMS </item>
+    <item> Q_FLAGS </item>
+    <item> Q_INTERFACES </item>
+    <item> Q_INVOKABLE </item>
+    <item> Q_OBJECT </item>
+    <item> Q_PROPERTY </item>
+    <item> Q_SIGNAL </item>
+    <item> Q_SIGNALS </item>
+    <item> Q_SLOT </item>
+    <item> Q_SLOTS </item>
+    <!-- Various macros from:
+        http://qt-project.org/doc/qt-4.8/qmetatype.html#macros
+        http://qt-project.org/doc/qt-4.8/qbytearray.html#macros
+        http://qt-project.org/doc/qt-4.8/qstring.html#macros
+        http://qt-project.org/doc/qt-4.8/qurl.html#macros
+      -->
+    <item> Q_DECLARE_METATYPE </item>
+    <item> QT_NO_CAST_FROM_BYTEARRAY </item>
+    <item> QT_NO_CAST_FROM_ASCII </item>
+    <item> QT_NO_CAST_TO_ASCII </item>
+    <item> QT_NO_URL_CAST_FROM_STRING </item>
+    <item> QT_USE_QSTRINGBUILDER </item>
+    <!-- QtTest macros: http://qt-project.org/doc/qt-4.8/qtest.html#macros -->
+    <item> QBENCHMARK </item>
+    <item> QBENCHMARK_ONCE </item>
+    <item> QCOMPARE </item>
+    <item> QEXPECT_FAIL </item>
+    <item> QFAIL </item>
+    <item> QFETCH </item>
+    <item> QSKIP </item>
+    <item> QTEST </item>
+    <item> QTEST_APPLESS_MAIN </item>
+    <item> QTEST_MAIN </item>
+    <item> QTEST_NOOP_MAIN </item>
+    <item> QVERIFY2 </item>
+    <item> QVERIFY </item>
+    <item> QWARN </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qaxfactory.html#macros -->
+    <item> QAXCLASS </item>
+    <item> QAXFACTORY_BEGIN </item>
+    <item> QAXFACTORY_DEFAULT </item>
+    <item> QAXFACTORY_END </item>
+    <item> QAXFACTORY_EXPORT </item>
+    <item> QAXTYPE </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qdesignercustomwidgetinterface.html#macros -->
+    <item> QDESIGNER_WIDGET_EXPORT </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qdeclarativeengine.html#macros -->
+    <item> QML_DECLARE_TYPE </item>
+    <item> QML_DECLARE_TYPEINFO </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qwebpage.html#macros -->
+    <item> QTWEBKIT_VERSION </item>
+    <item> QTWEBKIT_VERSION_CHECK </item>
+    <item> QTWEBKIT_VERSION_STR </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qmetaobject.html#macros -->
+    <item> Q_ARG </item>
+    <item> Q_RETURN_ARG </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qatomicint.html#macros -->
+    <item> Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE </item>
+    <item> Q_ATOMIC_INT_FETCH_AND_ADD_IS_NOT_NATIVE </item>
+    <item> Q_ATOMIC_INT_FETCH_AND_ADD_IS_SOMETIMES_NATIVE </item>
+    <item> Q_ATOMIC_INT_FETCH_AND_ADD_IS_WAIT_FREE </item>
+    <item> Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE </item>
+    <item> Q_ATOMIC_INT_FETCH_AND_STORE_IS_NOT_NATIVE </item>
+    <item> Q_ATOMIC_INT_FETCH_AND_STORE_IS_SOMETIMES_NATIVE </item>
+    <item> Q_ATOMIC_INT_FETCH_AND_STORE_IS_WAIT_FREE </item>
+    <item> Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE </item>
+    <item> Q_ATOMIC_INT_REFERENCE_COUNTING_IS_NOT_NATIVE </item>
+    <item> Q_ATOMIC_INT_REFERENCE_COUNTING_IS_SOMETIMES_NATIVE </item>
+    <item> Q_ATOMIC_INT_REFERENCE_COUNTING_IS_WAIT_FREE </item>
+    <item> Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE </item>
+    <item> Q_ATOMIC_INT_TEST_AND_SET_IS_NOT_NATIVE </item>
+    <item> Q_ATOMIC_INT_TEST_AND_SET_IS_SOMETIMES_NATIVE </item>
+    <item> Q_ATOMIC_INT_TEST_AND_SET_IS_WAIT_FREE </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qextensionmanager.html#macros -->
+    <item> Q_DECLARE_EXTENSION_INTERFACE </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qtplugin.html -->
+    <item> Q_DECLARE_INTERFACE </item>
+    <item> Q_EXPORT_PLUGIN2 </item>
+    <item> Q_IMPORT_PLUGIN </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qdbusabstractadaptor.html#macros -->
+    <item> Q_NOREPLY </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qscriptengine.html#macros -->
+    <item> Q_SCRIPT_DECLARE_QMETAOBJECT </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qwidget.html#macros -->
+    <item> QWIDGETSIZE_MAX </item>
+    <!-- List of Qt macros obtained by
+         part/syntax/data/get-Qt-macros.sh for qglobal.h qfeatures.h qconfig.h
+      -->
+    <item> QT3_SUPPORT </item>
+    <item> QT3_SUPPORT_CONSTRUCTOR </item>
+    <item> QT3_SUPPORT_VARIABLE </item>
+    <item> QT3_SUPPORT_WARNINGS </item>
+    <item> QT_ARCH_X86_64 </item>
+    <item> QT_ASCII_CAST_WARN </item>
+    <item> QT_ASCII_CAST_WARN_CONSTRUCTOR </item>
+    <item> QT_BUILD_KEY </item>
+    <item> QT_BUILD_KEY_COMPAT </item>
+    <item> QT_CATCH </item>
+    <item> QT_COMPAT </item>
+    <item> QT_COMPAT_WARNINGS </item>
+    <item> QT_DEBUG </item>
+    <item> QT_DEPRECATED </item>
+    <item> QT_DEPRECATED_CONSTRUCTOR </item>
+    <item> QT_DEPRECATED_VARIABLE </item>
+    <item> QT_EDITION </item>
+    <item> QT_EDITION_ACADEMIC </item>
+    <item> QT_EDITION_CONSOLE </item>
+    <item> QT_EDITION_DESKTOP </item>
+    <item> QT_EDITION_DESKTOPLIGHT </item>
+    <item> QT_EDITION_EDUCATIONAL </item>
+    <item> QT_EDITION_EVALUATION </item>
+    <item> QT_EDITION_OPENSOURCE </item>
+    <item> QT_EDITION_UNIVERSAL </item>
+    <item> QT_ENSURE_STACK_ALIGNED_FOR_SSE </item>
+    <item> QT_FASTCALL </item>
+    <item> QT_FORWARD_DECLARE_CLASS </item>
+    <item> QT_FORWARD_DECLARE_STRUCT </item>
+    <item> QT_HAVE_ARMV6 </item>
+    <item> QT_LARGEFILE_SUPPORT </item>
+    <item> QT_LICENSED_MODULE </item>
+    <item> QT_LINKED_OPENSSL </item>
+    <item> QT_LINUXBASE </item>
+    <item> QT_MAC_USE_COCOA </item>
+    <item> QT_MOC_COMPAT </item>
+    <item> QT_MODULE </item>
+    <item> QT_MODULE_ACTIVEQT </item>
+    <item> QT_MODULE_CORE </item>
+    <item> QT_MODULE_DBUS </item>
+    <item> QT_MODULE_DECLARATIVE </item>
+    <item> QT_MODULE_GRAPHICSVIEW </item>
+    <item> QT_MODULE_GUI </item>
+    <item> QT_MODULE_HELP </item>
+    <item> QT_MODULE_MULTIMEDIA </item>
+    <item> QT_MODULE_NETWORK </item>
+    <item> QT_MODULE_OPENGL </item>
+    <item> QT_MODULE_OPENVG </item>
+    <item> QT_MODULE_QT3SUPPORT </item>
+    <item> QT_MODULE_QT3SUPPORTLIGHT </item>
+    <item> QT_MODULE_SCRIPT </item>
+    <item> QT_MODULE_SCRIPTTOOLS </item>
+    <item> QT_MODULE_SQL </item>
+    <item> QT_MODULE_SVG </item>
+    <item> QT_MODULE_TEST </item>
+    <item> QT_MODULE_XML </item>
+    <item> QT_MODULE_XMLPATTERNS </item>
+    <item> QT_NO_ACCESSIBILITY </item>
+    <item> QT_NO_ANIMATION </item>
+    <item> QT_NO_ARM_EABI </item>
+    <item> QT_NO_BEARERMANAGEMENT </item>
+    <item> QT_NO_BUTTONGROUP </item>
+    <item> QT_NO_CALENDARWIDGET </item>
+    <item> QT_NO_CLIPBOARD </item>
+    <item> QT_NO_CODECS </item>
+    <item> QT_NO_COLORDIALOG </item>
+    <item> QT_NO_COLUMNVIEW </item>
+    <item> QT_NO_COMBOBOX </item>
+    <item> QT_NO_COMPLETER </item>
+    <item> QT_NO_CONCURRENT </item>
+    <item> QT_NO_CONCURRENT_FILTER </item>
+    <item> QT_NO_CONCURRENT_MAP </item>
+    <item> QT_NO_CONTEXTMENU </item>
+    <item> QT_NO_COP </item>
+    <item> QT_NO_CRASHHANDLER </item>
+    <item> QT_NO_CUPS </item>
+    <item> QT_NO_DATAWIDGETMAPPER </item>
+    <item> QT_NO_DATESTRING </item>
+    <item> QT_NO_DATETIMEEDIT </item>
+    <item> QT_NO_DBUS </item>
+    <item> QT_NO_DEBUG </item>
+    <item> QT_NO_DEBUG_STREAM </item>
+    <item> QT_NO_DECLARATIVE </item>
+    <item> QT_NO_DIAL </item>
+    <item> QT_NO_DIRMODEL </item>
+    <item> QT_NO_DOCKWIDGET </item>
+    <item> QT_NO_DRAGANDDROP </item>
+    <item> QT_NO_EGL </item>
+    <item> QT_NO_ERRORMESSAGE </item>
+    <item> QT_NO_EXCEPTIONS </item>
+    <item> QT_NO_FILEDIALOG </item>
+    <item> QT_NO_FILESYSTEMMODEL </item>
+    <item> QT_NO_FONTCOMBOBOX </item>
+    <item> QT_NO_FONTCONFIG </item>
+    <item> QT_NO_FONTDIALOG </item>
+    <item> QT_NO_FPU </item>
+    <item> QT_NO_FSCOMPLETER </item>
+    <item> QT_NO_FTP </item>
+    <item> QT_NO_GETIFADDRS </item>
+    <item> QT_NO_GRAPHICSEFFECT </item>
+    <item> QT_NO_GRAPHICSSVGITEM </item>
+    <item> QT_NO_GRAPHICSVIEW </item>
+    <item> QT_NO_GSTREAMER </item>
+    <item> QT_NO_HOSTINFO </item>
+    <item> QT_NO_HTTP </item>
+    <item> QT_NO_ICD </item>
+    <item> QT_NO_IM </item>
+    <item> QT_NO_IMAGEFORMAT_JPEG </item>
+    <item> QT_NO_IMAGEFORMAT_MNG </item>
+    <item> QT_NO_IMAGEFORMAT_PNG </item>
+    <item> QT_NO_IMAGEFORMAT_TIFF </item>
+    <item> QT_NO_IMAGEFORMAT_XPM </item>
+    <item> QT_NO_INPUTDIALOG </item>
+    <item> QT_NO_ITEMVIEWS </item>
+    <item> QT_NO_LIBRARY </item>
+    <item> QT_NO_LISTVIEW </item>
+    <item> QT_NO_LISTWIDGET </item>
+    <item> QT_NO_LPR </item>
+    <item> QT_NO_MAINWINDOW </item>
+    <item> QT_NO_MDIAREA </item>
+    <item> QT_NO_MENU </item>
+    <item> QT_NO_MENUBAR </item>
+    <item> QT_NO_MITSHM </item>
+    <item> QT_NO_MULTIMEDIA </item>
+    <item> QT_NO_NAS </item>
+    <item> QT_NO_NETWORKDISKCACHE </item>
+    <item> QT_NO_OPENGL </item>
+    <item> QT_NO_OPENVG </item>
+    <item> QT_NO_PAINT_DEBUG </item>
+    <item> QT_NO_PHONON </item>
+    <item> QT_NO_PHONON_EFFECTWIDGET </item>
+    <item> QT_NO_PHONON_PLATFORMPLUGIN </item>
+    <item> QT_NO_PHONON_SEEKSLIDER </item>
+    <item> QT_NO_PHONON_SETTINGSGROUP </item>
+    <item> QT_NO_PHONON_VIDEOPLAYER </item>
+    <item> QT_NO_PHONON_VOLUMEFADEREFFECT </item>
+    <item> QT_NO_PHONON_VOLUMESLIDER </item>
+    <item> QT_NO_PRINTDIALOG </item>
+    <item> QT_NO_PRINTER </item>
+    <item> QT_NO_PRINTPREVIEWDIALOG </item>
+    <item> QT_NO_PRINTPREVIEWWIDGET </item>
+    <item> QT_NO_PROCESS </item>
+    <item> QT_NO_PROGRESSDIALOG </item>
+    <item> QT_NO_PROXYMODEL </item>
+    <item> QT_NO_PULSEAUDIO </item>
+    <item> QT_NO_QDEBUG_MACRO </item>
+    <item> QT_NO_QFUTURE </item>
+    <item> QT_NO_QWARNING_MACRO </item>
+    <item> QT_NO_QWS_CURSOR </item>
+    <item> QT_NO_QWS_DECORATION_STYLED </item>
+    <item> QT_NO_QWS_DECORATION_WINDOWS </item>
+    <item> QT_NO_QWS_DYNAMICSCREENTRANSFORMATION </item>
+    <item> QT_NO_QWS_INPUTMETHODS </item>
+    <item> QT_NO_QWS_MANAGER </item>
+    <item> QT_NO_QWS_MULTIPROCESS </item>
+    <item> QT_NO_QWS_SOUNDSERVER </item>
+    <item> QT_NO_QWS_TRANSFORMED </item>
+    <item> QT_NO_QWS_VNC </item>
+    <item> QT_NO_RAWFONT </item>
+    <item> QT_NO_S60 </item>
+    <item> QT_NO_SCRIPT </item>
+    <item> QT_NO_SCRIPTTOOLS </item>
+    <item> QT_NO_SCROLLAREA </item>
+    <item> QT_NO_SCROLLBAR </item>
+    <item> QT_NO_SESSIONMANAGER </item>
+    <item> QT_NO_SHAPE </item>
+    <item> QT_NO_SHAREDMEMORY </item>
+    <item> QT_NO_SOCKS5 </item>
+    <item> QT_NO_SOFTKEYMANAGER </item>
+    <item> QT_NO_SORTFILTERPROXYMODEL </item>
+    <item> QT_NO_SPINBOX </item>
+    <item> QT_NO_SPLITTER </item>
+    <item> QT_NO_STANDARDITEMMODEL </item>
+    <item> QT_NO_STATEMACHINE </item>
+    <item> QT_NO_STL_WCHAR </item>
+    <item> QT_NO_STRINGLISTMODEL </item>
+    <item> QT_NO_STYLE_CDE </item>
+    <item> QT_NO_STYLE_CLEANLOOKS </item>
+    <item> QT_NO_STYLE_GTK </item>
+    <item> QT_NO_STYLE_PLASTIQUE </item>
+    <item> QT_NO_STYLE_S60 </item>
+    <item> QT_NO_STYLE_STYLESHEET </item>
+    <item> QT_NO_STYLE_WINDOWSCE </item>
+    <item> QT_NO_STYLE_WINDOWSMOBILE </item>
+    <item> QT_NO_STYLE_WINDOWSVISTA </item>
+    <item> QT_NO_STYLE_WINDOWSXP </item>
+    <item> QT_NO_SVG </item>
+    <item> QT_NO_SVGGENERATOR </item>
+    <item> QT_NO_SVGRENDERER </item>
+    <item> QT_NO_SVGWIDGET </item>
+    <item> QT_NO_SXE </item>
+    <item> QT_NO_SYNTAXHIGHLIGHTER </item>
+    <item> QT_NO_SYSTEMSEMAPHORE </item>
+    <item> QT_NO_TABBAR </item>
+    <item> QT_NO_TABDIALOG </item>
+    <item> QT_NO_TABLET </item>
+    <item> QT_NO_TABLEVIEW </item>
+    <item> QT_NO_TABLEWIDGET </item>
+    <item> QT_NO_TABWIDGET </item>
+    <item> QT_NO_TEMPLATE_TEMPLATE_PARAMETERS </item>
+    <item> QT_NO_TEXTBROWSER </item>
+    <item> QT_NO_TEXTCODECPLUGIN </item>
+    <item> QT_NO_TEXTEDIT </item>
+    <item> QT_NO_TEXTODFWRITER </item>
+    <item> QT_NO_TOOLBAR </item>
+    <item> QT_NO_TOOLBOX </item>
+    <item> QT_NO_TOOLBUTTON </item>
+    <item> QT_NO_TRANSLATION_UTF8 </item>
+    <item> QT_NO_TREEVIEW </item>
+    <item> QT_NO_TREEWIDGET </item>
+    <item> QT_NO_UNDOGROUP </item>
+    <item> QT_NO_UNDOSTACK </item>
+    <item> QT_NO_UNDOVIEW </item>
+    <item> QT_NO_WARNINGS </item>
+    <item> QT_NO_WEBKIT </item>
+    <item> QT_NO_WHATSTHIS </item>
+    <item> QT_NO_WIN_ACTIVEQT </item>
+    <item> QT_NO_WIZARD </item>
+    <item> QT_NO_WORKSPACE </item>
+    <item> QT_NO_XCURSOR </item>
+    <item> QT_NO_XFIXES </item>
+    <item> QT_NO_XINERAMA </item>
+    <item> QT_NO_XINPUT </item>
+    <item> QT_NO_XKB </item>
+    <item> QT_NO_XMLPATTERNS </item>
+    <item> QT_NO_XMLSTREAMREADER </item>
+    <item> QT_NO_XMLSTREAMWRITER </item>
+    <item> QT_NO_XRANDR </item>
+    <item> QT_NO_XRENDER </item>
+    <item> QT_NO_XSYNC </item>
+    <item> QT_NO_XVIDEO </item>
+    <item> QT_NO_ZLIB </item>
+    <item> QT_PACKAGEDATE_STR </item>
+    <item> QT_PACKAGE_TAG </item>
+    <item> QT_POINTER_SIZE </item>
+    <item> QT_PREPEND_NAMESPACE </item>
+    <item> QT_PRODUCT_LICENSE </item>
+    <item> QT_PRODUCT_LICENSEE </item>
+    <item> QT_RETHROW </item>
+    <item> QT_STATIC_CONST </item>
+    <item> QT_STATIC_CONST_IMPL </item>
+    <item> QT_STRINGIFY </item>
+    <item> QT_STRINGIFY2 </item>
+    <item> QT_SUPPORTS </item>
+    <item> QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER </item>
+    <item> QT_SYMBIAN_SUPPORTS_SGIMAGE </item>
+    <item> QT_THROW </item>
+    <item> QT_TRANSLATE_NOOP </item>
+    <item> QT_TRANSLATE_NOOP3 </item>
+    <item> QT_TRANSLATE_NOOP3_UTF8 </item>
+    <item> QT_TRANSLATE_NOOP_UTF8 </item>
+    <item> QT_TRAP_THROWING </item>
+    <item> QT_TRID_NOOP </item>
+    <item> QT_TRY </item>
+    <item> QT_TRYCATCH_ERROR </item>
+    <item> QT_TRYCATCH_LEAVING </item>
+    <item> QT_TR_NOOP </item>
+    <item> QT_TR_NOOP_UTF8 </item>
+    <item> QT_USE_MATH_H_FLOATS </item>
+    <item> QT_USE_NAMESPACE </item>
+    <item> QT_VERSION </item>
+    <item> QT_VERSION_CHECK </item>
+    <item> QT_VERSION_STR </item>
+    <item> QT_VISIBILITY_AVAILABLE </item>
+    <item> QT_WA </item>
+    <item> QT_WA_INLINE </item>
+    <item> QT_WIN_CALLBACK </item>
+    <item> QT_USE_NAMESPACE </item>
+    <item> QT_BEGIN_NAMESPACE </item>
+    <item> QT_END_NAMESPACE </item>
+    <item> QT_BEGIN_HEADER </item>
+    <item> QT_END_HEADER </item>
+    <item> Q_ALIGNOF </item>
+    <item> Q_ASSERT </item>
+    <item> Q_ASSERT_X </item>
+    <item> Q_BIG_ENDIAN </item>
+    <item> Q_BROKEN_DEBUG_STREAM </item>
+    <item> Q_BROKEN_TEMPLATE_SPECIALIZATION </item>
+    <item> Q_BYTE_ORDER </item>
+    <item> Q_CANNOT_DELETE_CONSTANT </item>
+    <item> Q_CC_BOR </item>
+    <item> Q_CC_CDS </item>
+    <item> Q_CC_CLANG </item>
+    <item> Q_CC_COMEAU </item>
+    <item> Q_CC_DEC </item>
+    <item> Q_CC_DIAB </item>
+    <item> Q_CC_EDG </item>
+    <item> Q_CC_GCCE </item>
+    <item> Q_CC_GHS </item>
+    <item> Q_CC_GNU </item>
+    <item> Q_CC_HIGHC </item>
+    <item> Q_CC_HP </item>
+    <item> Q_CC_HPACC </item>
+    <item> Q_CC_INTEL </item>
+    <item> Q_CC_KAI </item>
+    <item> Q_CC_MINGW </item>
+    <item> Q_CC_MIPS </item>
+    <item> Q_CC_MSVC </item>
+    <item> Q_CC_MSVC_NET </item>
+    <item> Q_CC_MWERKS </item>
+    <item> Q_CC_NOKIAX86 </item>
+    <item> Q_CC_OC </item>
+    <item> Q_CC_PGI </item>
+    <item> Q_CC_RVCT </item>
+    <item> Q_CC_SUN </item>
+    <item> Q_CC_SYM </item>
+    <item> Q_CC_USLC </item>
+    <item> Q_CC_WAT </item>
+    <item> Q_CC_XLC </item>
+    <item> Q_CHECK_PTR </item>
+    <item> Q_CLEANUP_RESOURCE </item>
+    <item> Q_COMPILER_AUTO_TYPE </item>
+    <item> Q_COMPILER_CLASS_ENUM </item>
+    <item> Q_COMPILER_CONSTEXPR </item>
+    <item> Q_COMPILER_DECLTYPE </item>
+    <item> Q_COMPILER_DEFAULT_DELETE_MEMBERS </item>
+    <item> Q_COMPILER_EXTERN_TEMPLATES </item>
+    <item> Q_COMPILER_INITIALIZER_LISTS </item>
+    <item> Q_COMPILER_LAMBDA </item>
+    <item> Q_COMPILER_MANGLES_RETURN_TYPE </item>
+    <item> Q_COMPILER_RVALUE_REFS </item>
+    <item> Q_COMPILER_UNICODE_STRINGS </item>
+    <item> Q_COMPILER_VARIADIC_TEMPLATES </item>
+    <item> Q_CONSTRUCTOR_FUNCTION </item>
+    <item> Q_CONSTRUCTOR_FUNCTION0 </item>
+    <item> Q_C_CALLBACKS </item>
+    <item> Q_D </item>
+    <item> Q_DECLARE_FLAGS </item>
+    <item> Q_DECLARE_INCOMPATIBLE_FLAGS </item>
+    <item> Q_DECLARE_OPERATORS_FOR_FLAGS </item>
+    <item> Q_DECLARE_PRIVATE </item>
+    <item> Q_DECLARE_PRIVATE_D </item>
+    <item> Q_DECLARE_PUBLIC </item>
+    <item> Q_DECLARE_SHARED </item>
+    <item> Q_DECLARE_SHARED_STL </item>
+    <item> Q_DECLARE_TYPEINFO </item>
+    <item> Q_DECLARE_TYPEINFO_BODY </item>
+    <item> Q_DECL_ALIGN </item>
+    <item> Q_DECL_CONSTEXPR </item>
+    <item> Q_DECL_CONSTRUCTOR_DEPRECATED </item>
+    <item> Q_DECL_DEPRECATED </item>
+    <item> Q_DECL_FINAL </item>
+    <item> Q_DECL_HIDDEN </item>
+    <item> Q_DECL_IMPORT </item>
+    <item> Q_DECL_OVERRIDE </item>
+    <item> Q_DECL_NOEXCEPT </item>
+    <item> Q_DECL_NOTHROW </item>
+    <item> Q_NULLPTR </item>
+    <item> Q_DECL_VARIABLE_DEPRECATED </item>
+    <item> Q_DESTRUCTOR_FUNCTION </item>
+    <item> Q_DESTRUCTOR_FUNCTION0 </item>
+    <item> Q_DISABLE_COPY </item>
+    <item> Q_DUMMY_COMPARISON_OPERATOR </item>
+    <item> Q_FOREACH </item>
+    <item> Q_FOREVER </item>
+    <item> Q_FULL_TEMPLATE_INSTANTIATION </item>
+    <item> Q_FUNC_INFO </item>
+    <item> Q_GLOBAL_STATIC </item>
+    <item> Q_GLOBAL_STATIC_INIT </item>
+    <item> Q_GLOBAL_STATIC_WITH_ARGS </item>
+    <item> Q_GLOBAL_STATIC_WITH_INITIALIZER </item>
+    <item> Q_INIT_RESOURCE </item>
+    <item> Q_INIT_RESOURCE_EXTERN </item>
+    <item> Q_INLINE_TEMPLATE </item>
+    <item> Q_INT64_C </item>
+    <item> Q_LIKELY </item>
+    <item> Q_LITTLE_ENDIAN </item>
+    <item> Q_NO_BOOL_TYPE </item>
+    <item> Q_NO_DATA_RELOCATION </item>
+    <item> Q_NO_DECLARED_NOT_DEFINED </item>
+    <item> Q_NO_DEPRECATED_CONSTRUCTORS </item>
+    <item> Q_NO_EXPLICIT_KEYWORD </item>
+    <item> Q_NO_PACKED_REFERENCE </item>
+    <item> Q_NO_POSIX_SIGNALS </item>
+    <item> Q_NO_TEMPLATE_FRIENDS </item>
+    <item> Q_NO_USING_KEYWORD </item>
+    <item> Q_OF_ELF </item>
+    <item> Q_OS_AIX </item>
+    <item> Q_OS_BSD4 </item>
+    <item> Q_OS_BSDI </item>
+    <item> Q_OS_CYGWIN </item>
+    <item> Q_OS_DARWIN </item>
+    <item> Q_OS_DARWIN32 </item>
+    <item> Q_OS_DARWIN64 </item>
+    <item> Q_OS_DGUX </item>
+    <item> Q_OS_DYNIX </item>
+    <item> Q_OS_FREEBSD </item>
+    <item> Q_OS_HPUX </item>
+    <item> Q_OS_HURD </item>
+    <item> Q_OS_INTEGRITY </item>
+    <item> Q_OS_IRIX </item>
+    <item> Q_OS_LINUX </item>
+    <item> Q_OS_LYNX </item>
+    <item> Q_OS_MAC </item>
+    <item> Q_OS_MAC32 </item>
+    <item> Q_OS_MAC64 </item>
+    <item> Q_OS_MACX </item>
+    <item> Q_OS_MSDOS </item>
+    <item> Q_OS_NACL </item>
+    <item> Q_OS_NETBSD </item>
+    <item> Q_OS_OPENBSD </item>
+    <item> Q_OS_OS2 </item>
+    <item> Q_OS_OS2EMX </item>
+    <item> Q_OS_OSF </item>
+    <item> Q_OS_QNX </item>
+    <item> Q_OS_RELIANT </item>
+    <item> Q_OS_SCO </item>
+    <item> Q_OS_SOLARIS </item>
+    <item> Q_OS_SYMBIAN </item>
+    <item> Q_OS_ULTRIX </item>
+    <item> Q_OS_UNIX </item>
+    <item> Q_OS_UNIXWARE </item>
+    <item> Q_OS_VXWORKS </item>
+    <item> Q_OS_WIN </item>
+    <item> Q_OS_WIN32 </item>
+    <item> Q_OS_WIN64 </item>
+    <item> Q_OS_WINCE </item>
+    <item> Q_OUTOFLINE_TEMPLATE </item>
+    <item> Q_PACKED </item>
+    <item> Q_Q </item>
+    <item> Q_REQUIRED_RESULT </item>
+    <item> Q_SYMBIAN_FIXED_POINTER_CURSORS </item>
+    <item> Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE </item>
+    <item> Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE </item>
+    <item> Q_SYMBIAN_SUPPORTS_FIXNATIVEORIENTATION </item>
+    <item> Q_SYMBIAN_SUPPORTS_MULTIPLE_SCREENS </item>
+    <item> Q_SYMBIAN_SUPPORTS_SURFACES </item>
+    <item> Q_SYMBIAN_TRANSITION_EFFECTS </item>
+    <item> Q_SYMBIAN_WINDOW_SIZE_CACHE </item>
+    <item> Q_TEMPLATEDLL </item>
+    <item> Q_TYPENAME </item>
+    <item> Q_TYPEOF </item>
+    <item> Q_UINT64_C </item>
+    <item> Q_UNLIKELY </item>
+    <item> Q_UNUSED </item>
+    <item> Q_WRONG_SB_CTYPE_MACROS </item>
+    <item> Q_WS_MAC </item>
+    <item> Q_WS_MAC32 </item>
+    <item> Q_WS_MAC64 </item>
+    <item> Q_WS_MACX </item>
+    <item> Q_WS_PM </item>
+    <item> Q_WS_S60 </item>
+    <item> Q_WS_WIN </item>
+    <item> Q_WS_WIN16 </item>
+    <item> Q_WS_WIN32 </item>
+    <item> Q_WS_WIN64 </item>
+    <item> Q_WS_WINCE </item>
+    <item> Q_WS_WINCE_WM </item>
+    <item> Q_WS_X11 </item>
+    <!-- arguments for Q_DECLARE_TYPEINFO, not really macros but good if highlighted like that -->
+    <item> Q_COMPLEX_TYPE </item>
+    <item> Q_PRIMITIVE_TYPE </item>
+    <item> Q_STATIC_TYPE </item>
+    <item> Q_MOVABLE_TYPE </item>
+    <item> Q_DUMMY_TYPE </item>
+  </list>
+
+  <list name="Qt4Classes">
+    <!-- Classes listed here: http://qt-project.org/doc/qt-4.8/classes.html
+        Obtained by `get-Qt-classes.sh 4.8`
+      -->
+    <item> QAbstractAnimation </item>
+    <item> QAbstractButton </item>
+    <item> QAbstractEventDispatcher </item>
+    <item> QAbstractExtensionFactory </item>
+    <item> QAbstractExtensionManager </item>
+    <item> QAbstractFileEngine </item>
+    <item> QAbstractFileEngineHandler </item>
+    <item> QAbstractFileEngineIterator </item>
+    <item> QAbstractFontEngine </item>
+    <item> QAbstractFormBuilder </item>
+    <item> QAbstractGraphicsShapeItem </item>
+    <item> QAbstractItemDelegate </item>
+    <item> QAbstractItemModel </item>
+    <item> QAbstractItemView </item>
+    <item> QAbstractListModel </item>
+    <item> QAbstractMessageHandler </item>
+    <item> QAbstractNetworkCache </item>
+    <item> QAbstractPrintDialog </item>
+    <item> QAbstractProxyModel </item>
+    <item> QAbstractScrollArea </item>
+    <item> QAbstractSlider </item>
+    <item> QAbstractSocket </item>
+    <item> QAbstractSpinBox </item>
+    <item> QAbstractState </item>
+    <item> QAbstractTableModel </item>
+    <item> QAbstractTextDocumentLayout </item>
+    <item> QAbstractTransition </item>
+    <item> QAbstractUriResolver </item>
+    <item> QAbstractVideoBuffer </item>
+    <item> QAbstractVideoSurface </item>
+    <item> QAbstractXmlNodeModel </item>
+    <item> QAbstractXmlReceiver </item>
+    <item> QAccessible </item>
+    <item> QAccessibleBridge </item>
+    <item> QAccessibleBridgePlugin </item>
+    <item> QAccessibleEvent </item>
+    <item> QAccessibleInterface </item>
+    <item> QAccessibleObject </item>
+    <item> QAccessiblePlugin </item>
+    <item> QAccessibleWidget </item>
+    <item> QAction </item>
+    <item> QActionEvent </item>
+    <item> QActionGroup </item>
+    <item> QAnimationGroup </item>
+    <item> QApplication </item>
+    <item> QAtomicInt </item>
+    <item> QAtomicPointer </item>
+    <item> QAudioDeviceInfo </item>
+    <item> QAudioFormat </item>
+    <item> QAudioInput </item>
+    <item> QAudioOutput </item>
+    <item> QAuthenticator </item>
+    <item> QAxAggregated </item>
+    <item> QAxBase </item>
+    <item> QAxBindable </item>
+    <item> QAxFactory </item>
+    <item> QAxObject </item>
+    <item> QAxScript </item>
+    <item> QAxScriptEngine </item>
+    <item> QAxScriptManager </item>
+    <item> QAxWidget </item>
+    <item> QBasicTimer </item>
+    <item> QBitArray </item>
+    <item> QBitmap </item>
+    <item> QBoxLayout </item>
+    <item> QBool </item>
+    <item> QBrush </item>
+    <item> QBuffer </item>
+    <item> QButtonGroup </item>
+    <item> QByteArray </item>
+    <item> QByteArrayMatcher </item>
+    <item> QCache </item>
+    <item> QCalendarWidget </item>
+    <item> QCDEStyle </item>
+    <item> QChar </item>
+    <item> QCheckBox </item>
+    <item> QChildEvent </item>
+    <item> QCleanlooksStyle </item>
+    <item> QClipboard </item>
+    <item> QCloseEvent </item>
+    <item> QColor </item>
+    <item> QColorDialog </item>
+    <item> QColormap </item>
+    <item> QColumnView </item>
+    <item> QComboBox </item>
+    <item> QCommandLinkButton </item>
+    <item> QCommonStyle </item>
+    <item> QCompleter </item>
+    <item> QConicalGradient </item>
+    <item> QContextMenuEvent </item>
+    <item> QContiguousCache </item>
+    <item> QCopChannel </item>
+    <item> QCoreApplication </item>
+    <item> QCryptographicHash </item>
+    <item> QCursor </item>
+    <item> QCustomRasterPaintDevice </item>
+    <item> QDataStream </item>
+    <item> QDataWidgetMapper </item>
+    <item> QDate </item>
+    <item> QDateEdit </item>
+    <item> QDateTime </item>
+    <item> QDateTimeEdit </item>
+    <item> QDBusAbstractAdaptor </item>
+    <item> QDBusAbstractInterface </item>
+    <item> QDBusArgument </item>
+    <item> QDBusConnection </item>
+    <item> QDBusConnectionInterface </item>
+    <item> QDBusContext </item>
+    <item> QDBusError </item>
+    <item> QDBusInterface </item>
+    <item> QDBusMessage </item>
+    <item> QDBusObjectPath </item>
+    <item> QDBusPendingCall </item>
+    <item> QDBusPendingCallWatcher </item>
+    <item> QDBusPendingReply </item>
+    <item> QDBusReply </item>
+    <item> QDBusServiceWatcher </item>
+    <item> QDBusSignature </item>
+    <item> QDBusUnixFileDescriptor </item>
+    <item> QDBusVariant </item>
+    <item> QDebug </item>
+    <item> QDeclarativeComponent </item>
+    <item> QDeclarativeContext </item>
+    <item> QDeclarativeEngine </item>
+    <item> QDeclarativeError </item>
+    <item> QDeclarativeExpression </item>
+    <item> QDeclarativeExtensionPlugin </item>
+    <item> QDeclarativeImageProvider </item>
+    <item> QDeclarativeItem </item>
+    <item> QDeclarativeListProperty </item>
+    <item> QDeclarativeListReference </item>
+    <item> QDeclarativeNetworkAccessManagerFactory </item>
+    <item> QDeclarativeParserStatus </item>
+    <item> QDeclarativeProperty </item>
+    <item> QDeclarativePropertyMap </item>
+    <item> QDeclarativePropertyValueSource </item>
+    <item> QDeclarativeScriptString </item>
+    <item> QDeclarativeView </item>
+    <item> QDecoration </item>
+    <item> QDecorationDefault </item>
+    <item> QDecorationFactory </item>
+    <item> QDecorationPlugin </item>
+    <item> QDesignerActionEditorInterface </item>
+    <item> QDesignerContainerExtension </item>
+    <item> QDesignerCustomWidgetCollectionInterface </item>
+    <item> QDesignerCustomWidgetInterface </item>
+    <item> QDesignerDynamicPropertySheetExtension </item>
+    <item> QDesignerFormEditorInterface </item>
+    <item> QDesignerFormWindowCursorInterface </item>
+    <item> QDesignerFormWindowInterface </item>
+    <item> QDesignerFormWindowManagerInterface </item>
+    <item> QDesignerMemberSheetExtension </item>
+    <item> QDesignerObjectInspectorInterface </item>
+    <item> QDesignerPropertyEditorInterface </item>
+    <item> QDesignerPropertySheetExtension </item>
+    <item> QDesignerTaskMenuExtension </item>
+    <item> QDesignerWidgetBoxInterface </item>
+    <item> QDesktopServices </item>
+    <item> QDesktopWidget </item>
+    <item> QDial </item>
+    <item> QDialog </item>
+    <item> QDialogButtonBox </item>
+    <item> QDir </item>
+    <item> QDirectPainter </item>
+    <item> QDirIterator </item>
+    <item> QDockWidget </item>
+    <item> QDomAttr </item>
+    <item> QDomCDATASection </item>
+    <item> QDomCharacterData </item>
+    <item> QDomComment </item>
+    <item> QDomDocument </item>
+    <item> QDomDocumentFragment </item>
+    <item> QDomDocumentType </item>
+    <item> QDomElement </item>
+    <item> QDomEntity </item>
+    <item> QDomEntityReference </item>
+    <item> QDomImplementation </item>
+    <item> QDomNamedNodeMap </item>
+    <item> QDomNode </item>
+    <item> QDomNodeList </item>
+    <item> QDomNotation </item>
+    <item> QDomProcessingInstruction </item>
+    <item> QDomText </item>
+    <item> QDoubleSpinBox </item>
+    <item> QDoubleValidator </item>
+    <item> QDrag </item>
+    <item> QDragEnterEvent </item>
+    <item> QDragLeaveEvent </item>
+    <item> QDragMoveEvent </item>
+    <item> QDropEvent </item>
+    <item> QDynamicPropertyChangeEvent </item>
+    <item> QEasingCurve </item>
+    <item> QElapsedTimer </item>
+    <item> QErrorMessage </item>
+    <item> QEvent </item>
+    <item> QEventLoop </item>
+    <item> QEventTransition </item>
+    <item> QExplicitlySharedDataPointer </item>
+    <item> QExtensionFactory </item>
+    <item> QExtensionManager </item>
+    <item> QFile </item>
+    <item> QFileDialog </item>
+    <item> QFileIconProvider </item>
+    <item> QFileInfo </item>
+    <item> QFileOpenEvent </item>
+    <item> QFileSystemModel </item>
+    <item> QFileSystemWatcher </item>
+    <item> QFinalState </item>
+    <item> QFlag </item>
+    <item> QFlags </item>
+    <item> QFocusEvent </item>
+    <item> QFocusFrame </item>
+    <item> QFont </item>
+    <item> QFontComboBox </item>
+    <item> QFontDatabase </item>
+    <item> QFontDialog </item>
+    <item> QFontEngineInfo </item>
+    <item> QFontEnginePlugin </item>
+    <item> QFontInfo </item>
+    <item> QFontMetrics </item>
+    <item> QFontMetricsF </item>
+    <item> QFormBuilder </item>
+    <item> QFormLayout </item>
+    <item> QFrame </item>
+    <item> QFSFileEngine </item>
+    <item> QFtp </item>
+    <item> QFuture </item>
+    <item> QFutureIterator </item>
+    <item> QFutureSynchronizer </item>
+    <item> QFutureWatcher </item>
+    <item> QGenericArgument </item>
+    <item> QGenericMatrix </item>
+    <item> QGenericPlugin </item>
+    <item> QGenericPluginFactory </item>
+    <item> QGenericReturnArgument </item>
+    <item> QGesture </item>
+    <item> QGestureEvent </item>
+    <item> QGestureRecognizer </item>
+    <item> QGLBuffer </item>
+    <item> QGLColormap </item>
+    <item> QGLContext </item>
+    <item> QGLFormat </item>
+    <item> QGLFramebufferObject </item>
+    <item> QGLFramebufferObjectFormat </item>
+    <item> QGLFunctions </item>
+    <item> QGLPixelBuffer </item>
+    <item> QGLShader </item>
+    <item> QGLShaderProgram </item>
+    <item> QGLWidget </item>
+    <item> QGlyphRun </item>
+    <item> QGradient </item>
+    <item> QGraphicsAnchor </item>
+    <item> QGraphicsAnchorLayout </item>
+    <item> QGraphicsBlurEffect </item>
+    <item> QGraphicsColorizeEffect </item>
+    <item> QGraphicsDropShadowEffect </item>
+    <item> QGraphicsEffect </item>
+    <item> QGraphicsEllipseItem </item>
+    <item> QGraphicsGridLayout </item>
+    <item> QGraphicsItem </item>
+    <item> QGraphicsItemAnimation </item>
+    <item> QGraphicsItemGroup </item>
+    <item> QGraphicsLayout </item>
+    <item> QGraphicsLayoutItem </item>
+    <item> QGraphicsLinearLayout </item>
+    <item> QGraphicsLineItem </item>
+    <item> QGraphicsObject </item>
+    <item> QGraphicsOpacityEffect </item>
+    <item> QGraphicsPathItem </item>
+    <item> QGraphicsPixmapItem </item>
+    <item> QGraphicsPolygonItem </item>
+    <item> QGraphicsProxyWidget </item>
+    <item> QGraphicsRectItem </item>
+    <item> QGraphicsRotation </item>
+    <item> QGraphicsScale </item>
+    <item> QGraphicsScene </item>
+    <item> QGraphicsSceneContextMenuEvent </item>
+    <item> QGraphicsSceneDragDropEvent </item>
+    <item> QGraphicsSceneEvent </item>
+    <item> QGraphicsSceneHelpEvent </item>
+    <item> QGraphicsSceneHoverEvent </item>
+    <item> QGraphicsSceneMouseEvent </item>
+    <item> QGraphicsSceneMoveEvent </item>
+    <item> QGraphicsSceneResizeEvent </item>
+    <item> QGraphicsSceneWheelEvent </item>
+    <item> QGraphicsSimpleTextItem </item>
+    <item> QGraphicsSvgItem </item>
+    <item> QGraphicsTextItem </item>
+    <item> QGraphicsTransform </item>
+    <item> QGraphicsView </item>
+    <item> QGraphicsWebView </item>
+    <item> QGraphicsWidget </item>
+    <item> QGridLayout </item>
+    <item> QGroupBox </item>
+    <item> QGtkStyle </item>
+    <item> QHash </item>
+    <item> QHashIterator </item>
+    <item> QHBoxLayout </item>
+    <item> QHeaderView </item>
+    <item> QHelpContentItem </item>
+    <item> QHelpContentModel </item>
+    <item> QHelpContentWidget </item>
+    <item> QHelpEngine </item>
+    <item> QHelpEngineCore </item>
+    <item> QHelpEvent </item>
+    <item> QHelpIndexModel </item>
+    <item> QHelpIndexWidget </item>
+    <item> QHelpSearchEngine </item>
+    <item> QHelpSearchQuery </item>
+    <item> QHelpSearchQueryWidget </item>
+    <item> QHelpSearchResultWidget </item>
+    <item> QHideEvent </item>
+    <item> QHistoryState </item>
+    <item> QHostAddress </item>
+    <item> QHostInfo </item>
+    <item> QHoverEvent </item>
+    <item> QHttpMultiPart </item>
+    <item> QHttpPart </item>
+    <item> QIcon </item>
+    <item> QIconDragEvent </item>
+    <item> QIconEngine </item>
+    <item> QIconEnginePlugin </item>
+    <item> QIconEnginePluginV2 </item>
+    <item> QIconEngineV2 </item>
+    <item> QIdentityProxyModel </item>
+    <item> QImage </item>
+    <item> QImageIOHandler </item>
+    <item> QImageIOPlugin </item>
+    <item> QImageReader </item>
+    <item> QImageWriter </item>
+    <item> QInputContext </item>
+    <item> QInputContextFactory </item>
+    <item> QInputContextPlugin </item>
+    <item> QInputDialog </item>
+    <item> QInputEvent </item>
+    <item> QInputMethodEvent </item>
+    <item> QIntValidator </item>
+    <item> QIODevice </item>
+    <item> QItemDelegate </item>
+    <item> QItemEditorCreator </item>
+    <item> QItemEditorCreatorBase </item>
+    <item> QItemEditorFactory </item>
+    <item> QItemSelection </item>
+    <item> QItemSelectionModel </item>
+    <item> QItemSelectionRange </item>
+    <item> QKbdDriverFactory </item>
+    <item> QKbdDriverPlugin </item>
+    <item> QKeyEvent </item>
+    <item> QKeyEventTransition </item>
+    <item> QKeySequence </item>
+    <item> QLabel </item>
+    <item> QLatin1Char </item>
+    <item> QLatin1String </item>
+    <item> QLayout </item>
+    <item> QLayoutItem </item>
+    <item> QLCDNumber </item>
+    <item> QLibrary </item>
+    <item> QLibraryInfo </item>
+    <item> QLine </item>
+    <item> QLinearGradient </item>
+    <item> QLineEdit </item>
+    <item> QLineF </item>
+    <item> QLinkedList </item>
+    <item> QLinkedListIterator </item>
+    <item> QList </item>
+    <item> QListIterator </item>
+    <item> QListView </item>
+    <item> QListWidget </item>
+    <item> QListWidgetItem </item>
+    <item> QLocale </item>
+    <item> QLocalServer </item>
+    <item> QLocalSocket </item>
+    <item> QMacCocoaViewContainer </item>
+    <item> QMacNativeWidget </item>
+    <item> QMacPasteboardMime </item>
+    <item> QMacStyle </item>
+    <item> QMainWindow </item>
+    <item> QMap </item>
+    <item> QMapIterator </item>
+    <item> QMargins </item>
+    <item> QMatrix4x4 </item>
+    <item> QMdiArea </item>
+    <item> QMdiSubWindow </item>
+    <item> QMenu </item>
+    <item> QMenuBar </item>
+    <item> QMessageBox </item>
+    <item> QMetaClassInfo </item>
+    <item> QMetaEnum </item>
+    <item> QMetaMethod </item>
+    <item> QMetaObject </item>
+    <item> QMetaProperty </item>
+    <item> QMetaType </item>
+    <item> QMimeData </item>
+    <item> QModelIndex </item>
+    <item> QMotifStyle </item>
+    <item> QMouseDriverFactory </item>
+    <item> QMouseDriverPlugin </item>
+    <item> QMouseEvent </item>
+    <item> QMouseEventTransition </item>
+    <item> QMoveEvent </item>
+    <item> QMovie </item>
+    <item> QMultiHash </item>
+    <item> QMultiMap </item>
+    <item> QMutableHashIterator </item>
+    <item> QMutableLinkedListIterator </item>
+    <item> QMutableListIterator </item>
+    <item> QMutableMapIterator </item>
+    <item> QMutableSetIterator </item>
+    <item> QMutableVectorIterator </item>
+    <item> QMutex </item>
+    <item> QMutexLocker </item>
+    <item> QNetworkAccessManager </item>
+    <item> QNetworkAddressEntry </item>
+    <item> QNetworkCacheMetaData </item>
+    <item> QNetworkConfiguration </item>
+    <item> QNetworkConfigurationManager </item>
+    <item> QNetworkCookie </item>
+    <item> QNetworkCookieJar </item>
+    <item> QNetworkDiskCache </item>
+    <item> QNetworkInterface </item>
+    <item> QNetworkProxy </item>
+    <item> QNetworkProxyFactory </item>
+    <item> QNetworkProxyQuery </item>
+    <item> QNetworkReply </item>
+    <item> QNetworkRequest </item>
+    <item> QNetworkSession </item>
+    <item> QObject </item>
+    <item> QObjectCleanupHandler </item>
+    <item> QPageSetupDialog </item>
+    <item> QPaintDevice </item>
+    <item> QPaintEngine </item>
+    <item> QPaintEngineState </item>
+    <item> QPainter </item>
+    <item> QPainterPath </item>
+    <item> QPainterPathStroker </item>
+    <item> QPaintEvent </item>
+    <item> QPair </item>
+    <item> QPalette </item>
+    <item> QPanGesture </item>
+    <item> QParallelAnimationGroup </item>
+    <item> QPauseAnimation </item>
+    <item> QPen </item>
+    <item> QPersistentModelIndex </item>
+    <item> QPicture </item>
+    <item> QPinchGesture </item>
+    <item> QPixmap </item>
+    <item> QPixmapCache </item>
+    <item> QPlainTextDocumentLayout </item>
+    <item> QPlainTextEdit </item>
+    <item> QPlastiqueStyle </item>
+    <item> QPlatformCursor </item>
+    <item> QPlatformCursorImage </item>
+    <item> QPlatformFontDatabase </item>
+    <item> QPlatformWindowFormat </item>
+    <item> QPluginLoader </item>
+    <item> QPoint </item>
+    <item> QPointer </item>
+    <item> QPointF </item>
+    <item> QPolygon </item>
+    <item> QPolygonF </item>
+    <item> QPrintDialog </item>
+    <item> QPrintEngine </item>
+    <item> QPrinter </item>
+    <item> QPrinterInfo </item>
+    <item> QPrintPreviewDialog </item>
+    <item> QPrintPreviewWidget </item>
+    <item> QProcess </item>
+    <item> QProcessEnvironment </item>
+    <item> QProgressBar </item>
+    <item> QProgressDialog </item>
+    <item> QPropertyAnimation </item>
+    <item> QProxyScreen </item>
+    <item> QProxyScreenCursor </item>
+    <item> QProxyStyle </item>
+    <item> QPushButton </item>
+    <item> QQuaternion </item>
+    <item> QQueue </item>
+    <item> QRadialGradient </item>
+    <item> QRadioButton </item>
+    <item> QRasterPaintEngine </item>
+    <item> QRawFont </item>
+    <item> QReadLocker </item>
+    <item> QReadWriteLock </item>
+    <item> QRect </item>
+    <item> QRectF </item>
+    <item> QRegExp </item>
+    <item> QRegExpValidator </item>
+    <item> QRegion </item>
+    <item> QResizeEvent </item>
+    <item> QResource </item>
+    <item> QRubberBand </item>
+    <item> QRunnable </item>
+    <item> QS60MainApplication </item>
+    <item> QS60MainAppUi </item>
+    <item> QS60MainDocument </item>
+    <item> QS60Style </item>
+    <item> QScopedArrayPointer </item>
+    <item> QScopedPointer </item>
+    <item> QScopedValueRollback </item>
+    <item> QScreen </item>
+    <item> QScreenCursor </item>
+    <item> QScreenDriverFactory </item>
+    <item> QScreenDriverPlugin </item>
+    <item> QScriptable </item>
+    <item> QScriptClass </item>
+    <item> QScriptClassPropertyIterator </item>
+    <item> QScriptContext </item>
+    <item> QScriptContextInfo </item>
+    <item> QScriptEngine </item>
+    <item> QScriptEngineAgent </item>
+    <item> QScriptEngineDebugger </item>
+    <item> QScriptExtensionPlugin </item>
+    <item> QScriptProgram </item>
+    <item> QScriptString </item>
+    <item> QScriptSyntaxCheckResult </item>
+    <item> QScriptValue </item>
+    <item> QScriptValueIterator </item>
+    <item> QScrollArea </item>
+    <item> QScrollBar </item>
+    <item> QSemaphore </item>
+    <item> QSequentialAnimationGroup </item>
+    <item> QSessionManager </item>
+    <item> QSet </item>
+    <item> QSetIterator </item>
+    <item> QSettings </item>
+    <item> QSharedData </item>
+    <item> QSharedDataPointer </item>
+    <item> QSharedMemory </item>
+    <item> QSharedPointer </item>
+    <item> QShortcut </item>
+    <item> QShortcutEvent </item>
+    <item> QShowEvent </item>
+    <item> QSignalMapper </item>
+    <item> QSignalSpy </item>
+    <item> QSignalTransition </item>
+    <item> QSimpleXmlNodeModel </item>
+    <item> QSize </item>
+    <item> QSizeF </item>
+    <item> QSizeGrip </item>
+    <item> QSizePolicy </item>
+    <item> QSlider </item>
+    <item> QSocketNotifier </item>
+    <item> QSortFilterProxyModel </item>
+    <item> QSound </item>
+    <item> QSourceLocation </item>
+    <item> QSpacerItem </item>
+    <item> QSpinBox </item>
+    <item> QSplashScreen </item>
+    <item> QSplitter </item>
+    <item> QSplitterHandle </item>
+    <item> QSqlDatabase </item>
+    <item> QSqlDriver </item>
+    <item> QSqlDriverCreator </item>
+    <item> QSqlDriverCreatorBase </item>
+    <item> QSqlDriverPlugin </item>
+    <item> QSqlError </item>
+    <item> QSqlField </item>
+    <item> QSqlIndex </item>
+    <item> QSqlQuery </item>
+    <item> QSqlQueryModel </item>
+    <item> QSqlRecord </item>
+    <item> QSqlRelation </item>
+    <item> QSqlRelationalDelegate </item>
+    <item> QSqlRelationalTableModel </item>
+    <item> QSqlResult </item>
+    <item> QSqlTableModel </item>
+    <item> QSslCertificate </item>
+    <item> QSslCipher </item>
+    <item> QSslConfiguration </item>
+    <item> QSslError </item>
+    <item> QSslKey </item>
+    <item> QSslSocket </item>
+    <item> QStack </item>
+    <item> QStackedLayout </item>
+    <item> QStackedWidget </item>
+    <item> QStandardItem </item>
+    <item> QStandardItemEditorCreator </item>
+    <item> QStandardItemModel </item>
+    <item> QState </item>
+    <item> QStateMachine </item>
+    <item> QStaticText </item>
+    <item> QStatusBar </item>
+    <item> QStatusTipEvent </item>
+    <item> QString </item>
+    <item> QStringList </item>
+    <item> QStringListModel </item>
+    <item> QStringMatcher </item>
+    <item> QStringRef </item>
+    <item> QStyle </item>
+    <item> QStyledItemDelegate </item>
+    <item> QStyleFactory </item>
+    <item> QStyleHintReturn </item>
+    <item> QStyleHintReturnMask </item>
+    <item> QStyleHintReturnVariant </item>
+    <item> QStyleOption </item>
+    <item> QStyleOptionButton </item>
+    <item> QStyleOptionComboBox </item>
+    <item> QStyleOptionComplex </item>
+    <item> QStyleOptionDockWidget </item>
+    <item> QStyleOptionFocusRect </item>
+    <item> QStyleOptionFrame </item>
+    <item> QStyleOptionFrameV2 </item>
+    <item> QStyleOptionFrameV3 </item>
+    <item> QStyleOptionGraphicsItem </item>
+    <item> QStyleOptionGroupBox </item>
+    <item> QStyleOptionHeader </item>
+    <item> QStyleOptionMenuItem </item>
+    <item> QStyleOptionProgressBar </item>
+    <item> QStyleOptionProgressBarV2 </item>
+    <item> QStyleOptionQ3DockWindow </item>
+    <item> QStyleOptionQ3ListView </item>
+    <item> QStyleOptionQ3ListViewItem </item>
+    <item> QStyleOptionRubberBand </item>
+    <item> QStyleOptionSizeGrip </item>
+    <item> QStyleOptionSlider </item>
+    <item> QStyleOptionSpinBox </item>
+    <item> QStyleOptionTab </item>
+    <item> QStyleOptionTabBarBase </item>
+    <item> QStyleOptionTabBarBaseV2 </item>
+    <item> QStyleOptionTabV2 </item>
+    <item> QStyleOptionTabV3 </item>
+    <item> QStyleOptionTabWidgetFrame </item>
+    <item> QStyleOptionTabWidgetFrameV2 </item>
+    <item> QStyleOptionTitleBar </item>
+    <item> QStyleOptionToolBar </item>
+    <item> QStyleOptionToolBox </item>
+    <item> QStyleOptionToolBoxV2 </item>
+    <item> QStyleOptionToolButton </item>
+    <item> QStyleOptionViewItem </item>
+    <item> QStyleOptionViewItemV2 </item>
+    <item> QStyleOptionViewItemV3 </item>
+    <item> QStyleOptionViewItemV4 </item>
+    <item> QStylePainter </item>
+    <item> QStylePlugin </item>
+    <item> QSupportedWritingSystems </item>
+    <item> QSvgGenerator </item>
+    <item> QSvgRenderer </item>
+    <item> QSvgWidget </item>
+    <item> QSwipeGesture </item>
+    <item> QSymbianEvent </item>
+    <item> QSymbianGraphicsSystemHelper </item>
+    <item> QSyntaxHighlighter </item>
+    <item> QSysInfo </item>
+    <item> QSystemLocale </item>
+    <item> QSystemSemaphore </item>
+    <item> QSystemTrayIcon </item>
+    <item> QTabBar </item>
+    <item> QTabletEvent </item>
+    <item> QTableView </item>
+    <item> QTableWidget </item>
+    <item> QTableWidgetItem </item>
+    <item> QTableWidgetSelectionRange </item>
+    <item> QTabWidget </item>
+    <item> QTapAndHoldGesture </item>
+    <item> QTapGesture </item>
+    <item> QTcpServer </item>
+    <item> QTcpSocket </item>
+    <item> QTemporaryFile </item>
+    <item> QTestEventList </item>
+    <item> QTextBlock </item>
+    <item> QTextBlockFormat </item>
+    <item> QTextBlockGroup </item>
+    <item> QTextBlockUserData </item>
+    <item> QTextBoundaryFinder </item>
+    <item> QTextBrowser </item>
+    <item> QTextCharFormat </item>
+    <item> QTextCodec </item>
+    <item> QTextCodecPlugin </item>
+    <item> QTextCursor </item>
+    <item> QTextDecoder </item>
+    <item> QTextDocument </item>
+    <item> QTextDocumentFragment </item>
+    <item> QTextDocumentWriter </item>
+    <item> QTextEdit </item>
+    <item> QTextEncoder </item>
+    <item> QTextFormat </item>
+    <item> QTextFragment </item>
+    <item> QTextFrame </item>
+    <item> QTextFrameFormat </item>
+    <item> QTextImageFormat </item>
+    <item> QTextInlineObject </item>
+    <item> QTextItem </item>
+    <item> QTextLayout </item>
+    <item> QTextLength </item>
+    <item> QTextLine </item>
+    <item> QTextList </item>
+    <item> QTextListFormat </item>
+    <item> QTextObject </item>
+    <item> QTextObjectInterface </item>
+    <item> QTextOption </item>
+    <item> QTextStream </item>
+    <item> QTextTable </item>
+    <item> QTextTableCell </item>
+    <item> QTextTableCellFormat </item>
+    <item> QTextTableFormat </item>
+    <item> QThread </item>
+    <item> QThreadPool </item>
+    <item> QThreadStorage </item>
+    <item> QTileRules </item>
+    <item> QTime </item>
+    <item> QTimeEdit </item>
+    <item> QTimeLine </item>
+    <item> QTimer </item>
+    <item> QTimerEvent </item>
+    <item> QToolBar </item>
+    <item> QToolBox </item>
+    <item> QToolButton </item>
+    <item> QToolTip </item>
+    <item> QTouchEvent </item>
+    <item> QTransform </item>
+    <item> QTranslator </item>
+    <item> QTreeView </item>
+    <item> QTreeWidget </item>
+    <item> QTreeWidgetItem </item>
+    <item> QTreeWidgetItemIterator </item>
+    <item> QUdpSocket </item>
+    <item> QUiLoader </item>
+    <item> QUndoCommand </item>
+    <item> QUndoGroup </item>
+    <item> QUndoStack </item>
+    <item> QUndoView </item>
+    <item> QUrl </item>
+    <item> QUrlInfo </item>
+    <item> QUuid </item>
+    <item> QValidator </item>
+    <item> QVariant </item>
+    <item> QVariantAnimation </item>
+    <item> QVarLengthArray </item>
+    <item> QVBoxLayout </item>
+    <item> QVector </item>
+    <item> QVector2D </item>
+    <item> QVector3D </item>
+    <item> QVector4D </item>
+    <item> QVectorIterator </item>
+    <item> QVideoFrame </item>
+    <item> QVideoSurfaceFormat </item>
+    <item> QWaitCondition </item>
+    <item> QWeakPointer </item>
+    <item> QWebDatabase </item>
+    <item> QWebElement </item>
+    <item> QWebElementCollection </item>
+    <item> QWebFrame </item>
+    <item> QWebHistory </item>
+    <item> QWebHistoryInterface </item>
+    <item> QWebHistoryItem </item>
+    <item> QWebHitTestResult </item>
+    <item> QWebInspector </item>
+    <item> QWebPage </item>
+    <item> QWebPluginFactory </item>
+    <item> QWebSecurityOrigin </item>
+    <item> QWebSettings </item>
+    <item> QWebView </item>
+    <item> QWhatsThis </item>
+    <item> QWhatsThisClickedEvent </item>
+    <item> QWheelEvent </item>
+    <item> QWidget </item>
+    <item> QWidgetAction </item>
+    <item> QWidgetItem </item>
+    <item> QWindowsMime </item>
+    <item> QWindowsStyle </item>
+    <item> QWindowStateChangeEvent </item>
+    <item> QWindowsVistaStyle </item>
+    <item> QWindowsXPStyle </item>
+    <item> QWizard </item>
+    <item> QWizardPage </item>
+    <item> QWriteLocker </item>
+    <item> QWSCalibratedMouseHandler </item>
+    <item> QWSClient </item>
+    <item> QWSEmbedWidget </item>
+    <item> QWSEvent </item>
+    <item> QWSGLWindowSurface </item>
+    <item> QWSInputMethod </item>
+    <item> QWSKeyboardHandler </item>
+    <item> QWSMouseHandler </item>
+    <item> QWSPointerCalibrationData </item>
+    <item> QWSScreenSaver </item>
+    <item> QWSServer </item>
+    <item> QWSWindow </item>
+    <item> QX11EmbedContainer </item>
+    <item> QX11EmbedWidget </item>
+    <item> QX11Info </item>
+    <item> QXmlAttributes </item>
+    <item> QXmlContentHandler </item>
+    <item> QXmlDeclHandler </item>
+    <item> QXmlDefaultHandler </item>
+    <item> QXmlDTDHandler </item>
+    <item> QXmlEntityResolver </item>
+    <item> QXmlErrorHandler </item>
+    <item> QXmlFormatter </item>
+    <item> QXmlInputSource </item>
+    <item> QXmlItem </item>
+    <item> QXmlLexicalHandler </item>
+    <item> QXmlLocator </item>
+    <item> QXmlName </item>
+    <item> QXmlNamePool </item>
+    <item> QXmlNamespaceSupport </item>
+    <item> QXmlNodeModelIndex </item>
+    <item> QXmlParseException </item>
+    <item> QXmlQuery </item>
+    <item> QXmlReader </item>
+    <item> QXmlResultItems </item>
+    <item> QXmlSchema </item>
+    <item> QXmlSchemaValidator </item>
+    <item> QXmlSerializer </item>
+    <item> QXmlSimpleReader </item>
+    <item> QXmlStreamAttribute </item>
+    <item> QXmlStreamAttributes </item>
+    <item> QXmlStreamEntityDeclaration </item>
+    <item> QXmlStreamEntityResolver </item>
+    <item> QXmlStreamNamespaceDeclaration </item>
+    <item> QXmlStreamNotationDeclaration </item>
+    <item> QXmlStreamReader </item>
+    <item> QXmlStreamWriter </item>
+    <!-- Not actually classes, but namespaces -->
+    <item> Qt </item>
+    <item> QTest </item>
+    <item> QtConcurrent </item>
+    <item> Phonon </item>
+    <!-- Some public types, but not listed in main class list -->
+    <item> QFileInfoList </item>
+    <item> QMutableStringListIterator </item>
+    <item> QTouchEventSequence </item>                      <!-- QTest -->
+    <item> QStringListIterator </item>
+    <item> QStringBuilder </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qwidget.html#related-non-members -->
+    <item> QWidgetList </item>
+  </list>
+
+  <list name="Qt4Func">
+    <!-- Global functions list from http://qt-project.org/doc/qt-4.8/qobject.html#static-public-members -->
+    <item> connect </item>
+    <item> disconnect </item>
+    <item> staticMetaObject </item>
+    <item> tr </item>
+    <item> trUtf8 </item>
+    <!-- Global functions list from http://qt-project.org/doc/qt-4.8/qobject.html#related-non-members -->
+    <item> qFindChildren</item>
+    <item> qobject_cast </item>
+    <!-- Global functions list from http://qt-project.org/doc/qt-4.8/qtglobal.html -->
+    <item> qAbs </item>
+    <item> qBound </item>
+    <item> qCritical </item>
+    <item> qDebug </item>
+    <item> qFatal </item>
+    <item> qFuzzyCompare </item>
+    <item> qFuzzyCompare </item>
+    <item> qInstallMsgHandler </item>
+    <item> qMacVersion </item>
+    <item> qMakePair </item>
+    <item> qMax </item>
+    <item> qMin </item>
+    <item> qPrintable </item>
+    <item> qRound64 </item>
+    <item> qRound </item>
+    <item> qVersion </item>
+    <item> qWarning </item>
+    <item> q_check_ptr </item>
+    <item> qgetenv </item>
+    <item> qrand </item>
+    <item> qsrand </item>
+    <item> qtTrId </item>
+    <item> qt_set_sequence_auto_mnemonic </item>
+    <item> qt_symbian_exception2Error </item>
+    <item> qt_symbian_exception2LeaveL </item>
+    <item> qt_symbian_throwIfError </item>
+    <!-- Global functions list from http://qt-project.org/doc/qt-4.8/qtalgorithms.html -->
+    <item> qBinaryFind </item>
+    <item> qCopy </item>
+    <item> qCopyBackward </item>
+    <item> qCount </item>
+    <item> qDeleteAll </item>
+    <item> qEqual </item>
+    <item> qFill </item>
+    <item> qFind </item>
+    <item> qGreater </item>
+    <item> qLess </item>
+    <item> qLowerBound </item>
+    <item> qSort </item>
+    <item> qStableSort </item>
+    <item> qSwap </item>
+    <item> qUpperBound </item>
+    <!-- Related non-members from http://qt-project.org/doc/qt-4.8/qbytearray.html -->
+    <item> qChecksum </item>
+    <item> qCompress </item>
+    <item> qUncompress </item>
+    <item> qsnprintf </item>
+    <item> qstrcmp </item>
+    <item> qstrcpy </item>
+    <item> qstrdup </item>
+    <item> qstricmp </item>
+    <item> qstrlen </item>
+    <item> qstrncmp </item>
+    <item> qstrncpy </item>
+    <item> qstrnicmp </item>
+    <item> qstrnlen </item>
+    <item> qvsnprintf </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qhash.html#related-non-members -->
+    <item> qHash </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qmetatype.html#related-non-members -->
+    <item> qMetaTypeId </item>
+    <item> qRegisterMetaType </item>
+    <item> qRegisterMetaType </item>
+    <item> qRegisterMetaTypeStreamOperators </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qcolor.html#related-non-members -->
+    <item> qAlpha </item>
+    <item> qBlue </item>
+    <item> qGray </item>
+    <item> qGray </item>
+    <item> qGreen </item>
+    <item> qRed </item>
+    <item> qRgb </item>
+    <item> qRgba  </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qcoreapplication.html#related-non-members -->
+    <item> qAddPostRoutine </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qdeclarativeengine.html#related-non-members -->
+    <item> qmlInfo </item>
+    <item> qmlRegisterInterface </item>
+    <item> qmlRegisterType </item>
+    <item> qmlRegisterType </item>
+    <item> qmlRegisterTypeNotAvailable </item>
+    <item> qmlRegisterUncreatableType </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qwebpage.html#related-non-members -->
+    <item> qWebKitMajorVersion </item>
+    <item> qWebKitMinorVersion </item>
+    <item> qWebKitVersion </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qextensionmanager.html#related-non-members -->
+    <item> qt_extension </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qdbusargument.html#related-non-members -->
+    <item> qDBusRegisterMetaType </item>
+    <item> qdbus_cast </item>
+  </list>
+
+  <!-- Types list from http://qt-project.org/doc/qt-4.8/qtglobal.html -->
+  <list name="Qt4Types">
+    <item> QtMsgHandler </item>
+    <item> QtMsgType </item>
+    <item> QObjectList </item>
+    <item> qint8 </item>
+    <item> qint16 </item>
+    <item> qint32 </item>
+    <item> qint64 </item>
+    <item> qlonglong </item>
+    <item> qptrdiff </item>
+    <item> qreal </item>
+    <item> quint8 </item>
+    <item> quint16 </item>
+    <item> quint32 </item>
+    <item> quint64 </item>
+    <item> quintptr </item>
+    <item> qulonglong </item>
+    <item> uchar </item>
+    <item> uint </item>
+    <item> ulong </item>
+    <item> ushort </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qprocess.html#Q_PID-typedef -->
+    <item> Q_PID </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qcolor.html#related-non-members -->
+    <item> QRgb </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qscriptengine.html#related-non-members -->
+    <item> qScriptConnect </item>
+    <item> qScriptDisconnect </item>
+    <item> qScriptRegisterMetaType </item>
+    <item> qScriptRegisterSequenceMetaType </item>
+    <item> qScriptValueFromSequence </item>
+    <item> qScriptValueToSequence </item>
+    <!-- http://qt-project.org/doc/qt-4.8/qwidget.html#related-non-members -->
+    <item> WId </item>
+  </list>
+
+  <contexts>
+    <!-- Base context for C++ and Qt highlighting to be used as standalone syntax -->
+    <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+      <IncludeRules context="DetectQt4Extensions" />
+      <IncludeRules context="##ISO C++" />
+    </context>
+
+    <!-- This context can be used from other (alternative) C++ syntax files
+         To use it just <IncludeRules context="DetectQt4Extensions##Qt4/C++" />
+      -->
+    <context attribute="Normal Text" lineEndContext="#stay" name="DetectQt4Extensions">
+      <keyword attribute="Qt4 Types" context="#stay" String="Qt4Types" />
+      <keyword attribute="Qt4 Classes" context="QtClassMember" String="Qt4Classes" />
+      <keyword attribute="Qt4 Functions" context="#stay" String="Qt4Func" />
+      <keyword attribute="Qt4 Macros" context="#stay" String="Qt4Macros" />
+    </context>
+
+    <context attribute="Qt4 Classes" lineEndContext="#pop" name="QtClassMember">
+      <IncludeRules context="DetectNSEnd" />
+    </context>
+
+    <context lineEndContext="#pop" name="DetectNSEnd" attribute="Normal Text">
+      <DetectIdentifier context="#stay" />
+      <AnyChar context="#pop" String="&ns_punctuators;" lookAhead="true" />
+      <AnyChar context="#stay" String="&space;" lookAhead="true" />
+    </context>
+
+  </contexts>
+
+  <itemDatas>
+    <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
+    <itemData name="Qt4 Macros" defStyleNum="dsExtension" spellChecking="false" bold="1" italic="0" />
+    <itemData name="Qt4 Types" defStyleNum="dsExtension" spellChecking="false" />
+    <itemData name="Qt4 Classes" defStyleNum="dsExtension" spellChecking="false" />
+    <itemData name="Qt4 Functions" defStyleNum="dsFunction" spellChecking="false" />
+  </itemDatas>
+</highlighting>
+
+<general>
+  <comments>
+    <comment name="singleLine" start="//" />
+    <comment name="multiLine" start="/*" end="*/" />
+  </comments>
+  <keywords casesensitive="1" />
+</general>
+
+</language>
+<!-- kate: indent-width 2; tab-width 2; -->
diff --git a/xml/cs.xml b/xml/cs.xml
new file mode 100644
--- /dev/null
+++ b/xml/cs.xml
@@ -0,0 +1,166 @@
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="C#" version="2" kateversion="5.0" section="Sources" extensions="*.cs" mimetype="text/x-csharp-src;text/x-csharp-hde">
+  <highlighting>
+    <list name="keywords">
+      <item> abstract</item>
+      <item> as</item>
+      <item> base</item>
+      <item> break</item>
+      <item> case</item>
+      <item> catch</item>
+      <item> class</item>
+      <item> checked</item>
+      <item> continue</item>
+      <item> default</item>
+      <item> delegate</item>
+      <item> do</item>
+      <item> else</item>
+      <item> enum</item>
+      <item> event</item>
+      <item> explicit</item>
+      <item> extern</item>
+      <item> false</item>
+      <item> for</item>
+      <item> foreach</item>
+      <item> finally</item>
+      <item> fixed</item>
+      <item> goto</item>
+      <item> if</item>
+      <item> implicit</item>
+      <item> in</item>
+      <item> interface</item>
+      <item> internal</item>
+      <item> is</item>
+      <item> lock</item>
+      <item> namespace</item>
+      <item> new</item>
+      <item> null</item>
+      <item> operator</item>
+      <item> out</item>
+      <item> override</item>
+      <item> params</item>
+      <item> private</item>
+      <item> protected</item>
+      <item> public</item>
+      <item> readonly</item>
+      <item> ref</item>
+      <item> return</item>
+      <item> sealed</item>
+      <item> sizeof</item>
+      <item> stackalloc</item>
+      <item> static</item>
+      <item> struct</item>
+      <item> switch</item>
+      <item> this</item>
+      <item> throw</item>
+      <item> true</item>
+      <item> try</item>
+      <item> typeof</item>
+      <item> unchecked</item>
+      <item> unsafe</item>
+      <item> using</item>
+      <item> virtual</item>
+      <item> while</item>
+      <item> #if</item>
+      <item> #else</item>
+      <item> #elif</item>
+      <item> #endif</item>
+      <item> #define</item>
+      <item> #undef</item>
+      <item> #warning</item>
+      <item> #error</item>
+      <item> #line</item>
+    </list>
+    <list name="types">
+      <item> bool</item>
+      <item> byte</item>
+      <item> char</item>
+      <item> const</item>
+      <item> decimal</item>
+      <item> double</item>
+      <item> float</item>
+      <item> int</item>
+      <item> long</item>
+      <item> object</item>
+      <item> uint</item>
+      <item> ushort</item>
+      <item> ulong</item>
+      <item> sbyte</item>
+      <item> short</item>
+      <item> string</item>
+      <item> void</item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Data Type" context="#stay" String="types" />
+        <Float attribute="Float" context="#stay">
+          <AnyChar String="fF" attribute="Float" context="#stay"/>
+        </Float>
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Int attribute="Decimal" context="#stay" >
+          <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
+        </Int>
+        <HlCChar attribute="Char" context="#stay"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*"/>
+        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="block1"/>
+        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="block1"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\bpartial(?=\s+(class|struct|interface|void))"/>
+        <RegExpr attribute="Data Type" context="#stay" String="\bvar(?=\s+\w+\s*=\s*\w+)"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\byield(?=\s+(return|break))"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(set|get)(?=\s*[;{])"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\bglobal(?=\s*::\s*\w+)"/>
+        <RegExpr attribute="Decimal" context="#stay" String="#region.*$" beginRegion="Region1"/>
+        <RegExpr attribute="Decimal" context="#stay" String="#endregion.*$" endRegion="Region1"/>
+        <RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*[(])" />
+        <RegExpr attribute="Symbol" context="Member" String="[.]{1,1}" />
+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <LineContinue attribute="String" context="#pop"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="Member" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr attribute="Function" context="#pop" String="\b[_\w][_\w\d]*(?=[\s]*)" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
+      <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"  defStyleNum="dsNormal"/>
+      <itemData name="Keyword"      defStyleNum="dsKeyword"/>
+      <itemData name="Function"     defStyleNum="dsFunction"/>
+      <itemData name="Data Type"    defStyleNum="dsDataType"/>
+      <itemData name="Decimal"      defStyleNum="dsDecVal"/>
+      <itemData name="Octal"        defStyleNum="dsBaseN"/>
+      <itemData name="Hex"          defStyleNum="dsBaseN"/>
+      <itemData name="Float"        defStyleNum="dsFloat"/>
+      <itemData name="Char"         defStyleNum="dsChar"/>
+      <itemData name="String"       defStyleNum="dsString"/>
+      <itemData name="String Char"  defStyleNum="dsSpecialChar"/>
+      <itemData name="Comment"      defStyleNum="dsComment"/>
+      <itemData name="Symbol"       defStyleNum="dsNormal"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="/*" end="*/" />
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
diff --git a/xml/css.xml b/xml/css.xml
new file mode 100644
--- /dev/null
+++ b/xml/css.xml
@@ -0,0 +1,1119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+  <!-- http://www.w3.org/TR/CSS21/syndata.html#tokenization -->
+  <!ENTITY nmstart "[_a-zA-Z]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">
+  <!ENTITY nmchar  "[_a-zA-Z0-9-]|(\\[0-9a-fA-F]{1,6})|(\\[^\n\r\f0-9a-fA-F])">
+]>
+
+<!--
+
+Kate CSS syntax highlighting definition
+
+Changelog:
+
+- Version 2.13, by Guo Yunhe
+- Add all W3C Work Draft properties
+
+- Version 2.06, by Mte90:
+- CSS3 tag
+
+- Version 2.03, by Milian Wolff:
+- Make it spelling aware
+
+- Version 2.08, Joseph Wenninger:
+- CSS3 media queries
+
+-->
+
+<language name="CSS" version="3" kateversion="5.0" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
+
+    <highlighting>
+        <list name="properties">
+            <!-- W3C > Work Draft, from https://www.w3.org/Style/CSS/all-properties -->
+            <item> azimuth </item>
+            <item> align-content </item>
+            <item> align-items </item>
+            <item> align-self </item>
+            <item> alignment-baseline </item>
+            <item> all </item>
+            <item> animation-name </item>
+            <item> animation-duration </item>
+            <item> animation-iteration-count </item>
+            <item> animation-direction </item>
+            <item> animation-delay </item>
+            <item> animation-play-state </item>
+            <item> animation-fill-mode </item>
+            <item> animation-timing-function </item>
+            <item> backface-visibility </item>
+            <item> background </item>
+            <item> background-attachment </item>
+            <item> background-blend-mode </item>
+            <item> background-break </item>
+            <item> background-clip </item>
+            <item> background-color </item>
+            <item> background-image </item>
+            <item> background-origin </item>
+            <item> background-position </item>
+            <item> background-repeat </item>
+            <item> background-size </item>
+            <item> baseline-shift </item>
+            <item> bookmark-label </item>
+            <item> bookmark-level </item>
+            <item> bookmark-level </item>
+            <item> border </item>
+            <item> border-bottom </item>
+            <item> border-bottom-color </item>
+            <item> border-bottom-image </item>
+            <item> border-bottom-style </item>
+            <item> border-bottom-width </item>
+            <item> border-bottom-left-image </item>
+            <item> border-bottom-left-radius </item>
+            <item> border-bottom-right-image </item>
+            <item> border-bottom-right-radius </item>
+            <item> border-boundary </item>
+            <item> border-collapse </item>
+            <item> border-color </item>
+            <item> border-corner-image </item>
+            <item> border-image </item>
+            <item> border-image-outset </item>
+            <item> border-image-repeat </item>
+            <item> border-image-slice </item>
+            <item> border-image-source </item>
+            <item> border-image-width </item>
+            <item> border-left </item>
+            <item> border-left-color </item>
+            <item> border-left-image </item>
+            <item> border-left-style </item>
+            <item> border-left-width </item>
+            <item> border-radius </item>
+            <item> border-right </item>
+            <item> border-right-color </item>
+            <item> border-right-image </item>
+            <item> border-right-style </item>
+            <item> border-right-width </item>
+            <item> border-spacing </item>
+            <item> border-style </item>
+            <item> border-top </item>
+            <item> border-top-color </item>
+            <item> border-top-image </item>
+            <item> border-top-style </item>
+            <item> border-top-width </item>
+            <item> border-top-left-image </item>
+            <item> border-top-left-radius </item>
+            <item> border-top-right-image </item>
+            <item> border-top-right-radius </item>
+            <item> border-width </item>
+            <item> bottom </item>
+            <item> box-align </item>
+            <item> box-decoration-break </item>
+            <item> box-direction </item>
+            <item> box-flex </item>
+            <item> box-shadow </item>
+            <item> box-sizing </item>
+            <item> box-snap </item>
+            <item> box-suppress </item>
+            <item> break-after </item>
+            <item> break-before </item>
+            <item> break-inside </item>
+            <item> caret-color </item>
+            <item> caption-side </item>
+            <item> chains </item>
+            <item> clear </item>
+            <item> clip </item>
+            <item> clip-path </item>
+            <item> clip-rule </item>
+            <item> color </item>
+            <item> color-interpolation-filters </item>
+            <item> column-count </item>
+            <item> column-fill </item>
+            <item> column-gap </item>
+            <item> column-rule </item>
+            <item> column-rule-color </item>
+            <item> column-rule-style </item>
+            <item> column-rule-width </item>
+            <item> column-span </item>
+            <item> column-width </item>
+            <item> columns </item>
+            <item> content </item>
+            <item> counter-increment </item>
+            <item> counter-reset </item>
+            <item> counter-set </item>
+            <item> cue </item>
+            <item> cue-after </item>
+            <item> cue-before </item>
+            <item> cursor </item>
+            <item> direction </item>
+            <item> display </item>
+            <item> dominant-baseline </item>
+            <item> elevation </item>
+            <item> empty-cells </item>
+            <item> filter </item>
+            <item> flex </item>
+            <item> flex-basis </item>
+            <item> flex-direction </item>
+            <item> flex-flow </item>
+            <item> flex-grow </item>
+            <item> flex-shrink </item>
+            <item> flex-wrap </item>
+            <item> float </item>
+            <item> flood-color </item>
+            <item> flood-opacity </item>
+            <item> flow </item>
+            <item> flow-from </item>
+            <item> flow-into </item>
+            <item> font </item>
+            <item> font-family </item>
+            <item> font-size </item>
+            <item> font-size-adjust </item>
+            <item> font-stretch </item>
+            <item> font-style </item>
+            <item> font-variant </item>
+            <item> font-weight </item>
+            <item> font-stretch </item>
+            <item> font-feature-settings </item>
+            <item> font-kerning </item>
+            <item> font-language-override </item>
+            <item> font-synthesis </item>
+            <item> font-variant-alternates </item>
+            <item> font-variant-caps </item>
+            <item> font-variant-east-asian </item>
+            <item> font-variant-ligatures </item>
+            <item> font-variant-numeric </item>
+            <item> font-variant-position </item>
+            <item> footnote-display </item>
+            <item> footnote-policy </item>
+            <item> glyph-orientation-vertical </item>
+            <item> grid </item>
+            <item> grid-area </item>
+            <item> grid-auto-columns </item>
+            <item> grid-auto-flow </item>
+            <item> grid-auto-rows </item>
+            <item> grid-column </item>
+            <item> grid-column-end </item>
+            <item> grid-column-gap </item>
+            <item> grid-column-start </item>
+            <item> grid-gap </item>
+            <item> grid-row </item>
+            <item> grid-row-end </item>
+            <item> grid-row-gap </item>
+            <item> grid-row-start </item>
+            <item> grid-template </item>
+            <item> grid-template-areas </item>
+            <item> grid-template-columns </item>
+            <item> grid-template-rows </item>
+            <item> hanging-punctuation </item>
+            <item> height </item>
+            <item> hyphens </item>
+            <item> image-orientation </item>
+            <item> image-rendering </item>
+            <item> image-resolution </item>
+            <item> initial-letter </item>
+            <item> initial-letter-align </item>
+            <item> initial-letter-wrap </item>
+            <item> isolation </item>
+            <item> justify-content </item>
+            <item> justify-items </item>
+            <item> justify-self </item>
+            <item> left </item>
+            <item> letter-spacing </item>
+            <item> lighting-color </item>
+            <item> linear-gradient </item>
+            <item> line-grid </item>
+            <item> line-height </item>
+            <item> line-snap </item>
+            <item> list-style </item>
+            <item> list-style-image </item>
+            <item> list-style-keyword </item>
+            <item> list-style-position </item>
+            <item> list-style-type  </item>
+            <item> margin </item>
+            <item> margin-bottom </item>
+            <item> margin-left </item>
+            <item> margin-right </item>
+            <item> margin-top </item>
+            <item> marker-offset </item>
+            <item> marker-side </item>
+            <item> marquee-direction </item>
+            <item> marquee-loop </item>
+            <item> marquee-speed </item>
+            <item> marquee-style </item>
+            <item> mask </item>
+            <item> mask-border </item>
+            <item> mask-border-mode </item>
+            <item> mask-border-outset </item>
+            <item> mask-border-repeat </item>
+            <item> mask-border-slice </item>
+            <item> mask-border-source </item>
+            <item> mask-border-width </item>
+            <item> mask-clip </item>
+            <item> mask-composite </item>
+            <item> mask-image </item>
+            <item> mask-mode </item>
+            <item> mask-origin </item>
+            <item> mask-position </item>
+            <item> mask-repeat </item>
+            <item> mask-size </item>
+            <item> mask-type </item>
+            <item> max-height </item>
+            <item> max-lines </item>
+            <item> max-width </item>
+            <item> min-height </item>
+            <item> min-width </item>
+            <item> mix-blend-mode </item>
+            <item> nav-down </item>
+            <item> nav-left </item>
+            <item> nav-right </item>
+            <item> nav-up </item>
+            <item> object-fit </item>
+            <item> object-position </item>
+            <item> offset-after </item>
+            <item> offset-before </item>
+            <item> offset-end </item>
+            <item> offset-start </item>
+            <item> opacity </item>
+            <item> order </item>
+            <item> orphans </item>
+            <item> outline </item>
+            <item> outline-color </item>
+            <item> outline-offset </item>
+            <item> outline-style </item>
+            <item> outline-width </item>
+            <item> overflow </item>
+            <item> overflow-style </item>
+            <item> overflow-wrap </item>
+            <item> overflow-x </item>
+            <item> overflow-y </item>
+            <item> padding </item>
+            <item> padding-bottom </item>
+            <item> padding-left </item>
+            <item> padding-right </item>
+            <item> padding-top </item>
+            <item> page </item>
+            <item> page-break-after </item>
+            <item> page-break-before </item>
+            <item> page-break-inside </item>
+            <item> pause </item>
+            <item> pause-after </item>
+            <item> pause-before </item>
+            <item> perspective </item>
+            <item> perspective-origin </item>
+            <item> pitch </item>
+            <item> pitch-range </item>
+            <item> play-during </item>
+            <item> pointer-events </item>
+            <item> polar-anchor </item>
+            <item> polar-angle </item>
+            <item> polar-distance </item>
+            <item> polar-origin </item>
+            <item> position </item>
+            <item> presentation-level </item>
+            <item> quotes </item>
+            <item> resize </item>
+            <item> rest </item>
+            <item> rest-after </item>
+            <item> rest-before </item>
+            <item> richness </item>
+            <item> right </item>
+            <item> rotation </item>
+            <item> rotation-point </item>
+            <item> ruby-align </item>
+            <item> ruby-merge </item>
+            <item> ruby-position </item>
+            <item> running </item>
+            <item> scroll-behavior </item>
+            <item> scroll-snap-align </item>
+            <item> scroll-snap-margin </item>
+            <item> scroll-snap-margin-block </item>
+            <item> scroll-snap-margin-block-end </item>
+            <item> scroll-snap-margin-block-start </item>
+            <item> scroll-snap-margin-bottom </item>
+            <item> scroll-snap-margin-inline </item>
+            <item> scroll-snap-margin-inline-end </item>
+            <item> scroll-snap-margin-inline-start </item>
+            <item> scroll-snap-margin-left </item>
+            <item> scroll-snap-margin-right </item>
+            <item> scroll-snap-margin-top </item>
+            <item> scroll-snap-padding </item>
+            <item> scroll-snap-padding-block </item>
+            <item> scroll-snap-padding-block-end </item>
+            <item> scroll-snap-padding-block-start </item>
+            <item> scroll-snap-padding-bottom </item>
+            <item> scroll-snap-padding-inline </item>
+            <item> scroll-snap-padding-inline-end </item>
+            <item> scroll-snap-padding-inline-start </item>
+            <item> scroll-snap-padding-left </item>
+            <item> scroll-snap-padding-right </item>
+            <item> scroll-snap-padding-top </item>
+            <item> scroll-snap-stop </item>
+            <item> scroll-snap-type </item>
+            <item> shape-image-threshold </item>
+            <item> shape-inside </item>
+            <item> shape-margin </item>
+            <item> shape-outside </item>
+            <item> size </item>
+            <item> speak </item>
+            <item> speak-as </item>
+            <item> speak-header </item>
+            <item> speak-numeral </item>
+            <item> speak-punctuation </item>
+            <item> speech-rate </item>
+            <item> stress </item>
+            <item> string-set </item>
+            <item> tab-size </item>
+            <item> table-layout </item>
+            <item> text-align </item>
+            <item> text-align-last </item>
+            <item> text-combine-upright </item>
+            <item> text-decoration </item>
+            <item> text-decoration-color </item>
+            <item> text-decoration-line </item>
+            <item> text-decoration-skip </item>
+            <item> text-decoration-style </item>
+            <item> text-emphasis </item>
+            <item> text-emphasis-color </item>
+            <item> text-emphasis-position </item>
+            <item> text-emphasis-style </item>
+            <item> text-indent </item>
+            <item> text-justify </item>
+            <item> text-orientation </item>
+            <item> text-overflow </item>
+            <item> text-shadow </item>
+            <item> text-transform </item>
+            <item> text-underline-position </item>
+            <item> text-wrap </item>
+            <item> top </item>
+            <item> transform </item>
+            <item> transform-origin </item>
+            <item> transform-style </item>
+            <item> transition </item>
+            <item> transition-delay </item>
+            <item> transition-property </item>
+            <item> transition-duration </item>
+            <item> transition-timing-function </item>
+            <item> unicode-bidi </item>
+            <item> vertical-align </item>
+            <item> visibility </item>
+            <item> voice-balance </item>
+            <item> voice-duration </item>
+            <item> voice-family </item>
+            <item> voice-pitch </item>
+            <item> voice-range </item>
+            <item> voice-rate </item>
+            <item> voice-stress </item>
+            <item> voice-volume </item>
+            <item> volume </item>
+            <item> white-space </item>
+            <item> widows </item>
+            <item> width </item>
+            <item> will-change </item>
+            <item> word-break </item>
+            <item> word-spacing </item>
+            <item> word-wrap </item>
+            <item> wrap-flow </item>
+            <item> wrap-through </item>
+            <item> writing-mode </item>
+            <item> z-index </item>
+
+            <!-- Gecko rendering engine CSS property extensions -->
+            <item> -moz-animation-name </item>
+            <item> -moz-animation-duration </item>
+            <item> -moz-animation-iteration </item>
+            <item> -moz-animation-direction </item>
+            <item> -moz-animation-delay </item>
+            <item> -moz-animation-play-state </item>
+            <item> -moz-animation-fill-mode </item>
+            <item> -moz-background-size </item>
+            <item> -moz-border-image </item>
+            <item> -moz-border-bottom-colors </item>
+            <item> -moz-border-left-colors </item>
+            <item> -moz-border-radius </item>
+            <item> -moz-border-radius-topleft </item>
+            <item> -moz-border-radius-topright </item>
+            <item> -moz-border-radius-bottomleft </item>
+            <item> -moz-border-radius-bottomright </item>
+            <item> -moz-border-right-colors </item>
+            <item> -moz-border-top-colors </item>
+            <item> -moz-box </item>
+            <item> -moz-box-flex </item>
+            <item> -moz-box-shadow </item>
+            <item> -moz-box-sizing </item>
+            <item> -moz-column-count </item>
+            <item> -moz-column-gap </item>
+            <item> -moz-hyphens </item>
+            <item> -moz-linear-gradient </item>
+            <item> -moz-opacity </item>
+            <item> -moz-outline-style </item>
+            <item> -moz-perspective </item>
+            <item> -moz-radial-gradient </item>
+            <item> -moz-resize </item>
+            <item> -moz-transform </item>
+            <item> -moz-transform-origin </item>
+            <item> -moz-transform-style </item>
+            <item> -moz-transition </item>
+            <item> -moz-transition-property </item>
+            <item> -moz-transition-duration </item>
+
+            <!-- Opera rendering engine CSS property extensions -->
+            <item> -o-background-size </item>
+            <item> -o-linear-gradient </item>
+            <item> -o-text-overflow </item>
+            <item> -o-transition </item>
+            <item> -o-transform-origin </item>
+
+            <!-- konq specific -->
+            <item> konq_bgpos_x </item>
+            <item> konq_bgpos_y </item>
+            <item> -khtml-background-size </item>
+            <item> -khtml-border-top-left-radius </item>
+            <item> -khtml-border-top-right-radius </item>
+            <item> -khtml-border-bottom-left-radius </item>
+            <item> -khtml-border-bottom-right-radius </item>
+            <item> -khtml-border-radius </item>
+            <item> -khtml-box-shadow </item>
+            <item> -khtml-opacity </item>
+
+            <!-- Webkit rendering engine CSS property extensions -->
+            <item> -webkit-appearance </item>
+            <item> -webkit-animation-name </item>
+            <item> -webkit-animation-duration </item>
+            <item> -webkit-animation-iteration </item>
+            <item> -webkit-animation-direction </item>
+            <item> -webkit-animation-delay </item>
+            <item> -webkit-animation-play-state </item>
+            <item> -webkit-animation-fill-mode </item>
+            <item> -webkit-background-size </item>
+            <item> -webkit-border-image </item>
+            <item> -webkit-border-bottom-colors </item>
+            <item> -webkit-border-left-colors </item>
+            <item> -webkit-border-radius </item>
+            <item> -webkit-border-right-colors </item>
+            <item> -webkit-border-top-colors </item>
+            <item> -webkit-border-top-left-radius </item>
+            <item> -webkit-border-top-right-radius </item>
+            <item> -webkit-border-bottom-left-radius </item>
+            <item> -webkit-border-bottom-right-radius </item>
+            <item> -webkit-border-radius-bottomleft </item>
+            <item> -webkit-border-radius-bottomright </item>
+            <item> -webkit-box-flex </item>
+            <item> -webkit-box-reflect</item>
+            <item> -webkit-box-shadow </item>
+            <item> -webkit-box-sizing </item>
+            <item> -webkit-column-count </item>
+            <item> -webkit-column-gap </item>
+            <item> -webkit-hyphens </item>
+            <item> -webkit-linear-gradient </item>
+            <item> -webkit-gradient </item>
+            <item> -webkit-perspective </item>
+            <item> -webkit-text-fill-color </item>
+            <item> -webkit-text-stroke-color </item>
+            <item> -webkit-text-stroke-width </item>
+            <item> -webkit-text-size-adjust </item>
+            <item> -webkit-transform </item>
+            <item> -webkit-transform-origin </item>
+            <item> -webkit-transform-style </item>
+            <item> -webkit-transition </item>
+            <item> -webkit-transition-property </item>
+            <item> -webkit-transition-duration </item>
+
+            <!-- Trident (a.k.a., MSHTML) CSS property extensions -->
+            <item> zoom </item>
+            <item> -ms-animation-name </item>
+            <item> -ms-animation-duration </item>
+            <item> -ms-animation-iteration </item>
+            <item> -ms-animation-direction </item>
+            <item> -ms-animation-delay </item>
+            <item> -ms-animation-play-state </item>
+            <item> -ms-animation-fill-mode </item>
+            <item> -ms-box-sizing </item>
+            <item> -ms-filter </item>
+            <item> -ms-interpolation-mode </item>
+            <item> -ms-linear-gradient </item>
+            <item> -ms-text-size-adjust </item>
+            <item> -ms-transform </item>
+            <item> -ms-transition </item>
+
+            <!-- font properties in @font-face -->
+            <item> font-family </item>
+            <item> font-size </item>
+            <item> font-stretch </item>
+            <item> font-style </item>
+            <item> font-variant </item>
+            <item> font-weight </item>
+            <item> unicode-range </item>
+            <item> units-per-em </item>
+            <item> src </item>
+            <item> panose-1 </item>
+            <item> stemv </item>
+            <item> stemh </item>
+            <item> slope </item>
+            <item> cap-height </item>
+            <item> x-height </item>
+            <item> ascent </item>
+            <item> descent </item>
+            <item> widths </item>
+            <item> bbox </item>
+            <item> definition-src </item>
+            <item> baseline </item>
+            <item> centerline </item>
+            <item> mathline </item>
+            <item> topline </item>
+        </list>
+
+        <list name="types">
+            <item> inherit </item>
+            <item> none </item>
+            <item> hidden </item>
+            <item> dotted </item>
+            <item> dashed </item>
+            <item> solid </item>
+            <item> double </item>
+            <item> groove </item>
+            <item> ridge </item>
+            <item> inset </item>
+            <item> outset </item>
+            <item> xx-small </item>
+            <item> x-small </item>
+            <item> small </item>
+            <item> medium </item>
+            <item> large </item>
+            <item> x-large </item>
+            <item> xx-large </item>
+            <item> smaller </item>
+            <item> larger </item>
+            <item> italic </item>
+            <item> oblique </item>
+            <item> small-caps </item>
+            <item> normal </item>
+            <item> bold </item>
+            <item> bolder </item>
+            <item> lighter </item>
+            <item> light </item>
+            <item> 100 </item>
+            <item> 200 </item>
+            <item> 300 </item>
+            <item> 400 </item>
+            <item> 500 </item>
+            <item> 600 </item>
+            <item> 700 </item>
+            <item> 800 </item>
+            <item> 900 </item>
+            <item> transparent </item>
+            <item> repeat </item>
+            <item> repeat-x </item>
+            <item> repeat-y </item>
+            <item> no-repeat </item>
+            <item> baseline </item>
+            <item> sub </item>
+            <item> super </item>
+            <item> top </item>
+            <item> text-top </item>
+            <item> middle </item>
+            <item> bottom </item>
+            <item> text-bottom </item>
+            <item> left </item>
+            <item> right </item>
+            <item> center </item>
+            <item> justify </item>
+            <item> konq-center </item>
+            <item> disc </item>
+            <item> circle </item>
+            <item> square </item>
+            <item> box </item>
+            <item> decimal </item>
+            <item> decimal-leading-zero </item>
+            <item> lower-roman </item>
+            <item> upper-roman </item>
+            <item> lower-greek </item>
+            <item> lower-alpha </item>
+            <item> lower-latin </item>
+            <item> upper-alpha </item>
+            <item> upper-latin </item>
+            <item> hebrew </item>
+            <item> armenian </item>
+            <item> georgian </item>
+            <item> cjk-ideographic </item>
+            <item> hiragana </item>
+            <item> katakana </item>
+            <item> hiragana-iroha </item>
+            <item> katakana-iroha </item>
+            <item> inline </item>
+            <item> inline-block </item>
+            <item> block </item>
+            <item> list-item </item>
+            <item> run-in </item>
+            <item> compact </item>
+            <item> marker </item>
+            <item> table </item>
+            <item> inline-table </item>
+            <item> table-row-group </item>
+            <item> table-header-group </item>
+            <item> table-footer-group </item>
+            <item> table-row </item>
+            <item> table-column-group </item>
+            <item> table-column </item>
+            <item> table-cell </item>
+            <item> table-caption </item>
+            <item> auto </item>
+            <item> crosshair </item>
+            <item> default </item>
+            <item> pointer </item>
+            <item> move </item>
+            <item> e-resize </item>
+            <item> ne-resize </item>
+            <item> nw-resize </item>
+            <item> n-resize </item>
+            <item> se-resize </item>
+            <item> sw-resize </item>
+            <item> s-resize </item>
+            <item> w-resize </item>
+            <item> text </item>
+            <item> wait </item>
+            <item> help </item>
+            <item> above </item>
+            <item> absolute </item>
+            <item> always </item>
+            <item> avoid </item>
+            <item> below </item>
+            <item> bidi-override </item>
+            <item> blink </item>
+            <item> both </item>
+            <item> capitalize </item>
+            <item> caption </item>
+            <item> clip </item>
+            <item> close-quote </item>
+            <item> collapse </item>
+            <item> condensed </item>
+            <item> crop </item>
+            <item> cross </item>
+            <item> ellipsis </item>
+            <item> ellipsis-word </item>
+            <item> embed </item>
+            <item> expanded </item>
+            <item> extra-condensed </item>
+            <item> extra-expanded </item>
+            <item> fixed </item>
+            <item> hand </item>
+            <item> hide </item>
+            <item> higher </item>
+            <item> icon </item>
+            <item> inside </item>
+            <item> invert </item>
+            <item> landscape </item>
+            <item> level </item>
+            <item> line-through </item>
+            <item> loud </item>
+            <item> lower </item>
+            <item> lowercase </item>
+            <item> ltr </item>
+            <item> menu </item>
+            <item> message-box </item>
+            <item> mix </item>
+            <item> narrower </item>
+            <item> no-close-quote </item>
+            <item> no-open-quote </item>
+            <item> nowrap </item>
+            <item> open-quote </item>
+            <item> outside </item>
+            <item> overline </item>
+            <item> portrait </item>
+            <item> pre </item>
+            <item> pre-line </item>
+            <item> pre-wrap </item>
+            <item> relative </item>
+            <item> rtl </item>
+            <item> scroll </item>
+            <item> semi-condensed </item>
+            <item> semi-expanded </item>
+            <item> separate </item>
+            <item> show </item>
+            <item> small-caption </item>
+            <item> static </item>
+            <item> static-position </item>
+            <item> status-bar </item>
+            <item> thick </item>
+            <item> thin </item>
+            <item> ultra-condensed </item>
+            <item> ultra-expanded </item>
+            <item> underline </item>
+            <item> uppercase </item>
+            <item> visible </item>
+            <item> wider </item>
+            <item> break </item>
+            <item> serif </item>
+            <item> sans-serif </item>
+            <item> cursive </item>
+            <item> fantasy </item>
+            <item> monospace </item>
+            <item> border-box </item>
+            <item> content-box </item>
+            <item> -epub-hyphens </item>
+        </list>
+
+        <list name="colors">
+            <item> aqua </item>
+            <item> black </item>
+            <item> blue </item>
+            <item> cyan </item>
+            <item> fuchsia </item>
+            <item> gray </item>
+            <item> green </item>
+            <item> lime </item>
+            <item> maroon </item>
+            <item> navy </item>
+            <item> olive </item>
+            <item> purple </item>
+            <item> red </item>
+            <item> silver </item>
+            <item> teal </item>
+            <item> white </item>
+            <item> yellow </item>
+            <item> ActiveBorder  </item>
+            <item> ActiveCaption  </item>
+            <item> AppWorkspace  </item>
+            <item> Background  </item>
+            <item> ButtonFace  </item>
+            <item> ButtonHighlight  </item>
+            <item> ButtonShadow  </item>
+            <item> ButtonText  </item>
+            <item> CaptionText  </item>
+            <item> GrayText  </item>
+            <item> Highlight  </item>
+            <item> HighlightText  </item>
+            <item> InactiveBorder  </item>
+            <item> InactiveCaption  </item>
+            <item> InactiveCaptionText  </item>
+            <item> InfoBackground  </item>
+            <item> InfoText  </item>
+            <item> Menu  </item>
+            <item> MenuText  </item>
+            <item> Scrollbar  </item>
+            <item> ThreeDDarkShadow  </item>
+            <item> ThreeDFace  </item>
+            <item> ThreeDHighlight  </item>
+            <item> ThreeDLightShadow  </item>
+            <item> ThreeDShadow  </item>
+            <item> Window  </item>
+            <item> WindowFrame  </item>
+            <item> WindowText  </item>
+        </list>
+
+        <list name="paren">
+            <item> url </item>
+            <item> attr </item>
+            <item> rect </item>
+            <item> rgb </item>
+            <item> rgba </item>
+            <item> hsl </item>
+            <item> hsla </item>
+            <item> counter </item>
+            <item> counters </item>
+
+            <!-- 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">
+            <item> all </item>
+            <item> aural </item>
+            <item> braille </item>
+            <item> embossed </item>
+            <item> handheld </item>
+            <item> print </item>
+            <item> projection </item>
+            <item> screen </item>
+            <item> speech </item>
+            <item> tty </item>
+            <item> tv </item>
+        </list>
+
+        <list name="mediatypes_op">
+            <item> not </item>
+            <item> only </item>
+        </list>
+
+        <list name="media_features">
+            <item> width </item>
+            <item> min-width </item>
+            <item> max-width</item>
+            <item> height </item>
+            <item> min-height </item>
+            <item> max-height </item>
+            <item> device-width </item>
+            <item> min-device-width </item>
+            <item> max-device-width </item>
+            <item> device-height </item>
+            <item> min-device-height </item>
+            <item> max-device-height </item>
+            <item> orientation </item>
+            <item> aspect-ratio </item>
+            <item> min-aspect-ratio </item>
+            <item> max-aspect-ratio </item>
+            <item> device-aspect-ratio </item>
+            <item> min-device-aspect-ratio </item>
+            <item> max-device-aspect-ratio </item>
+            <item> color </item>
+            <item> min-color </item>
+            <item> max-color </item>
+            <item> color-index </item>
+            <item> min-color-index </item>
+            <item> max-color-index </item>
+            <item> monochrome </item>
+            <item> min-monochrome </item>
+            <item> max-monochrome </item>
+            <item> resolution </item>
+            <item> min-resolution </item>
+            <item> max-resolution </item>
+            <item> scan </item>
+            <item> grid </item>
+        </list>
+
+        <list name="pseudoclasses">
+            <item> hover </item>
+            <item> link </item>
+            <item> visited </item>
+            <item> active </item>
+            <item> focus </item>
+            <item> first-child </item>
+            <item> last-child </item>
+            <item> only-child </item>
+            <item> first-of-type </item>
+            <item> last-of-type </item>
+            <item> only-of-type </item>
+            <item> first-letter </item>
+            <item> first-line </item>
+            <item> before </item>
+            <item> after </item>
+            <item> selection </item>
+            <item> root </item>
+            <item> empty </item>
+            <item> target </item>
+            <item> enabled </item>
+            <item> disabled </item>
+            <item> checked </item>
+            <item> indeterminate </item>
+            <item> nth-child </item>
+            <item> nth-last-child </item>
+            <item> nth-of-type </item>
+            <item> nth-last-of-type </item>
+            <item> not </item>
+        </list>
+
+        <contexts>
+            <context attribute="Normal Text" lineEndContext="#stay" name="Base">
+                <LineContinue/>
+                <DetectSpaces/>
+                <IncludeRules context="FindRuleSets" />
+            </context>
+
+            <!-- to be included -->
+            <!-- finds rules and detects nesting -->
+            <context attribute="Normal Text" lineEndContext="#stay" name="FindRuleSets">
+                <RegExpr attribute="Media" context="Media" String="@media\b" />
+                <RegExpr attribute="At Rule" context="Import" String="@import\b" />
+                <RegExpr attribute="At Rule" context="#stay" String="@(font-face|charset)\b" />
+                <DetectChar attribute="Property" context="RuleSet" char="{" beginRegion="ruleset" />
+                <!--parse selectors-->
+                <DetectChar attribute="Selector Attr" context="SelAttr" char="[" />
+                <RegExpr attribute="Selector Id" context="#stay" String="#(-)?(&nmstart;)(&nmchar;)*" />
+                <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" />
+                <IncludeRules context="FindComments" />
+            </context>
+
+            <!-- finds arguments to properties -->
+            <context attribute="Normal Text" lineEndContext="#stay" name="FindValues">
+                <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+(em|ex|ch|rem|vw|vh|vm|px|in|cm|mm|pt|pc|deg|rad|grad|turn|ms|s|Hz|kHz)\b" />
+                <RegExpr attribute="Value" context="#stay" String="[-+]?[0-9.]+[%]?" />
+                <RegExpr attribute="Normal Text" context="#stay" String="[\w\-]+" />
+            </context>
+
+            <!-- finds strings -->
+            <context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">
+                <DetectChar attribute="String" context="StringDQ" char="&quot;" />
+                <DetectChar attribute="String" context="StringSQ" char="'" />
+            </context>
+
+            <!-- finds comments -->
+            <context attribute="Normal Text" lineEndContext="#stay" name="FindComments">
+                <RegExpr attribute="Region Marker" context="#stay" String="/\*BEGIN.*\*/" beginRegion="UserDefined" />
+                <RegExpr attribute="Region Marker" context="#stay" String="/\*END.*\*/" endRegion="UserDefined" />
+                <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment" />
+            </context>
+
+            <!-- other contexts -->
+            <context attribute="Normal Text" lineEndContext="#stay" name="Media">
+                <DetectChar attribute="Media" context="Media2" char="{" beginRegion="media" />
+                <DetectChar attribute="Media" context="MediaQueryExpression" char="(" />
+                <keyword attribute="Media" context="MediaQueries" String="mediatypes"/>
+                <keyword attribute="Media" context="MediaTypes" String="mediatypes_op" />
+                <DetectChar attribute="Media" context="#stay" char="," />
+                <IncludeRules context="FindComments" />
+                <RegExpr attribute="Error" context="#stay" String="\S+" />
+            </context>
+
+            <context attribute="Media" lineEndContext="#stay" name="MediaTypes">
+                <keyword attribute="Media" context="MediaQueries" String="mediatypes"/>
+                <DetectChar attribute="Media" context="#pop" char= "{" lookAhead="true"/>
+                <DetectChar attribute="Media" context="#pop" char= "," lookAhead="true"/>
+                <DetectSpaces/>
+                <IncludeRules context="FindComments"/>
+                <RegExpr attribute="Error" context="#stay" String="\S+"/>
+            </context>
+
+            <context attribute="Media" lineEndContext="#stay" name="MediaQueries">
+                <RegExpr attribute="Media" context="MediaQueryExpression" String="\s+and\s+\("/>
+                <DetectChar attribute="Media" context="#pop" char= "{" lookAhead="true"/>
+                <DetectChar attribute="Media" context="#pop" char= "," lookAhead="true"/>
+                <DetectSpaces/>
+                <IncludeRules context="FindComments"/>
+                <RegExpr attribute="Error" context="#stay" String="\S+"/>
+            </context>
+
+            <context attribute="Media" lineEndContext="#stay" name="MediaQueryExpression">
+                <DetectSpaces/>
+                <keyword attribute="Media" context="MQEE" String="media_features"/>
+                <IncludeRules context="FindComments"/>
+                <RegExpr attribute="Error" context="#stay" String="\S+"/>
+            </context>
+
+            <context attribute="Media" lineEndContext="#stay" name="MQEE" fallthrough="true" fallthroughContext="#pop">
+                <DetectSpaces/>
+                <IncludeRules context="FindComments"/>
+                <DetectChar attribute="Media" context="MQEV" char=":"/>
+                <RegExpr attribute="Media" context="#pop" String="\)\s+and\s+\("/>
+                <DetectChar attribute="Media" context="#pop#pop" char=")"/>
+            </context>
+
+            <context attribute="Media" lineEndContext="#stay" name="MQEV">
+                <!-- this should be seperate for different features, for now it is all the same -->
+                <DetectSpaces/>
+                <RegExpr attribute="Value" context="#pop" String="[1-9][0-9.]*\s*/\s*[1-9][0-9.]*" />
+                <RegExpr attribute="Value" context="#pop" String="[0-9.]+(em|ex|ch|rem|vw|vh|vm|px|in|cm|mm|pt|pc|deg|rad|grad|turn|ms|s|Hz|kHz|dpi|dpcm)\b" />
+                <RegExpr attribute="Value" context="#pop" String="[0-9.]+[%]?" />
+                <RegExpr attribute="Value" context="#pop" String="(portrait|landscape)" />
+                <RegExpr attribute="Error" context="#stay" String=".*"/>
+            </context>
+
+            <context attribute="Normal Text" lineEndContext="#stay" name="Media2">
+                <DetectChar attribute="Media" context="#pop#pop" char="}" endRegion="media" />
+                <IncludeRules context="FindRuleSets" />
+            </context>
+
+            <context attribute="Selector Attr" lineEndContext="#stay" name="SelAttr">
+                <DetectChar attribute="Selector Attr" context="#pop" char="]" />
+                <IncludeRules context="FindStrings" />
+            </context>
+
+            <context attribute="Selector Pseudo" lineEndContext="#pop" name="SelPseudo"
+                     fallthrough="true" fallthroughContext="#pop">
+                <keyword attribute="Selector Pseudo" context="#pop" String="pseudoclasses" />
+            </context>
+
+            <context attribute="Normal Text" lineEndContext="#stay" name="Import">
+                <DetectChar attribute="At Rule" context="#pop" char=";" />
+                <keyword attribute="Media" context="#stay" String="mediatypes" />
+                <IncludeRules context="FindValues" />
+                <IncludeRules context="FindStrings" />
+                <IncludeRules context="FindComments" />
+            </context>
+
+            <context attribute="Comment" lineEndContext="#stay" name="Comment">
+                <DetectSpaces/>
+                <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment" />
+                <IncludeRules context="##Alerts" />
+                <DetectIdentifier/>
+            </context>
+
+            <context attribute="Normal Text" lineEndContext="#stay" name="RuleSet">
+                <DetectChar attribute="Property" context="#pop" char="}" endRegion="ruleset" />
+                <keyword attribute="Property" context="Rule" String="properties" />
+                <RegExpr attribute="Unknown Property" context="Rule" String="-?[A-Za-z_-]+(?=\s*:)" />
+                <IncludeRules context="FindComments" />
+                <RegExpr attribute="Error" context="#stay" String="\S" />
+            </context>
+
+            <context attribute="Normal Text" lineEndContext="#stay" name="Rule">
+                <DetectChar attribute="Property" context="Rule2" char=":" />
+                <RegExpr attribute="Error" context="#stay" String="\S" />
+            </context>
+
+            <context attribute="Normal Text" lineEndContext="#stay" name="Rule2">
+                <DetectChar attribute="Property" context="#pop#pop" char=";" />
+                <DetectChar attribute="Property" context="#pop#pop#pop" char="}" endRegion="ruleset" />
+                <!-- parse property values -->
+                <keyword attribute="Value" context="#stay" String="types" />
+                <keyword attribute="Value" context="#stay" String="colors" />
+                <RegExpr attribute="Value" context="#stay" String="#([0-9A-Fa-f]{3}){1,4}\b" />
+                <keyword attribute="Value" context="PropParen" String="paren" />
+                <RegExpr attribute="Important" context="#stay" String="!important\b" />
+                <IncludeRules context="FindValues" />
+                <IncludeRules context="FindStrings" />
+                <IncludeRules context="FindComments" />
+            </context>
+
+            <context attribute="Normal Text" lineEndContext="#stay" name="PropParen">
+                <DetectChar attribute="Value" context="PropParen2" char="(" />
+                <IncludeRules context="FindComments" />
+                <RegExpr attribute="Error" context="#stay" String="\S" />
+            </context>
+
+            <context attribute="Normal Text" lineEndContext="#stay" name="PropParen2">
+                <DetectChar attribute="Value" context="#pop#pop" char=")" />
+                <IncludeRules context="FindValues" />
+                <IncludeRules context="FindStrings" />
+                <IncludeRules context="FindComments" />
+            </context>
+
+            <!-- string contexts -->
+            <context attribute="String" lineEndContext="#stay" name="StringDQ">
+                <DetectChar attribute="String" context="#pop" char="&quot;" />
+                <IncludeRules context="InsideString" />
+            </context>
+
+            <context attribute="String" lineEndContext="#stay" name="StringSQ">
+                <DetectChar attribute="String" context="#pop" char="'" />
+                <IncludeRules context="InsideString" />
+            </context>
+
+            <context attribute="String" lineEndContext="#stay" name="InsideString">
+                <RegExpr attribute="String" context="#stay" String="\\[&quot;']" />
+                <DetectIdentifier/>
+            </context>
+
+        </contexts>
+
+        <itemDatas>
+            <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
+            <itemData name="Property"  defStyleNum="dsKeyword" spellChecking="false"/>
+            <itemData name="Unknown Property"  defStyleNum="dsKeyword" italic="1" spellChecking="false"/>
+            <itemData name="Media"  defStyleNum="dsDecVal" bold="1" spellChecking="false"/>
+            <itemData name="At Rule"  defStyleNum="dsDecVal" spellChecking="false"/>
+            <itemData name="String"  defStyleNum="dsString"/>
+            <itemData name="Value"  defStyleNum="dsDataType" spellChecking="false"/>
+            <itemData name="Important" defStyleNum="dsKeyword" spellChecking="false"/>
+            <itemData name="Selector Attr" defStyleNum="dsAttribute" spellChecking="false"/>
+            <itemData name="Selector Id"  defStyleNum="dsFloat" bold="1" spellChecking="false"/>
+            <itemData name="Selector Class"  defStyleNum="dsFloat" spellChecking="false"/>
+            <itemData name="Selector Pseudo"  defStyleNum="dsDecVal" spellChecking="false"/>
+            <itemData name="Comment" defStyleNum="dsComment" />
+            <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
+            <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
+        </itemDatas>
+    </highlighting>
+
+    <general>
+        <keywords casesensitive="0" weakDeliminator="-%"/>
+        <comments>
+            <comment name="multiLine" start="/*" end="*/" />
+        </comments>
+    </general>
+
+</language>
diff --git a/xml/curry.xml b/xml/curry.xml
new file mode 100644
--- /dev/null
+++ b/xml/curry.xml
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+  <!-- qualification of entities -->
+  <!ENTITY qualify     "([A-Z][a-zA-Z0-9_']*\.)*">
+  <!-- identifier -->
+  <!ENTITY ident       "[a-z][a-zA-Z0-9_']*">
+  <!-- Type -->
+  <!ENTITY type        "[A-Z][a-zA-Z0-9_']*">
+  <!-- infix operator characters -->
+  <!ENTITY infixchar   "~!@#\$&#37;\^&amp;\*\+\-=&lt;&gt;\?\./\|&backslash;:">
+  <!-- identifier in prefix notation, e.g.: id, ($) -->
+  <!ENTITY prefixIdent "(&ident;|\([&infixchar;]+\))">
+
+  <!-- Characters allowed in character escape sequence, e.g., \n -->
+  <!ENTITY escSeqChar  "abfnrtv\&quot;'" >
+  <!-- Ascii escape sequence, e.g., \NUL -->
+  <!ENTITY escSeqAscii "NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL" >
+  <!-- Control escape sequence, e.g., \^X -->
+  <!ENTITY escSeqCntrl "\^[A-Z@\[&backslash;\]\^_]" >
+
+  <!-- octal number -->
+  <!ENTITY octal       "[0-7]+" >
+  <!-- decimal number -->
+  <!ENTITY decimal     "[0-9]+" >
+  <!-- hexadecimal number -->
+  <!ENTITY hexadecimal "[0-9a-fA-F]+" >
+  <!-- a backslash, escaped for use in regular expressions -->
+  <!ENTITY backslash   "\\" >
+  <!-- dashes introducing a currydoc comment -->
+  <!ENTITY currydoc    "---" >
+]>
+<language name="Curry" version="1" kateversion="5.0"
+          section="Sources" extensions="*.curry" mimetype="text/x-curry"
+          author="Björn Peemöller (bjp@informatik.uni-kiel.de)" license="LGPL"
+          indenter="haskell">
+  <highlighting>
+  <list name="keywords">
+    <item> case </item>
+    <item> data </item>
+    <item> do </item>
+    <item> else </item>
+    <item> external </item>
+    <item> fcase </item>
+    <item> free </item>
+    <item> if </item>
+<!-- Although import is a keyword, it is handled in a special context
+     to highlight "qualified", "as" and "hiding" in keyword style,
+     albeit these lexemes are no keywords.
+    <item> import </item>
+  -->
+    <item> in </item>
+    <item> infix </item>
+    <item> infixl </item>
+    <item> infixr </item>
+    <item> let </item>
+    <item> module </item>
+    <item> of </item>
+    <item> then </item>
+    <item> type </item>
+    <item> where </item>
+  </list>
+  <list name="Prelude Func">
+    <item> and </item>
+    <item> all </item>
+    <item> any </item>
+    <item> appendFile </item>
+    <item> best </item>
+    <item> break </item>
+    <item> browse </item>
+    <item> browseList </item>
+    <item> chr </item>
+    <item> concat </item>
+    <item> concatMap </item>
+    <item> const </item>
+    <item> curry </item>
+    <item> div </item>
+    <item> done </item>
+    <item> doSolve </item>
+    <item> drop </item>
+    <item> dropWhile </item>
+    <item> either </item>
+    <item> elem </item>
+    <item> ensureNotFree </item>
+    <item> ensureSpine </item>
+    <item> enumFrom </item>
+    <item> enumFromThen </item>
+    <item> enumFromTo </item>
+    <item> enumFromThenTo </item>
+    <item> error </item>
+    <item> failed </item>
+    <item> filter </item>
+    <item> findall </item>
+    <item> flip </item>
+    <item> foldl </item>
+    <item> foldl1 </item>
+    <item> foldr </item>
+    <item> foldr1 </item>
+    <item> fst </item>
+    <item> getChar </item>
+    <item> getLine </item>
+    <item> id </item>
+    <item> if_then_else </item>
+    <item> iterate </item>
+    <item> head </item>
+    <item> length </item>
+    <item> lines </item>
+    <item> lookup </item>
+    <item> map </item>
+    <item> mapIO </item>
+    <item> mapIO_ </item>
+    <item> max </item>
+    <item> maybe </item>
+    <item> min </item>
+    <item> mod </item>
+    <item> negate </item>
+    <item> not </item>
+    <item> notElem </item>
+    <item> null </item>
+    <item> once </item>
+    <item> or </item>
+    <item> ord </item>
+    <item> otherwise </item>
+    <item> print </item>
+    <item> putChar </item>
+    <item> putStr </item>
+    <item> putStrLn </item>
+    <item> readFile </item>
+    <item> repeat </item>
+    <item> replicate </item>
+    <item> return </item>
+    <item> reverse </item>
+    <item> seq </item>
+    <item> sequenceIO </item>
+    <item> sequenceIO_ </item>
+    <item> show </item>
+    <item> snd </item>
+    <item> solveAll </item>
+    <item> span </item>
+    <item> splitAt </item>
+    <item> success </item>
+    <item> tail </item>
+    <item> take </item>
+    <item> takeWhile </item>
+    <item> try </item>
+    <item> uncurry </item>
+    <item> unknown </item>
+    <item> unlines </item>
+    <item> unpack </item>
+    <item> until </item>
+    <item> unwords </item>
+    <item> unzip </item>
+    <item> unzip3 </item>
+    <item> writeFile </item>
+    <item> words </item>
+    <item> zip </item>
+    <item> zip3 </item>
+    <item> zipWith </item>
+    <item> zipWith3 </item>
+  </list>
+  <list name="Prelude Type">
+    <item> Bool </item>
+    <item> Char </item>
+    <item> Either </item>
+    <item> Float </item>
+    <item> Int </item>
+    <item> IO </item>
+    <item> Maybe </item>
+    <item> Ordering </item>
+    <item> String </item>
+    <item> Success </item>
+  </list>
+  <list name="Prelude Cons">
+    <item> False </item>
+    <item> True </item>
+    <item> Left </item>
+    <item> Right </item>
+    <item> Just </item>
+    <item> Nothing </item>
+    <item> EQ </item>
+    <item> LT </item>
+    <item> GT </item>
+  </list>
+  <contexts>
+    <context name="Normal" attribute="Normal" lineEndContext="#stay">
+      <!-- pragmas, currydoc, comments -->
+      <StringDetect attribute="Pragma"   context="Pragma"            String="{-#"        beginRegion="Pragma"  />
+      <Detect2Chars attribute="Comment"  context="Multiline Comment" char="{" char1="-"  beginRegion="Multiline Comment" />
+      <StringDetect attribute="Currydoc" context="Currydoc"          String="&currydoc;" />
+      <Detect2Chars attribute="Comment"  context="Comment"           char="-" char1="-"  />
+
+      <!-- keywords, Prelude entities -->
+      <keyword      attribute="Keyword"             context="#stay"   String="keywords" />
+      <keyword      attribute="Prelude Function"    context="#stay"   String="Prelude Func" />
+      <keyword      attribute="Prelude Type"        context="#stay"   String="Prelude Type" />
+      <keyword      attribute="Prelude Constructor" context="#stay"   String="Prelude Cons" />
+      <RegExpr      attribute="Keyword"             context="Import"  String="import\s+(qualified)?" />
+
+      <!-- Literals -->
+      <Float        attribute="Float"   context="#stay"   />
+      <RegExpr      attribute="Octal"   context="#stay"   String="0(o|O)&octal;" />
+      <HlCHex       attribute="Hex"     context="#stay"   />
+      <Int          attribute="Decimal" context="#stay"   />
+      <DetectChar   attribute="Char"    context="Char"    char="'" />
+      <DetectChar   attribute="String"  context="String"  char="&quot;" />
+
+      <!-- Others -->
+      <RegExpr      attribute="Special Symbol"    context="#stay"   String="(::|:=|:&gt;|\-&gt;|&lt;\-|\.\.)" />
+      <RegExpr      attribute="Signature"         context="#stay"   String="\s*&prefixIdent;\s*(,\s*&prefixIdent;)*\s*(?=::[^&infixchar;])" />
+      <RegExpr      attribute="Function"          context="#stay"   String="&qualify;&ident;" />
+      <RegExpr      attribute="Operator"          context="#stay"   String="&qualify;[&infixchar;]+" />
+      <RegExpr      attribute="Type, Constructor" context="#stay"   String="&qualify;&type;" />
+      <DetectChar   attribute="Infix Application" context="Infix"   char="`" />
+
+      <!-- Folding of braces -->
+      <DetectChar char="(" context="#stay" beginRegion="nested" attribute="Braces" />
+      <DetectChar char=")" context="#stay" endRegion="nested"   attribute="Braces" />
+      <DetectChar char="[" context="#stay" beginRegion="list"   attribute="Braces" />
+      <DetectChar char="]" context="#stay" endRegion="list"     attribute="Braces" />
+      <DetectChar char="{" context="#stay" beginRegion="curly"  attribute="Braces" />
+      <DetectChar char="}" context="#stay" endRegion="curly"    attribute="Braces" />
+    </context>
+
+    <!-- Pragma -->
+    <context name="Pragma" attribute="Pragma" lineEndContext="#stay" >
+      <StringDetect attribute="Pragma" context="#pop" String="#-}" endRegion="Pragma" />
+    </context>
+
+    <!-- Multiline comment -->
+    <context name="Multiline Comment" attribute="Comment" lineEndContext="#stay" >
+      <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" endRegion="Multiline Comment" />
+    </context>
+
+    <!-- Currydoc -->
+    <context name="Currydoc" attribute="Currydoc" lineEndContext="#pop" />
+
+    <!-- Single line comment -->
+    <context name="Comment" attribute="Comment" lineEndContext="#pop" />
+
+    <!-- Import section -->
+    <context name="Import" attribute="Normal" lineEndContext="#pop" >
+      <!-- pragmas, currydoc, comments -->
+      <StringDetect attribute="Pragma"   context="Pragma"            String="{-#"        beginRegion="Pragma"  />
+      <Detect2Chars attribute="Comment"  context="Multiline Comment" char="{" char1="-"  beginRegion="Multiline Comment" />
+      <StringDetect attribute="Currydoc" context="Currydoc"          String="&currydoc;" />
+      <Detect2Chars attribute="Comment"  context="Comment"           char="-" char1="-"  />
+
+      <RegExpr      attribute="Type, Constructor" context="#stay" String="&qualify;&type;" />
+      <Detect2Chars attribute="Keyword"           context="#stay" char="a" char1="s" />
+      <StringDetect attribute="Keyword"           context="#stay" String="hiding" />
+      <!-- Pop context at open paren to highlight imported entities -->
+      <DetectChar   attribute="Braces"            context="#pop"   char="(" beginRegion="nested" />
+      <RegExpr      attribute="Syntax Error"      context="#stay"  String="\S+" />
+    </context>
+
+    <!-- A single characters, with escape sequences -->
+    <context name="Char" attribute="Char" lineEndContext="CharSyntaxError" >
+      <DetectChar attribute="Syntax Error" context="#pop"       char="'" />
+      <DetectChar attribute="Char"         context="CharEscape" char="\" />
+      <RegExpr    attribute="Char"         context="CharEnd"    String="[^'&backslash;]" />
+    </context>
+
+    <!-- Character escape sequence -->
+    <context name="CharEscape" attribute="Char" lineEndContext="#popCharSyntaxError" >
+      <AnyChar attribute="Char"         context="#popCharEnd" String="&escSeqChar;"   />
+      <RegExpr attribute="Char"         context="#popCharEnd" String="o&octal;"       />
+      <RegExpr attribute="Char"         context="#popCharEnd" String="&decimal;"      />
+      <RegExpr attribute="Char"         context="#popCharEnd" String="x&hexadecimal;" />
+      <RegExpr attribute="Char"         context="#popCharEnd" String="&escSeqCntrl;"  />
+      <RegExpr attribute="Char"         context="#popCharEnd" String="&escSeqAscii;"  />
+      <RegExpr attribute="Syntax Error" context="#popCharEnd" String="."              />
+    </context>
+
+    <!-- Ending quote of character literal -->
+    <context name="CharEnd" attribute="Char" lineEndContext="#popCharSyntaxError" >
+      <DetectChar attribute="Char"         context="#pop#pop" char="'" />
+      <RegExpr    attribute="Syntax Error" context="#stay"    String="." />
+    </context>
+
+    <!-- Character syntax error: Newline inside literal -->
+    <context name="CharSyntaxError" attribute="Syntax Error" lineEndContext="#stay" >
+      <DetectChar attribute="Syntax Error" context="#pop#pop" char="'" />
+    </context>
+
+    <!-- A string, with escape sequences -->
+    <context name="String" attribute="String" lineEndContext="StringSyntaxError" >
+      <DetectChar   attribute="String"        context="#pop"         char="&quot;" />
+      <DetectChar   attribute="String Escape" context="StringEscape" char="\" />
+      <RegExpr      attribute="String"        context="#stay"        String="[^&quot;&backslash;]*" />
+    </context>
+
+    <!-- String escape sequence -->
+    <context name="StringEscape" attribute="String" lineEndContext="StringGap" >
+      <AnyChar      attribute="String Escape"  context="#pop"      String="&escSeqChar;&amp;" />
+      <RegExpr      attribute="String Escape"  context="#pop"      String="o&octal;"          />
+      <RegExpr      attribute="String Escape"  context="#pop"      String="&decimal;"         />
+      <RegExpr      attribute="String Escape"  context="#pop"      String="x&hexadecimal;"    />
+      <RegExpr      attribute="String Escape"  context="#pop"      String="&escSeqCntrl;"     />
+      <RegExpr      attribute="String Escape"  context="#pop"      String="&escSeqAscii;"     />
+      <DetectSpaces attribute="String Escape"  context="StringGap"                            />
+      <RegExpr      attribute="Syntax Error"   context="#pop"      String="."                 />
+    </context>
+
+    <context name="StringGap" attribute="String" lineEndContext="#stay" >
+      <DetectSpaces attribute="String Escape" context="#stay" />
+      <DetectChar   attribute="String Escape" context="#pop#pop#popString" char="\"      />
+      <DetectChar   attribute="Syntax Error"  context="#pop#pop#pop"       char="&quot;" />
+      <RegExpr      attribute="Syntax Error"  context="#stay"              String="."    />
+    </context>
+
+    <!-- String syntax error: Newline inside literal -->
+    <context name="StringSyntaxError" attribute="Syntax Error" lineEndContext="#stay" >
+      <DetectChar attribute="Syntax Error" context="#pop#pop" char="&quot;" />
+    </context>
+
+    <!-- Infix application -->
+    <context name="Infix" attribute="Infix Application" lineEndContext="#stay" >
+      <DetectChar attribute="Infix Application" context="#pop" char="`"/>
+    </context>
+  </contexts>
+
+  <itemDatas>
+    <itemData name="Normal"              defStyleNum="dsNormal"   spellChecking="false" />
+
+    <!-- Comments -->
+    <itemData name="Pragma"              defStyleNum="dsOthers"   spellChecking="false" />
+    <itemData name="Comment"             defStyleNum="dsComment"  />
+    <itemData name="Currydoc"            defStyleNum="dsDocumentation" />
+
+    <!-- Keywords, predefined entities -->
+    <itemData name="Keyword"             defStyleNum="dsKeyword"  spellChecking="false" />
+    <itemData name="Prelude Type"        defStyleNum="dsDataType" spellChecking="false" />
+    <itemData name="Prelude Function"    defStyleNum="dsFunction" spellChecking="false" />
+    <itemData name="Prelude Constructor" defStyleNum="dsKeyword"  spellChecking="false" />
+
+    <!-- Literals -->
+    <itemData name="Float"               defStyleNum="dsFloat"    spellChecking="false" />
+    <itemData name="Octal"               defStyleNum="dsBaseN"    spellChecking="false" />
+    <itemData name="Hex"                 defStyleNum="dsBaseN"    spellChecking="false" />
+    <itemData name="Decimal"             defStyleNum="dsDecVal"   spellChecking="false" />
+    <itemData name="Char"                defStyleNum="dsChar"     spellChecking="false" />
+    <itemData name="String Escape"       defStyleNum="dsChar"     spellChecking="false" />
+    <itemData name="String"              defStyleNum="dsString"   />
+
+    <!-- Others -->
+    <itemData name="Braces"              defStyleNum="dsNormal"   spellChecking="false" />
+    <itemData name="Signature"           defStyleNum="dsOthers"   spellChecking="false" />
+    <itemData name="Function"            defStyleNum="dsNormal"   spellChecking="false" />
+    <itemData name="Operator"            defStyleNum="dsFunction" spellChecking="false" />
+    <itemData name="Type, Constructor"   defStyleNum="dsDataType" spellChecking="false" />
+    <itemData name="Special Symbol"      defStyleNum="dsOthers"   spellChecking="false" />
+    <itemData name="Infix Application"   defStyleNum="dsOthers"   spellChecking="false" />
+    <itemData name="Syntax Error"        defStyleNum="dsError"    spellChecking="false" />
+  </itemDatas>
+  </highlighting>
+  <general>
+    <folding indentationsensitive="1"/>
+    <comments>
+      <comment name="singleLine" start="--" />
+      <comment name="multiLine" start="{-" end="-}" region="Multiline Comment" />
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
diff --git a/xml/d.xml b/xml/d.xml
new file mode 100644
--- /dev/null
+++ b/xml/d.xml
@@ -0,0 +1,819 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  ========================================================================
+
+  D.XML supports syntax highlighting for the D programming language under Kate.
+
+  Updated 2007-2008 - Diggory Hardy <diggory.hardy@gmail.com> (copyright kate project).
+  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.
+
+  ========================================================================
+
+  D is a next generation language written by Walter Bright of Digital Mars fame.
+  Digital Mars C, C++ and D Compilers can be obtained from http://www.digitalmars.com/d/
+
+  ========================================================================
+
+  UPDATE HISTORY:-
+  2008.09.22 - d.xml 1.61 - D 1.035/2.019 - Fix for identifiers starting _ and containing numbers.
+  2008.08.01 - d.xml 1.60 - D 1.033/2.017 - Merging ddoc.xml 1.14 since there is no advantage to having it separate.
+  2008.07.14 - uncommited                 - Added properties: .tupleof, .offsetof
+  2008.06.14 - D.XML 1.53 - D 1.030/2.014 - Added user keyword highlighting.
+  2008.06.06 - D.XML 1.53 - D 1.030/2.014 - Small fix involving floats starting . in embedded Ddoc.
+                                          - Added nothrow and pure attributes (D2.0 only).
+  2008.04.09 - D.XML 1.52 - D 1.028/2.012 - Added properties (especially for arrays).
+                                          - Added rules for C-Style indenter (thanks vektorboson!)
+  2008.02.22 - D.XML 1.51 - D 1.027/2.011 - Changed char rule behaviour on line end.
+                                          - Added support for strings ending with c, w or d (must have got lost at some point).
+  2008.02.22 - ddoc.xml 1.14              - Fixes/improvements for macros. Highlights first symbol and non-symbols
+                                            before as errors; matches embedded brackets () properly.
+  2008.01.09 - D.XML 1.50 - D 1.025/2.009 - Changed pragma, version, deprecated matching to use keyword not DetectString.
+  2007.12.18 - D.XML 1.49 - D 1.025/2.009 - Fixed some bugs to make the StartingLetter context exit correctly and match identifiers properly.
+  2007.12.12 - D.XML 1.48 - D 1.024/2.008 - Adjusted existing contexts somewhat (mostly cleanup).
+                                          - Implemented scope context to hightlight exit in scope(exit) etc.
+                                          - Adjusted deprecated keyword highlighting.
+                                          - Changed layout somewhat.
+                                          - Implemented extra highlighting rules for expressions, attributes, etc.
+                                          - Changed a lot of colours.
+  2007.11.15 - D.XML 1.47 - D 1.023/2.007 - Fixed a few unapperent "bugs" found by checkdtd.
+  2007.11.15 - ddoc.xml 1.13              - Fixed a couple of bugs found by checkdtd and changed the version number format.
+  2007.11.5  - ddoc.xml 1.12              - Fixed: correct matching of things like /***/ .
+  2007.10.11 - ddoc.xml 1.11              - Safety catch: check for unterminated code sections (i.e. check for end of
+                                            ddoc comment even in code sections).
+                                          - Used DetectIdentifier to (presumably) improve performance.
+  2007.10.09 - uncommited - ditto         - Changed some context="#pop" tags to context="#stay" within the normal
+                                            context (bugfix for ddoc embedded code highlighting).
+  2007.10.9  - ddoc.xml 1.10              - Enabled embedded ddoc code highlighting
+  2007.10.9  - ddoc.xml 1.00              - Initial version
+  2007.10.08 - D.XML 1.46 - D 1.022/2.005 - Stole Alert and Region Marker highlighting from C++ syntax.
+                                          - Added support for DDoc highlighting.
+                                          - Reviewed the float regexps again! Tried to make the best of both versions.
+  2007.09.17 - D.XML 1.45 - D 1.021/2.004 - Reverted back to old regexps (but fixed hex floats).
+                                            Can't combine all float regexps into a single RegExpr element using the '|' operator.
+                                            It creates strange problems (like program lock-ups and wrong matches).
+                                          - Fix: '=' is allowed in import statements now.
+                                          - Fix: character literals are matched correctly now.
+                                          - The #line special token sequence is matched fully now (the filespec string needs special handling).
+  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" version="2" kateversion="5.0" section="Sources" extensions="*.d;*.D;*.di;*.DI;" mimetype="text/x-dsrc" casesensitive="true" author="Diggory Hardy (diggory.hardy@gmail.com), 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>
+    <!-- User-defined keywords (add identifiers you'd like highlighted here) -->
+    <list name="userkeywords">
+    </list>
+    <list name="statements">
+      <item> asm </item>
+      <item> body </item>
+      <item> break </item>
+      <item> case </item>
+      <item> catch </item>
+      <item> continue </item>
+      <item> default </item>
+      <item> do </item>
+      <item> else </item>
+      <item> finally </item>
+      <item> for </item>
+      <item> foreach </item>
+      <item> foreach_reverse </item>
+      <item> goto </item>
+      <item> if </item>
+      <item> mixin </item>
+      <item> return </item>
+      <item> switch </item>
+      <item> throw </item>
+      <item> try </item>
+      <item> while </item>
+      <item> with </item>
+      
+      <!-- these are statements according to the spec, although I might call them attributes -->
+      <item> synchronized </item>
+
+    </list>
+
+    <list name="attributes">
+      <!-- also storage classes -->
+      <item> abstract </item>
+      <item> align </item>
+      <item> auto </item>
+      <item> const </item>
+      <item> export </item>
+      <item> final </item>
+      <item> immutable </item>
+      <item> inout </item>
+      <item> invariant </item>
+      <item> lazy </item>
+      <item> nothrow </item>
+      <item> override </item>
+      <item> package </item>
+      <item> private </item>
+      <item> protected </item>
+      <item> public </item>
+      <item> pure </item>
+      <item> ref </item>
+      <item> static </item>
+      
+      <!-- these may be statements -->
+      <!-- in (more common to use as an expression since in attribute is only ever the default) -->
+      <item> out </item>
+      <item> scope </item>
+    </list>
+    
+    <list name="expressions">
+      <!-- primary expressions -->
+      <item> false </item>
+      <item> null </item>
+      <item> super </item>
+      <item> this </item>
+      <item> true </item>
+      <item> typeid </item>
+      
+      <!-- other expressions -->
+      <item> assert </item>
+      <item> cast </item>
+      <item> is </item>
+      <item> new </item>
+      <item> delete </item>
+      <item> in </item> <!-- also an attribute and a statement -->
+      
+      <!-- sometimes declarators -->
+      <item> delegate </item>
+      <item> function </item>
+    </list>
+    
+    <list name="modules">
+      <item> module </item>
+      <item> import </item> <!-- also an expression -->
+    </list>
+
+    <list name="declarators">
+      <item> alias </item>
+      <item> enum </item>
+      <item> typedef </item>
+      <item> class </item>
+      <item> interface </item>
+      <item> struct </item>
+      <item> union </item>
+    </list>
+    
+    <list name="types">
+      <item> typeof </item>
+      
+      <item> void </item>
+      <item> bool </item>
+      <item> byte </item>
+      <item> ubyte </item>
+      <item> short </item>
+      <item> ushort </item>
+      <item> int </item>
+      <item> uint </item>
+      <item> long </item>
+      <item> ulong </item>
+      <item> cent </item>
+      <item> ucent </item>
+      <item> float </item>
+      <item> double </item>
+      <item> real </item>
+      <item> ireal </item>
+      <item> ifloat </item>
+      <item> idouble </item>
+      <item> creal </item>
+      <item> cfloat </item>
+      <item> cdouble </item>
+      <item> char </item>
+      <item> wchar </item>
+      <item> dchar </item>
+    </list>
+
+    <list name="templates">
+      <item> macro </item> <!-- what's this? just reserved? -->
+      <item> template </item>
+    </list>
+    
+    <list name="properties">
+      <item> init </item>
+      <item> sizeof </item>
+      <item> alignof </item>
+      <item> mangleof </item>
+      <item> stringof </item>
+      <item> tupleof </item>
+      <item> offsetof </item>
+      <item> max </item>
+      <item> min </item>
+      <item> infinity </item>
+      <item> nan </item>
+      <item> dig </item>
+      <item> epsilon </item>
+      <item> mant_dig </item>
+      <item> max_10_exp </item>
+      <item> max_exp </item>
+      <item> min_10_exp </item>
+      <item> min_exp </item>
+      <item> re </item>
+      <item> im </item>
+      <item> length </item>
+      <item> ptr </item>
+      <item> dup </item>
+      <item> idup </item>
+      <item> reverse </item>
+      <item> sort </item>
+      <item> keys </item>
+      <item> values </item>
+      <item> rehash </item>
+    </list>
+    
+    <list name="libsymbols">
+      <!-- these are only symbols defined in object.d(i) -->
+      <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>
+      <item> ModuleInfo </item>
+      <item> Interface </item>
+      <item> OffsetTypeInfo </item>
+      <item> TypeInfo_Typedef </item>
+      <item> TypeInfo_Enum </item>
+      <item> TypeInfo_Pointer </item>
+      <item> TypeInfo_Array </item>
+      <item> TypeInfo_StaticArray </item>
+      <item> TypeInfo_AssociativeArray </item>
+      <item> TypeInfo_Function </item>
+      <item> TypeInfo_Delegate </item>
+      <item> TypeInfo_Class </item>
+      <item> TypeInfo_Interface </item>
+      <item> TypeInfo_Struct </item>
+      <item> TypeInfo_Tuple </item>
+      
+      <!-- phobos only as of tango 0.99.3 -->
+      <item> string </item>
+      <item> wstring </item>
+      <item> dstring </item>
+      <item> bit </item>
+      <item> TypeInfo_Const </item>
+      <item> TypeInfo_Invariant </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="ptypes">
+      <item> msg </item>
+      <item> lib </item>
+    </list>
+    
+    <list name="scope_keywords">
+      <item> exit </item>
+      <item> success </item>
+      <item> failure </item>
+    </list>
+
+    <list name="vtypes">
+      <item> DigitalMars </item>
+      <item> X86 </item>
+      <item> X86_64 </item>
+      <item> Windows </item>
+      <item> Win32 </item>
+      <item> Win64 </item>
+      <item> linux </item>
+      <item> LittleEndian </item>
+      <item> BigEndian </item>
+      <item> D_Coverage </item>
+      <item> D_InlineAsm_X86 </item>
+      <item> unittest </item>
+      <item> D_Version2 </item>
+      <item> none </item>
+      <item> all </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="tests">
+      <item> debug </item>
+      <item> unittest </item>
+    </list>
+    
+    <list name="pragma">
+        <item> pragma </item>
+    </list>
+
+    <list name="version">
+        <item> version </item>
+    </list>
+    
+    <list name="deprecated">
+        <item> deprecated </item>
+        <item> volatile </item> <!-- has been deprecated -->
+    </list>
+    
+    <contexts>
+      <context name="normal" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces />
+        <!-- Performance improvement (probably): anything starting with a letter is matched separately -->
+        <RegExpr String="[a-zA-Z_]" attribute="Normal Text" context="StartingLetter" lookAhead="true"/>
+
+        <HlCStringChar attribute="EscapeSequence" context="#stay"/>
+        <Detect2Chars attribute="EscapeSequence" context="UnicodeShort"   char="\" char1="u"/>
+        <Detect2Chars attribute="EscapeSequence" context="UnicodeLong"   char="\" char1="U"/>
+        <Detect2Chars attribute="EscapeSequence" context="HTMLEntity"   char="\" char1="&amp;"/>
+
+        <DetectChar attribute="Char"     context="CharLiteral" char="'"/>
+        <DetectChar attribute="String"   context="String"      char="&quot;"/>
+        <DetectChar attribute="BQString" context="BQString"    char="`"/>
+
+        <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" />
+        <IncludeRules context="CommentRules" />
+
+        <!-- Match ... and .. before numbers are matched. -->
+        <!-- Now in symbols keywords section	-->
+        <StringDetect attribute="Normal Text" context="#stay" String="..."/>
+        <Detect2Chars attribute="Normal Text"   char="." char1="."/>
+        
+        <!-- Float starting with a dot -->
+        <RegExpr attribute="Float" context="#stay" String="\.\d[\d_]*([eE][-+]?\d[\d_]*)?[fFL]?i?"/>
+        
+        <!-- Try to match various built-in properties -->
+        <DetectChar char="." attribute="Normal Text" context="Properties"/>
+
+        <!-- Look ahead for a digit and switch to NumberLiteral context if found. -->
+        <RegExpr context="NumberLiteral" String="\d" attribute="" lookAhead="true"/>
+
+        <!-- #line Integer [Filespec] -->
+        <StringDetect attribute="Pragma" context="LinePragma" String="#line"/>
+        
+        <!-- Rules for the C-style indenter. Currently problems with /// and /++ comments. -->
+        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="BraceA" />
+        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="BraceA" />
+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+      </context>
+
+      <context name="StartingLetter" attribute="Normal Text" lineEndContext="#pop">
+          <DetectSpaces />
+          <!-- fall-through should work now that DetectIdentifier is used (without infinite loops) -->
+          <!-- maybe not... got an infinite loop -->
+          <RegExpr String="[^a-zA-Z_]" attribute="Normal Text" context="#pop" lookAhead="true"/>
+          
+          <!-- detect whether scope, in, out, etc. are used as attributes or statements (etc.) -->
+          <!-- rules cannot match across newlines unfortunately -->
+          <RegExpr String="in\s*(?=\{)"    attribute="Statement"       context="#stay"     />
+          <RegExpr String="out\s*(?=(\(([a-zA-Z_][\w_]*)?\)\s*)?\{)" attribute="Statement" context="#stay" />
+          <RegExpr String="scope\s*(?=\()" attribute="Statement"       context="Scope"     />
+          <RegExpr String="import\s*(?=\()" attribute="Expression"     context="#stay"     />
+          <RegExpr String="function\s*(?=\()" attribute="Declarator"   context="#stay"     />
+          <RegExpr String="delegate\s*(?=\()" attribute="Declarator"   context="#stay"     />
+          
+          <keyword String="statements"      attribute="Statement"      context="#stay"     />
+          <keyword String="attributes"      attribute="Attribute"      context="#stay"     />
+          <keyword String="expressions"     attribute="Expression"     context="#stay"     />
+          <keyword String="declarators"     attribute="Declarator"     context="#stay"     />
+          <keyword String="templates"       attribute="Template"       context="#stay"     />
+          <keyword String="modules"         attribute="Module"         context="ModuleName"/>
+          <keyword String="types"           attribute="Type"           context="#stay"     />
+          <keyword String="libsymbols"      attribute="LibrarySymbols" context="#stay"     />
+          <keyword String="linkage"         attribute="Linkage"        context="Linkage"   />
+          <keyword String="specialtokens"   attribute="SpecialTokens"  context="#stay"     />
+          <keyword String="tests"           attribute="Tests"          context="#stay"     />
+          <!-- These must use keyword not DetectString: DetectString does not check for word-break after string. -->
+          <keyword String="pragma"          attribute="Pragma"         context="Pragma"    />
+          <keyword String="version"         attribute="Version"        context="Version"   />
+          <keyword String="deprecated"      attribute="Deprecated"     context="#stay"     />
+          
+          <Detect2Chars attribute="RawString" context="RawString" char="r" char1="&quot;"/>
+          <Detect2Chars attribute="HexString" context="HexString" char="x" char1="&quot;"/>
+          
+          <!-- user highlighting: last so as not to interfere with anything else -->
+          <keyword String="userkeywords"    attribute="UserKeywords"   context="#stay"     />
+          
+          <DetectIdentifier />
+      </context>
+      
+      <context name="Properties" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+        <keyword String="properties" attribute="Property" context="#pop" />
+      </context>
+      <context name="NumberLiteral" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+        <!-- Float literals -->
+        <!-- Floats must be matched before Binary|Octal|Hex|DecInteger -->
+        <RegExpr attribute="Float" context="#pop" String="0[xX][\da-fA-F_]*(\.[\da-fA-F_]*)?[pP][-+]?\d[\d_]*[fFL]?i?"/>
+        <!-- Float starting with a dot is matched in main context -->
+        <!-- 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)"/>
+        
+        <!-- Binary|Octal|Hex|DecInteger -->
+        <!-- Common, optional suffix: (L[uU]?|[uU]L?)? -->
+        <RegExpr attribute="Binary"  context="#pop" String="0[bB]_*[01][01_]*(L[uU]?|[uU]L?)?"/>
+        <!-- Octal must be matched before DecInteger -->
+        <RegExpr attribute="Octal"   context="#pop" String="0[0-7_]+(L[uU]?|[uU]L?)?"/>
+        <RegExpr attribute="Hex"     context="#pop" String="0[xX]_*[\da-fA-F][\da-fA-F_]*(L[uU]?|[uU]L?)?"/>
+        <!-- Decimal integers must be matched last -->
+        <RegExpr attribute="Integer" context="#pop" String="\d+[\d_]*(L[uU]?|[uU]L?)?"/>
+      </context>
+
+      <context name="LinePragma" attribute="Pragma" lineEndContext="#pop">
+        <DetectSpaces/>
+        <!-- Match an Integer -->
+        <RegExpr attribute="Integer" context="#stay" String="((0([0-7_]+|[bB]_*[01][01_]*|[xX]_*[\da-fA-F][\da-fA-F_]*))|\d+[\d_]*)(L[uU]?|[uU]L?)?"/>
+        <RegExpr attribute="String" context="#stay" String="&quot;[^&quot;]*&quot;"/>
+        <keyword attribute="SpecialTokens"  context="#stay"      String="specialtokens"/>
+        <IncludeRules context="CommentRules" />
+        <RegExpr attribute="Error" context="#pop" String=".+"/>
+      </context>
+
+      <!-- \u 4HexDigits -->
+      <context name="UnicodeShort" attribute="EscapeSequence" lineEndContext="#pop">
+        <RegExpr attribute="EscapeSequence" context="#pop" String="[\da-fA-F]{4}"/>
+      </context>
+      <!-- \U 8HexDigits -->
+      <context name="UnicodeLong" attribute="EscapeSequence" lineEndContext="#pop">
+        <RegExpr attribute="EscapeSequence" context="#pop" String="[\da-fA-F]{8}"/>
+      </context>
+      <!-- \& Alpha Alphanumerical+ ; -->
+      <context name="HTMLEntity" attribute="EscapeSequence" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr attribute="EscapeSequence" context="#pop" String="[a-zA-Z]\w+;"/>
+      </context>
+
+      <context name="ModuleName" attribute="Module Name" lineEndContext="#stay">
+        <DetectSpaces/>
+        <IncludeRules context="CommentRules" />
+        <RegExpr context="#pop" String="[^\s\w.:,=]" lookAhead="true"/>
+      </context>
+
+      <context name="Linkage" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <DetectChar attribute="Normal Text" context="Linkage2" char="("/>
+        <IncludeRules context="CommentRules" />
+      </context>
+      <context name="Linkage2" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <StringDetect attribute="Linkage Type" context="#pop#pop" String="C++"/>
+        <keyword    attribute="Linkage Type" context="#pop#pop" String="ltypes"/>
+        <IncludeRules context="CommentRules" />
+        <!-- Fall-through rules, highlighting errors: -->
+        <DetectChar char=")" attribute="Normal Text" context="#pop#pop"/>
+        <RegExpr String="[^)\s\n]+" attribute="Error" context="#pop#pop"/>
+      </context>
+
+      <context name="Version" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar attribute="Normal Text"  context="Version2"  char="="/>
+        <DetectChar attribute="Normal Text"  context="Version2" char="("/>
+        <IncludeRules context="CommentRules" />
+        <!-- Fall-through rules, highlighting errors: -->
+        <RegExpr String="[^\s\n]+" attribute="Error" context="#pop"/>
+      </context>
+      <context name="Version2" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <keyword    attribute="Version Type" context="#pop#pop" String="vtypes"/>
+        <DetectIdentifier attribute="Normal Text" context="#pop#pop"/>
+        <RegExpr attribute="Integer" context="#pop#pop" String="\d+[\d_]*(L[uU]?|[uU]L?)?"/>
+        <IncludeRules context="CommentRules" />
+        <!-- Fall-through rules, highlighting errors: -->
+        <DetectChar char=")" attribute="Normal Text" context="#pop#pop"/>
+        <RegExpr String="[^)\s\n]+" attribute="Error" context="#pop#pop"/>
+      </context>
+      
+      <context name="Scope" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <DetectChar attribute="Normal Text" context="Scope2" char="("/>
+        <IncludeRules context="CommentRules" />
+      </context>
+      <context name="Scope2" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <keyword String="scope_keywords" attribute="Expression" context="#pop#pop"/>
+        <IncludeRules context="CommentRules" />
+        <!-- Fall-through rules, highlighting errors: -->
+        <DetectChar char=")" attribute="Normal Text" context="#pop#pop"/>
+        <RegExpr String="[^)\s\n]+" attribute="Error" context="#pop#pop"/>
+      </context>
+
+      <context name="Pragma" attribute="Pragma" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar attribute="Normal Text"  context="Pragma2" char="("/>
+        <IncludeRules context="CommentRules" />
+        <!-- Fall-through rules, highlighting errors: -->
+        <RegExpr String="[^\s\n]+" attribute="Error" context="#pop"/>
+      </context>
+      <context name="Pragma2" attribute="Pragma" lineEndContext="#stay">
+        <DetectSpaces/>
+        <keyword    attribute="Version Type" context="#pop#pop" String="ptypes"/>
+        <DetectIdentifier attribute="Normal Text" context="#pop#pop"/>
+        <IncludeRules context="CommentRules" />
+        <!-- Fall-through rules, highlighting errors: -->
+        <DetectChar char=")" attribute="Normal Text" context="#pop#pop"/>
+        <RegExpr String="[^)\s\n]+" attribute="Error" context="#pop#pop"/>
+      </context>
+
+      <!-- Strings -->
+      <!-- r"..." -->
+      <context name="RawString" attribute="RawString" lineEndContext="#stay">
+        <DetectChar attribute="RawString" context="#pop" char="&quot;"/>
+      </context>
+      <!-- `...` -->
+      <context name="BQString" attribute="BQString" lineEndContext="#stay">
+        <DetectChar attribute="BQString" context="#pop" char="`"/>
+      </context>
+      <!-- x"..." -->
+      <context name="HexString" attribute="HexString" lineEndContext="#stay">
+        <DetectChar attribute="HexString" context="#pop" char="&quot;"/>
+        <RegExpr attribute="Error" context="#stay" String="[^\sa-fA-F\d&quot;]+" />
+      </context>
+      <!-- '...' -->
+      <context name="CharLiteral" attribute="Char" lineEndContext="CharLiteralClosing" fallthrough="true" fallthroughContext="#pop">
+        <!-- Empty '' -->
+        <DetectChar   attribute="Char" context="#pop"  char="'"/>
+        <!-- \t \n \r etc. -->
+        <HlCStringChar attribute="EscapeSequence" context="CharLiteralClosing"/>
+        <!-- \u 4HexDigits | \U 8HexDigits | HTMLEntity -->
+        <RegExpr attribute="EscapeSequence" context="CharLiteralClosing" String="\\(u[\da-fA-F]{4}|U[\da-fA-F]{8}|&amp;[a-zA-Z]\w+;)"/>
+        <!-- Invalid escape sequences -->
+        <RegExpr attribute="Error" context="CharLiteralClosing" String="\\."/>
+        <!-- Any character -->
+        <RegExpr attribute="Char" context="CharLiteralClosing" String="."/>
+      </context>
+      <!-- Anything other than a closing ' is now be an error -->
+      <context name="CharLiteralClosing" attribute="Error" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
+        <DetectChar attribute="Char" context="#pop#pop"  char="'"/>
+      </context>
+      <!-- "..." -->
+      <context name="String" attribute="String" lineEndContext="#stay">
+        <HlCStringChar attribute="EscapeSequence"/>
+        <Detect2Chars attribute="String" context="#pop" char="&quot;" char1="c"/>
+        <Detect2Chars attribute="String" context="#pop" char="&quot;" char1="w"/>
+        <Detect2Chars attribute="String" context="#pop" char="&quot;" char1="d"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+        <Detect2Chars attribute="EscapeSequence" context="UnicodeShort"   char="\" char1="u"/>
+        <Detect2Chars attribute="EscapeSequence" context="UnicodeLong"   char="\" char1="U"/>
+        <Detect2Chars attribute="EscapeSequence" context="HTMLEntity"   char="\" char1="&amp;"/>
+      </context>
+
+      <!-- Comments -->
+      <context name="CommentRules" attribute="Normal Text" lineEndContext="#pop">
+        <IncludeRules context="DdocNormal" />
+        <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"/>
+        <!-- This context is only for including rules from. -->
+      </context>
+      <context name="Region Marker" attribute="Region Marker" lineEndContext="#pop">
+      </context>
+      <context name="CommentLine" attribute="Comment" lineEndContext="#pop">
+        <DetectSpaces />
+        <IncludeRules context="##Alerts" />
+      </context>
+      <context name="CommentBlock" attribute="Comment" lineEndContext="#stay">
+        <DetectSpaces />
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="CommentBlock"/>
+        <IncludeRules context="##Alerts" />
+      </context>
+      <context name="CommentNested" attribute="Comment" lineEndContext="#stay">
+        <DetectSpaces />
+       <Detect2Chars attribute="Comment" context="CommentNested" char="/" char1="+" beginRegion="CommentNested"/>
+       <Detect2Chars attribute="Comment" context="#pop" char="+" char1="/" endRegion="CommentNested"/>
+       <IncludeRules context="##Alerts" />
+      </context>
+      
+      
+      <!-- Ddoc contexts -->
+      <context name="DdocNormal" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="DdocLine" String="/{3,}"/>
+        <RegExpr attribute="Comment" context="DdocBlock" String="/\*{2,}(?!/)" beginRegion="DdocBlock"/>
+        <RegExpr attribute="Comment" context="DdocNested" String="/\+{2,}(?!/)" beginRegion="DdocNested"/>
+      </context>
+      
+      <context name="DdocLine" attribute="Ddoc" lineEndContext="#pop">
+        <DetectSpaces />
+        <DetectIdentifier attribute="Ddoc"/>
+        <Detect2Chars attribute="Macros" context="DdocMacro" char="$" char1="(" />
+        <RegExpr attribute="DdocSection" context="#stay" String="[\w_]+:($|\s)" />
+        <IncludeRules context="##Alerts" />
+      </context>
+      
+      <context name="DdocBlock" attribute="Ddoc" lineEndContext="#stay">
+        <DetectSpaces />
+        <DetectIdentifier attribute="Ddoc"/>
+        <RegExpr attribute="Comment" context="#pop" String="\*+/" endRegion="DdocBlock"/>
+        <DetectChar attribute="Comment" context="#stay" char="*" firstNonSpace="true" />
+        
+        <Detect2Chars attribute="Macros" context="DdocMacro" char="$" char1="(" />
+        <RegExpr attribute="DdocSection" context="#stay" String="[\w_]+:($|\s)" />
+        <IncludeRules context="##Alerts" />
+        
+        <!-- Avoid matching this; do it this way since (^|\s)-* always matches .- and \s-* never
+             matches .- (spaces have already been matched); however -*($|\s) matches just fine.
+             Also can't use \b since - is not a word character. -->
+        <RegExpr attribute="Ddoc" context="#stay" String="[^-]-{3,}" />
+        <RegExpr attribute="Comment" context="DdocBlockCode" String="-{3,}($|\s)" />
+      </context>
+      
+      <context name="DdocNested" attribute="Ddoc" lineEndContext="#stay">
+        <DetectSpaces />
+        <DetectIdentifier attribute="Ddoc"/>
+        <!-- Ddoc recognises nested comments/ddoc, but ignores them as far as formatting is concerned. -->
+        <Detect2Chars attribute="Ddoc" context="DdocNested2" char="/" char1="+"/>
+        <RegExpr attribute="Comment" context="#pop" String="\++/" endRegion="DdocNested"/>
+        <DetectChar attribute="Comment" context="#stay" char="+" firstNonSpace="true" />
+        
+        <Detect2Chars attribute="Macros" context="DdocMacro" char="$" char1="(" />
+        <RegExpr attribute="DdocSection" context="#stay" String="[\w_]+:($|\s)" />
+        <IncludeRules context="##Alerts" />
+        
+        <!-- As above. -->
+        <RegExpr attribute="Ddoc" context="#stay" String="[^-]-{3,}" />
+        <RegExpr attribute="Comment" context="DdocNestedCode" String="-{3,}($|\s)" />
+      </context>
+      
+      <context name="DdocNested2" attribute="Ddoc" lineEndContext="#stay">
+        <DetectSpaces />
+        <DetectIdentifier attribute="Ddoc"/>
+        <!-- Identical to DdocNested except that nested comments don't receive any formatting -->
+        <RegExpr attribute="Ddoc" context="#pop" String="\++/"/>
+        <!-- The above rules should match before the unwanted rule in DdocNested -->
+        <IncludeRules context="DdocNested" />
+      </context>
+      
+      <!-- When entering a macro: provides highlighting for first symbol (macro name) -->
+      <context name="DdocMacro" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Macro Text" /> <!-- avoid showing space as an error -->
+        
+        <DetectChar attribute="Macros" context="#pop" char=")" /> <!-- early end of macro -->
+        <IncludeRules context="MacroRules" />
+        
+        <!-- first symbol of macro -->
+        <DetectIdentifier attribute="Macros" context="DdocMacro2" />
+      </context>
+      <!-- For rest of macro -->
+      <context name="DdocMacro2" attribute="Macro Text" lineEndContext="#stay">
+        <DetectChar attribute="Macros" context="#pop#pop" char=")" /> <!-- end of macro -->
+        <IncludeRules context="MacroRules" />
+      </context>
+      <!-- For embedded brackets (yeah, extra work to ignore them) -->
+      <context name="DdocMacro3" attribute="Macro Text" lineEndContext="#stay">
+        <DetectChar attribute="Macro Text" context="#pop" char=")" /> <!-- end of embedded brackets -->
+        <IncludeRules context="MacroRules" />
+      </context>
+      <!-- Rules common to all macros -->
+      <context name="MacroRules" attribute="Macro Text" lineEndContext="#stay">
+        <Detect2Chars attribute="Macros" context="DdocMacro" char="$" char1="(" /> <!-- embedded -->
+        <DetectChar attribute="Macro Text" context="DdocMacro3" char="(" /> <!-- extra brackets -->
+        
+        <DetectChar attribute="Comment" context="#stay" char="*" firstNonSpace="true" />
+      </context>
+      
+      <context name="DdocBlockCode" attribute="DdocCode" lineEndContext="#stay">
+        <DetectSpaces />
+        <!-- See update 1.11 -->
+        <RegExpr attribute="Comment" context="#pop#pop" String="\*+/" endRegion="DdocBlock"/>
+        <DetectChar attribute="Comment" context="#stay" char="*" firstNonSpace="true" />
+        <!-- As above. -->
+        <RegExpr attribute="DdocCode" context="#stay" String="[^-]-{3,}" />
+        <RegExpr attribute="Comment" context="#pop" String="-{3,}($|\s)" />
+        <IncludeRules context="##D" />
+      </context>
+      <context name="DdocNestedCode" attribute="DdocCode" lineEndContext="#stay">
+        <DetectSpaces />
+        <!-- See update 1.11 -->
+        <RegExpr attribute="Comment" context="#pop#pop" String="\++/" endRegion="DdocNested"/>
+        <DetectChar attribute="Comment" context="#stay" char="+" firstNonSpace="true" />
+        <!-- As above. -->
+        <RegExpr attribute="DdocCode" context="#stay" String="[^-]-{3,}" />
+        <RegExpr attribute="Comment" context="#pop" String="-{3,}($|\s)" />
+        <IncludeRules context="##D" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"    defStyleNum="dsNormal"/>
+      <itemData name="Symbol"         defStyleNum="dsNormal"/>
+      
+      <!-- keywords -->
+      <itemData name="Statement"      defStyleNum="dsKeyword"/>
+      <itemData name="Expression"     defStyleNum="dsKeyword"  color="#000080"/>
+      <itemData name="Declarator"     defStyleNum="dsKeyword"  color="#800000"/>
+      <itemData name="Template"       defStyleNum="dsKeyword"  color="#008000"/>
+      
+      <itemData name="Attribute"      defStyleNum="dsKeyword"  color="#800080"/>
+      <itemData name="Deprecated"     defStyleNum="dsKeyword"  color="#800080" strikeOut="true"/>
+      
+      <itemData name="Property"       defStyleNum="dsDataType" color="#000080"/>
+      
+      <itemData name="Type"           defStyleNum="dsDataType"/>
+      <itemData name="LibrarySymbols" defStyleNum="dsBuiltIn" italic="1"/>
+
+      <itemData name="UserKeywords"   defStyleNum="dsDataType" italic="1"/>
+
+      <!-- module, import -->
+      <itemData name="Module"         defStyleNum="dsKeyword"  color="#008000"/>
+      <itemData name="Module Name"    defStyleNum="dsNormal"   color="#008000"/>
+
+      <!-- pragma, special tokens -->
+      <itemData name="SpecialTokens"  defStyleNum="dsNormal"   color="#00aa00"/>
+      <itemData name="Pragma"         defStyleNum="dsKeyword"  color="#00aa00"/>
+
+      <!-- version, extern -->
+      <itemData name="Version"        defStyleNum="dsKeyword"  color="#808000"/>
+      <itemData name="Version Type"   defStyleNum="dsNormal"   bold="1"/>
+      <itemData name="Linkage"        defStyleNum="dsKeyword"  color="#808000"/>
+      <itemData name="Linkage Type"   defStyleNum="dsNormal"   bold="1"/>
+
+      <itemData name="Tests"        defStyleNum="dsKeyword"    color="#ff00ff"/>
+
+      <itemData name="Comment"        defStyleNum="dsComment"/>
+      <itemData name="Region Marker"  defStyleNum="dsRegionMarker" />
+      
+      <itemData name="Error"          defStyleNum="dsError"/>
+      
+      <!-- literals -->
+      <itemData name="Integer"        defStyleNum="dsDecVal"/>
+      <itemData name="Binary"         defStyleNum="dsBaseN"/>
+      <itemData name="Octal"          defStyleNum="dsBaseN"/>
+      <itemData name="Hex"            defStyleNum="dsBaseN"/>
+      <itemData name="Float"          defStyleNum="dsFloat"/>
+      
+      <itemData name="EscapeSequence" defStyleNum="dsSpecialChar"/>
+      <itemData name="String"         defStyleNum="dsString"/>
+      <itemData name="Char"           defStyleNum="dsChar"/>
+      <itemData name="RawString"      defStyleNum="dsVerbatimString"/>
+      <itemData name="BQString"       defStyleNum="dsSpecialString"/>
+      <itemData name="HexString"      defStyleNum="dsSpecialString"/>
+      
+      <!-- Ddoc specific -->
+      <itemData name="Macros"      defStyleNum="dsOthers" color="#bf5fbf" selColor="#ffffff" bold="1" italic="0" />
+      <itemData name="Macro Text"  defStyleNum="dsNormal" color="#bf7fff" selColor="#ffffff" bold="0" italic="0" />
+      <itemData name="Ddoc"        defStyleNum="dsComment" color="#7f7fff" />
+      <itemData name="DdocSection" defStyleNum="dsKeyword" color="#7f7fff" bold="1" />
+      <itemData name="DdocCode"    defStyleNum="dsNormal" italic="1" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//"/>
+      <comment name="multiLine"  start="/+" end="+/" region="CommentNested"/>
+    </comments>
+    <keywords casesensitive="true"/>
+  </general>
+</language>
diff --git a/xml/diff.xml b/xml/diff.xml
new file mode 100644
--- /dev/null
+++ b/xml/diff.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+  <!ENTITY file  "(====|\*\*\*|\-\-\-|diff|Only in .*:).*$">
+  <!ENTITY chunk "(\@\@|\d).*$">
+  <!ENTITY csep  "(\+\+\+|\-\-\-).*$">
+  <!ENTITY index  "Index:.*">
+]>
+<!--
+    2006-08-02: 1.10 Matthew Woehlke <mw_triad@sourceforge.net>
+      Added folding. Context diff changes are now identified as old/new (using
+      seperate attributes). Recognize 'Only in' from 'diff -r' output.
+      There is currently a bug (KATE limitation?) where regions may sometimes
+      pick up one line too many.
+    2008-02-13: 1.11 Eduardo Robles Elvira <edulix AT gmail DOT com>
+     Fixed folding.
+-->
+<language name="Diff" version="2" kateversion="5.0" section="Other" extensions="*.diff;*patch" mimetype="text/x-patch">
+
+  <highlighting>
+
+    <contexts>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <RegExpr attribute="Header" context="Chunk" String="&chunk;" beginRegion="chunk" column="0"/>
+        <RegExpr attribute="Header" context="RChunk" String="\*+$" beginRegion="chunk" column="0"/>
+        <RegExpr attribute="File" context="#stay" String="Only in .*:.*$" column="0"/>
+        <RegExpr attribute="File" context="RFile" String="diff.*$" beginRegion="chunk" column="0"/>
+        <RegExpr attribute="File" context="#stay" String="====.*$" column="0"/>
+        <RegExpr attribute="File" context="File" String="(\*\*\*|\-\-\-).*$" beginRegion="chunk" column="0"/>
+        <IncludeRules context="FindDiff"/>
+        <DetectChar attribute="Changed line" context="ChangedOld" char="!" column="0"/>
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindDiff">
+        <RegExpr attribute="File" context="#stay" String="\-\-\-.*$" column="0"/>
+        <RegExpr attribute="Header" context="#stay" String="&csep;" column="0"/>
+        <AnyChar attribute="Added line" context="Added" String="+&gt;" column="0"/>
+        <AnyChar attribute="Removed line" context="Removed" String="-&lt;" column="0"/>
+      </context>
+
+      <!-- block contexts -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="File">
+        <IncludeRules context="FindDiff"/>
+        <RegExpr attribute="Header" context="ChunkInFile" String="&chunk;" beginRegion="chunk" column="0"/>
+        <RegExpr attribute="Header" context="RChunkInFile" String="\*+$" beginRegion="chunk" column="0"/>
+        <RegExpr attribute="File" context="#pop" String="&file;" endRegion="chunk" column="0"/>
+        <DetectChar attribute="Changed line (old)" context="ChangedOld" char="!" column="0"/>
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="Chunk">
+        <IncludeRules context="FindDiff"/>
+        <RegExpr attribute="Header" context="#pop" String="&chunk;" endRegion="chunk" lookAhead="true" column="0"/>
+        <DetectChar attribute="Changed line (old)" context="ChangedOld" char="!" column="0"/>
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="ChunkInFile">
+        <IncludeRules context="FindDiff"/>
+        <RegExpr attribute="Header" context="#pop" String="&chunk;" endRegion="chunk" lookAhead="true" column="0"/>
+        <RegExpr attribute="Normal Text" context="#pop" String="&index;" endRegion="chunk" column="0"/>
+        <RegExpr attribute="File" context="#pop" String="&file;" endRegion="chunk" lookAhead="true" column="0"/>
+        <DetectChar attribute="Changed line (old)" context="ChangedOld" char="!" column="0"/>
+      </context>
+
+      <!-- block contexts (diff -r) -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="RFile">
+        <RegExpr attribute="File" context="#pop" String="(diff|Only in .*:).*$" endRegion="chunk" lookAhead="true" column="0"/>
+        <RegExpr attribute="Header" context="#stay" String="&file;" column="0"/>
+        <RegExpr attribute="Header" context="RChunkInFile" String="\*+$" beginRegion="chunk" column="0"/>
+        <IncludeRules context="File"/>
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="RChunk">
+        <RegExpr attribute="Header" context="#stay" String="\*\*\* .* \*\*\*\*$" column="0"/>
+        <RegExpr attribute="Header" context="RChunkNew" String="\-\-\- .* \-\-\-\-$" column="0"/>
+        <IncludeRules context="Chunk"/>
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="RChunkInFile">
+        <RegExpr attribute="Header" context="#stay" String="\*\*\* .* \*\*\*\*$" column="0"/>
+        <RegExpr attribute="Header" context="RChunkInFileNew" String="\-\-\- .* \-\-\-\-$" column="0"/>
+        <IncludeRules context="ChunkInFile"/>
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="RChunkNew">
+        <RegExpr attribute="Header" context="#pop#pop" String="&chunk;" lookAhead="true" column="0"/>
+        <DetectChar attribute="Changed line (new)" context="ChangedNew" char="!" column="0"/>
+        <IncludeRules context="FindDiff"/>
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="RChunkInFileNew">
+        <RegExpr attribute="Header" context="#pop#pop" String="&chunk;" lookAhead="true" column="0"/>
+        <RegExpr attribute="File" context="#pop#pop" String="&file;" endRegion="chunk" lookAhead="true" column="0"/>
+        <DetectChar attribute="Changed line (new)" context="ChangedNew" char="!" column="0"/>
+        <IncludeRules context="FindDiff"/>
+      </context>
+
+      <!-- line contexts -->
+      <context attribute="File" lineEndContext="#pop" name="File"/>
+      <context attribute="Removed line" lineEndContext="#pop" name="Removed"/>
+      <context attribute="Added line" lineEndContext="#pop" name="Added"/>
+      <context attribute="Changed line (old)" lineEndContext="#pop" name="ChangedOld"/>
+      <context attribute="Changed line (new)" lineEndContext="#pop" name="ChangedNew"/>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="File"  defStyleNum="dsKeyword"/>
+      <itemData name="Header"  defStyleNum="dsDataType"/>
+      <itemData name="Removed line"  defStyleNum="dsString" />
+      <itemData name="Added line"  defStyleNum="dsVariable"/>
+      <itemData name="Changed line (old)"  defStyleNum="dsString"/>
+      <itemData name="Changed line (new)"  defStyleNum="dsVariable"/>
+    </itemDatas>
+
+  </highlighting>
+
+</language>
diff --git a/xml/djangotemplate.xml b/xml/djangotemplate.xml
new file mode 100644
--- /dev/null
+++ b/xml/djangotemplate.xml
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+	<!ENTITY name    "[A-Za-z_:][\w.:_-]*">
+	<!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
+]>
+<language name="Django HTML Template" version="3" kateversion="2.4" section="Markup" extensions="*.htm;*.html" mimetype="text/html"  author="Matthew Marshall (matthew@matthewmarshall.org)" license="LGPL" priority="9">
+
+<!--
+    Based off of the katepart html syntax highlighting by Wilbert Berendsen.
+
+    Email me with any bugs/suggestions/requests!
+-->
+
+<highlighting>
+
+<list name="blocktags">
+    <item>for</item>
+    <item>block</item>
+    <item>if</item>
+    <item>ifequal</item>
+    <item>ifnotequal</item>
+    <item>ifchanged</item>
+    <item>blocktrans</item>
+    <item>spaceless</item>
+    <item>autoescape</item>
+</list>
+
+<list name="endblocktags">
+    <item>endfor</item>
+    <item>endblock</item>
+    <item>endif</item>
+    <item>endifequal</item>
+    <item>endifnotequal</item>
+    <item>endifchanged</item>
+    <item>endblocktrans</item>
+    <item>endspaceless</item>
+    <item>endautoescape</item>
+</list>
+
+<contexts>
+  <context name="Start" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="Mismatched Block Tag" context="#stay" String="\{%\s*end[a-z]+\s*%\}" />
+    <IncludeRules context="FindTemplate" />
+    <IncludeRules context="FindHTML" />
+  </context>
+
+  <context name="In Block" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr context="#pop" String="\{%\s*end[a-z]+\s*%\}" lookAhead="true" />
+    <IncludeRules context="FindTemplate" />
+    <IncludeRules context="FindHTML" />
+  </context>
+
+  <context name="FindTemplate" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="Template Comment" context="Template Comment" String="\{%\s*comment\s*%\}" beginRegion="templatecomment" />
+    <Detect2Chars attribute="Template Var" context="Template Var" char="{" char1="{" />
+    <Detect2Chars attribute="Template Tag" context="Template Tag" char="{" char1="%" />
+  </context>
+
+  <context name="Template Comment" attribute="Template Comment" lineEndContext="#stay">
+    <RegExpr attribute="Template Comment" context="#pop" String="\{%\s*endcomment\s*%\}" endRegion="templatecomment" />
+  </context>
+
+  <context name="Template Var" attribute="Template Var" lineEndContext="#stay">
+    <Detect2Chars attribute="Template Var" context="#pop" char="}" char1="}" />
+    <DetectChar attribute="Template Filter" context="Template Filter" char='|' />
+    <Detect2Chars attribute="Error" context="#stay" char="{" char1="{" />
+    <Detect2Chars attribute="Error" context="#stay" char="{" char1="%" />
+    <Detect2Chars attribute="Error" context="#stay" char="%" char1="}" />
+  </context>
+
+  <context name="Template Filter" attribute="Template Filter" lineEndContext="#stay">
+    <Detect2Chars attribute="Template Var" context="#pop#pop" char="}" char1="}" />
+    <DetectChar attribute="Template String" char="'" context="Single A-string"/>
+    <DetectChar attribute="Template String" char="&quot;" context="Single Q-string"/>
+    <Detect2Chars attribute="Error" context="#stay" char="{" char1="{" />
+    <Detect2Chars attribute="Error" context="#stay" char="{" char1="%" />
+    <Detect2Chars attribute="Error" context="#stay" char="%" char1="}" />
+  </context>
+
+  <context name="Template Tag" attribute="Template Tag" lineEndContext="#stay">
+      <keyword String="blocktags" context="Found Block Tag" lookAhead="true" attribute="Template Tag" />
+      <DetectIdentifier attribute="Template Tag" context="In Template Tag" />
+  </context>
+
+  <context name="Found Block Tag" attribute="Template Tag" lineEndContext="#stay">
+    <!-- This context is entered when a matching block tag was found through lookAhead.  We need to capture it in an re, so that it can be matched with the end[blockname] tag later -->
+    <RegExpr attribute="Template Tag" String="(&name;)" context="In Block Tag"/>
+  </context>
+
+  <context name="In Block Tag" attribute="Template Tag Argument" dynamic="true" lineEndContext="#stay" >
+    <RegExpr context="#pop#pop#pop" String="\{%\s*end%1\s*%\}" dynamic="true" attribute="Template Tag"/>
+    <RegExpr context="Non Matching Tag" String="\{%\s*end[a-z]+\s*%\}" lookAhead="true" />
+    <Detect2Chars attribute="Template Tag" context="In Block" char="%" char1="}" />
+    <IncludeRules context="In Template Tag" />
+  </context>
+
+  <context name="Non Matching Tag" attribute="Template Tag" lineEndContext="#stay">
+    <keyword String="endblocktags" attribute="Mismatched Block Tag" context="#pop" />
+    <!-- If the mismatched tag is one we don't know about, ignore it. -->
+    <DetectIdentifier attribute="Template Tag" context="#pop" />
+  </context>
+
+  <context name="In Template Tag" attribute="Template Tag Argument" lineEndContext="#stay">
+    <Detect2Chars attribute="Template Tag" context="#pop#pop" char="%" char1="}" />
+    <DetectChar attribute="Template String" char="'" context="Single A-string"/>
+    <DetectChar attribute="Template String" char="&quot;" context="Single Q-string"/>
+    <Detect2Chars attribute="Error" context="#stay" char="{" char1="{" />
+    <Detect2Chars attribute="Error" context="#stay" char="{" char1="%" />
+    <Detect2Chars attribute="Error" context="#stay" char="}" char1="}" />
+  </context>
+
+  <context name="Single A-string" attribute="Template String" lineEndContext="#stay">
+    <HlCStringChar attribute="Template String" context="#stay"/>
+<!--       <RegExpr attribute="Operator" String="%[a-zA-Z]" context="#stay"/> -->
+    <DetectChar attribute="Template String" char="'" context="#pop"/>
+  </context>
+
+  <context name="Single Q-string" attribute="Template String" lineEndContext="#stay">
+    <HlCStringChar attribute="Template String" context="#stay"/>
+<!--       <RegExpr attribute="Operator" String="%[a-zA-Z]" context="#stay"/> -->
+    <DetectChar attribute="Template String" char="&quot;" context="#pop"/>
+  </context>
+
+
+
+  <context name="FindHTML" attribute="Normal Text" lineEndContext="#stay">
+    <DetectSpaces/>
+    <DetectIdentifier/>
+    <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+    <StringDetect attribute="CDATA" context="CDATA" String="&lt;![CDATA[" beginRegion="cdata" />
+    <RegExpr attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE\s+" beginRegion="doctype" />
+    <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:-]*" beginRegion="pi" />
+    <RegExpr attribute="Element" context="CSS" String="&lt;style\b" insensitive="true" beginRegion="style" />
+    <RegExpr attribute="Element" context="JS" String="&lt;script\b" insensitive="true" beginRegion="script" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;pre\b" insensitive="true" beginRegion="pre" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;div\b" insensitive="true" beginRegion="div" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;table\b" insensitive="true" beginRegion="table" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;&name;" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/pre\b" insensitive="true" endRegion="pre" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/div\b" insensitive="true" endRegion="div" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/table\b" insensitive="true" endRegion="table" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/&name;" />
+    <!-- as long as kde gives DTDs the text/html mimetype--><IncludeRules context="FindDTDRules" />
+    <IncludeRules context="FindEntityRefs" />
+  </context>
+
+  <context name="FindEntityRefs" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+    <AnyChar attribute="Error" context="#stay" String="&amp;&lt;" />
+  </context>
+
+  <context name="FindPEntityRefs" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+    <RegExpr attribute="PEntityRef" context="#stay" String="%&name;;" />
+    <AnyChar attribute="Error" context="#stay" String="&amp;%" />
+  </context>
+
+  <context name="FindAttributes" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="Attribute" context="#stay" String="&name;" column="0"/>
+    <RegExpr attribute="Attribute" context="#stay" String="\s+&name;" />
+    <DetectChar attribute="Attribute" context="Value" char="=" />
+  </context>
+
+  <context name="FindDTDRules" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
+  </context>
+
+
+  <context name="Comment" attribute="Comment" lineEndContext="#stay">
+    <DetectSpaces/>
+    <IncludeRules context="##Alerts" />
+    <IncludeRules context="FindTemplate" />
+    <DetectIdentifier/>
+    <StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment" />
+    <RegExpr attribute="Error" context="#stay" String="-(-(?!-&gt;))+" />
+  </context>
+
+  <context name="CDATA" attribute="Normal Text" lineEndContext="#stay">
+    <DetectSpaces/>
+    <DetectIdentifier/>
+    <StringDetect attribute="CDATA" context="#pop" String="]]&gt;" endRegion="cdata" />
+    <StringDetect attribute="EntityRef" context="#stay" String="]]&amp;gt;" />
+  </context>
+
+  <context name="PI" attribute="Normal Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1="&gt;" endRegion="pi" />
+  </context>
+
+  <context name="Doctype" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="&gt;" endRegion="doctype" />
+    <DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
+  </context>
+
+  <context name="Doctype Internal Subset" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
+    <IncludeRules context="FindDTDRules" />
+    <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+    <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:-]*" beginRegion="pi" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="Doctype Markupdecl" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="&gt;" />
+    <DetectChar attribute="Value" context="Doctype Markupdecl DQ" char="&quot;" />
+    <DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="&apos;" />
+  </context>
+
+  <context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop" char="&quot;" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop" char="&apos;" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="El Open" attribute="Normal Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" />
+    <DetectChar attribute="Element" context="#pop" char="&gt;" />
+    <IncludeRules context="FindAttributes" />
+    <IncludeRules context="FindTemplate" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="El Close" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Element" context="#pop" char="&gt;" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="El Close 2" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Element" context="#pop#pop#pop" char="&gt;" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="El Close 3" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Element" context="#pop#pop#pop#pop" char="&gt;" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="CSS" attribute="Normal Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="style" />
+    <DetectChar attribute="Element" context="CSS content" char="&gt;" />
+    <IncludeRules context="FindAttributes" />
+    <IncludeRules context="FindTemplate" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="CSS content" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="Element" context="El Close 2" String="&lt;/style\b" insensitive="true" endRegion="style" />
+    <IncludeRules context="FindTemplate" />
+    <IncludeRules context="##CSS" includeAttrib="true"/>
+  </context>
+
+  <context name="JS" attribute="Normal Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="script" />
+    <DetectChar attribute="Element" context="JS content" char="&gt;" />
+    <IncludeRules context="FindTemplate" />
+    <IncludeRules context="FindAttributes" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="JS content" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="Element" context="El Close 2" String="&lt;/script\b" insensitive="true" endRegion="script" />
+    <RegExpr attribute="Comment" context="JS comment close" String="//(?=.*&lt;/script\b)" insensitive="true" />
+    <IncludeRules context="FindTemplate" />
+    <IncludeRules context="Normal##JavaScript" includeAttrib="true"/>
+  </context>
+
+  <context name="JS comment close" attribute="Comment" lineEndContext="#pop">
+    <RegExpr attribute="Element" context="El Close 3" String="&lt;/script\b" insensitive="true" endRegion="script" />
+    <IncludeRules context="FindTemplate" />
+    <IncludeRules context="##Alerts" />
+  </context>
+
+  <context name="Value" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="Value NQ">
+    <DetectChar attribute="Value" context="Value DQ" char="&quot;" />
+    <DetectChar attribute="Value" context="Value SQ" char="&apos;" />
+    <DetectSpaces />
+  </context>
+
+  <context name="Value NQ" attribute="Normal Text" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
+    <IncludeRules context="FindEntityRefs" />
+    <IncludeRules context="FindTemplate" />
+    <RegExpr attribute="Value" context="#stay" String="/(?!&gt;)" />
+    <RegExpr attribute="Value" context="#stay" String="[^/&gt;&lt;&quot;&apos;\s]" />
+  </context>
+
+  <context name="Value DQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop#pop" char="&quot;" />
+    <IncludeRules context="FindTemplate" />
+    <IncludeRules context="FindEntityRefs" />
+  </context>
+
+  <context name="Value SQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop#pop" char="&apos;" />
+    <IncludeRules context="FindTemplate" />
+    <IncludeRules context="FindEntityRefs" />
+  </context>
+
+</contexts>
+<itemDatas>
+  <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" />
+  <itemData name="EntityRef" defStyleNum="dsDecVal" />
+  <itemData name="PEntityRef" defStyleNum="dsDecVal" />
+  <itemData name="Error" defStyleNum="dsError" />
+  <itemData name="Template Var" defStyleNum="dsFunction" />
+  <itemData name="Template Tag" defStyleNum="dsFunction" />
+  <itemData name="Template Tag Argument" defStyleNum="dsFunction" />
+  <itemData name="Template String" defStyleNum="dsString" />
+  <itemData name="Template Comment" defStyleNum="dsComment" />
+  <itemData name="Template Filter" defStyleNum="dsOthers" />
+  <itemData name="Mismatched Block Tag" defStyleNum="dsError" />
+</itemDatas>
+
+</highlighting>
+<general>
+  <comments>
+      <comment name="multiLine" start="{% comment %}" end="{% endcomment %}" region="templatecomment" />
+  </comments>
+</general>
+</language>
diff --git a/xml/dockerfile.xml b/xml/dockerfile.xml
new file mode 100644
--- /dev/null
+++ b/xml/dockerfile.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- Dockerfile syntaxfile v1.0 by James Turnbull <james@lovedthanlost.net> -->
+<language name="Dockerfile" section="Other" version="5" kateversion="3.4" extensions="Dockerfile" author="James Turnbull (james@lovedthanlost.net)" license="LGPLv2+">
+  <highlighting>
+    <list name="keywords">
+      <item> ADD </item>
+      <item> ARG </item>
+      <item> CMD </item>
+      <item> COPY </item>
+      <item> ENTRYPOINT </item>
+      <item> ENV </item>
+      <item> EXPOSE </item>
+      <item> FROM </item>
+      <item> HEALTHCHECK </item>
+      <item> LABEL </item>
+      <item> MAINTAINER </item>
+      <item> ONBUILD </item>
+      <item> RUN </item>
+      <item> SHELL </item>
+      <item> STOPSIGNAL </item>
+      <item> USER </item>
+      <item> VOLUME </item>
+      <item> WORKDIR </item>
+    </list>
+
+    <contexts>
+      <context name="normal" attribute="Normal" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar attribute="Comment" context="Comment" char="#"/>
+        <keyword attribute="Keyword"  context="#stay" String="keywords"/>
+        <DetectIdentifier/>
+        <DetectChar attribute="String" context="string&quot;" char="&quot;"/>
+        <DetectChar attribute="String" context="string'" char="'"/>
+      </context>
+
+      <context attribute="Comment" lineEndContext="#pop" name="Comment">
+        <LineContinue attribute="Comment" context="#stay" />
+        <IncludeRules context="##Alerts" />
+      </context>
+
+      <context name="string&quot;" attribute="String" lineEndContext="#pop">
+        <LineContinue attribute="Operator" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+
+      <context name="string'" attribute="String" lineEndContext="#pop">
+        <LineContinue attribute="String" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="'"/>
+      </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal"  defStyleNum="dsNormal"  spellChecking="0"/>
+      <itemData name="Comment" defStyleNum="dsComment" />
+      <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="0"/>
+      <itemData name="String"  defStyleNum="dsString"  spellChecking="0"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name = "singleLine" start = "#"/>
+    </comments>
+  </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/dot.xml b/xml/dot.xml
new file mode 100644
--- /dev/null
+++ b/xml/dot.xml
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- Adapted from the VIM highlighter, by Markus Mottl (markus@oefai.at) -->
+<language name="dot" version="2" kateversion="5.0" section="Scientific" extensions="*.dot" mimetype="text/x-dot" author="Postula Loïs (lois.postula@live.be)" priority="0">
+
+  <highlighting>
+
+    <list name="keywords">
+      <item> digraph </item>
+      <item> node </item>
+      <item> edge </item>
+      <item> subgraph </item>
+    </list>
+
+    <list name="attributes">
+      <!-- Graph attributes -->
+      <item> center </item>
+      <item> layers </item>
+      <item> margin </item>
+      <item> mclimit </item>
+      <item> name </item>
+      <item> nodesep </item>
+      <item> nslimit </item>
+      <item> ordering </item>
+      <item> page </item>
+      <item> pagedir </item>
+      <item> rank </item>
+      <item> rankdir </item>
+      <item> ranksep </item>
+      <item> ratio </item>
+      <item> rotate </item>
+      <item> size </item>
+      <!-- Node attributes -->
+      <item> distortion </item>
+      <item> fillcolor </item>
+      <item> fontcolor </item>
+      <item> fontname </item>
+      <item> fontsize </item>
+      <item> height </item>
+      <item> layer </item>
+      <item> orientation </item>
+      <item> peripheries </item>
+      <item> regular </item>
+      <item> shape </item>
+      <item> shapefile </item>
+      <item> sides </item>
+      <item> skew </item>
+      <item> width</item>
+      <!-- Edge attributes -->
+      <item> arrowhead </item>
+      <item> arrowsize </item>
+      <item> arrowtail </item>
+      <item> constraint </item>
+      <item> decorateP </item>
+      <item> dir </item>
+      <item> headclip </item>
+      <item> headlabel </item>
+      <item> labelangle </item>
+      <item> labeldistance </item>
+      <item> labelfontcolor </item>
+      <item> labelfontname </item>
+      <item> labelfontsize </item>
+      <item> minlen </item>
+      <item> port_label_distance </item>
+      <item> samehead </item>
+      <item> sametail </item>
+      <item> tailclip </item>
+      <item> taillabel </item>
+      <item> weight </item>
+      <!-- Shared attributes (graphs, nodes, edges) -->
+      <item> color </item>
+      <!-- Shared attributes (graphs and edges) -->
+      <item> bgcolor </item>
+      <item> label </item>
+      <item> URL </item>
+      <!-- Shared attributes (nodes and edges) -->
+      <item> fontcolor </item>
+      <item> fontname </item>
+      <item> fontsize </item>
+      <item> layer </item>
+      <item> style </item>
+    </list>
+
+    <contexts>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <IncludeRules context="DetectAll"/>
+      </context>
+
+      <!-- detector contexts -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="DetectAll">
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Attribute" context="#stay" String="attributes"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <AnyChar attribute="Symbol" context="#stay" String=";="/>
+        <Detect2Chars attribute="Symbol" context="#stay" char="-" char1="&gt;"/>
+        <Float attribute="Number" context="#stay"/>
+        <Int attribute="Number" context="#stay"/>
+        <RegExpr attribute="Identifier" context="#stay" String="\b\w+\b"/>
+        <IncludeRules context="DetectComments"/>
+        <DetectChar attribute="Symbol" context="RegionCurly" char="{" beginRegion="curly"/>
+        <DetectChar attribute="Symbol" context="RegionSquare" char="[" beginRegion="square"/>
+        <DetectChar attribute="Symbol" context="RegionParen" char="(" beginRegion="paren"/>
+        <AnyChar attribute="Error" context="#stay" String=")]}"/>
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="DetectComments">
+        <Detect2Chars attribute="Comment" context="CommentSL" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="CommentML" char="/" char1="*" beginRegion="Comment"/>
+      </context>
+
+      <!-- region contexts -->
+      <context attribute="Comment" lineEndContext="#stay" name="RegionCurly">
+        <DetectChar attribute="Symbol" context="#pop" char="}" endRegion="curly"/>
+        <IncludeRules context="DetectAll"/>
+      </context>
+
+      <context attribute="Comment" lineEndContext="#stay" name="RegionSquare">
+        <DetectChar attribute="Symbol" context="#pop" char="]" endRegion="square"/>
+        <IncludeRules context="DetectAll"/>
+      </context>
+
+      <context attribute="Comment" lineEndContext="#stay" name="RegionParen">
+        <DetectChar attribute="Symbol" context="#pop" char=")" endRegion="paren"/>
+        <IncludeRules context="DetectAll"/>
+      </context>
+
+      <!-- other contexts -->
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <Detect2Chars attribute="String Char" context="#stay" char="\\" char1="\\"/>
+        <Detect2Chars attribute="String Char" context="#stay" char="\\" char1="&quot;"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+
+      <context attribute="Comment" lineEndContext="#pop" name="CommentSL">
+        <IncludeRules context="##Alerts"/>
+      </context>
+
+      <context attribute="Comment" lineEndContext="#stay" name="CommentML">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+        <IncludeRules context="##Alerts"/>
+      </context>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text"  defStyleNum="dsNormal"/>
+      <itemData name="Keyword"      defStyleNum="dsKeyword"/>
+      <itemData name="Attribute"    defStyleNum="dsAttribute"/>
+      <itemData name="Symbol"       defStyleNum="dsOthers"/>
+      <itemData name="Number"       defStyleNum="dsDecVal"/>
+      <itemData name="Identifier"   defStyleNum="dsVariable"/>
+      <itemData name="String"       defStyleNum="dsString"/>
+      <itemData name="String Char"  defStyleNum="dsSpecialChar"/>
+      <itemData name="Comment"      defStyleNum="dsComment"/>
+      <itemData name="Error"        defStyleNum="dsError"/>
+    </itemDatas>
+
+  </highlighting>
+
+  <general>
+
+    <comments>
+      <comment name="singleLine" start="//"/>
+      <comment name="multiLine" start="/*" end="*/"/>
+    </comments>
+
+    <keywords casesensitive="1"/>
+
+  </general>
+
+</language>
diff --git a/xml/doxygen.xml b/xml/doxygen.xml
new file mode 100644
--- /dev/null
+++ b/xml/doxygen.xml
@@ -0,0 +1,514 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+    <!ENTITY wordsep "([][,?;()]|\.$|\.?\s)">     <!-- things that end a TagWord -->
+]>
+<!--
+  This file is part of KDE's kate project.
+
+  Copyright 2004 Dominik Haumann (dhdev@gmx.de)
+  Copyright 2007 Matthew Woehlke (mw_triad@users.sourceforge.net)
+  Copyright 2009-2013 Alex Turbov (I.zaufi@gmail.com)
+
+ **********************************************************************
+ * This library is free software; you can redistribute it and/or      *
+ * 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  *
+ * Lesser General Public License for more details.                    *
+ *                                                                    *
+ * 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,   *
+ * Boston, MA  02110-1301, USA.                                       *
+ **********************************************************************
+ -->
+
+<language name="Doxygen"
+          version="3"
+          kateversion="5.0"
+          section="Markup"
+          extensions="*.dox;*.doxygen"
+          mimetype="text/x-doxygen"
+          author="Dominik Haumann (dhdev@gmx.de)"
+          license="LGPLv2+"
+          priority="9">
+  <highlighting>
+    <!-- NOTE: all tags may begin with a \ or @ char
+         so if you add/change tags you have to do it twice -->
+    <!-- NOTE: Tags @code/@endcode, @dot/@enddot, @vermatim/@endverbatim, @msc/@endmsc, @f[/@f]
+         do not present in keywords due separate handle rules...
+    -->
+    <list name="TagOnly">
+      <item> \arg </item>              <item> @arg </item>
+      <item> \author </item>           <item> @author </item>
+      <item> \authors </item>          <item> @authors </item>
+      <item> \brief </item>            <item> @brief </item>
+      <item> \callgraph </item>        <item> @callgraph </item>
+      <item> \callergraph </item>      <item> @callergraph </item>
+      <item> \date </item>             <item> @date </item>
+      <item> \deprecated </item>       <item> @deprecated </item>
+      <item> \details </item>          <item> @details </item>
+      <item> \docbookonly </item>      <item> @docbookonly </item>
+      <item> \else </item>             <item> @else </item>
+      <item> \endcond </item>          <item> @endcond </item>
+      <item> \enddocbookonly </item>   <item> @enddocbookonly </item>
+      <item> \endhtmlonly </item>      <item> @endhtmlonly </item>
+      <item> \endif </item>            <item> @endif </item>
+      <item> \endinternal </item>      <item> @endinternal </item>
+      <item> \endlatexonly </item>     <item> @endlatexonly </item>
+      <item> \endlink </item>          <item> @endlink </item>
+      <item> \endmanonly </item>       <item> @endmanonly </item>
+      <item> \endparblock </item>      <item> @endparblock </item>
+      <item> \endrtfonly </item>       <item> @endrtfonly </item>
+      <item> \endsecreflist </item>    <item> @endsecreflist </item>
+      <item> \endxmlonly </item>       <item> @endxmlonly </item>
+      <item> \f[ </item>               <item> @f[ </item>
+      <item> \f] </item>               <item> @f] </item>
+      <item> \f$ </item>               <item> @f$ </item>
+      <!-- TODO Add @f{environment}{ and @f} -->
+      <item> \hideinitializer </item>  <item> @hideinitializer </item>
+      <item> \htmlonly </item>         <item> @htmlonly </item>
+      <!-- TODO @internal is a candidate to be handled separately, cuz may introduce folding region -->
+      <item> \internal </item>         <item> @internal </item>
+      <item> \invariant </item>        <item> @invariant </item>
+      <item> \latexonly </item>        <item> @latexonly </item>
+      <item> \li </item>               <item> @li </item>
+      <item> \manonly </item>          <item> @manonly </item>
+      <item> \n </item>                <item> @n </item>
+      <item> \nosubgrouping </item>    <item> @nosubgrouping </item>
+      <item> \only </item>             <item> @only </item>
+      <item> \parblock </item>         <item> @parblock </item>
+      <item> \post </item>             <item> @post </item>
+      <item> \pre </item>              <item> @pre </item>
+      <item> \private </item>          <item> @pivate </item>
+      <item> \privatesection </item>   <item> @pivatesection </item>
+      <item> \protected </item>        <item> @protected </item>
+      <item> \protectedsection </item> <item> @protectedsection </item>
+      <item> \public </item>           <item> @public </item>
+      <item> \publicsection </item>    <item> @publicsection </item>
+      <item> \pure </item>             <item> @pure </item>
+      <item> \remark </item>           <item> @remark </item>
+      <item> \remarks </item>          <item> @remarks </item>
+      <item> \return </item>           <item> @return </item>
+      <item> \returns </item>          <item> @returns </item>
+      <item> \result </item>           <item> @result </item>
+      <item> \rtfonly </item>          <item> @rtfonly </item>
+      <item> \sa </item>               <item> @sa </item>
+      <item> \secreflist </item>       <item> @secreflist </item>
+      <item> \see </item>              <item> @see </item>
+      <item> \short </item>            <item> @short </item>
+      <item> \showinitializer </item>  <item> @showinitializer </item>
+      <item> \since </item>            <item> @since </item>
+      <item> \static </item>           <item> @static </item>
+      <item> \tableofcontents </item>  <item> @tableofcontents </item>
+      <item> \test </item>             <item> @test </item>
+      <item> \version </item>          <item> @version </item>
+      <item> \xmlonly </item>          <item> @xmlonly </item>
+      <!-- TODO Introduce separate context for @~ ? -->
+      <item> \# </item>                <item> @# </item>
+      <item> \$ </item>                <item> @$ </item>
+      <item> \% </item>                <item> @% </item>
+      <item> \&amp; </item>            <item> @&amp; </item>
+      <item> \&gt; </item>             <item> @&gt; </item>
+      <item> \&lt; </item>             <item> @&lt; </item>
+      <item> \&quot; </item>           <item> @&quot; </item>
+      <item> \:: </item>               <item> @:: </item>
+      <item> \@ </item>                <item> @@ </item>
+      <item> \\ </item>                <item> @\ </item>
+      <item> \~ </item>                <item> @~ </item>
+      <item> \. </item>                <item> @. </item>
+      <item> \-- </item>               <item> @-- </item>
+      <item> \--- </item>              <item> @--- </item>
+    </list>
+
+    <list name="TagWord">
+      <item> \a </item>                <item> @a </item>
+      <item> \anchor </item>           <item> @anchor </item>
+      <item> \b </item>                <item> @b </item>
+      <item> \c </item>                <item> @c </item>
+      <item> \cite </item>             <item> @cite </item>
+      <item> \cond </item>             <item> @cond </item>
+      <item> \copybrief </item>        <item> @copybrief </item>
+      <item> \copydetails </item>      <item> @copydetails </item>
+      <item> \copydoc </item>          <item> @copydoc </item>
+      <item> \def </item>              <item> @def </item>
+      <item> \dir </item>              <item> @dir </item>
+      <item> \dontinclude </item>      <item> @dontinclude </item>
+      <item> \e </item>                <item> @e </item>
+      <item> \elseif </item>           <item> @elseif </item>
+      <item> \em </item>               <item> @em </item>
+      <item> \enum </item>             <item> @enum </item>
+      <item> \example </item>          <item> @example </item>
+      <item> \exception </item>        <item> @exception </item>
+      <item> \exceptions </item>       <item> @exceptions </item>
+      <item> \extends </item>          <item> @extends </item>
+      <item> \file </item>             <item> @file </item>
+      <item> \htmlinclude </item>      <item> @htmlinclude </item>
+      <item> \idlexcept </item>        <item> @idlexcept </item>
+      <item> \if </item>               <item> @if </item>
+      <item> \ifnot </item>            <item> @ifnot </item>
+      <item> \implements </item>       <item> @implements </item>
+      <item> \include </item>          <item> @include </item>
+      <item> \includelineno </item>    <item> @includelineno </item>
+      <item> \latexinclude </item>     <item> @latexinclude </item>
+      <item> \link </item>             <item> @link </item>
+      <item> \memberof </item>         <item> @memberof </item>
+      <item> \namespace </item>        <item> @namespace </item>
+      <item> \p </item>                <item> @p </item>
+      <item> \package </item>          <item> @package </item>
+      <item> \property </item>         <item> @property </item>
+      <item> \relatedalso </item>      <item> @relatedalso </item>
+      <item> \relatesalso </item>      <item> @relatesalso </item>
+      <item> \related </item>          <item> @related </item>
+      <item> \relates </item>          <item> @relates </item>
+      <item> \retval </item>           <item> @retval </item>
+      <item> \throw </item>            <item> @throw </item>
+      <item> \throws </item>           <item> @throws </item>
+      <item> \verbinclude </item>      <item> @verbinclude </item>
+      <item> \version </item>          <item> @version </item>
+      <!-- TODO Introduce separate context for @xrefitem? -->
+      <item> \xrefitem </item>         <item> @xrefitem </item>
+    </list>
+    <list name="TagParam">
+      <item> \param </item>            <item> @param </item>
+      <!-- TODO @tparam has no optional direction actually! -->
+      <item> \tparam </item>           <item> @tparam </item>
+    </list>
+    <!-- TODO Better (separate?) highlighting for @image required -->
+    <list name="TagWordWord">
+      <item> \image </item>            <item> @image </item>
+    </list>
+      <!-- TODO @union, @struct, @protocol, @interface, @class, @category
+           actually takes 3 params, 1 mandatory and 2 optional
+        -->
+      <!-- TODO @headerfile actually takes 2 params, where last one is optional -->
+    <list name="TagWordString">
+      <item> \addtogroup </item>       <item> @addtogroup </item>
+      <item> \category </item>         <item> @category </item>
+      <item> \class </item>            <item> @class </item>
+      <item> \diafile </item>          <item> @diafile </item>
+      <item> \dotfile </item>          <item> @dotfile </item>
+      <item> \defgroup </item>         <item> @defgroup </item>
+      <item> \interface </item>        <item> @interface </item>
+      <item> \headerfile </item>       <item> @headerfile </item>
+      <item> \mscfile </item>          <item> @mscfile </item>
+      <item> \page </item>             <item> @page </item>
+      <item> \paragraph </item>        <item> @paragraph </item>
+      <item> \protocol </item>         <item> @prtocol </item>
+      <item> \ref </item>              <item> @ref </item>
+      <item> \section </item>          <item> @section </item>
+      <item> \snippet </item>          <item> @snippet </item>
+      <item> \struct </item>           <item> @struct </item>
+      <item> \subpage </item>          <item> @subpage </item>
+      <item> \subsection </item>       <item> @subsection </item>
+      <item> \subsubsection </item>    <item> @subsubsection </item>
+      <item> \union </item>            <item> @union </item>
+      <item> \weakgroup </item>        <item> @weakgroup </item>
+    </list>
+    <list name="TagString">
+      <item> \addindex </item>         <item> @addindex </item>
+      <item> \copyright </item>        <item> @copyright </item>
+      <item> \fn </item>               <item> @fn </item>
+      <item> \ingroup </item>          <item> @ingroup </item>
+      <item> \line </item>             <item> @line </item>
+      <item> \mainpage </item>         <item> @mainpage </item>
+      <item> \name </item>             <item> @name </item>
+      <item> \overload </item>         <item> @overload </item>
+      <item> \par </item>              <item> @par </item>
+      <item> \skip </item>             <item> @skip </item>
+      <item> \skipline </item>         <item> @skipline </item>
+      <item> \typedef </item>          <item> @typedef </item>
+      <item> \until </item>            <item> @until </item>
+      <item> \var </item>              <item> @var </item>
+      <item> \vhdlflow </item>         <item> @vhdlflow </item>
+    </list>
+    <list name="Note">
+      <item> \note </item>             <item> @note </item>
+    </list>
+    <list name="Warning">
+      <item> \warning </item>          <item> @warning </item>
+    </list>
+    <list name="Attention">
+      <item> \attention </item>        <item> @attention </item>
+      <item> \bug </item>              <item> @bug </item>
+    </list>
+    <list name="Todo">
+      <item> \todo </item>             <item> @todo </item>
+    </list>
+
+    <contexts>
+    <!--
+      Different types of recognized command formats:
+      (w/ params specified according doxygen manual (http://www.stack.nl/~dimitri/doxygen/commands.html))
+
+      @tag                       : TagOnly
+      @tag <word>                : TagWord
+      @tag (rest_of_line)        : TagString
+      @tag {paragraph}           : TagOnly
+      @tag <word> <word>         : TagWordWord
+      @tag <word> (rest_of_line) : TagWordString
+
+      TODO Not all commands are handled properly nowadays :( Need few more contexts...
+    -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <RegExpr attribute="Comment" context="LineComment" String="//(!|(/(?=[^/]|$)))&lt;?" />
+        <RegExpr attribute="Comment" context="BlockComment" String="/\*(\*[^*/]|!|[*!]&lt;|\*$)" beginRegion="BlockComment" />
+        <RegExpr attribute="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">
+        <LineContinue attribute="Comment" context="#stay" />
+        <DetectSpaces />
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="SL_DetectEnv" />
+        <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" />
+        <RegExpr attribute="Custom Tags" context="#stay" String="[@\\][^@\\ \t]+" />
+        <DetectIdentifier />
+        <StringDetect attribute="HTML Comment" context="SL_htmlcomment" String="&lt;!--" />
+        <Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
+        <RegExpr attribute="HTML Tag" context="SL_htmltag" String="&lt;\/?[\w0-9._:-@]+" />
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="BlockComment">
+        <DetectSpaces />
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="BlockComment" />
+        <IncludeRules context="##Alerts" />
+        <Detect2Chars attribute="Region" context="#stay" char="@" char1="{" beginRegion="Group" />
+        <Detect2Chars attribute="Region" context="#stay" char="@" char1="}" endRegion="Group" />
+        <IncludeRules context="SL_DetectEnv" />
+        <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" />
+        <RegExpr attribute="Custom Tags" context="#stay" String="[@\\]([^@\\ \t\*]|\*(?!/))+" />
+        <DetectIdentifier />
+        <RegExpr attribute="Tags" context="#stay" String="\\(&lt;|&gt;)" />
+        <Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
+        <RegExpr attribute="HTML Tag" context="ML_htmltag" String="&lt;\/?[\w0-9._:-@]+" />
+        <StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="&lt;!--" />
+      </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! (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" />
+        <IncludeRules context="SL_TagWord" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="ML_TagParam">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
+        <DetectSpaces />
+        <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_TagWordWord">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
+        <DetectSpaces />
+        <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" />
+        <StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="&lt;!--" />
+        <Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
+        <RegExpr attribute="HTML Tag" context="ML_htmltag" String="&lt;\/?[\w0-9._:-@]+" />
+        <RegExpr attribute="Description" context="#stay" String="." />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="ML_TagWordString">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
+        <IncludeRules context="SL_TagWordString" />
+      </context>
+
+      <!-- html contexts -->
+      <context name="ML_htmltag" attribute="Identifier" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
+        <Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1="&gt;" />
+        <DetectChar attribute="HTML Tag" context="#pop" char="&gt;" />
+        <RegExpr attribute="Identifier" context="ML_identifiers" String="\s*=\s*" />
+      </context>
+      <context name="ML_htmlcomment" attribute="HTML Comment" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
+        <IncludeRules context="##Alerts" />
+        <StringDetect attribute="HTML Comment" context="#pop" String="--&gt;" />
+      </context>
+      <context name="ML_identifiers" attribute="Identifier" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
+        <RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
+        <DetectChar attribute="Types" context="ML_types1" char="'" />
+        <DetectChar attribute="Types" context="ML_types2" char="&quot;" />
+      </context>
+      <context name="ML_types1" attribute="Types" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
+        <DetectChar attribute="Types" context="#pop#pop" char="'" />
+      </context>
+      <context name="ML_types2" attribute="Types" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true" />
+        <DetectChar attribute="Types" context="#pop#pop" char="&quot;" />
+      </context>
+
+      <!-- NOTE: all contexts beginning with SL_ are for singleline comments -->
+      <!-- tag contexts -->
+      <context attribute="Comment" lineEndContext="#pop" name="SL_TagWord">
+        <DetectSpaces />
+        <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="SL_Tag2ndWord" String="\S(?=&wordsep;)" />
+        <RegExpr attribute="Word" context="#stay" String="\S" />
+      </context>
+      <!-- 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#pop" String="\S(?=&wordsep;)" />
+        <RegExpr attribute="Word" context="#stay" String="\S" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="SL_TagString">
+        <DetectSpaces />
+        <StringDetect attribute="HTML Comment" context="SL_htmlcomment" String="&lt;!--" />
+        <Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
+        <RegExpr attribute="HTML Tag" context="SL_htmltag" String="&lt;\/?[\w0-9._:-@]+" />
+        <RegExpr attribute="Description" context="#stay" String="." />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="SL_TagWordString">
+        <DetectSpaces />
+        <RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
+        <RegExpr attribute="Word" context="#stay" String="\S" />
+      </context>
+
+      <!-- html contexts -->
+      <context name="SL_htmltag" attribute="Identifier" lineEndContext="#pop">
+        <Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1="&gt;" />
+        <DetectChar attribute="HTML Tag" context="#pop" char="&gt;" />
+        <RegExpr attribute="Identifier" context="SL_identifiers" String="\s*=\s*" />
+      </context>
+      <context name="SL_htmlcomment" attribute="HTML Comment" lineEndContext="#pop">
+        <IncludeRules context="##Alerts" />
+        <StringDetect attribute="HTML Comment" context="#pop" String="--&gt;" />
+      </context>
+      <context name="SL_identifiers" attribute="Identifier" lineEndContext="#pop">
+        <RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
+        <DetectChar attribute="Types" context="SL_types1" char="'" />
+        <DetectChar attribute="Types" context="SL_types2" char="&quot;" />
+      </context>
+      <context name="SL_types1" attribute="Types" lineEndContext="#pop">
+        <DetectChar attribute="Types" context="#pop#pop" char="'" />
+      </context>
+      <context name="SL_types2" attribute="Types" lineEndContext="#pop">
+        <DetectChar attribute="Types" context="#pop#pop" char="&quot;" />
+      </context>
+
+      <context attribute="Comment" name="SL_DetectEnv" lineEndContext="#pop">
+        <RegExpr attribute="Tags" context="Code" String="[@\\]code\b" beginRegion="Code" />
+        <RegExpr attribute="Tags" context="Verbatim" String="[@\\]verbatim\b" beginRegion="Verbatim" />
+        <RegExpr attribute="Tags" context="Formula" String="[@\\]f\[" beginRegion="Formula" />
+        <RegExpr attribute="Tags" context="Msc" String="[@\\]msc\b" beginRegion="Msc" />
+        <RegExpr attribute="Tags" context="Dot" String="[@\\]dot\b" beginRegion="Dot" />
+        <keyword attribute="Note" context="#stay" String="Note" />
+        <keyword attribute="Warning" context="#stay" String="Warning" />
+        <keyword attribute="Attention" context="#stay" String="Attention" />
+        <keyword attribute="Todo" context="#stay" String="Todo" />
+        <RegExpr attribute="Entities" context="#stay" String="&amp;[A-Za-z]+&#59;" />
+      </context>
+
+      <context attribute="Comment" name="SL_DetectComment" lineEndContext="#pop">
+        <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/" endRegion="BlockComment" />
+        <DetectChar attribute="Comment" context="#stay" char="*" />
+        <StringDetect attribute="Comment" context="#stay" String="///" />
+      </context>
+
+      <context attribute="Code" lineEndContext="#stay" name="Code">
+        <IncludeRules context="SL_DetectComment" />
+        <RegExpr attribute="Tags" context="#pop" String="[@\\]endcode\b" endRegion="Code" />
+      </context>
+
+      <context attribute="Verbatim" lineEndContext="#stay" name="Verbatim">
+        <IncludeRules context="SL_DetectComment" />
+        <RegExpr attribute="Tags" context="#pop" String="[@\\]endverbatim\b" endRegion="Verbatim" />
+      </context>
+
+      <context attribute="Formulas" lineEndContext="#stay" name="Formula">
+        <IncludeRules context="SL_DetectComment" />
+        <RegExpr attribute="Tags" context="#pop" String="[@\\]f\]" endRegion="Formula" />
+        <!-- TODO: How to force LaTeX math context here?? -->
+        <!-- <IncludeRules context="##LaTeX" /> -->
+      </context>
+
+      <context attribute="Message Sequence Chart" lineEndContext="#stay" name="Msc">
+        <IncludeRules context="SL_DetectComment" />
+        <RegExpr attribute="Tags" context="#pop" String="[@\\]endmsc\b" endRegion="Msc" />
+      </context>
+
+      <context attribute="Dot Graph" lineEndContext="#stay" name="Dot">
+        <IncludeRules context="SL_DetectComment" />
+        <RegExpr attribute="Tags" context="#pop" String="[@\\]enddot\b" endRegion="Dot" />
+      </context>
+
+  </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"  defStyleNum="dsNormal" />
+      <itemData name="Tags"         defStyleNum="dsAnnotation" bold="1" />
+      <itemData name="Custom Tags"  defStyleNum="dsAnnotation" />
+      <itemData name="Word"         defStyleNum="dsCommentVar" bold="1" italic="0" />
+      <itemData name="HTML Tag"     defStyleNum="dsKeyword" color="#000000" bold="1" italic="0" />
+      <itemData name="Entities"     defStyleNum="dsOthers" color="#4086C0" bold="1" italic="1" />
+      <itemData name="Description"  defStyleNum="dsDocumentation" />
+      <itemData name="Comment"      defStyleNum="dsComment" />
+      <itemData name="Region"       defStyleNum="dsRegionMarker" />
+      <itemData name="Identifier"   defStyleNum="dsOthers" />
+      <itemData name="HTML Comment" defStyleNum="dsComment" />
+      <itemData name="Types"        defStyleNum="dsDataType" />
+      <itemData name="Code"         defStyleNum="dsComment" />
+      <itemData name="Dot Graph"    defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" />
+      <itemData name="Formulas"     defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" />
+      <itemData name="Message Sequence Chart" defStyleNum="dsComment" color="#00A000" selColor="#ffffff" italic="1" />
+      <itemData name="Verbatim"     defStyleNum="dsComment" />
+      <itemData name="Note"         defStyleNum="dsInformation" bold="1" italic="0" />
+      <itemData name="Warning"      defStyleNum="dsWarning" bold="1" italic="0" />
+      <itemData name="Attention"    defStyleNum="dsAnnotation" bold="1" italic="0" />
+      <itemData name="Todo"         defStyleNum="dsAnnotation" bold="1" italic="0" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="1" weakDeliminator="\$~" />
+  </general>
+</language>
+<!-- kate: indent-width 2; -->
diff --git a/xml/doxygenlua.xml b/xml/doxygenlua.xml
new file mode 100644
--- /dev/null
+++ b/xml/doxygenlua.xml
@@ -0,0 +1,481 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+        <!ENTITY wordsep "([][,?;()]|\.$|\.?\s)">     <!-- things that end a TagWord -->
+]>
+<!--
+  Version 1.01 by Bruno Massa
+
+  Based on the original Doxygen Highlighter version 1.0 from
+  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 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  *
+ * Lesser General Public License for more details.                    *
+ *                                                                    *
+ * 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,   *
+ * Boston, MA  02110-1301, USA.                                       *
+ **********************************************************************
+ -->
+<language name="DoxygenLua" version="3" kateversion="5.0" section="Markup" extensions="*.dox;*.doxygen" mimetype="text/x-doxygen" author="Bruno Massa (brmassa@gmail.com)" license="LGPLv2+">
+  <highlighting>
+    <!-- note: all tags may begin with a \ or @ char
+         so if you add/change tags you have to do it twice -->
+    <list name="TagOnly">
+      <item> \arg </item>
+      <item> \attention </item>
+      <item> \author </item>
+      <item> \callgraph </item>
+      <item> \code </item>
+      <item> \dot </item>
+      <item> \else </item>
+      <item> \endcode </item>
+      <item> \endcond </item>
+      <item> \enddot </item>
+      <item> \endhtmlonly </item>
+      <item> \endif </item>
+      <item> \endlatexonly </item>
+      <item> \endlink </item>
+      <item> \endmanonly </item>
+      <item> \endverbatim </item>
+      <item> \endxmlonly </item>
+      <item> \f[ </item>
+      <item> \f] </item>
+      <item> \f$ </item>
+      <item> \hideinitializer </item>
+      <item> \htmlonly </item>
+      <item> \interface </item>
+      <item> \internal </item>
+      <item> \invariant </item>
+      <item> \~ </item>
+      <item> \@ </item>
+      <item> \$ </item>
+      <item> \\ </item>
+      <item> \# </item>
+      <item> \latexonly </item>
+      <item> \li </item>
+      <item> \manonly </item>
+      <item> \n </item>
+      <item> \nosubgrouping </item>
+      <item> \note </item>
+      <item> \only </item>
+      <item> \post </item>
+      <item> \pre </item>
+      <item> \remarks </item>
+      <item> \return </item>
+      <item> \returns </item>
+      <item> \sa </item>
+      <item> \see </item>
+      <item> \showinitializer </item>
+      <item> \since </item>
+      <item> \test </item>
+      <item> \todo </item>
+      <item> \verbatim </item>
+      <item> \warning </item>
+      <item> \xmlonly </item>
+
+      <item> @arg </item>
+      <item> @attention </item>
+      <item> @author </item>
+      <item> @callgraph </item>
+      <item> @code </item>
+      <item> @dot </item>
+      <item> @else </item>
+      <item> @endcode </item>
+      <item> @endcond </item>
+      <item> @enddot </item>
+      <item> @endhtmlonly </item>
+      <item> @endif </item>
+      <item> @endlatexonly </item>
+      <item> @endlink </item>
+      <item> @endmanonly </item>
+      <item> @endverbatim </item>
+      <item> @endxmlonly </item>
+      <item> @f[ </item>
+      <item> @f] </item>
+      <item> @f$ </item>
+      <item> @hideinitializer </item>
+      <item> @htmlonly </item>
+      <item> @interface </item>
+      <item> @internal </item>
+      <item> @invariant </item>
+      <item> @~ </item>
+      <item> @@ </item>
+      <item> @$ </item>
+      <item> @\ </item>
+      <item> @# </item>
+      <item> @latexonly </item>
+      <item> @li </item>
+      <item> @manonly </item>
+      <item> @n </item>
+      <item> @nosubgrouping </item>
+      <item> @note </item>
+      <item> @only </item>
+      <item> @post </item>
+      <item> @pre </item>
+      <item> @remarks </item>
+      <item> @return </item>
+      <item> @returns </item>
+      <item> @sa </item>
+      <item> @see </item>
+      <item> @showinitializer </item>
+      <item> @since </item>
+      <item> @test </item>
+      <item> @todo </item>
+      <item> @verbatim </item>
+      <item> @warning </item>
+      <item> @xmlonly </item>
+    </list>
+
+    <list name="TagWord">
+      <item> \addtogroup </item>
+      <item> \a </item>
+      <item> \anchor </item>
+      <item> \b </item>
+      <item> \c </item>
+      <item> \class </item>
+      <item> \cond </item>
+      <item> \copydoc </item>
+      <item> \def </item>
+      <item> \dontinclude </item>
+      <item> \dotfile </item>
+      <item> \e </item>
+      <item> \elseif </item>
+      <item> \em </item>
+      <item> \enum </item>
+      <item> \example </item>
+      <item> \exception </item>
+      <item> \exceptions </item>
+      <item> \file </item>
+      <item> \htmlinclude </item>
+      <item> \if </item>
+      <item> \ifnot </item>
+      <item> \include </item>
+      <item> \link </item>
+      <item> \namespace </item>
+      <item> \p </item>
+      <item> \package </item>
+      <item> \ref </item>
+      <item> \relatesalso </item>
+      <item> \relates </item>
+      <item> \retval </item>
+      <item> \throw </item>
+      <item> \throws </item>
+      <item> \verbinclude </item>
+      <item> \version </item>
+      <item> \xrefitem </item>
+
+      <item> @addtogroup </item>
+      <item> @a </item>
+      <item> @anchor </item>
+      <item> @b </item>
+      <item> @c </item>
+      <item> @class </item>
+      <item> @cond </item>
+      <item> @copydoc </item>
+      <item> @def </item>
+      <item> @dontinclude </item>
+      <item> @dotfile </item>
+      <item> @e </item>
+      <item> @elseif </item>
+      <item> @em </item>
+      <item> @enum </item>
+      <item> @example </item>
+      <item> @exception </item>
+      <item> @exceptions </item>
+      <item> @file </item>
+      <item> @htmlinclude </item>
+      <item> @if </item>
+      <item> @ifnot </item>
+      <item> @include </item>
+      <item> @link </item>
+      <item> @namespace </item>
+      <item> @p </item>
+      <item> @package </item>
+      <item> @ref </item>
+      <item> @relatesalso </item>
+      <item> @relates </item>
+      <item> @retval </item>
+      <item> @throw </item>
+      <item> @throws </item>
+      <item> @verbinclude </item>
+      <item> @version </item>
+      <item> @xrefitem </item>
+    </list>
+    <list name="TagParam">
+      <item> \param </item>
+
+      <item> @param </item>
+    </list>
+    <list name="TagWordWord">
+      <item> \image </item>
+
+      <item> @image </item>
+    </list>
+    <list name="TagWordString">
+      <item> \defgroup </item>
+      <item> \page </item>
+      <item> \paragraph </item>
+      <item> \section </item>
+      <item> \struct </item>
+      <item> \subsection </item>
+      <item> \subsubsection </item>
+      <item> \union </item>
+      <item> \weakgroup </item>
+
+      <item> @defgroup </item>
+      <item> @page </item>
+      <item> @paragraph </item>
+      <item> @section </item>
+      <item> @struct </item>
+      <item> @subsection </item>
+      <item> @subsubsection </item>
+      <item> @union </item>
+      <item> @weakgroup </item>
+    </list>
+    <list name="TagString">
+      <item> \addindex </item>
+      <item> \brief </item>
+      <item> \bug </item>
+      <item> \date </item>
+      <item> \deprecated </item>
+      <item> \fn </item>
+      <item> \ingroup </item>
+      <item> \line </item>
+      <item> \mainpage </item>
+      <item> \name </item>
+      <item> \overload </item>
+      <item> \par </item>
+      <item> \short </item>
+      <item> \skip </item>
+      <item> \skipline </item>
+      <item> \typedef </item>
+      <item> \until </item>
+      <item> \var </item>
+
+      <item> @addindex </item>
+      <item> @brief </item>
+      <item> @bug </item>
+      <item> @date </item>
+      <item> @deprecated </item>
+      <item> @fn </item>
+      <item> @ingroup </item>
+      <item> @line </item>
+      <item> @mainpage </item>
+      <item> @name </item>
+      <item> @overload </item>
+      <item> @par </item>
+      <item> @short </item>
+      <item> @skip </item>
+      <item> @skipline </item>
+      <item> @typedef </item>
+      <item> @until </item>
+      <item> @var </item>
+    </list>
+    <contexts>
+    <!-- different formats:
+      @tag                     : TagOnly
+      @tag rest_of_line        : TagString
+      @tag <word>              : TagWord
+      @tag <word> <word>       : TagWordWord
+      @tag <word> rest_of_line : TagWordString
+    -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <RegExpr      attribute="Comment" context="BlockComment" beginRegion="BlockComment"  String="--\[(=*)\[" dynamic="true" />
+        <StringDetect attribute="Comment" context="LineComment" String="--"/>
+      </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" />
+        <DetectIdentifier />
+        <StringDetect attribute="HTML Comment" context="SL_htmlcomment" String="&lt;!--" />
+        <Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
+        <RegExpr attribute="HTML Tag" context="SL_htmltag" String="&lt;\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*" />
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="BlockComment" dynamic="true" >
+        <DetectSpaces />
+        <RegExpr      attribute="Comment" context="#pop" endRegion="BlockComment" String="\]%1\]" dynamic="true" />
+        <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" />
+        <DetectIdentifier />
+        <RegExpr attribute="Tags" context="#stay" String="\\(&lt;|&gt;)" />
+        <Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
+        <RegExpr attribute="HTML Tag" context="ML_htmltag" String="&lt;\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*" />
+        <StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="&lt;!--" />
+      </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! (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"/>
+        <IncludeRules context="SL_TagWord" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="ML_TagParam">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+        <DetectSpaces />
+        <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_TagWordWord">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+        <DetectSpaces />
+        <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"/>
+        <StringDetect attribute="HTML Comment" context="ML_htmlcomment" String="&lt;!--" />
+        <Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
+        <RegExpr attribute="HTML Tag" context="ML_htmltag" String="&lt;\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*" />
+        <RegExpr attribute="Description" context="#stay" String="." />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="ML_TagWordString">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+        <IncludeRules context="SL_TagWordString" />
+      </context>
+
+      <!-- html contexts -->
+      <context name="ML_htmltag" attribute="Identifier" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+        <Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1="&gt;" />
+        <DetectChar attribute="HTML Tag" context="#pop" char="&gt;"/>
+        <RegExpr attribute="Identifier" context="ML_identifiers" String="\s*=\s*"/>
+      </context>
+      <context name="ML_htmlcomment" attribute="HTML Comment" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+        <IncludeRules context="##Alerts" />
+        <StringDetect attribute="HTML Comment" context="#pop" String="--&gt;" />
+      </context>
+      <context name="ML_identifiers" attribute="Identifier" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+        <RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
+        <DetectChar attribute="Types" context="ML_types1" char="'" />
+        <DetectChar attribute="Types" context="ML_types2" char="&quot;" />
+      </context>
+      <context name="ML_types1" attribute="Types" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+        <DetectChar attribute="Types" context="#pop#pop" char="'" />
+      </context>
+      <context name="ML_types2" attribute="Types" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" lookAhead="true"/>
+        <DetectChar attribute="Types" context="#pop#pop" char="&quot;" />
+      </context>
+
+<!-- NOTE: all contexts beginning with SL_ are for singleline comments -->
+      <!-- tag contexts -->
+      <context attribute="Comment" lineEndContext="#pop" name="SL_TagWord">
+        <DetectSpaces />
+        <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="SL_Tag2ndWord" String="\S(?=&wordsep;)" />
+        <RegExpr attribute="Word" context="#stay" String="\S" />
+      </context>
+      <!-- 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#pop" String="\S(?=&wordsep;)" />
+        <RegExpr attribute="Word" context="#stay" String="\S" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="SL_TagString">
+        <DetectSpaces />
+        <StringDetect attribute="HTML Comment" context="SL_htmlcomment" String="&lt;!--" />
+        <Detect2Chars attribute="Comment" context="#stay" char="&lt;" char1="&lt;" />
+        <RegExpr attribute="HTML Tag" context="SL_htmltag" String="&lt;\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*" />
+        <RegExpr attribute="Description" context="#stay" String="." />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="SL_TagWordString">
+        <DetectSpaces />
+        <RegExpr attribute="Word" context="#pop" String="\S(?=&wordsep;)" />
+        <RegExpr attribute="Word" context="#stay" String="\S" />
+      </context>
+
+      <!-- html contexts -->
+      <context name="SL_htmltag" attribute="Identifier" lineEndContext="#pop">
+        <Detect2Chars attribute="HTML Tag" context="#pop" char="/" char1="&gt;" />
+        <DetectChar attribute="HTML Tag" context="#pop" char="&gt;"/>
+        <RegExpr attribute="Identifier" context="SL_identifiers" String="\s*=\s*"/>
+      </context>
+      <context name="SL_htmlcomment" attribute="HTML Comment" lineEndContext="#pop">
+        <IncludeRules context="##Alerts" />
+        <StringDetect attribute="HTML Comment" context="#pop" String="--&gt;" />
+      </context>
+      <context name="SL_identifiers" attribute="Identifier" lineEndContext="#pop">
+        <RegExpr attribute="String" context="#pop" String="\s*#?[a-zA-Z0-9]*" />
+        <DetectChar attribute="Types" context="SL_types1" char="'" />
+        <DetectChar attribute="Types" context="SL_types2" char="&quot;" />
+      </context>
+      <context name="SL_types1" attribute="Types" lineEndContext="#pop">
+        <DetectChar attribute="Types" context="#pop#pop" char="'" />
+      </context>
+      <context name="SL_types2" attribute="Types" lineEndContext="#pop">
+        <DetectChar attribute="Types" context="#pop#pop" char="&quot;" />
+      </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="Tags"        defStyleNum="dsAnnotation" bold="1" italic="0" />
+      <itemData name="Word"        defStyleNum="dsCommentVar" bold="1" italic="0" />
+      <itemData name="HTML Tag"    defStyleNum="dsKeyword"/>
+      <itemData name="Description" defStyleNum="dsString" />
+      <itemData name="Comment"     defStyleNum="dsDocumentation"/>
+      <itemData name="Region"      defStyleNum="dsRegionMarker" />
+      <itemData name="Identifier"  defStyleNum="dsOthers" />
+      <itemData name="HTML Comment" defStyleNum="dsComment" />
+      <itemData name="Types"       defStyleNum="dsDataType" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="--" />
+      <comment name="multiLine" start="--[[" end="]]" />
+    </comments>
+    <keywords casesensitive="0" weakDeliminator="\$~" />
+  </general>
+</language>
diff --git a/xml/dtd.xml b/xml/dtd.xml
new file mode 100644
--- /dev/null
+++ b/xml/dtd.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"[
+  <!ENTITY nmtoken "[\-\w\d\.:_]+">
+  <!ENTITY entref  "(#[0-9]+|#[xX][0-9A-Fa-f]+|&nmtoken;);">
+]>
+<language name="DTD" version="2" kateversion="3.4" section="Markup" extensions="*.dtd" mimetype="application/xml-dtd" author="Andriy Lesyuk (s-andy@in.if.ua)" license="LGPL">
+  <highlighting>
+
+    <list name="Category">
+      <item>EMPTY</item>
+      <item>ANY</item>
+      <item>CDATA</item>
+      <item>ID</item>
+      <item>IDREF</item>
+      <item>IDREFS</item>
+      <item>NMTOKEN</item>
+      <item>NMTOKENS</item>
+      <item>ENTITY</item>
+      <item>ENTITIES</item>
+      <item>NOTATION</item>
+      <item>PUBLIC</item>
+      <item>SYSTEM</item>
+      <item>NDATA</item>
+    </list>
+
+    <list name="Keywords">
+      <item>#PCDATA</item>
+      <item>#REQUIRED</item>
+      <item>#IMPLIED</item>
+      <item>#FIXED</item>
+    </list>
+
+    <contexts>
+      <context name="Normal" attribute="Normal" lineEndContext="#stay">
+        <DetectSpaces />
+        <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+        <StringDetect attribute="Processing Instruction" context="PI" String="&lt;?xml" beginRegion="pi" />
+        <StringDetect attribute="Declaration" context="Declaration" String="&lt;!ELEMENT" beginRegion="declaration" />
+        <StringDetect attribute="Declaration" context="Declaration" String="&lt;!ATTLIST" beginRegion="declaration" />
+        <StringDetect attribute="Declaration" context="Declaration" String="&lt;!NOTATION" beginRegion="declaration" />
+        <StringDetect attribute="Declaration" context="Declaration" String="&lt;!ENTITY" beginRegion="declaration" />
+        <DetectIdentifier />
+      </context>
+
+      <context name="Comment" attribute="Comment" lineEndContext="#stay">
+        <DetectSpaces />
+        <StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment" />
+        <IncludeRules context="##Alerts" />
+        <DetectIdentifier />
+      </context>
+
+      <context name="PI" attribute="Other" lineEndContext="#stay">
+        <Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1="&gt;" endRegion="pi" />
+      </context>
+
+      <context name="Declaration" attribute="Other" lineEndContext="#stay">
+        <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+        <Detect2Chars attribute="Comment" context="InlineComment" char="-" char1="-" />
+        <DetectChar attribute="Declaration" context="#pop" char="&gt;" endRegion="declaration" />
+        <DetectChar attribute="String" context="String" char="&quot;" />
+        <RegExpr attribute="Declaration" context="#stay" String="(-|O)\s(-|O)" />
+        <AnyChar attribute="Delimiter" context="#stay" String="(|)," />
+        <RegExpr attribute="Entity" context="#stay" String="(%|&amp;)&entref;" />
+        <AnyChar attribute="Symbol" context="#stay" String="?*+-&amp;" />
+        <RegExpr attribute="Local" context="#stay" String="%\s" />
+        <keyword attribute="Keyword" context="#stay" String="Category" />
+        <keyword attribute="Keyword" context="#stay" String="Keywords" />
+        <RegExpr attribute="Name" context="#stay" String="\b&nmtoken;\b" />
+      </context>
+
+      <context name="String" attribute="String" lineEndContext="#stay">
+        <DetectSpaces />
+        <DetectChar attribute="String" context="#pop" char="&quot;" />
+        <RegExpr attribute="Entity" context="#stay" String="%&nmtoken;;" />
+      </context>
+
+      <context name="InlineComment" attribute="Comment" lineEndContext="#pop">
+        <DetectSpaces />
+        <Detect2Chars attribute="Comment" context="#pop" char="-" char1="-" />
+        <IncludeRules context="##Alerts" />
+        <DetectIdentifier />
+      </context>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal" defStyleNum="dsNormal" />
+      <itemData name="Other" defStyleNum="dsNormal" />
+      <itemData name="Comment" defStyleNum="dsComment" />
+      <itemData name="Processing Instruction" defStyleNum="dsKeyword" spellChecking="false" />
+      <itemData name="Declaration" defStyleNum="dsDataType" bold="1" spellChecking="false" />
+      <itemData name="Name" defStyleNum="dsFunction" spellChecking="false" />
+      <itemData name="Delimiter" defStyleNum="dsDecVal" spellChecking="false" />
+      <itemData name="Symbol" defStyleNum="dsFloat" bold="1" spellChecking="false" />
+      <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
+      <itemData name="String" defStyleNum="dsString" spellChecking="false" />
+      <itemData name="Entity" defStyleNum="dsDecVal" spellChecking="false" />
+      <itemData name="Local" defStyleNum="dsDecVal" bold="1" spellChecking="false" />
+    </itemDatas>
+  </highlighting>
+
+  <general>
+    <comments>
+      <comment name="multiLine" start="&lt;!--" end="--&gt;" />
+    </comments>
+  </general>
+
+</language>
+<!-- kate: indent-width 2; indent-mode normal; tab-indents on; -->
+
diff --git a/xml/eiffel.xml b/xml/eiffel.xml
new file mode 100644
--- /dev/null
+++ b/xml/eiffel.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+Eiffel syntax highlighting for Kate and Kwrite editors
+
+Change log:
+2003-12-16 	Revised existing version by adding several missing keywords. Added predefined
+				entities as a separate word list. Moved from numeric to named contexts.
+				Changed version to 1.02.
+
+Author of version 1.02: Sebastian Vuorinen
+-->
+<language name="Eiffel" version="2" kateversion="5.0" section="Sources" extensions="*.e" mimetype="text/x-eiffel-src" author="Sebastian Vuorinen" license="">
+	<highlighting>
+		<list name="keywords">
+			<item> agent </item>
+			<item> alias </item>
+			<item> all </item>
+			<item> and </item>
+			<item> as </item>
+			<item> assign </item>
+			<item> class </item>
+			<item> convert </item>
+			<item> create </item>
+			<item> creation </item>
+			<item> debug </item>
+			<item> deferred </item>
+			<item> do </item>
+			<item> else </item>
+			<item> elseif </item>
+			<item> end </item>
+			<item> expanded </item>
+			<item> export </item>
+			<item> external </item>
+			<item> feature </item>
+			<item> from </item>
+			<item> frozen </item>
+			<item> if </item>
+			<item> implies </item>
+			<item> indexing </item>
+			<item> infix </item>
+			<item> inherit </item>
+			<item> inspect </item>
+			<item> is </item>
+			<item> like </item>
+			<item> local </item>
+			<item> loop </item>
+			<item> not </item>
+			<item> obsolete </item>
+			<item> old </item>
+			<item> once </item>
+			<item> or </item>
+			<item> prefix </item>
+			<item> pure </item>
+			<item> redefine </item>
+			<item> reference </item>
+			<item> rename </item>
+			<item> rescue </item>
+			<item> retry </item>
+			<item> separate </item>
+			<item> then </item>
+			<item> undefine </item>
+		</list>
+
+		<list name="predefined-entities">
+			<item> Current </item>
+			<item> False </item>
+			<item> Precursor </item>
+			<item> Result </item>
+			<item> True </item>
+			<item> TUPLE </item>
+		</list>
+
+		<list name="assertions">
+			<item> check </item>
+			<item> ensure </item>
+			<item> require </item>
+			<item> variant </item>
+			<item> invariant </item>
+		</list>
+
+		<contexts>
+			<context name = "Normal" attribute = "Normal Text" lineEndContext="#stay">
+				<keyword attribute = "Keyword" String = "keywords" context="#stay" />
+				<keyword attribute = "Predefined entities" String = "predefined-entities" context="#stay" />
+				<keyword attribute = "Assertions" String = "assertions" context="#stay" />
+
+				<Int attribute = "Decimal" context="#stay" />
+				<Float attribute = "Float" context="#stay" />
+				<HlCChar attribute = "Char" context="#stay" />
+				<DetectChar attribute = "String" char = "&quot;" context="Quoted String" />
+
+				<Detect2Chars attribute = "Comment" char = "-" char1 = "-" context="Documentation" />
+			</context>
+
+			<context name = "Quoted String" attribute = "String" lineEndContext="#pop">
+				<DetectChar attribute = "String" char = "&quot;" context="#pop" />
+			</context>
+
+			<context name = "Documentation" attribute="Comment" lineEndContext="#pop" />
+		</contexts>
+
+		<itemDatas>
+			<itemData name="Normal Text" defStyleNum="dsNormal" />
+
+			<itemData name="Keyword"     defStyleNum="dsKeyword" />
+			<itemData name="Predefined entities" defStyleNum="dsConstant" />
+			<itemData name="Assertions"  defStyleNum="dsOthers" />
+
+			<itemData name="Decimal"     defStyleNum="dsDecVal" />
+			<itemData name="Float"       defStyleNum="dsFloat" />
+			<itemData name="Char"        defStyleNum="dsChar" />
+			<itemData name="String"      defStyleNum="dsString" />
+
+			<itemData name="Comment"     defStyleNum="dsComment" />
+		</itemDatas>
+	</highlighting>
+
+	<general>
+		<comments>
+			<comment name="singleLine" start="--" />
+		</comments>
+		<keywords casesensitive="1" />
+	</general>
+</language>
diff --git a/xml/elixir.xml b/xml/elixir.xml
new file mode 100644
--- /dev/null
+++ b/xml/elixir.xml
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language
+  SYSTEM 'language.dtd'>
+<!--
+  Elixir syntax highlighting definition for Kate.
+
+  Copyright (C) 2014  by Rubén Caro (ruben.caro.estevez@gmail.com)
+  Copyright (C) 2016  by Boris Egorov (egorov@linux.com)
+
+  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.
+-->
+<!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->
+<language author="Rubén Caro (ruben.caro.estevez@gmail.com), Boris Egorov (egorov@linux.com)"
+          extensions="*.ex;*.exs;*.eex;*.xml.eex;*.js.eex"
+          indenter="elixir"
+          kateversion="5.0"
+          license="LGPLv2+"
+          mimetype="text/x-elixir"
+          name="Elixir"
+          section="Sources"
+          style="elixir"
+          version="2">
+  <highlighting>
+    <list name="control-flow">
+      <item>catch</item>
+      <item>cond</item>
+      <item>else</item>
+      <item>if</item>
+      <item>raise</item>
+      <item>rescue</item>
+      <item>throw</item>
+      <item>try</item>
+      <item>unless</item>
+    </list>
+    <list name="keywords">
+      <item>do</item>
+      <item>end</item>
+      <item>case</item>
+      <item>bc</item>
+      <item>lc</item>
+      <item>for</item>
+      <item>receive</item>
+      <item>exit</item>
+      <item>after</item>
+      <item>quote</item>
+      <item>unquote</item>
+      <item>super</item>
+      <item>and</item>
+      <item>not</item>
+      <item>or</item>
+      <item>when</item>
+      <item>xor</item>
+      <item>in</item>
+      <item>inlist</item>
+      <item>inbits</item>
+    </list>
+    <list name="pseudo-variables">
+      <item>nil</item>
+      <item>true</item>
+      <item>false</item>
+    </list>
+    <list name="definitions">
+      <item>fn</item>
+      <item>defmodule</item>
+      <item>def</item>
+      <item>defp</item>
+      <item>defprotocol</item>
+      <item>defimpl</item>
+      <item>defrecord</item>
+      <item>defstruct</item>
+      <item>defmacro</item>
+      <item>defmacrop</item>
+      <item>defdelegate</item>
+      <item>defcallback</item>
+      <item>defmacrocallback</item>
+      <item>defexception</item>
+      <item>defoverridable</item>
+    </list>
+    <list name="mixin-macros">
+      <item>import</item>
+      <item>require</item>
+      <item>alias</item>
+      <item>use</item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <!-- "shebang" line -->
+        <RegExpr String="#!\/.*" attribute="Keyword" column="0" context="#stay"/>
+
+        <!-- Defined words -->
+        <keyword String="keywords" attribute="Keyword" context="#stay"/>
+        <keyword String="control-flow" attribute="Control Flow" context="#stay"/>
+        <keyword String="definitions" attribute="Definition" context="#stay"/>
+        <keyword String="pseudo-variables" attribute="Pseudo variable" context="#stay"/>
+        <keyword String="mixin-macros" attribute="Mixin macros" context="#stay"/>
+
+        <!-- special-character globals -->
+        <RegExpr String="\b[_A-Z]+[A-Z_0-9]+\b" attribute="Global Constant" context="#stay"/>
+
+        <!-- Generally a module or class name like "File", "MyModule_1", .. -->
+        <RegExpr String="\b[A-Z]+_*([0-9]|[a-z])[_a-zA-Z0-9]*\b" attribute="Constant" context="#stay"/>
+
+        <!-- Numeric values. Note that we have to allow underscores between two digits (thus the creepy regular expressions). -->
+        <RegExpr String="\b\-?0[xX]([0-9a-fA-F]|_[0-9a-fA-F])+" attribute="Hex" context="#stay"/>
+        <RegExpr String="\b\-?0[bB]([01]|_[01])+" attribute="Bin" context="#stay"/>
+        <RegExpr String="\b\-?0[1-7]([0-7]|_[0-7])*" attribute="Octal" context="#stay"/>
+        <RegExpr String="\b\-?[0-9]([0-9]|_[0-9])*\.[0-9]([0-9]|_[0-9])*([eE]\-?[1-9]([0-9]|_[0-9])*(\.[0-9]*)?)?" attribute="Float" context="#stay"/>
+        <RegExpr String="\b\-?[1-9]([0-9]|_[0-9])*\b" attribute="Dec" context="#stay"/>
+        <Int attribute="Dec" context="#stay"/>
+        <HlCChar attribute="Char" context="#stay"/>
+        <DetectChar attribute="Operator" char="." context="#stay"/>
+        <Detect2Chars attribute="Operator" char="&amp;" char1="&amp;" context="#stay"/>
+        <Detect2Chars attribute="Operator" char="|" char1="|" context="#stay"/>
+        <RegExpr String="\s[\?\:\%]\s" attribute="Operator" context="#stay"/>
+        <RegExpr String="[|&amp;&lt;&gt;\^\+*~\-=/]+" attribute="Operator" context="#stay"/>
+        <!-- regexp hack -->
+        <RegExpr String="\s!" attribute="Operator" context="#stay"/>
+        <RegExpr String="/=\s" attribute="Operator" context="#stay" insensitive="0"/>
+        <StringDetect String="%=" attribute="Operator" context="#stay" insensitive="0"/>
+        <RegExpr String=":(@{1,2}|\$)?[a-zA-Z_][a-zA-Z0-9_]*[=?!]?" attribute="Symbol" context="#stay"/>
+        <RegExpr String="\b(@{1,2}|\$)?[a-zA-Z_][a-zA-Z0-9_]*[=?!]?:" attribute="Symbol" context="#stay"/>
+        <RegExpr String=":\[\]=?" attribute="Symbol" context="#stay"/>
+        <RegExpr String="@(module)?doc\s+&quot;&quot;&quot;" attribute="Attribute" context="Documentation"/>
+        <StringDetect String="&quot;&quot;&quot;" attribute="String" context="Triple Quoted String"/>
+        <DetectChar attribute="String" char="&quot;" context="Quoted String"/>
+        <DetectChar attribute="Raw String" char="'" context="Apostrophed String"/>
+        <StringDetect String="?#" attribute="Normal Text" context="#stay"/>
+        <DetectChar attribute="Comment" char="#" context="General Comment"/>
+        <DetectChar attribute="Delimiter" char="[" context="#stay"/>
+        <DetectChar attribute="Delimiter" char="]" context="#stay"/>
+        <RegExpr String="@[a-zA-Z_0-9]+" attribute="Attribute" context="#stay"/>
+        <!-- handle the different regular expression formats -->
+        <DetectChar attribute="Normal Text" char=")" context="#stay"/>
+        <DetectIdentifier attribute="Normal Text" context="#stay"/>
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Find closing block brace">
+        <DetectChar attribute="Operator" char="}" context="#pop" endRegion="def bracketed block"/>
+        <IncludeRules context="Normal"/>
+      </context>
+      <context attribute="DocComment" lineEndContext="#stay" name="Documentation">
+        <StringDetect String="&quot;&quot;&quot;" attribute="Attribute" context="#pop"/>
+        <RegExpr attribute="MarkdownHead" String="^\s*#+\s.*[#]?$"/>
+        <RegExpr attribute="MarkdownBullet" String="^\s*[\*\+\-]\s"/>
+        <RegExpr attribute="MarkdownNumlist" String="^\s*[\d]+\.\s"/>
+        <RegExpr attribute="MarkdownCode" context="Markdown Code" String="^\s*\`\`\`\s*$"/>
+        <DetectSpaces />
+        <IncludeRules context="Normal Text##Markdown"/>
+      </context>
+      <context attribute="String" lineEndContext="#stay" name="Triple Quoted String">
+        <StringDetect String="&quot;&quot;&quot;" attribute="String" context="#pop"/>
+      </context>
+      <context attribute="String" lineEndContext="#stay" name="Quoted String">
+        <StringDetect String="\\" attribute="String" context="#stay"/>
+        <RegExpr String="\\\&quot;" attribute="String" context="#stay"/>
+        <RegExpr String="#@{1,2}" attribute="Substitution" context="Short Subst"/>
+        <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+        <DetectChar attribute="String" char="&quot;" context="#pop"/>
+      </context>
+      <context attribute="Raw String" lineEndContext="#stay" name="Apostrophed String">
+        <StringDetect String="\\" attribute="String" context="#stay"/>
+        <RegExpr String="\\\'" attribute="String" context="#stay"/>
+        <DetectChar attribute="Raw String" char="'" context="#pop"/>
+      </context>
+      <!-- Substitutions can be nested -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="Subst">
+        <DetectChar attribute="Substitution" char="}" context="#pop"/>
+        <!-- Highlight substitution as code. -->
+        <IncludeRules context="Normal"/>
+      </context>
+      <context attribute="Substitution" lineEndContext="#pop" name="Short Subst">
+        <!-- Check for e.g.: "#@var#@@xy" -->
+        <RegExpr String="#@{1,2}" attribute="Substitution" context="#stay"/>
+        <RegExpr String="\w(?!\w)" attribute="Substitution" context="#pop"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Comment Line">
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="General Comment">
+      </context>
+      <!-- rules to be included in all regexpr contexts -->
+      <context attribute="Regular Expression" lineEndContext="#stay" name="regexpr_rules">
+        <Detect2Chars attribute="Regular Expression" char="\" char1="\" context="#stay"/>
+        <RegExpr String="#@{1,2}" attribute="Substitution" context="Short Subst"/>
+        <Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+      </context>
+      <context attribute="MarkdownCode" lineEndContext="#stay" name="Markdown Code">
+        <RegExpr String="^\s*\`\`\`\s*$" attribute="MarkdownCode" context="#pop"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Global Constant" defStyleNum="dsConstant"/>
+      <itemData name="Constant" defStyleNum="dsConstant"/>
+      <itemData defStyleNum="dsNormal" name="Normal Text"/>
+      <itemData defStyleNum="dsKeyword" name="Keyword"/>
+      <itemData defStyleNum="dsControlFlow" name="Control Flow"/>
+      <itemData defStyleNum="dsKeyword" name="Definition"/>
+      <itemData defStyleNum="dsImport" name="Mixin macros"/>
+      <itemData defStyleNum="dsConstant" name="Pseudo variable"/>
+      <itemData defStyleNum="dsDecVal" name="Dec"/>
+      <itemData defStyleNum="dsFloat" name="Float"/>
+      <itemData defStyleNum="dsChar" name="Char"/>
+      <itemData defStyleNum="dsBaseN" name="Octal"/>
+      <itemData defStyleNum="dsBaseN" name="Hex"/>
+      <itemData defStyleNum="dsBaseN" name="Bin"/>
+      <itemData defStyleNum="dsVariable" name="Symbol"/>
+      <itemData defStyleNum="dsString" name="String"/>
+      <itemData defStyleNum="dsVerbatimString" name="Raw String"/>
+      <itemData defStyleNum="dsSpecialString" name="Regular Expression"/>
+      <itemData defStyleNum="dsOthers" name="Substitution"/>
+      <itemData defStyleNum="dsNormal" name="Data"/>
+      <itemData defStyleNum="dsOthers" name="Attribute"/>
+      <itemData defStyleNum="dsComment" name="Comment"/>
+      <itemData defStyleNum="dsComment" name="DocComment"/>
+      <!-- use these to mark errors and alerts things -->
+      <itemData defStyleNum="dsError" name="Error"/>
+      <itemData color="#FF9FEC" defStyleNum="dsNormal" name="Delimiter"/>
+      <itemData defStyleNum="dsOperator" name="Operator"/>
+      <itemData name="MarkdownHead" defStyleNum="dsFunction" bold="true"/>
+      <itemData name="MarkdownBullet" defStyleNum="dsFunction"/>
+      <itemData name="MarkdownNumlist" defStyleNum="dsFunction"/>
+      <itemData name="MarkdownCode" defStyleNum="dsFunction"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="#"/>
+    </comments>
+    <keywords casesensitive="1" weakDeliminator="!?"/>
+  </general>
+</language>
diff --git a/xml/email.xml b/xml/email.xml
new file mode 100644
--- /dev/null
+++ b/xml/email.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  Copyright (C) 2005 Carl A Joslin <carl.joslin@joslin.dyndns.org>
+-->
+<language name="Email" version="2" kateversion="2.3" extensions="*.eml" section="Other" mimetype="message/rfc822" casesensitive="0" author="Carl A Joslin (carl.joslin@joslin.dyndns.org)" license="GPL">
+  <highlighting>
+    <contexts>      
+      <context name="headder" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="rfc-main" context="#stay" String="^[Tt]o:.*$"/>
+        <RegExpr attribute="rfc-main" context="#stay" String="^[Ff]rom:.*$"/>
+        <RegExpr attribute="rfc-main" context="#stay" String="^[Cc][Cc]:.*$"/>
+        <RegExpr attribute="rfc-main" context="#stay" String="^[Bb][Cc][Cc]:.*$"/>
+        <RegExpr attribute="rfc-main" context="#stay" String="^[Ss]ubject:.*$"/>
+        <RegExpr attribute="rfc-main" context="#stay" String="^[Dd]ate:.*$"/>
+        
+        <RegExpr attribute="rfc" context="#stay" String="^[Ss]ender:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]eply-[Tt]o:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Mm]essage-[Ii][Dd]:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Ii]n-[Rr]eply-[Tt]o:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]eferences:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Cc]omments:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Kk]eywors:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]esent-[Dd]ate:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]esent-[Ff]rom:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]esent-[Ss]ender:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]esent-[Tt]o:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]esent-[Cc][Cc]:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]esent-[Bb][Cc][Cc]:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]esent-[Mm]essage-[Ii][Dd]:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]esent-[Rr]eply-[Tt]o:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]eturn-[Pp]ath:"/>
+        <RegExpr attribute="rfc" context="#stay" String="^[Rr]eceived:"/>
+        
+        <RegExpr attribute="common" context="#stay" String="^[Xx]-[Mm]ozilla-[Ss]tatus:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Xx]-[Mm]ozilla-[Ss]tatus2:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Ee]nverlope-[Tt]o:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Dd]elivery-[Dd]ate:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Xx]-[Oo]riginating-[Ii][Pp]:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Xx]-[Oo]riginating-[Ee]mail:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Xx]-[Ss]ender:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Mm]ime-[Vv]ersion:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Cc]ontent-[Tt]ype:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Xx]-[Mm]ailing-[Ll]ist:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Xx]-[Ll]oop:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Ll]ist-[Pp]ost:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Ll]ist-[Hh]elp:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Ll]ist-[Uu]nsubscribe:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Pp]recedence:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Cc]ontent-[Tt]ransfer-[Ee]ncoding:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Cc]ontent-[Tt]ype:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Xx]-[Bb]ulkmail:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Pp]recedence:"/>
+        <RegExpr attribute="common" context="#stay" String="^[Cc]ontent-[Dd]isposition:"/>
+        
+        <RegExpr attribute="other" context="#stay" String="^[0-9a-zA-Z-.]+:"/>
+        
+        <RegExpr attribute="email" context="#stay" String='[a-zA-Z0-9.\-]+\@[a-zA-Z0-9.\-]+'/>
+        <RegExpr attribute="email" context="#stay" String='[a-zA-Z0-9.\-]*\s*&lt;[a-zA-Z0-9.\-]+\@[a-zA-Z0-9.\-]+&gt;'/>
+        <RegExpr attribute="email" context="#stay" String='"[a-zA-Z0-9. \-]+"\s*&lt;[a-zA-Z0-9.\-]+\@[a-zA-Z0-9.\-]+&gt;'/>
+        
+        <RegExpr attribute="string" context="#stay" String='".*"'/>
+        <RegExpr attribute="string" context="#stay" String="'.*'"/>
+        
+        <!--<RegExpr attribute="sign" context="sign" String="^[|&gt;]*[\s_-]*[_-][_-][\s_-]*$"/>-->
+        
+        <RegExpr attribute="indent6" context="#stay" String="^[|>]\s*[|>]\s*[|>]\s*[|>]\s*[|>]\s*[|>].*"/>
+        <RegExpr attribute="indent5" context="#stay" String="^[|>]\s*[|>]\s*[|>]\s*[|>]\s*[|>].*"/>
+        <RegExpr attribute="indent4" context="#stay" String="^[|>]\s*[|>]\s*[|>]\s*[|>].*"/>
+        <RegExpr attribute="indent3" context="#stay" String="^[|>]\s*[|>]\s*[|>].*"/>
+        <RegExpr attribute="indent2" context="#stay" String="^[|>]\s*[|>].*"/>
+        <RegExpr attribute="indent1" context="#stay" String="^[|>].*"/>
+        
+        <RegExpr attribute="base64" context="#stay" String="^([A-Za-z0-9+/][A-Za-z0-9+/][A-Za-z0-9+/][A-Za-z0-9+/]){10,20}$"/>
+        <RegExpr attribute="base64" context="#stay" String="^[A-Za-z0-9+=/]+=$"/>
+        
+        <RegExpr attribute="marker" context="#stay" String="^(- )?--(--.*)?"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="rfc" color="darkgreen" defStyleNum="dsNormal"/>
+      <itemData name="rfc-main" bold="1" color="darkgreen" defStyleNum="dsAlert"/>
+      <itemData name="common" color="gold" defStyleNum="dsComment"/>
+      <itemData name="other" color="red" defStyleNum="dsNormal"/>
+      <itemData name="email" color="blue" defStyleNum="dsNormal"/>
+      <itemData name="string" defStyleNum="dsString"/>
+      
+      <itemData name="base64" defStyleNum="dsRegionMarker"/>
+      <itemData name="marker" defStyleNum="dsAlert"/>
+      
+      <itemData name="indent1" bold="1" color="red" defStyleNum="dsNormal"/>
+      <itemData name="indent2" bold="1" color="green" defStyleNum="dsNormal"/>
+      <itemData name="indent3" bold="1" color="blue" defStyleNum="dsNormal"/>
+      <itemData name="indent4" bold="1" color="cyan" defStyleNum="dsNormal"/>
+      <itemData name="indent5" bold="1" color="magenta" defStyleNum="dsNormal"/>
+      <itemData name="indent6" bold="1" color="yellow" defStyleNum="dsNormal"/>
+      
+      
+      <itemData name="sign" defStyleNum="dsComment"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="0" />
+  </general>
+</language>
diff --git a/xml/erlang.xml b/xml/erlang.xml
new file mode 100644
--- /dev/null
+++ b/xml/erlang.xml
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+          <!ENTITY atomstr    "\b[a-z][_a-z@-Z0-9]*(?:(?=[^_a-z@-Z0-9])|$)" >
+          <!ENTITY varstr    "\b[_A-Z][_a-z@-Z0-9]*(?:(?=[^_a-z@-Z0-9])|$)" >
+          <!-- pragmas defined here, because "keyword" can't handle the leading '-' -->
+          <!ENTITY pragmas 
+             "^(?:-module|-export|-define|-undef|-ifdef|-ifndef|-else|-endif|-include|-include_lib)" >
+          <!--  same with separators: (from s3.9 p 24 of erlang spec) -->
+          <!ENTITY separators "(?:\(|\)|\{|\}|\[|\]|\.|\:|\||\|\||;|\,|\?|-&gt;|\#)" >
+          <!--  and operators - although words are dealt with separately -->
+          <!ENTITY opsymbols 
+                   "(?:\+|-|\*|\/|==|\/=|=:=|=\/=|&lt;|=&lt;|&gt;|&gt;=|\+\+|--|=|!|&lt;-)" >
+]
+>
+<!--
+    Copyright (C) 2007 Bill Ross <bill@emailme.net.au>
+
+    
+    This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public
+   License version 2 as published by the Free Software Foundation.
+
+   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; see the file COPYING.LIB.  If not, write to
+   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.
+  
+   Changes 
+   v1-0-2 (2008-01-10) - fixed to '_" in atom and variable names (thanks to Vito De Tullio)
+                                   - fixed highlighting problem when '@' at end of atom/variable
+-->
+
+<language name="Erlang" version="3" kateversion="5.0" section="Scripts" extensions="*.erl" mimetype="" author="Bill Ross (bill@emailme.net.au)" license="LGPLv2">
+  <highlighting>
+    <list name="keywords">
+      <!-- ====== s3.8 p 24 of erlang spec ===== -->
+      <item> after </item>
+      <item> begin </item>
+      <item> case </item>
+      <item> catch </item>
+      <item> cond </item>
+      <item> end </item>
+      <item> fun </item>
+      <item> if </item>
+      <item> let </item>
+      <item> of </item>
+      <item> query </item>
+      <item> receive </item>
+      <item> all_true </item>
+      <item> some_true </item>
+    </list>
+    <list name="operators">
+      <!-- operators: s3.9 p 24 of erlang spec -->
+      <!-- see also opsymbols for the symbols -->
+      <item> div </item>
+      <item> rem </item>
+      <item> or </item>
+      <item> xor </item>
+      <item> bor </item>
+      <item> bxor </item>
+      <item> bsl </item>
+      <item> bsr </item>
+      <item> and </item>
+      <item> band </item>
+      <item> not </item>
+      <item> bnot </item>
+    </list>
+    <list name="functions">
+      <!-- all standard (erlang) functions are here, -->
+      <!-- except those defined as erlang:function (those will show as functions anyway -->
+      <item>abs</item>
+      <item>accept</item>
+      <item>alarm</item>
+      <item>apply</item>
+      <item>atom_to_list</item>
+      <item>binary_to_list</item>
+      <item>binary_to_term</item>
+      <item>check_process_code</item>
+      <item>concat_binary</item>
+      <item>date</item>
+      <item>delete_module</item>
+      <item>disconnect_node</item>
+      <item>element</item>
+      <item>erase</item>
+      <item>exit</item>
+      <item>float</item>
+      <item>float_to_list</item>
+      <item>garbage_collect</item>
+      <item>get</item>
+      <item>get_keys</item>
+      <item>group_leader</item>
+      <item>halt</item>
+      <item>hd</item>
+      <item>integer_to_list</item>
+      <item>is_alive</item>
+      <item>is_atom</item>
+      <item>is_binary</item>
+      <item>is_boolean</item>
+      <item>is_float</item>
+      <item>is_function</item>
+      <item>is_integer</item>
+      <item>is_list</item>
+      <item>is_number</item>
+      <item>is_pid</item>
+      <item>is_port</item>
+      <item>is_process_alive</item>
+      <item>is_record</item>
+      <item>is_reference</item>
+      <item>is_tuple</item>
+      <item>length</item>
+      <item>link</item>
+      <item>list_to_atom</item>
+      <item>list_to_binary</item>
+      <item>list_to_float</item>
+      <item>list_to_integer</item>
+      <item>list_to_pid</item>
+      <item>list_to_tuple</item>
+      <item>load_module</item>
+      <item>loaded</item>
+      <item>localtime</item>
+      <item>make_ref</item>
+      <item>module_loaded</item>
+      <item>node</item>
+      <item>nodes</item>
+      <item>now</item>
+      <item>open_port</item>
+      <item>pid_to_list</item>
+      <item>port_close</item>
+      <item>port_command</item>
+      <item>port_connect</item>
+      <item>port_control</item>
+      <item>ports</item>
+      <item>pre_loaded</item>
+      <item>process_flag</item>
+      <item>process_info</item>
+      <item>processes</item>
+      <item>purge_module</item>
+      <item>put</item>
+      <item>register</item>
+      <item>registered</item>
+      <item>round</item>
+      <item>self</item>
+      <item>setelement</item>
+      <item>size</item>
+      <item>spawn</item>
+      <item>spawn_link</item>
+      <item>spawn_opt</item>
+      <item>split_binary</item>
+      <item>statistics</item>
+      <item>term_to_binary</item>
+      <item>throw</item>
+      <item>time</item>
+      <item>tl</item>
+      <item>trunc</item>
+      <item>tuple_to_list</item>
+      <item>unlink</item>
+      <item>unregister</item>
+      <item>whereis</item>
+   </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text" >
+        <RegExpr attribute="Pragma" context="#stay" column="0" String="&pragmas;" />
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <keyword attribute="Operator" context="#stay" String="operators" />
+        <RegExpr attribute="Operator" context="#stay" String="&opsymbols;" />
+        <keyword attribute="Function" context="#stay" String="functions" />
+        <RegExpr attribute="Separator" context="#stay" String="&separators;" />
+        <DetectSpaces />
+        <DetectChar attribute="Comment" context="comment" char="%" />
+
+        <!-- Functions (in addition to named functions dealt with above) -->
+        <!-- simple version - got to be in form module:function -->
+        <RegExpr attribute="Function" context="#stay" String="&atomstr;:&atomstr;" />
+        <RegExpr attribute="Function" context="isfunction" String="&atomstr;\(" lookAhead="true" />
+
+        <!-- Variables - begin with upper case, or between single quotes -->
+        <RegExpr attribute="Variable" context="#stay" String="&varstr;" />
+
+        <!-- atoms - begin with lower case (letters, numbers, @), 
+             or anything between single quotes -->
+        <DetectChar attribute="Atom" context="atomquote" char="'" /> 
+        <RegExpr attribute="Atom" context="#stay" String="&atomstr;" />
+        
+        <DetectChar attribute="String" context="stringquote" char="&quot;" />
+        
+        <!-- numbers - these work -->
+        <!-- integers have three forms 7, 3#22, $A -->
+        <!-- float must have a number after the decimal point, or it doesn't count -->
+        <RegExpr attribute="Float" context="#stay" String="[0-9]+\.[0-9]+(?:[eE][+-]?[0-9]+)?" />
+        <RegExpr attribute="Number" context="#stay" String="\d+#[a-zA-Z0-9]+" />
+        <RegExpr attribute="Integer" context="#stay" String="\$\S" />
+        <RegExpr attribute="Integer" context="#stay" String="[0-9]+" />
+
+      </context>
+
+      <!-- isfunction -->
+      <!-- confirm that this is a function and capture name for formatting -->
+      <!-- lookahead for '(' already performed by the time we are here -->
+      <context name="isfunction" attribute="Function" lineEndContext="#pop"  >
+        <RegExpr attribute="Function" context="#pop" String="&atomstr;" />
+      </context>
+
+      <!-- finish off the atom in quoted string (allow for escaped single quotes -->
+      <context name="atomquote" attribute="Atom" lineEndContext="#pop">
+        <RegExpr attribute="Atom" context="#pop" String="(?:(?:\\')?[^']*)*'" />
+      </context>
+
+      <!-- finish off the atom in quoted string (allow for escaped single quotes -->
+      <context name="stringquote" attribute="String" lineEndContext="#pop">
+        <RegExpr attribute="String" context="#pop" String="(?:(?:\\&quot;)?[^&quot;]*)*&quot;" />
+      </context>
+      
+      <!-- finish off the comment (allows for alerts) -->
+      <context name="comment" attribute="Comment" lineEndContext="#pop">
+        <DetectSpaces />
+        <IncludeRules context="##Alerts" />
+        <DetectIdentifier />
+      </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"               defStyleNum="dsNormal" />
+      <itemData name="Keyword"                   defStyleNum="dsKeyword" />
+      <itemData name="Pragma"                    defStyleNum="dsKeyword" />
+      <itemData name="Function"                  defStyleNum="dsFunction" />
+      <itemData name="Separator"                 defStyleNum="dsFunction" />
+      <itemData name="Operator"                  defStyleNum="dsOperator"  />
+      <itemData name="Variable"                  defStyleNum="dsVariable" />
+      <itemData name="Integer"                   defStyleNum="dsDecVal" />
+      <itemData name="Number"                    defStyleNum="dsBaseN" />
+      <itemData name="Float"                     defStyleNum="dsFloat" />
+      <itemData name="Atom"                      defStyleNum="dsChar" />
+      <itemData name="String"                    defStyleNum="dsString" />
+      <itemData name="Comment"                   defStyleNum="dsComment" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="%" />
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/fasm.xml b/xml/fasm.xml
new file mode 100644
--- /dev/null
+++ b/xml/fasm.xml
@@ -0,0 +1,899 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+"Intel x86 (FASM)" is based on ver. 1.3 of "Intel x86 (NASM)" by Nicola Gigante and Bogdan Drozdowski
+
+Known issues:
+* Does not include all 64-bit registers and instructions
+* "near" and "far" as in "jmp near MyLabel" is unhandeled.
+* Confuses and,or,not,xor,shl instructions,with operators with same name, e.g. "2 shl 4"
+* May confuse ah,bh,ch,dh with hexadecimal numbers.
+
+Notes:
+* "used" and "defined" are treated opperators and are not highlighted.
+-->
+
+<language name="Intel x86 (FASM)" section="Assembler" version="1" kateversion="5.0" extensions="*.asm;*.inc;*.fasm" mimetype="" author="rCX (rCX12@yahoo.com)" license="GPL">
+  <highlighting>
+    <list name="registers">
+      <!-- General purpose registers -->
+      <item>rax</item>
+      <item>eax</item>
+      <item>ax</item>
+      <item>ah</item>
+      <item>al</item>
+      <item>rbx</item>
+      <item>ebx</item>
+      <item>bx</item>
+      <item>bh</item>
+      <item>bl</item>
+      <item>rcx</item>
+      <item>ecx</item>
+      <item>cx</item>
+      <item>ch</item>
+      <item>cl</item>
+      <item>rdx</item>
+      <item>edx</item>
+      <item>dx</item>
+      <item>dh</item>
+      <item>dl</item>
+      <item>rbp</item>
+      <item>ebp</item>
+      <item>bp</item>
+      <item>rsi</item>
+      <item>esi</item>
+      <item>si</item>
+      <item>rdi</item>
+      <item>edi</item>
+      <item>di</item>
+      <item>rsp</item>
+      <item>esp</item>
+      <item>sp</item>
+      <item>r8</item>
+      <item>r9</item>
+      <item>r10</item>
+      <item>r11</item>
+      <item>r12</item>
+      <item>r13</item>
+      <item>r14</item>
+      <item>r15</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>
+      <item>aas</item>
+      <item>adc</item>
+      <item>add</item>
+      <item>addpd</item>
+      <item>addps</item>
+      <item>addsd</item>
+      <item>addss</item>
+      <item>addsubpd</item>
+      <item>addsubps</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>cdqe</item>
+      <item>cqo</item>
+      <item>clc</item>
+      <item>cld</item>
+      <item>clgi</item>
+      <item>cli</item>
+      <item>clts</item>
+      <item>clflush</item>
+      <item>cmc</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>
+      <item>cmpeqsd</item>
+      <item>cmpeqss</item>
+      <item>cmplepd</item>
+      <item>cmpleps</item>
+      <item>cmplesd</item>
+      <item>cmpless</item>
+      <item>cmpltpd</item>
+      <item>cmpltps</item>
+      <item>cmpltsd</item>
+      <item>cmpltss</item>
+      <item>cmpneqpd</item>
+      <item>cmpneqps</item>
+      <item>cmpneqsd</item>
+      <item>cmpneqss</item>
+      <item>cmpnlepd</item>
+      <item>cmpnleps</item>
+      <item>cmpnlesd</item>
+      <item>cmpnless</item>
+      <item>cmpnltpd</item>
+      <item>cmpnltps</item>
+      <item>cmpnltsd</item>
+      <item>cmpnltss</item>
+      <item>cmpordpd</item>
+      <item>cmpordps</item>
+      <item>cmpordsd</item>
+      <item>cmpordss</item>
+      <item>cmppd</item>
+      <item>cmpps</item>
+      <item>cmps</item>
+      <item>cmpsb</item>
+      <item>cmpsd</item>
+      <item>cmpss</item>
+      <item>cmpsw</item>
+      <item>cmpunordpd</item>
+      <item>cmpunordps</item>
+      <item>cmpunordsd</item>
+      <item>cmpunordss</item>
+      <item>cmpxchg</item>
+      <item>cmpxchg486</item>
+      <item>cmpxchg8b</item>
+      <item>cmpxchg16b</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>cvttss2si</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>fcmovbe</item>
+      <item>fcmove</item>
+      <item>fcmovnb</item>
+      <item>fcmovnbe</item>
+      <item>fcmovne</item>
+      <item>fcmovnu</item>
+      <item>fcmovu</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>feni</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>fimul</item>
+      <item>fincstp</item>
+      <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>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>fndisi</item>
+      <item>fneni</item>
+      <item>fninit</item>
+      <item>fnop</item>
+      <item>fnsave</item>
+      <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>frndint</item>
+      <item>frstor</item>
+      <item>fsave</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>fstenv</item>
+      <item>fstsw</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>fwait</item>
+      <item>fxam</item>
+      <item>fxch</item>
+      <item>fxrstor</item>
+      <item>fxsave</item>
+      <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>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>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>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>lfence</item>
+      <item>lfs</item>
+      <item>lgdt</item>
+      <item>lgs</item>
+      <item>lidt</item>
+      <item>lldt</item>
+      <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>
+      <item>loopne</item>
+      <item>loopnz</item>
+      <item>loopz</item>
+      <item>lsl</item>
+      <item>lss</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>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>
+      <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>movs</item>
+      <item>movsb</item>
+      <item>movsd</item>
+      <item>movshdup</item>
+      <item>movsldup</item>
+      <item>movsq</item>
+      <item>movss</item>
+      <item>movsx</item>
+      <item>movsxd</item>
+      <item>movsw</item>
+      <item>movupd</item>
+      <item>movups</item>
+      <item>movzx</item>
+      <item>mul</item>
+      <item>mulpd</item>
+      <item>mulps</item>
+      <item>mulsd</item>
+      <item>mulss</item>
+      <item>mwait</item>
+      <item>neg</item>
+      <item>nop</item>
+      <item>not</item>
+      <item>or</item>
+      <item>orpd</item>
+      <item>orps</item>
+      <item>out</item>
+      <item>outs</item>
+      <item>outsb</item>
+      <item>outsw</item>
+      <item>outsd</item>
+      <item>packssdw</item>
+      <item>packsswb</item>
+      <item>packuswb</item>
+      <item>paddb</item>
+      <item>paddd</item>
+      <item>paddq</item>
+      <item>paddsb</item>
+      <item>paddsw</item>
+      <item>paddusb</item>
+      <item>paddusw</item>
+      <item>paddw</item>
+      <item>pand</item>
+      <item>pandn</item>
+      <item>pause</item>
+      <item>pavgb</item>
+      <item>pavgusb</item>
+      <item>pavgw</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>pmulhrw</item>
+      <item>pmulhuw</item>
+      <item>pmulhw</item>
+      <item>pmullw</item>
+      <item>pmuludq</item>
+      <item>pmvgezb</item>
+      <item>pmvlzb</item>
+      <item>pmvnzb</item>
+      <item>pmvzb</item>
+      <item>pop</item>
+      <item>popa</item>
+      <item>popaw</item>
+      <item>popad</item>
+      <item>popf</item>
+      <item>popfw</item>
+      <item>popfd</item>
+      <item>popfq</item>
+      <item>por</item>
+      <item>prefetch</item>
+      <item>prefetchnta</item>
+      <item>prefetcht0</item>
+      <item>prefetcht1</item>
+      <item>prefetcht2</item>
+      <item>prefetchw</item>
+      <item>psadbw</item>
+      <item>pshufd</item>
+      <item>pshufhw</item>
+      <item>pshuflw</item>
+      <item>pshufw</item>
+      <item>pslld</item>
+      <item>pslldq</item>
+      <item>psllq</item>
+      <item>psllw</item>
+      <item>psrad</item>
+      <item>psraw</item>
+      <item>psrld</item>
+      <item>psrldq</item>
+      <item>psrlq</item>
+      <item>psrlw</item>
+      <item>psubb</item>
+      <item>psubd</item>
+      <item>psubq</item>
+      <item>psubsb</item>
+      <item>psubsiw</item>
+      <item>psubsw</item>
+      <item>psubusb</item>
+      <item>psubusw</item>
+      <item>psubw</item>
+      <item>pswapd</item>
+      <item>punpckhbw</item>
+      <item>punpckhdq</item>
+      <item>punpckhqdq</item>
+      <item>punpckhwd</item>
+      <item>punpcklbw</item>
+      <item>punpckldq</item>
+      <item>punpcklqdq</item>
+      <item>punpcklwd</item>
+      <item>push</item>
+      <item>pusha</item>
+      <item>pushad</item>
+      <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>rdmsr</item>
+      <item>rdpmc</item>
+      <item>rdshr</item>
+      <item>rdtsc</item>
+      <item>rdtscp</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>scas</item>
+      <item>scasb</item>
+      <item>scasd</item>
+      <item>scasq</item>
+      <item>scasw</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>
+      <item>shld</item>
+      <item>shr</item>
+      <item>shrd</item>
+      <item>shufpd</item>
+      <item>shufps</item>
+      <item>sidt</item>
+      <item>skinit</item>
+      <item>sldt</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>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>
+      <item>subpd</item>
+      <item>subps</item>
+      <item>subsd</item>
+      <item>subss</item>
+      <item>svdc</item>
+      <item>svldt</item>
+      <item>svts</item>
+      <item>swapgs</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>vmload</item>
+      <item>vmmcall</item>
+      <item>vmrun</item>
+      <item>vmsave</item>
+      <item>wait</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>
+    </list>
+
+    <list name="Data">
+      <!-- Initialized data (1.2.2)-->
+      <item>db</item>
+      <item>dw</item>
+      <item>du</item>
+      <item>dd</item>
+      <item>dp</item>
+      <item>df</item>
+      <item>dq</item>
+      <item>dt</item>
+      <!-- Uninitialized data (1.2.2)-->
+      <item>rb</item>
+      <item>rw</item>
+      <item>rd</item>
+      <item>rp</item>
+      <item>rf</item>
+      <item>rq</item>
+      <item>rt</item>
+      <!-- binary file include (1.2.2)-->
+      <item>file</item>
+      <!-- operand size from (1.2.1)-->
+      <item>byte</item>
+      <item>word</item>
+      <item>dword</item>
+      <item>pword</item>
+      <item>qword</item>
+      <item>tbyte</item>
+      <item>tword</item>
+      <item>dqword</item>
+      <item>ptr</item>
+    </list>
+
+    <list name="Preprocessor Keywords"> <!-- Contains keywords for macros, structures, etc... -->
+      <item>append</item>
+      <item>at</item>   <!-- As in "virtual at"-->
+      <item>break</item>
+      <item>common</item>
+      <item>display</item>
+      <item>else</item>
+      <item>end</item> <!-- As in "end if"-->
+      <item>equ</item>
+      <item>fix</item>
+      <item>foward</item>
+      <item>if</item>
+      <item>irp</item>
+      <item>irps</item>
+      <item>label</item>
+      <item>local</item>
+      <item>match</item>
+      <item>macro</item>
+      <item>purge</item>
+      <item>repeat</item>
+      <item>rept</item>
+      <item>reverse</item>
+      <item>restore</item>
+      <item>struc</item>
+      <item>times</item>
+      <item>while</item>
+      <item>virtual</item>
+    </list>
+
+    <list name="Instruction-like Keywords"> <!-- Contains instruction-like keywords -->
+      <item>align</item>
+      <item>entry</item>
+      <item>extrn</item>
+      <item>format</item>
+      <item>include</item>
+      <item>invoke</item>
+      <item>data</item>
+      <item>load</item>
+      <item>from</item>
+      <item>heap</item>
+      <item>org</item>
+      <item>proc</item>
+      <item>public</item>
+      <item>section</item>
+      <item>segment</item>
+      <item>stack</item>
+      <item>store</item>
+      <item>use16</item>
+      <item>use32</item>
+      <item>use64</item>
+    </list>
+
+    <contexts>
+      <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+        <keyword attribute="Registers" context="#stay" String="registers"/>
+        <keyword attribute="Data" context="#stay" String="Data"/>
+        <keyword attribute="Instructions" context="#stay" String="instructions"/>
+        <keyword attribute="Instructions" context="#stay" String="Instruction-like Keywords"/>
+        <keyword attribute="Preprocessor" context="#stay" String="Preprocessor Keywords"/>
+        <DetectChar attribute="Comment" context="Comment" char=";"/>
+        <AnyChar attribute="String" context="String" String="&quot;'"/>
+        <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)"/>
+        <!-- hexadecimal numbers -->
+        <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="(^|[ \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"/>
+        <Int attribute="Number" context="#stay"/>
+        <HlCChar attribute="Char" context="#stay"/>
+      </context>
+      <context name="Comment" attribute="Comment" lineEndContext="#pop"/>
+      <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"/>
+      <context name="String" attribute="String" lineEndContext="#pop">
+        <AnyChar attribute="String" context="#pop" String="&quot;'"/>
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Registers" defStyleNum="dsKeyword"/>
+      <itemData name="Instructions" defStyleNum="dsBuiltIn"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="Label" defStyleNum="dsFunction"/>
+      <itemData name="Data" defStyleNum="dsDataType"/>
+      <itemData name="BaseN" defStyleNum="dsBaseN"/>
+      <itemData name="Float" defStyleNum="dsFloat"/>
+      <itemData name="Number" defStyleNum="dsDecVal"/>
+      <itemData name="Char" defStyleNum="dsChar"/>
+      <itemData name="String" defStyleNum="dsString"/>
+      <itemData name="Preprocessor" defStyleNum="dsPreprocessor"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="0"/>
+    <comments>
+      <comment name="singleLine" start=";"/>
+    </comments>
+  </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/fortran.xml b/xml/fortran.xml
new file mode 100644
--- /dev/null
+++ b/xml/fortran.xml
@@ -0,0 +1,580 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Fortran" version="2" kateversion="5.0" section="Sources" extensions="*.f;*.F;*.for;*.FOR;*.f90;*.F90;*.fpp;*.FPP;*.f95;*.F95;" mimetype="text/x-fortran-src" casesensitive="0" author="Franchin Matteo (fnch@libero.it)" license="LGPL" priority="9">
+<!-- by Franchin Matteo, fnch@libero.it -->
+  <highlighting>
+
+<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  -->
+<!-- *                              L I S T S                            *  -->
+<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  -->
+    <list name="keywords">
+      <item> allocate </item>
+      <item> break </item>
+      <item> call </item>
+      <item> case </item>
+      <item> common </item>
+      <!--item> contains </item-->
+      <item> continue </item>
+      <item> cycle </item>
+      <item> deallocate </item>
+      <item> default </item>
+      <!--item> do </item-->
+      <item> forall </item>
+      <item> where </item>
+      <item> elsewhere </item>
+      <!--item> elseif </item-->
+      <!--item> else </item-->
+      <item> equivalence </item>
+      <item> exit </item>
+      <item> external </item>
+      <item> for </item>
+      <item> go </item>
+      <item> goto </item>
+      <item> if </item>
+      <item> implicit </item>
+      <item> include </item>
+      <item> interface </item>
+      <item> intrinsic </item>
+      <item> namelist </item>
+      <item> none </item>
+      <item> nullify </item>
+      <item> operator </item>
+      <item> assignment </item>
+      <item> pause </item>
+      <item> procedure </item>
+      <item> pure </item>
+      <item> elemental </item>
+      <item> record </item>
+      <item> recursive </item>
+      <item> result </item>
+      <item> return </item>
+      <item> select </item>
+      <item> selectcase </item>
+      <item> stop </item>
+      <!--item> then </item-->
+      <item> to </item>
+      <item> use </item>
+      <item> only </item>
+      <item> entry </item>
+      <item> while </item>
+    </list>
+    <list name="io_functions">
+      <item> access </item>
+      <item> backspace </item>
+      <item> close </item>
+      <item> inquire </item>
+      <item> open </item>
+      <item> print </item>
+      <item> read </item>
+      <item> rewind </item>
+      <item> write </item>
+      <item> format </item>
+    </list>
+    <!-- Keywords inside read(...), write(...), backspace(...),
+          rewind(...), endfile(...), close(...) -->
+    <list name="io_keywords">
+      <item> unit </item>
+      <item> end </item>
+      <item> err </item>
+      <item> fmt </item>
+      <item> iostat </item>
+      <item> status </item>
+      <item> advance </item>
+      <item> size </item>
+      <item> eor </item>
+    </list>
+    <!-- Keywords inside open(...) -->
+    <list name="open_keywords">
+      <item> unit </item>
+      <item> iostat </item>
+      <item> err </item>
+      <item> file </item>
+      <item> status </item>
+      <item> access </item>
+      <item> form </item>
+      <item> recl </item>
+      <item> blank </item>
+      <item> position </item>
+      <item> action </item>
+      <item> delim </item>
+      <item> pad </item>
+    </list>
+    <!-- Keywords inside inquire(...) -->
+    <list name="inquire_keywords">
+      <item> unit </item>
+      <item> iostat </item>
+      <item> err </item>
+      <item> file </item>
+      <item> exist </item>
+      <item> opened </item>
+      <item> number </item>
+      <item> named </item>
+      <item> name </item>
+      <item> access </item>
+      <item> sequential </item>
+      <item> direct </item>
+      <item> form </item>
+      <item> formatted </item>
+      <item> unformatted </item>
+      <item> recl </item>
+      <item> nextrec </item>
+      <item> blank </item>
+      <item> position </item>
+      <item> action </item>
+      <item> read </item>
+      <item> write </item>
+      <item> readwrite </item>
+      <item> delim </item>
+      <item> pad </item>
+    </list>
+    <list name="types">
+      <item> double </item>
+      <item> precision </item>
+      <item> parameter </item>
+      <item> save </item>
+      <item> pointer </item>
+      <item> public </item>
+      <item> private </item>
+      <item> target </item>
+      <item> allocatable </item>
+      <item> optional </item>
+      <item> sequence </item>
+    </list>
+
+<!-- There are 4 types of intrinsic procedures in Fortran 90:
+   1) Elemental procedures (elemental_procs);
+   2) Inquiry functions (inquiry_fn);
+   3) Transformational functions (transform_fn);
+   4) Non elemental subroutines (non_elem_subr);
+  Often mathematical functions have one generic form and many specific names!
+  If you use the generic form, the compiler will select the right function
+  to use depending on the type of the arguments.
+  But you can use also the specific names!
+  -->
+
+<!-- E L E M E N T A L    P R O C E D U R E S -->
+    <list name="elemental_procs">
+    <!-- Elemental functions that may convert -->
+      <item> abs </item>   <!-- Generic form: abs -->
+      <item> cabs </item>  <!-- Specific names for abs -->
+      <item> dabs </item>
+      <item> iabs </item>
+      <item> aimag </item>
+      <item> aint </item>  <!-- Generic form: aint -->
+      <item> dint </item>  <!-- Specific name for aint -->
+      <item> anint </item> <!-- Generic form: anint -->
+      <item> dnint </item> <!-- Specific name for anint -->
+      <item> ceiling </item>
+      <item> cmplx </item>
+      <item> dcmplx </item> <!-- (non standard) -->
+      <item> dimag </item>  <!-- (non standard) -->
+      <item> floor </item>
+      <item> nint </item>  <!-- Generic form: nint -->
+      <item> idnint </item><!-- Specific name for nint -->
+      <item> int </item>   <!-- Generic form: int -->
+      <item> idint </item> <!-- Specific names for int -->
+      <item> ifix </item>
+      <item> real </item>  <!-- Generic form: real -->
+      <item> float </item> <!-- Specific names for real -->
+      <item> sngl </item>
+      <item> dble </item>
+      <item> dreal </item> <!-- (non standard) -->
+      <item> aprime </item> <!-- 5 functions from fortran.xml -->
+      <item> dconjg </item> <!-- I don't know if they really belong to -->
+      <item> dfloat </item> <!-- the fortran 90/95 standard! -->
+      <item> ddmim </item>
+      <item> rand </item>
+    <!-- Elemental functions that do not convert -->
+      <item> modulo </item>
+      <item> conjg </item>
+      <item> dprod </item>  <!-- dprod(x, y) is the specific name for x*y -->
+      <item> dim </item>    <!-- Generic form: dim -->
+      <item> ddim </item>   <!-- Specific names for dim -->
+      <item> idim </item>
+      <item> max </item>    <!-- Generic form: max -->
+      <item> amax0 </item>  <!-- Specific names for max -->
+      <item> amax1 </item>
+      <item> max0 </item>
+      <item> max1 </item>
+      <item> dmax1 </item>
+      <item> min </item>    <!-- Generic form: min -->
+      <item> amin0 </item>  <!-- Specific names for min -->
+      <item> amin1 </item>
+      <item> min0 </item>
+      <item> min1 </item>
+      <item> dmin1 </item>
+      <item> mod </item>    <!-- Generic form: mod -->
+      <item> amod </item>   <!-- Specific names for mod -->
+      <item> dmod </item>
+      <item> sign </item>   <!-- Generic form: sign -->
+      <item> dsign </item>  <!-- Specific names for sign -->
+      <item> isign </item>
+    <!-- Elemental mathematical functions -->
+      <item> acos </item>    <!-- Generic form: acos -->
+      <item> dacos </item>   <!-- Specific names for acos -->
+      <item> asin </item>    <!-- Generic form: asin -->
+      <item> dasin </item>   <!-- Specific names for asin -->
+      <item> atan </item>    <!-- Generic form: atan -->
+      <item> datan </item>   <!-- Specific names for atan -->
+      <item> atan2 </item>   <!-- Generic form: atan2 -->
+      <item> datan2 </item>  <!-- Specific names for atan2 -->
+      <item> cos </item>     <!-- Generic form: cos -->
+      <item> ccos </item>    <!-- Specific names for cos -->
+      <item> dcos </item>
+      <item> cosh </item>    <!-- Generic form: cosh -->
+      <item> dcosh </item>   <!-- Specific names for cosh -->
+      <item> exp </item>     <!-- Generic form: exp -->
+      <item> cexp </item>    <!-- Specific names for exp -->
+      <item> dexp </item>
+      <item> log </item>     <!-- Generic form: log -->
+      <item> alog </item>    <!-- Specific names for log -->
+      <item> dlog </item>
+      <item> clog </item>
+      <item> log10 </item>   <!-- Generic form: log10 -->
+      <item> alog10 </item>  <!-- Specific names for log10 -->
+      <item> dlog10 </item>
+      <item> sin </item>     <!-- Generic form: sin -->
+      <item> csin </item>    <!-- Specific names for sin -->
+      <item> dsin </item>
+      <item> sinh </item>    <!-- Generic form: sinh -->
+      <item> dsinh </item>   <!-- Specific name for sinh -->
+      <item> sqrt </item>    <!-- Generic form: sqrt -->
+      <item> csqrt </item>   <!-- Specific names for sqrt -->
+      <item> dsqrt </item>
+      <item> tan </item>     <!-- Generic form: tan -->
+      <item> dtan </item>    <!-- Generic form: dtan -->
+      <item> tanh </item>    <!-- Generic form: tanh -->
+      <item> dtanh </item>   <!-- Specific names for tanh -->
+    <!-- Elemental character and logical functions -->
+    <!-- Character-integer conversions -->
+      <item> achar </item>
+      <item> char </item>
+      <item> iachar </item>
+      <item> ichar </item>
+    <!-- Lexical comparison functions -->
+      <item> lge </item>
+      <item> lgt </item>
+      <item> lle </item>
+      <item> llt </item>
+    <!-- String-handling elemental functions -->
+      <item> adjustl </item>
+      <item> adjustr </item>
+      <item> index </item>
+      <item> len_trim </item>
+      <item> scan </item>
+      <item> verify </item>
+    <!-- Logical conversion -->
+      <item> logical </item>
+    <!-- Elemental functions to manipulate reals -->
+      <item> exponent </item>
+      <item> fraction </item>
+      <item> nearest </item>
+      <item> rrspacing </item>
+      <item> scale </item>
+      <item> set_exponent </item>
+      <item> spacing </item>
+    <!-- Bit manipulation elemental functions -->
+      <item> btest </item>
+      <item> iand </item>
+      <item> ibclr </item>
+      <item> ibits </item>
+      <item> ibset </item>
+      <item> ieor </item>
+      <item> ior </item>
+      <item> ishft </item>
+      <item> ishftc </item>
+      <item> not </item>
+    <!-- Bit manipulation elemental subroutine -->
+      <item> mvbits </item>
+    <!-- Merge elemental function -->
+      <item> merge </item>
+    </list>
+
+<!-- I N Q U I R Y    F U N C T I O N S -->
+    <list name="inquiry_fn">
+    <!-- Inquiry functions for any type -->
+      <item> associated </item>
+      <item> present </item>
+      <item> kind </item>
+    <!-- String-handling inquiry function -->
+      <item> len </item>
+    <!-- Numeric inquiry functions -->
+      <item> digits </item>
+      <item> epsilon </item>
+      <item> huge </item>
+      <item> maxexponent </item>
+      <item> minexponent </item>
+      <item> precision </item>
+      <item> radix </item>
+      <item> range </item>
+      <item> tiny </item>
+    <!-- Bit inquiry function -->
+      <item> bit_size </item>
+    <!-- Array inquiry functions -->
+      <item> allocated </item>
+      <item> lbound </item>
+      <item> ubound </item>
+      <item> shape </item>
+      <item> size </item>
+    </list>
+
+<!-- T R A N S F O R M A T I O N A L    F U N C T I O N S -->
+    <list name="transform_fn">
+    <!-- String-handling transformational functions -->
+      <item> repeat </item>
+      <item> trim </item>
+    <!-- Transformational functions for kind values -->
+      <item> selected_int_kind </item>
+      <item> selected_real_kind </item>
+    <!-- Transfer function -->
+      <item> transfer </item>
+    <!-- Vector and matrix multiplication functions -->
+      <item> dot_product </item>
+      <item> matmul </item>
+    <!-- Transformational functions that reduce arrays -->
+      <item> all </item>
+      <item> any </item>
+      <item> count </item>
+      <item> maxval </item>
+      <item> minval </item>
+      <item> product </item>
+      <item> sum </item>
+    <!-- Packing and unpacking arrays -->
+      <item> pack </item>
+      <item> unpack </item>
+    <!-- Transformational function for reshaping an array -->
+      <item> reshape </item>
+    <!-- Transformational function for replication -->
+      <item> spread </item>
+    <!-- Array shifting functions -->
+      <item> cshift </item>
+      <item> eoshift </item>
+    <!-- Matrix transpose -->
+      <item> transpose </item>
+    <!-- Transformational functions for geometric location -->
+      <item> maxloc </item>
+      <item> minloc </item>
+    </list>
+
+<!-- N O N    E L E M E N T A L    S U B R O U T I N E S -->
+    <list name="non_elem_subr">
+    <!-- Real time clock -->
+      <item> date_and_time </item>
+      <item> system_clock </item>
+    <!-- Random numbers -->
+      <item> random_number </item>
+      <item> random_seed </item>
+    </list>
+
+<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  -->
+<!-- *                           C O N T E X T S                         *  -->
+<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  -->
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="default" >
+        <IncludeRules context="find_strings" />
+        <IncludeRules context="find_decls" />
+        <IncludeRules context="find_intrinsics" />
+        <IncludeRules context="find_io_stmnts" />
+        <IncludeRules context="find_op_and_log" />
+        <IncludeRules context="find_numbers" />
+        <IncludeRules context="find_preprocessor" />
+        <IncludeRules context="find_comments" />
+        <IncludeRules context="find_symbols" />
+        <IncludeRules context="find_begin_stmnts" />
+        <IncludeRules context="find_end_stmnts" />
+        <IncludeRules context="find_mid_stmnts" />
+      </context>
+<!--************************END OF THE MAIN CONTEXT*************************-->
+
+
+
+<!-- This context highlights preprocessor lines -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_preprocessor">
+        <RegExpr attribute="Preprocessor" context="#stay" String="(#|cDEC\$|CDEC\$).*$" column="0"/>
+      </context>
+
+<!-- This context highlights operators and the logical values .true. .false. -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_op_and_log">
+        <RegExpr attribute="Logical" context="#stay" String="\.(true|false)\." insensitive="true"/>
+        <RegExpr attribute="Operator" context="#stay" String="\.[A-Za-z]+\."/>
+        <RegExpr attribute="Operator" context="#stay" String="(==|/=|&lt;|&lt;=|&gt;|&gt;=)"/>
+      </context>
+
+<!-- This context highlights comments -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_comments">
+        <RegExpr attribute="Comment" context="#stay" String="[cC\*].*$" column="0"/>
+        <RegExpr attribute="Comment" context="#stay" String="!.*$"/>
+      </context>
+
+<!-- This context highlights symbols -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_symbols">
+        <Detect2Chars attribute="Keyword" context="#stay" char="*" char1="*"/>
+        <Detect2Chars attribute="Keyword" context="#stay" char="(" char1="/"/>
+        <Detect2Chars attribute="Keyword" context="#stay" char="/" char1=")"/>
+        <AnyChar attribute="Keyword" context="#stay" String="&amp;+-*/=?[]^{|}~"/>
+        <AnyChar attribute="Symbol" context="#stay" String="(),"/>
+      </context>
+
+<!-- This context highlights items inside the parentesis of a function -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="inside_func_paren">
+        <DetectChar attribute="Normal Text" context="inside_func_paren" char="("/>
+        <DetectChar attribute="Normal Text" context="#pop" char=")"/>
+        <IncludeRules context="find_strings" />
+        <IncludeRules context="find_intrinsics" />
+        <IncludeRules context="find_numbers" />
+      </context>
+
+<!-- The following two contexts match input/output statements -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_io_stmnts">
+        <RegExpr attribute="IO Function" context="find_io_paren" String="\b(read|write|backspace|rewind|end\s*file|close)\s*[(]" insensitive="true"/>
+        <RegExpr attribute="IO Function" context="find_io_paren" String="\bopen\s*[(]" insensitive="true"/>
+        <RegExpr attribute="IO Function" context="find_io_paren" String="\binquire\s*[(]" insensitive="true"/>
+        <RegExpr attribute="IO Function" context="format_stmnt" String="\bformat\s*[(]" insensitive="true"/>
+        <RegExpr attribute="IO Function" context="#stay" String="\bend\s*file\b" insensitive="true"/>
+        <keyword attribute="IO Function" context="#stay" String="io_functions"/>
+      </context>
+<!-- This context matches parenthesis for the read, write, ... statements -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_io_paren">
+        <DetectChar attribute="IO Function" context="#stay" char="*"/>
+        <DetectChar attribute="Normal Text" context="inside_func_paren" char="("/>
+        <DetectChar attribute="IO Function" context="#pop" char=")"/>
+        <keyword attribute="IO Function"  context="#stay" String="io_keywords"/>
+        <keyword attribute="IO Function"  context="#stay" String="inquire_keywords"/>
+        <keyword attribute="IO Function"  context="#stay" String="open_keywords"/>
+        <IncludeRules context="find_strings" />
+        <IncludeRules context="find_intrinsics" />
+        <IncludeRules context="find_numbers" />
+        <IncludeRules context="find_symbols" />
+      </context>
+<!-- This context highlights the text inside the parenthesis of fortran statement -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="format_stmnt">
+        <DetectChar attribute="IO Function" context="format_stmnt" char="("/>
+        <DetectChar attribute="IO Function" context="#pop" char=")"/>
+        <RegExpr attribute="IO Function" context="#stay" String="[0-9]*/" insensitive="true"/>
+        <AnyChar attribute="IO Function" context="#stay" String=":"/>
+        <IncludeRules context="find_strings" />
+        <IncludeRules context="find_symbols" />
+      </context>
+
+<!-- The following context matches the begin of program units -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_begin_stmnts">
+        <RegExpr attribute="Keyword" context="#stay" String="\bmodule\s+procedure\b" insensitive="true"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(subroutine|function|block\s*data)\b" insensitive="true" beginRegion="Routine"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(program|module|block\s*data)\b" insensitive="true" beginRegion="Routine"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(then|do)\b" insensitive="true" beginRegion="Block"/>
+      </context>
+<!-- The following context matches the end of program units -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_end_stmnts">
+        <RegExpr attribute="Keyword" context="#stay" String="\bend\s*(subroutine|function|block\s*data)\b" insensitive="true" endRegion="Routine"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\bend\s*(program|module)\b" insensitive="true" endRegion="Routine"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\bend\s*(do|if)\b" insensitive="true" endRegion="Block"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\bend\s*(select|where|forall|interface)\b" insensitive="true"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\belse\s*if\b" insensitive="true" endRegion="Block"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\bend\b" insensitive="true" endRegion="Routine"/>
+      </context>
+<!-- The following context matches the mid of program units -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_mid_stmnts">
+        <RegExpr attribute="Keyword" context="#stay" String="\belse\b" insensitive="true" endRegion="Block" beginRegion="Block"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\bcontains\b" insensitive="true" endRegion="Routine" beginRegion="Routine"/>
+      </context>
+
+<!-- The following two contexts match declarations -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_decls">
+        <RegExpr attribute="Data Type" context="#stay" String="\binteger[\*]\d{1,2}" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="\breal[\*]\d{1,2}" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="\bcomplex[\*]\d{1,2}" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="\bend\s*type\b" insensitive="true"/>
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <RegExpr attribute="Data Type" context="#stay" String="^\s*data\b" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="find_paren" String="^\s*real\s*[(]" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="^\s*real(?![\w\*])" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="\bcharacter[*][0-9]+\b" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="find_paren" String="\b(type|integer|complex|character|logical|intent|dimension)\b\s*[(]" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="\b(type|integer|complex|character|logical|intent|dimension)\b" insensitive="true"/>
+        <Detect2Chars attribute="Data Type" context="#stay" char=":" char1=":"/>
+      </context>
+<!-- This context matches parenthesis in data type declarations, such as in 'real(...)'-->
+      <context attribute="Data Type" lineEndContext="#pop" name="find_paren">
+        <DetectChar attribute="Data Type" context="find_paren" char="("/>
+        <DetectChar attribute="Data Type" context="#pop" char=")"/>
+      </context>
+
+<!-- The following context matches intrinsic procedures -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_intrinsics">
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+      <!-- INTRINSIC PROCEDURES -->
+        <keyword attribute="Elemental Procedure"       context="#stay" String="elemental_procs"/>
+        <keyword attribute="Inquiry Function"          context="#stay" String="inquiry_fn"/>
+        <keyword attribute="Transformational Function" context="#stay" String="transform_fn"/>
+        <keyword attribute="Non elemental subroutine"  context="#stay" String="non_elem_subr"/>
+      </context>
+
+<!-- The following context matches integer and real numbers -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="find_numbers">
+        <!-- Floating-point numbers with optional kind -->
+        <RegExpr attribute="Float" context="#stay" String="[0-9]*\.[0-9]+([de][+-]?[0-9]+)?([_]([0-9]+|[a-z][\w_]*))?" insensitive="true"/>
+        <RegExpr attribute="Float" context="#stay" String="\b[0-9]+\.[0-9]*([de][+-]?[0-9]+)?([_]([0-9]+|[a-z][\w_]*))?(?![a-z])" insensitive="true"/>
+        <RegExpr attribute="Float" context="#stay" String="\b[0-9]+[de][+-]?[0-9]+([_]([0-9]+|[a-z][\w_]*))?" insensitive="true"/>
+        <!-- Integers with optional kind specifier -->
+        <RegExpr attribute="Decimal" context="#stay" String="\b[0-9]+([_]([0-9]+|[a-zA-Z][\w_]*))?"/>
+        <!-- Integers in binary, octal and hexadecimal notations -->
+        <RegExpr attribute="Decimal" context="#stay" String="\b[bozx]([&apos;][0-9a-f]+[&apos;]|[&quot;][0-9a-f]+[&quot;])" insensitive="true"/>
+      </context>
+
+<!-- The following four contexts implement the complex string multi-line declarations -->
+      <!-- Matches STRINGS (there are 2 types of strings: '...' and "...") -->
+      <context attribute="String" lineEndContext="#stay" name="find_strings">
+        <DetectChar attribute="String" context="string_1" char="&apos;"/>
+        <DetectChar attribute="String" context="string_2" char="&quot;"/>
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="string_1" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr attribute="String" context="#pop" String="[^&apos;]*&apos;"/>
+        <RegExpr attribute="Keyword" context="end_of_string" String="&amp;\s*$"/>
+        <RegExpr attribute="String" context="end_of_string" String=".*(?=&amp;\s*$)"/>
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="string_2" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr attribute="String" context="#pop" String="[^&quot;]*&quot;"/>
+        <RegExpr attribute="Keyword" context="end_of_string" String="&amp;\s*$"/>
+        <RegExpr attribute="String" context="end_of_string" String=".*(?=&amp;\s*$)"/>
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="end_of_string" fallthrough="true" fallthroughContext="#pop#pop">
+        <DetectSpaces />
+        <RegExpr attribute="Keyword" context="#stay" String="&amp;\s*$"/>
+        <DetectChar attribute="Keyword" context="#pop" char="&amp;" firstNonSpace="true"/>
+        <RegExpr attribute="Comment" context="#stay" String="(!.*)?$" firstNonSpace="true"/>
+      </context>
+    </contexts>
+
+<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  -->
+<!-- *             S T Y L E   I T E M   D E F I N I T I O N S           *  -->
+<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  -->
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Keyword" defStyleNum="dsKeyword"/>
+      <itemData name="Data Type" defStyleNum="dsDataType"/>
+      <itemData name="Decimal" defStyleNum="dsDecVal"/>
+      <itemData name="Float" defStyleNum="dsFloat"/>
+      <itemData name="String" defStyleNum="dsString"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="Symbol" defStyleNum="dsNormal"/>
+      <itemData name="Preprocessor" defStyleNum="dsOthers"/>
+      <itemData name="Operator" defStyleNum="dsOperator" bold="1" italic="0"/>
+      <itemData name="Logical" defStyleNum="dsConstant" bold="1" italic="0"/>
+      <itemData name="IO Function" defStyleNum="dsFunction" bold="0" italic="0"/>
+      <itemData name="Elemental Procedure" defStyleNum="dsBuiltIn" bold="1" italic="0"/>
+      <itemData name="Inquiry Function" defStyleNum="dsFunction" bold="1" italic="1"/>
+      <itemData name="Transformational Function" defStyleNum="dsFunction" bold="1" italic="0"/>
+      <itemData name="Non elemental subroutine" defStyleNum="dsFunction" bold="1" italic="0"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="c"/>
+      <comment name="singleLine" start="!"/>
+    </comments>
+    <keywords casesensitive="0"/>
+  </general>
+</language>
diff --git a/xml/fsharp.xml b/xml/fsharp.xml
new file mode 100644
--- /dev/null
+++ b/xml/fsharp.xml
@@ -0,0 +1,287 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Kate syntax highlighting for F# based on the OCAML syntax by Glyn Webster (glyn@wave.co.nz). -->
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+<!-- Regular expresion constants: -->
+<!ENTITY LETTER "A-Za-z\300-\326\330-\366\370-\377">                <!-- Latin-1 letters. -->
+<!ENTITY IDENT  "[&LETTER;_][&LETTER;0-9_']*">                      <!-- OCaml identifiers. -->
+<!ENTITY MIDENT "[A-Z][&LETTER;0-9_']*">                            <!-- OCaml uppercase identifiers. -->
+<!ENTITY ESC    "(\\[ntbr'&quot;\\]|\\[0-9]{3}|\\x[0-9A-Fa-f]{2})"> <!-- OCaml character code escapes. -->
+<!ENTITY DEC    "[0-9][0-9_]*">                                     <!-- Decimal digits with underscores. -->
+]>
+<language name="FSharp" version="2" kateversion="5.0" section="Sources" extensions="*.fs;*.fsi;*.fsx" mimetype="" priority="10" author="Bas Bossink (bas.bossink@gmail.com)" license="LGPL">
+
+  <highlighting>
+    <list name="keywords">
+      <item> abstract </item>
+      <item> and </item>
+      <item> as </item>
+      <item> assert </item>
+      <item> base </item>
+<!--       <item> begin </item> -->
+      <item> class </item>
+      <item> delegate </item>
+<!--       <item> do </item> -->
+<!--       <item> done </item> -->
+      <item> dowcast </item>
+      <item> downto </item>
+      <item> elif </item>
+      <item> else </item>
+<!--       <item> end </item> -->
+      <item> exception </item>
+      <item> extern </item>
+      <item> false </item>
+      <item> for </item>
+      <item> fun </item>
+      <item> function </item>
+      <item> functor </item>
+      <item> global </item>
+      <item> if </item>
+      <item> in </item>
+<!--       <item> include </item> -->
+      <item> inherit </item>
+      <item> inline </item>
+      <item> interfaece </item>
+      <item> internal </item>
+      <item> lazy </item>
+      <item> let </item>
+      <item> match </item>
+      <item> member </item>
+<!--       <item> module </item> -->
+      <item> mutable </item>
+      <item> namespace </item>
+      <item> new </item>
+      <item> not </item>
+      <item> null </item>
+<!--       <item> object </item> -->
+      <item> of </item>
+<!--       <item> open </item> -->
+      <item> or </item>
+      <item> override </item>
+      <item> private </item>
+      <item> public </item>
+      <item> rec </item>
+      <item> ref </item>
+      <item> return </item>
+<!--       <item> sig </item> -->
+      <item> static </item>
+<!--       <item> struct </item> -->
+      <item> then </item>
+      <item> to </item>
+      <item> true </item>
+      <item> try </item>
+      <item> type </item>
+      <item> upcast </item>
+      <item> use </item>
+      <item> val </item>
+      <item> void </item>
+      <item> when </item>
+      <item> while </item>
+      <item> with </item>
+      <item> yield </item>
+    </list>
+    <list name="core types">
+      <item> bool </item>
+      <item> byte </item>
+      <item> sbyte </item>
+      <item> int16 </item>
+      <item> uint16 </item>
+      <item> int </item>
+      <item> uint32 </item>
+      <item> int64 </item>
+      <item> uint64 </item>
+      <item> nativeint </item>
+      <item> unativeint </item>
+      <item> char </item>
+      <item> string </item>
+      <item> decimal </item>
+      <item> unit </item>
+      <item> void </item>
+      <item> float32 </item>
+      <item> single </item>
+      <item> float </item>
+      <item> double </item>
+      <item> bigint </item>
+      <item> option </item>
+      <item> seq </item>
+    </list>
+    <list name="symbols">
+      <item> ? </item>
+    </list>
+    <list name="end">
+      <item> end </item>
+    </list>
+    <list name="sig">
+      <item> sig </item>
+    </list>
+    <list name="struct">
+      <item> struct </item>
+    </list>
+    <list name="object">
+      <item> object </item>
+    </list>
+    <list name="begin">
+      <item> begin </item>
+    </list>
+    <list name="do">
+      <item> do </item>
+    </list>
+    <list name="done">
+      <item> done </item>
+    </list>
+    <list name="module_environment">
+      <item> module </item>
+      <item> open </item>
+    </list>
+    <contexts>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+
+        <Detect2Chars attribute="Comment" context="Multiline Comment" char="(" char1="*" beginRegion="comment" />
+        <Detect2Chars context="Singleline Comment" char="/" char1="/" />
+
+        <DetectChar attribute="Symbol" context="#stay" char="(" beginRegion="paren"/>
+        <DetectChar attribute="Symbol" context="#stay" char=")" endRegion="paren"/>
+
+        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="record"/>
+        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="record"/>
+        <Detect2Chars attribute="Symbol" context="#stay" char="[" char1="&lt;" beginRegion="attribute"/>
+        <Detect2Chars attribute="Symbol" context="#stay" char="&gt;" char1="]" endRegion="attribute"/>
+
+        <Detect2Chars attribute="Symbol" context="#stay" char="[" char1="|" beginRegion="array"/>
+        <Detect2Chars attribute="Symbol" context="#stay" char="|" char1="]" endRegion="array"/>
+        <DetectChar attribute="Symbol" context="#stay" char="[" beginRegion="list"/>
+        <DetectChar attribute="Symbol" context="#stay" char="]" endRegion="list"/>
+
+        <keyword attribute="Keyword" context="#stay" String="do" beginRegion="loop"/>
+        <keyword attribute="Keyword" context="#stay" String="done" endRegion="loop"/>
+        <keyword attribute="Directive" context="ModuleEnv" String="module_environment"/>
+        <keyword attribute="Region Marker" context="Block" String="begin" beginRegion="block"/>
+        <keyword attribute="Region Marker" context="Object" String="object" beginRegion="object"/>
+        <keyword attribute="Region Marker" context="Sig" String="sig" beginRegion="sig"/>
+        <keyword attribute="Region Marker" context="Struct" String="struct" beginRegion="struct"/>
+
+        <RegExpr attribute="Constructor" context="#stay" String="`\s*&IDENT;"/>
+        <RegExpr attribute="Module" lookAhead="true" context="ModuleEnv2" String="&MIDENT;\s*\."/>
+        <RegExpr attribute="Constructor" context="#stay" String="&MIDENT;"/>
+
+        <!-- Interpreter directives. -->
+        <!-- (These are lines where the first symbol is a '#' followed by an identifier. -->
+        <!-- Such lines could also be part of a method call split over two lines but     -->
+        <!-- it's unlikey anyone would code like that.)                                  -->
+        <RegExpr attribute="Directive" context="#stay" String="#&IDENT;.*$" firstNonSpace="true"/>
+
+        <!-- String, character and Camlp4 "quotation" constants.              -->
+        <!-- Note: If you must modify the pattern for characters be precise:  -->
+        <!-- single quotes have several meanings in Ocaml.                    -->
+        <DetectChar attribute="String" context="String Constant" char="&quot;" />
+        <RegExpr attribute="Character" context="#stay" String="'(&ESC;|[^'])'" />
+        <Detect2Chars attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" char="&lt;" char1="&lt;" />
+        <RegExpr attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" String="&lt;:&IDENT;&lt;" />
+
+        <!-- Identifiers and keywords. -->
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <keyword attribute="Core Data Type" context="#stay" String="core types" />
+        <RegExpr attribute="Identifier" context="#stay" String="&IDENT;" />
+
+        <!-- Numeric constants. -->
+        <!-- Note that they may contain underscores. -->
+        <RegExpr attribute="Hexadecimal" context="#stay" String="-?0[xX][0-9A-Fa-f_]+" />
+        <RegExpr attribute="Octal" context="#stay" String="-?0[oO][0-7_]+" />
+        <RegExpr attribute="Binary" context="#stay" String="-?0[bB][01_]+" />
+        <RegExpr attribute="Float" context="#stay" String="-?&DEC;((\.(&DEC;)?([eE][-+]?&DEC;)?)|([eE][-+]?&DEC;))" />
+        <RegExpr attribute="Decimal" context="#stay" String="-?&DEC;" />
+      </context>
+
+      <context attribute="Comment" lineEndContext="#pop" name="Singleline Comment"/>
+      <context attribute="Comment" lineEndContext="#stay" name="Multiline Comment">
+        <!-- Support for nested comments -->
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1=")" endRegion="comment" />
+        <Detect2Chars attribute="Comment" context="Multiline Comment" char="(" char1="*" beginRegion="comment" />
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="String Constant">
+        <DetectChar attribute="String" context="#pop" char="&quot;" />
+        <RegExpr attribute="Escaped characters" context="#stay" String="&ESC;" />
+        <!-- An underscore at the end of a line in a string indicates  -->
+        <!-- that the string will continue on the next line.           -->
+        <RegExpr attribute="Escaped characters" context="#stay" String="\\$" />
+      </context>
+
+      <context attribute="Normal text" lineEndContext="#stay" name="Block">
+        <keyword attribute="Region Marker" context="#pop" String="end" endRegion="block"/>
+        <IncludeRules context="Normal"/>
+      </context>
+
+      <context attribute="Normal text" lineEndContext="#stay" name="Sig">
+        <keyword attribute="Region Marker" context="#pop" String="end" endRegion="sig"/>
+        <IncludeRules context="Normal"/>
+      </context>
+
+      <context attribute="Normal text" lineEndContext="#stay" name="Struct">
+        <keyword attribute="Region Marker" context="#pop" String="end" endRegion="struct"/>
+        <IncludeRules context="Normal"/>
+      </context>
+
+      <context attribute="Normal text" lineEndContext="#stay" name="Object">
+        <keyword attribute="Region Marker" context="#pop" String="end" endRegion="object"/>
+        <IncludeRules context="Normal"/>
+      </context>
+
+      <context attribute="Normal text" lineEndContext="#stay" name="ModuleEnv" fallthrough="true" fallthroughContext="#pop">
+        <DetectSpaces attribute="Normal text" context="#stay"/>
+        <RegExpr attribute="Module" lookAhead="true" context="ModuleEnv2" String="&MIDENT;\s*\."/>
+        <RegExpr attribute="Module" context="#pop" String="&MIDENT;"/>
+      </context>
+
+      <context attribute="Normal text" lineEndContext="#stay" name="ModuleEnv2">
+        <RegExpr attribute="Module" context="#stay" String="&MIDENT;"/>
+        <DetectSpaces attribute="Normal text" context="#stay"/>
+        <StringDetect attribute="Keyword" context="#pop" String="."/>
+      </context>
+
+      <!-- Camlp4 Quotations. These are source code literals used by the Campl4 preprocessor.           -->
+      <!-- The only escapes allowed in a Camlp4 quotation are for the quotation start and stop symbols. -->
+      <context attribute="Camlp4 Quotation" lineEndContext="#stay" name="Camlp4 Quotation Constant">
+        <Detect2Chars attribute="Camlp4 Quotation" context="#pop" char="&gt;" char1="&gt;" />
+        <Detect2Chars attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" char="&lt;" char1="&lt;" />
+        <RegExpr attribute="Camlp4 Quotation" context="Camlp4 Quotation Constant" String="&lt;:&IDENT;&lt;" />
+        <RegExpr attribute="Escaped characters" context="#stay" String="\\(\\|&gt;&gt;|&lt;&lt;)" />
+        <RegExpr attribute="Escaped characters" context="#stay" String="\\&lt;:&IDENT;&lt;" />
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Identifier" defStyleNum="dsNormal"/>
+      <itemData name="Symbol" defStyleNum="dsNormal"/>
+      <itemData name="Keyword"  defStyleNum="dsKeyword"/>
+      <itemData name="Revised Syntax Keyword"  defStyleNum="dsNormal"/>
+      <itemData name="Core Data Type"  defStyleNum="dsDataType"/>
+      <itemData name="Decimal"  defStyleNum="dsDecVal"/>
+      <itemData name="Hexadecimal"  defStyleNum="dsBaseN"/>
+      <itemData name="Octal"  defStyleNum="dsBaseN"/>
+      <itemData name="Binary"  defStyleNum="dsBaseN"/>
+      <itemData name="Float"  defStyleNum="dsFloat"/>
+      <itemData name="Character"  defStyleNum="dsChar"/>
+      <itemData name="String"  defStyleNum="dsString"/>
+      <itemData name="Escaped characters"  defStyleNum="dsSpecialChar"/>
+      <itemData name="Comment"  defStyleNum="dsComment"/>
+      <itemData name="Camlp4 Quotation"  defStyleNum="dsString"/>
+      <itemData name="Directive"  defStyleNum="dsOthers"/>
+      <itemData name="Constructor" defStyleNum="dsNormal"/>
+      <itemData name="Module" defStyleNum="dsNormal"/>
+      <itemData name="Region Marker" defStyleNum="dsKeyword"/>
+    </itemDatas>
+  </highlighting>
+
+  <general>
+    <keywords casesensitive="1" />
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="singleLine" start="///" />
+      <comment name="multiLine" start="(*" end="*)" />
+    </comments>
+  </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/gcc.xml b/xml/gcc.xml
new file mode 100644
--- /dev/null
+++ b/xml/gcc.xml
@@ -0,0 +1,581 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+    <!ENTITY space " ">
+    <!ENTITY separators ",&#59;">
+    <!ENTITY ns_punctuators "!&#37;&space;&amp;()+-/.*&lt;=&gt;?[]{|}~^&separators;">
+    <!ENTITY punctuators ":&ns_punctuators;">
+]>
+<!--
+  Copyright (c) 2012-2014 by Alex Turbov (i.zaufi@gmail.com)
+
+  Homepage: http://kde-files.org/content/show.php?content=90660
+  -->
+<language
+    name="GCCExtensions"
+    version="1"
+    kateversion="5.0"
+    section="Sources"
+    extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;"
+    mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr;text/x-csrc"
+    author="Alex Turbov (i.zaufi@gmail.com)"
+    license="LGPL"
+    hidden="true"
+    priority="5"
+  >
+<!--
+  The main purpose of this file is to hold GNU gcc extensions syntax in a single place,
+  so later it can be included to other (C++ based) syntaxes.
+
+  NOTE Default colors are set to 'Normal Text', so if u don't want to highight it,
+  just leave colors as is...
+
+  Based on GCC documentation
+-->
+<highlighting>
+  <list name="GNUTypes">
+    <!-- NOTE From gcc's info: 6.10 Additional Floating Types -->
+    <item> __float80 </item>
+    <item> __float128 </item>
+    <!-- NOTE From gcc's 4.7.1 info: 6.13 Decimal Floating Types -->
+    <item> _Decimal32 </item>
+    <item> _Decimal64 </item>
+    <item> _Decimal128 </item>
+    <!-- NOTE From gcc's info: 6.8 128-bits integers -->
+    <item> __int128 </item>
+    <!-- NOTE From gcc's 4.7.1 info: 6.12 Half-Precision Floating Point -->
+    <item> __fp16 </item>
+    <!-- NOTE From gcc's 4.7.1 info: 6.15 Fixed-Point Types -->
+    <item> _Fract </item>
+    <item> _Sat </item>
+    <item> _Accum </item>
+  </list>
+  <list name="GNUKeywords">
+    <!-- NOTE that __attribute__ handled separately -->
+    <item> __asm__ </item>
+    <item> __const__ </item>
+    <item> __extension__ </item>
+    <item> __inline__ </item>
+    <item> __label__ </item>
+    <item> __complex__ </item>
+    <item> __real__ </item>
+    <item> __restrict__ </item>
+    <item> __restrict </item>
+    <item> __imag__ </item>
+    <!-- NOTE From gcc's info: 6.6 Referring to a Type with `typeof' -->
+    <item> __typeof__ </item>
+    <item> typeof </item>
+    <!-- NOTE From gcc's 4.7.1 info: 6.38 -->
+    <item> __alignof__ </item>
+    <!-- NOTE From gcc's info: 6.59 Thread-Local storage -->
+    <item> __thread </item>
+  </list>
+  <!-- NOTE Everything started from `__builtin_' handled separately -->
+  <list name="GNUFunctions">
+    <!-- NOTE From gcc's info: 7.9 Type Traits -->
+    <item> __has_nothrow_assign </item>
+    <item> __has_nothrow_copy </item>
+    <item> __has_nothrow_constructor </item>
+    <item> __has_trivial_assign </item>
+    <item> __has_trivial_copy </item>
+    <item> __has_trivial_constructor </item>
+    <item> __has_trivial_destructor </item>
+    <item> __has_virtual_destructor </item>
+    <item> __is_abstract </item>
+    <item> __is_base_of </item>
+    <item> __is_class </item>
+    <item> __is_empty </item>
+    <item> __is_enum </item>
+    <item> __is_pod </item>
+    <item> __is_polymorphic </item>
+    <item> __is_union </item>
+    <!-- NOTE From gcc's info: 6.49 -->
+    <item> __sync_fetch_and_add </item>
+    <item> __sync_fetch_and_sub </item>
+    <item> __sync_fetch_and_or </item>
+    <item> __sync_fetch_and_and </item>
+    <item> __sync_fetch_and_xor </item>
+    <item> __sync_fetch_and_nand </item>
+    <item> __sync_add_and_fetch </item>
+    <item> __sync_sub_and_fetch </item>
+    <item> __sync_or_and_fetch </item>
+    <item> __sync_and_and_fetch </item>
+    <item> __sync_xor_and_fetch </item>
+    <item> __sync_nand_and_fetch </item>
+    <item> __sync_bool_compare_and_swap </item>
+    <item> __sync_val_compare_and_swap </item>
+    <item> __sync_synchronize </item>
+    <item> __sync_lock_test_and_set </item>
+    <item> __sync_lock_release </item>
+    <!-- NOTE From gcc 4.7.x info: 6.52 -->
+    <item> __atomic_load_n </item>
+    <item> __atomic_load </item>
+    <item> __atomic_store_n </item>
+    <item> __atomic_store </item>
+    <item> __atomic_exchange_n </item>
+    <item> __atomic_exchange </item>
+    <item> __atomic_compare_exchange_n </item>
+    <item> __atomic_compare_exchange </item>
+    <item> __atomic_add_fetch </item>
+    <item> __atomic_sub_fetch </item>
+    <item> __atomic_and_fetch </item>
+    <item> __atomic_or_fetch </item>
+    <item> __atomic_xor_fetch </item>
+    <item> __atomic_nand_fetch </item>
+    <item> __atomic_fetch_add </item>
+    <item> __atomic_fetch_sub </item>
+    <item> __atomic_fetch_and </item>
+    <item> __atomic_fetch_or </item>
+    <item> __atomic_fetch_xor </item>
+    <item> __atomic_fetch_nand </item>
+    <item> __atomic_test_and_set </item>
+    <item> __atomic_clear </item>
+    <item> __atomic_signal_fence </item>
+    <item> __atomic_thread_fence </item>
+    <item> __atomic_always_lock_free </item>
+    <item> __atomic_is_lock_free </item>
+  </list>
+  <!-- From http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
+        plus a lot of platform specific predefines found by my script
+        git@github.com:zaufi/kate-stuff.git/support/genpredefmacrolist.sh
+    -->
+  <list name="GNUMacros">
+    <item> _FORTIFY_SOURCE </item>
+    <item> _GNU_SOURCE </item>
+    <item> _ILP32 </item>
+    <item> _LP64 </item>
+    <item> _REENTRANT </item>
+    <item> _STDC_PREDEF_H </item>
+    <item> __3dNOW_A__ </item>
+    <item> __3dNOW__ </item>
+    <item> __ABM__ </item>
+    <item> __ADX__ </item>
+    <item> __AES__ </item>
+    <item> __ATOMIC_ACQUIRE </item>
+    <item> __ATOMIC_ACQ_REL </item>
+    <item> __ATOMIC_CONSUME </item>
+    <item> __ATOMIC_HLE_ACQUIRE </item>
+    <item> __ATOMIC_HLE_RELEASE </item>
+    <item> __ATOMIC_RELAXED </item>
+    <item> __ATOMIC_RELEASE </item>
+    <item> __ATOMIC_SEQ_CST </item>
+    <item> __AVX2__ </item>
+    <item> __AVX__ </item>
+    <item> __BASE_FILE__ </item>
+    <item> __BIGGEST_ALIGNMENT__ </item>
+    <item> __BMI2__ </item>
+    <item> __BMI__ </item>
+    <item> __BYTE_ORDER__ </item>
+    <item> __CHAR16_TYPE__ </item>
+    <item> __CHAR32_TYPE__ </item>
+    <item> __CHAR_BIT__ </item>
+    <item> __CHAR_UNSIGNED__ </item>
+    <item> __COUNTER__ </item>
+    <item> __DBL_DECIMAL_DIG__ </item>
+    <item> __DBL_DENORM_MIN__ </item>
+    <item> __DBL_DIG__ </item>
+    <item> __DBL_EPSILON__ </item>
+    <item> __DBL_HAS_DENORM__ </item>
+    <item> __DBL_HAS_INFINITY__ </item>
+    <item> __DBL_HAS_QUIET_NAN__ </item>
+    <item> __DBL_MANT_DIG__ </item>
+    <item> __DBL_MAX_10_EXP__ </item>
+    <item> __DBL_MAX_EXP__ </item>
+    <item> __DBL_MAX__ </item>
+    <item> __DBL_MIN_10_EXP__ </item>
+    <item> __DBL_MIN_EXP__ </item>
+    <item> __DBL_MIN__ </item>
+    <item> __DEC128_EPSILON__ </item>
+    <item> __DEC128_MANT_DIG__ </item>
+    <item> __DEC128_MAX_EXP__ </item>
+    <item> __DEC128_MAX__ </item>
+    <item> __DEC128_MIN_EXP__ </item>
+    <item> __DEC128_MIN__ </item>
+    <item> __DEC128_SUBNORMAL_MIN__ </item>
+    <item> __DEC32_EPSILON__ </item>
+    <item> __DEC32_MANT_DIG__ </item>
+    <item> __DEC32_MAX_EXP__ </item>
+    <item> __DEC32_MAX__ </item>
+    <item> __DEC32_MIN_EXP__ </item>
+    <item> __DEC32_MIN__ </item>
+    <item> __DEC32_SUBNORMAL_MIN__ </item>
+    <item> __DEC64_EPSILON__ </item>
+    <item> __DEC64_MANT_DIG__ </item>
+    <item> __DEC64_MAX_EXP__ </item>
+    <item> __DEC64_MAX__ </item>
+    <item> __DEC64_MIN_EXP__ </item>
+    <item> __DEC64_MIN__ </item>
+    <item> __DEC64_SUBNORMAL_MIN__ </item>
+    <item> __DECIMAL_BID_FORMAT__ </item>
+    <item> __DECIMAL_DIG__ </item>
+    <item> __DEC_EVAL_METHOD__ </item>
+    <item> __DEPRECATED </item>
+    <item> __ELF__ </item>
+    <item> __EXCEPTIONS </item>
+    <item> __F16C__ </item>
+    <item> __FAST_MATH__ </item>
+    <item> __FINITE_MATH_ONLY__ </item>
+    <item> __FLOAT_WORD_ORDER__ </item>
+    <item> __FLT_DECIMAL_DIG__ </item>
+    <item> __FLT_DENORM_MIN__ </item>
+    <item> __FLT_DIG__ </item>
+    <item> __FLT_EPSILON__ </item>
+    <item> __FLT_EVAL_METHOD__ </item>
+    <item> __FLT_HAS_DENORM__ </item>
+    <item> __FLT_HAS_INFINITY__ </item>
+    <item> __FLT_HAS_QUIET_NAN__ </item>
+    <item> __FLT_MANT_DIG__ </item>
+    <item> __FLT_MAX_10_EXP__ </item>
+    <item> __FLT_MAX_EXP__ </item>
+    <item> __FLT_MAX__ </item>
+    <item> __FLT_MIN_10_EXP__ </item>
+    <item> __FLT_MIN_EXP__ </item>
+    <item> __FLT_MIN__ </item>
+    <item> __FLT_RADIX__ </item>
+    <item> __FMA4__ </item>
+    <item> __FMA__ </item>
+    <item> __FP_FAST_FMA </item>
+    <item> __FP_FAST_FMAF </item>
+    <item> __FSGSBASE__ </item>
+    <item> __FUNCTION__ </item>
+    <item> __FXSR__ </item>
+    <item> __GCC_ATOMIC_BOOL_LOCK_FREE </item>
+    <item> __GCC_ATOMIC_CHAR16_T_LOCK_FREE </item>
+    <item> __GCC_ATOMIC_CHAR32_T_LOCK_FREE </item>
+    <item> __GCC_ATOMIC_CHAR_LOCK_FREE </item>
+    <item> __GCC_ATOMIC_INT_LOCK_FREE </item>
+    <item> __GCC_ATOMIC_LLONG_LOCK_FREE </item>
+    <item> __GCC_ATOMIC_LONG_LOCK_FREE </item>
+    <item> __GCC_ATOMIC_POINTER_LOCK_FREE </item>
+    <item> __GCC_ATOMIC_SHORT_LOCK_FREE </item>
+    <item> __GCC_ATOMIC_TEST_AND_SET_TRUEVAL </item>
+    <item> __GCC_ATOMIC_WCHAR_T_LOCK_FREE </item>
+    <item> __GCC_HAVE_DWARF2_CFI_ASM </item>
+    <item> __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 </item>
+    <item> __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 </item>
+    <item> __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 </item>
+    <item> __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 </item>
+    <item> __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 </item>
+    <item> __GFORTRAN__ </item>
+    <item> __GNUC_GNU_INLINE__ </item>
+    <item> __GNUC_MINOR__ </item>
+    <item> __GNUC_PATCHLEVEL__ </item>
+    <item> __GNUC_STDC_INLINE__ </item>
+    <item> __GNUC__ </item>
+    <item> __GNUG__ </item>
+    <item> __GXX_ABI_VERSION </item>
+    <item> __GXX_EXPERIMENTAL_CXX0X__ </item>
+    <item> __GXX_RTTI </item>
+    <item> __GXX_WEAK__ </item>
+    <item> __ILP32__ </item>
+    <item> __INCLUDE_LEVEL__ </item>
+    <item> __INT16_C </item>
+    <item> __INT16_MAX__ </item>
+    <item> __INT16_TYPE__ </item>
+    <item> __INT32_C </item>
+    <item> __INT32_MAX__ </item>
+    <item> __INT32_TYPE__ </item>
+    <item> __INT64_C </item>
+    <item> __INT64_MAX__ </item>
+    <item> __INT64_TYPE__ </item>
+    <item> __INT8_C </item>
+    <item> __INT8_MAX__ </item>
+    <item> __INT8_TYPE__ </item>
+    <item> __INTMAX_C </item>
+    <item> __INTMAX_MAX__ </item>
+    <item> __INTMAX_TYPE__ </item>
+    <item> __INTPTR_MAX__ </item>
+    <item> __INTPTR_TYPE__ </item>
+    <item> __INT_FAST16_MAX__ </item>
+    <item> __INT_FAST16_TYPE__ </item>
+    <item> __INT_FAST32_MAX__ </item>
+    <item> __INT_FAST32_TYPE__ </item>
+    <item> __INT_FAST64_MAX__ </item>
+    <item> __INT_FAST64_TYPE__ </item>
+    <item> __INT_FAST8_MAX__ </item>
+    <item> __INT_FAST8_TYPE__ </item>
+    <item> __INT_LEAST16_MAX__ </item>
+    <item> __INT_LEAST16_TYPE__ </item>
+    <item> __INT_LEAST32_MAX__ </item>
+    <item> __INT_LEAST32_TYPE__ </item>
+    <item> __INT_LEAST64_MAX__ </item>
+    <item> __INT_LEAST64_TYPE__ </item>
+    <item> __INT_LEAST8_MAX__ </item>
+    <item> __INT_LEAST8_TYPE__ </item>
+    <item> __INT_MAX__ </item>
+    <item> __LDBL_DENORM_MIN__ </item>
+    <item> __LDBL_DIG__ </item>
+    <item> __LDBL_EPSILON__ </item>
+    <item> __LDBL_HAS_DENORM__ </item>
+    <item> __LDBL_HAS_INFINITY__ </item>
+    <item> __LDBL_HAS_QUIET_NAN__ </item>
+    <item> __LDBL_MANT_DIG__ </item>
+    <item> __LDBL_MAX_10_EXP__ </item>
+    <item> __LDBL_MAX_EXP__ </item>
+    <item> __LDBL_MAX__ </item>
+    <item> __LDBL_MIN_10_EXP__ </item>
+    <item> __LDBL_MIN_EXP__ </item>
+    <item> __LDBL_MIN__ </item>
+    <item> __LONG_LONG_MAX__ </item>
+    <item> __LONG_MAX__ </item>
+    <item> __LP64__ </item>
+    <item> __LWP__ </item>
+    <item> __LZCNT__ </item>
+    <item> __MMX__ </item>
+    <item> __NEXT_RUNTIME__ </item>
+    <item> __NO_INLINE__ </item>
+    <item> __OPTIMIZE_SIZE__ </item>
+    <item> __OPTIMIZE__ </item>
+    <item> __ORDER_BIG_ENDIAN__ </item>
+    <item> __ORDER_LITTLE_ENDIAN__ </item>
+    <item> __ORDER_PDP_ENDIAN__ </item>
+    <item> __PCLMUL__ </item>
+    <item> __PIC__ </item>
+    <item> __PIE__ </item>
+    <item> __POPCNT__ </item>
+    <item> __PRAGMA_REDEFINE_EXTNAME </item>
+    <item> __PRETTY_FUNCTION__ </item>
+    <item> __PRFCHW__ </item>
+    <item> __PTRDIFF_MAX__ </item>
+    <item> __PTRDIFF_TYPE__ </item>
+    <item> __RDRND__ </item>
+    <item> __RDSEED__ </item>
+    <item> __REGISTER_PREFIX__ </item>
+    <item> __RTM__ </item>
+    <item> __SANITIZE_ADDRESS__ </item>
+    <item> __SCHAR_MAX__ </item>
+    <item> __SHRT_MAX__ </item>
+    <item> __SIG_ATOMIC_MAX__ </item>
+    <item> __SIG_ATOMIC_MIN__ </item>
+    <item> __SIG_ATOMIC_TYPE__ </item>
+    <item> __SIZEOF_DOUBLE__ </item>
+    <item> __SIZEOF_FLOAT__ </item>
+    <item> __SIZEOF_INT128__ </item>
+    <item> __SIZEOF_INT__ </item>
+    <item> __SIZEOF_LONG_DOUBLE__ </item>
+    <item> __SIZEOF_LONG_LONG__ </item>
+    <item> __SIZEOF_LONG__ </item>
+    <item> __SIZEOF_POINTER__ </item>
+    <item> __SIZEOF_PTRDIFF_T__ </item>
+    <item> __SIZEOF_SHORT__ </item>
+    <item> __SIZEOF_SIZE_T__ </item>
+    <item> __SIZEOF_WCHAR_T__ </item>
+    <item> __SIZEOF_WINT_T__ </item>
+    <item> __SIZE_MAX__ </item>
+    <item> __SIZE_TYPE__ </item>
+    <item> __SSE2_MATH__ </item>
+    <item> __SSE2__ </item>
+    <item> __SSE3__ </item>
+    <item> __SSE4A__ </item>
+    <item> __SSE4_1__ </item>
+    <item> __SSE4_2__ </item>
+    <item> __SSE_MATH__ </item>
+    <item> __SSE__ </item>
+    <item> __SSP_ALL__ </item>
+    <item> __SSP__ </item>
+    <item> __SSSE3__ </item>
+    <item> __STDC_HOSTED__ </item>
+    <item> __STDC_IEC_559_COMPLEX__ </item>
+    <item> __STDC_IEC_559__ </item>
+    <item> __STDC_ISO_10646__ </item>
+    <item> __STDC_NO_THREADS__ </item>
+    <item> __STDC_UTF_16__ </item>
+    <item> __STDC_UTF_32__ </item>
+    <item> __STDC_VERSION__ </item>
+    <item> __STDC__ </item>
+    <item> __STRICT_ANSI__ </item>
+    <item> __TBM__ </item>
+    <item> __TIMESTAMP__ </item>
+    <item> __UINT16_C </item>
+    <item> __UINT16_MAX__ </item>
+    <item> __UINT16_TYPE__ </item>
+    <item> __UINT32_C </item>
+    <item> __UINT32_MAX__ </item>
+    <item> __UINT32_TYPE__ </item>
+    <item> __UINT64_C </item>
+    <item> __UINT64_MAX__ </item>
+    <item> __UINT64_TYPE__ </item>
+    <item> __UINT8_C </item>
+    <item> __UINT8_MAX__ </item>
+    <item> __UINT8_TYPE__ </item>
+    <item> __UINTMAX_C </item>
+    <item> __UINTMAX_MAX__ </item>
+    <item> __UINTMAX_TYPE__ </item>
+    <item> __UINTPTR_MAX__ </item>
+    <item> __UINTPTR_TYPE__ </item>
+    <item> __UINT_FAST16_MAX__ </item>
+    <item> __UINT_FAST16_TYPE__ </item>
+    <item> __UINT_FAST32_MAX__ </item>
+    <item> __UINT_FAST32_TYPE__ </item>
+    <item> __UINT_FAST64_MAX__ </item>
+    <item> __UINT_FAST64_TYPE__ </item>
+    <item> __UINT_FAST8_MAX__ </item>
+    <item> __UINT_FAST8_TYPE__ </item>
+    <item> __UINT_LEAST16_MAX__ </item>
+    <item> __UINT_LEAST16_TYPE__ </item>
+    <item> __UINT_LEAST32_MAX__ </item>
+    <item> __UINT_LEAST32_TYPE__ </item>
+    <item> __UINT_LEAST64_MAX__ </item>
+    <item> __UINT_LEAST64_TYPE__ </item>
+    <item> __UINT_LEAST8_MAX__ </item>
+    <item> __UINT_LEAST8_TYPE__ </item>
+    <item> __USER_LABEL_PREFIX__ </item>
+    <item> __USING_SJLJ_EXCEPTIONS__ </item>
+    <item> __VA_ARGS__ </item>
+    <item> __VERSION__ </item>
+    <item> __WCHAR_MAX__ </item>
+    <item> __WCHAR_MIN__ </item>
+    <item> __WCHAR_TYPE__ </item>
+    <item> __WCHAR_UNSIGNED__ </item>
+    <item> __WINT_MAX__ </item>
+    <item> __WINT_MIN__ </item>
+    <item> __WINT_TYPE__ </item>
+    <item> __XOP__ </item>
+    <item> __XSAVEOPT__ </item>
+    <item> __XSAVE__ </item>
+    <item> __amd64 </item>
+    <item> __amd64__ </item>
+    <item> __amdfam10 </item>
+    <item> __amdfam10__ </item>
+    <item> __athlon </item>
+    <item> __athlon__ </item>
+    <item> __athlon_sse__ </item>
+    <item> __atom </item>
+    <item> __atom__ </item>
+    <item> __bdver1 </item>
+    <item> __bdver1__ </item>
+    <item> __bdver2 </item>
+    <item> __bdver2__ </item>
+    <item> __bdver3 </item>
+    <item> __bdver3__ </item>
+    <item> __btver1 </item>
+    <item> __btver1__ </item>
+    <item> __btver2 </item>
+    <item> __btver2__ </item>
+    <item> __code_model_32__ </item>
+    <item> __code_model_small__ </item>
+    <item> __core2 </item>
+    <item> __core2__ </item>
+    <item> __core_avx2 </item>
+    <item> __core_avx2__ </item>
+    <item> __corei7 </item>
+    <item> __corei7__ </item>
+    <item> __cplusplus </item>
+    <item> __geode </item>
+    <item> __geode__ </item>
+    <item> __gnu_linux__ </item>
+    <item> __i386 </item>
+    <item> __i386__ </item>
+    <item> __i486 </item>
+    <item> __i486__ </item>
+    <item> __i586 </item>
+    <item> __i586__ </item>
+    <item> __i686 </item>
+    <item> __i686__ </item>
+    <item> __k6 </item>
+    <item> __k6_2__ </item>
+    <item> __k6_3__ </item>
+    <item> __k6__ </item>
+    <item> __k8 </item>
+    <item> __k8__ </item>
+    <item> __linux </item>
+    <item> __linux__ </item>
+    <item> __nocona </item>
+    <item> __nocona__ </item>
+    <item> __pentium </item>
+    <item> __pentium4 </item>
+    <item> __pentium4__ </item>
+    <item> __pentium__ </item>
+    <item> __pentium_mmx__ </item>
+    <item> __pentiumpro </item>
+    <item> __pentiumpro__ </item>
+    <item> __pic__ </item>
+    <item> __pie__ </item>
+    <item> __tune_amdfam10__ </item>
+    <item> __tune_athlon__ </item>
+    <item> __tune_athlon_sse__ </item>
+    <item> __tune_atom__ </item>
+    <item> __tune_bdver1__ </item>
+    <item> __tune_bdver2__ </item>
+    <item> __tune_bdver3__ </item>
+    <item> __tune_btver1__ </item>
+    <item> __tune_btver2__ </item>
+    <item> __tune_core2__ </item>
+    <item> __tune_core_avx2__ </item>
+    <item> __tune_corei7__ </item>
+    <item> __tune_geode__ </item>
+    <item> __tune_i386__ </item>
+    <item> __tune_i486__ </item>
+    <item> __tune_i586__ </item>
+    <item> __tune_i686__ </item>
+    <item> __tune_k6_2__ </item>
+    <item> __tune_k6_3__ </item>
+    <item> __tune_k6__ </item>
+    <item> __tune_k8__ </item>
+    <item> __tune_nocona__ </item>
+    <item> __tune_pentium2__ </item>
+    <item> __tune_pentium3__ </item>
+    <item> __tune_pentium4__ </item>
+    <item> __tune_pentium__ </item>
+    <item> __tune_pentium_mmx__ </item>
+    <item> __tune_pentiumpro__ </item>
+    <item> __unix </item>
+    <item> __unix__ </item>
+    <item> __x86_64 </item>
+    <item> __x86_64__ </item>
+    <item> i386 </item>
+    <item> linux </item>
+    <item> unix </item>
+  </list>
+  <contexts>
+    <context name="DetectGccExtensions" attribute="Normal Text" lineEndContext="#stay">
+      <keyword attribute="GNU Macros" context="#stay" String="GNUMacros" />
+      <keyword attribute="GNU Functions" context="#stay" String="GNUFunctions" />
+      <keyword attribute="GNU Types" context="#stay" String="GNUTypes" />
+      <StringDetect attribute="GNU Extensions" context="AttrArgs" String="__attribute__" />
+      <StringDetect attribute="GNU Extensions" context="AttrArgs" String="__declspec" />
+      <keyword attribute="GNU Extensions" context="#stay" String="GNUKeywords" />
+      <RegExpr attribute="GNU Functions" context="#stay" String="__builtin_[a-zA-Z0-9_]+" />
+      <!-- (gcc info 6.57) Binary constants using the `0b' prefix -->
+      <RegExpr attribute="GNU Extensions" context="#stay" String="0[Bb][01]+([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />
+    </context>
+
+    <context name="GNUMacros" attribute="Normal Text" lineEndContext="#stay">
+      <keyword attribute="GNU Macros" context="#stay" String="GNUMacros" />
+    </context>
+
+    <context name="AttrArgs" attribute="GNU Extensions" lineEndContext="#pop">
+      <Detect2Chars attribute="GNU Extensions" context="#stay" char="(" char1="(" />
+      <Detect2Chars attribute="GNU Extensions" context="#pop" char=")" char1=")" />
+      <DetectChar attribute="GNU Extensions" context="Close" char="(" />
+    </context>
+
+    <context name="Close" attribute="GNU Extensions" lineEndContext="#stay">
+      <DetectChar attribute="GNU Extensions" context="#pop" char=")" />
+      <DetectChar attribute="String" context="AttrStringArg" char="&quot;" />
+    </context>
+
+    <context name="AttrStringArg" attribute="String" lineEndContext="#stay">
+      <DetectChar attribute="String" context="#pop" char="&quot;" />
+    </context>
+
+  </contexts>
+
+  <itemDatas>
+    <itemData name="Normal Text"    defStyleNum="dsNormal" spellChecking="false" />
+    <itemData name="GNU Extensions" defStyleNum="dsExtension" spellChecking="false" italic="1" />
+    <itemData name="GNU Functions"  defStyleNum="dsFunction" spellChecking="false" />
+    <itemData name="GNU Macros"     defStyleNum="dsOthers" spellChecking="false" />
+    <itemData name="GNU Types"      defStyleNum="dsDataType" spellChecking="false" />
+    <itemData name="String"         defStyleNum="dsString" spellChecking="false" />
+  </itemDatas>
+</highlighting>
+
+<general>
+  <comments>
+    <comment name="singleLine" start="//"/>
+  </comments>
+  <keywords casesensitive="1"/>
+</general>
+</language>
+<!-- kate: indent-width 2; tab-width 2; -->
diff --git a/xml/glsl.xml b/xml/glsl.xml
new file mode 100644
--- /dev/null
+++ b/xml/glsl.xml
@@ -0,0 +1,1217 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="GLSL" section="3D" extensions="*.glsl;*.vert;*.frag;*.geom;*.tcs;*.tes" mimetype="text/x-glslsrc" version="3" kateversion="5.0" author="Oliver Richers (o.richers@tu-bs.de)" license="LGPL">
+	<highlighting>
+		<list name="keywords">
+			<item>break</item>
+			<item>continue</item>
+			<item>do</item>
+			<item>for</item>
+			<item>while</item>
+			
+			<item>if</item>
+			<item>else</item>
+			
+			<item>true</item>
+			<item>false</item>
+			
+			<item>discard</item>
+			<item>return</item>
+			
+			<item>struct</item>
+			<item>subroutine</item>
+			<item>layout</item>
+			<item>uniform</item>
+			<item>buffer</item>
+			<item>invariant</item>
+		</list>
+		<list name="types">
+			<item>float</item>
+			<item>int</item>
+			<item>void</item>
+			<item>bool</item>
+
+			<item>mat2</item>
+			<item>mat3</item>
+			<item>mat4</item>
+			
+			<item>vec2</item>
+			<item>vec3</item>
+			<item>vec4</item>
+			<item>ivec2</item>
+			<item>ivec3</item>
+			<item>ivec4</item>
+			<item>bvec2</item>
+			<item>bvec3</item>
+			<item>bvec4</item>
+			
+			<item>sampler1D</item>
+			<item>sampler2D</item>
+			<item>sampler3D</item>
+			<item>samplerCube</item>
+			<item>sampler2DRect</item>
+			<item>sampler1DArray</item>
+			<item>sampler2DArray</item>
+			<item>samplerCubeArray</item>
+			<item>samplerBuffer</item>
+			<item>sampler2DMS</item>
+			<item>sampler2DMSArray</item>
+
+			<item>sampler1DShadow</item>
+			<item>sampler2DShadow</item>
+			<item>samplerCubeShadow</item>
+			<item>sampler2DRectShadow</item>
+			<item>sampler1DArrayShadow</item>
+			<item>sampler2DArrayShadow</item>
+			<item>samplerCubeArrayShadow</item>
+
+			<item>isampler1D</item>
+			<item>isampler2D</item>
+			<item>isampler3D</item>
+			<item>isamplerCube</item>
+			<item>isampler2DRect</item>
+			<item>isampler1DArray</item>
+			<item>isampler2DArray</item>
+			<item>isamplerCubeArray</item>
+			<item>isamplerBuffer</item>
+			<item>isampler2DMS</item>
+			<item>isampler2DMSArray</item>
+
+			<item>isampler1DShadow</item>
+			<item>isampler2DShadow</item>
+			<item>isamplerCubeShadow</item>
+			<item>isampler2DRectShadow</item>
+			<item>isampler1DArrayShadow</item>
+			<item>isampler2DArrayShadow</item>
+			<item>isamplerCubeArrayShadow</item>
+
+			<item>usampler1D</item>
+			<item>usampler2D</item>
+			<item>usampler3D</item>
+			<item>usamplerCube</item>
+			<item>usampler2DRect</item>
+			<item>usampler1DArray</item>
+			<item>usampler2DArray</item>
+			<item>usamplerCubeArray</item>
+			<item>usamplerBuffer</item>
+			<item>usampler2DMS</item>
+			<item>usampler2DMSArray</item>
+
+			<item>usampler1DShadow</item>
+			<item>usampler2DShadow</item>
+			<item>usamplerCubeShadow</item>
+			<item>usampler2DRectShadow</item>
+			<item>usampler1DArrayShadow</item>
+			<item>usampler2DArrayShadow</item>
+			<item>usamplerCubeArrayShadow</item>
+
+			<item>atomic_uint</item>
+		</list>
+		<list name="typequal">
+			<item>attribute</item>
+			<item>const</item>
+			<item>varying</item>
+			
+			<item>in</item>
+			<item>out</item>
+			<item>inout</item>
+
+			<!-- interpolation qualifiers -->
+			<item>flat</item>
+			<item>noperspective</item>
+			<item>smooth</item>
+
+			<!-- layout qualifiers -->
+			<item>location</item>
+			<item>component</item>
+			<item>binding</item>
+			<item>index</item>
+			<item>offset</item>
+
+			<!-- interface block -->
+			<item>row_major</item>
+			<item>packed</item>
+			<item>shared</item>
+			<item>std140</item>
+			<item>std430</item>
+
+			<!-- force feedback -->
+			<item>xfb_buffer</item>
+			<item>xfb_offset</item>
+			<item>xfb_stride</item>
+
+			<!-- fragment shader -->
+			<item>origin_upper_left</item>
+			<item>pixel_center_integer</item>
+			<item>early_fragment_tests</item>
+
+			<!-- geometry shader-->
+			<item>points</item>
+			<item>lines</item>
+			<item>lines_adjacency</item>
+			<item>triangles</item>
+			<item>triangles_adjacency</item>
+			<item>line_strip</item>
+			<item>triangle_strip</item>
+			<item>max_vertices</item>
+			<item>invocations</item>
+			<item>stream</item>
+
+			<!-- tesselation -->
+			<item>isolines</item>
+			<item>triangles</item>
+			<item>quads</item>
+			<item>point_mode</item>
+			<item>equal_spacing</item>
+			<item>fractional_even_spacing</item>
+			<item>fractional_odd_spacing</item>
+			<item>cw</item>
+			<item>ccw</item>
+			<item>vertices</item>
+
+			<!-- memory qualifiers -->
+			<item>coherent</item>
+			<item>volatile</item>
+			<item>restrict</item>
+			<item>readonly</item>
+			<item>writeonly</item>
+		</list>
+		<list name="attention">
+			<item>FIXME</item>
+			<item>TODO</item>
+			<item>BUG</item>
+		</list>
+		<list name="stdlib">
+			<!-- see also: https://www.opengl.org/sdk/docs/man4/ -->
+			<item>abs</item>
+			<item>acos</item>
+			<item>acosh</item>
+			<item>glActiveShaderProgram</item>
+			<item>glActiveTexture</item>
+			<item>all</item>
+			<item>any</item>
+			<item>asin</item>
+			<item>asinh</item>
+			<item>atan</item>
+			<item>atanh</item>
+			<item>atomicAdd</item>
+			<item>atomicAnd</item>
+			<item>atomicCompSwap</item>
+			<item>atomicCounter</item>
+			<item>atomicCounterDecrement</item>
+			<item>atomicCounterIncrement</item>
+			<item>atomicExchange</item>
+			<item>atomicMax</item>
+			<item>atomicMin</item>
+			<item>atomicOr</item>
+			<item>atomicXor</item>
+			<item>glAttachShader</item>
+			<item>barrier</item>
+			<item>glBeginConditionalRender</item>
+			<item>glBeginQuery</item>
+			<item>glBeginQueryIndexed</item>
+			<item>glBeginTransformFeedback</item>
+			<item>glBindAttribLocation</item>
+			<item>glBindBuffer</item>
+			<item>glBindBufferBase</item>
+			<item>glBindBufferRange</item>
+			<item>glBindBuffersBase</item>
+			<item>glBindBuffersRange</item>
+			<item>glBindFragDataLocation</item>
+			<item>glBindFragDataLocationIndexed</item>
+			<item>glBindFramebuffer</item>
+			<item>glBindImageTexture</item>
+			<item>glBindImageTextures</item>
+			<item>glBindProgramPipeline</item>
+			<item>glBindRenderbuffer</item>
+			<item>glBindSampler</item>
+			<item>glBindSamplers</item>
+			<item>glBindTexture</item>
+			<item>glBindTextures</item>
+			<item>glBindTextureUnit</item>
+			<item>glBindTransformFeedback</item>
+			<item>glBindVertexArray</item>
+			<item>glBindVertexBuffer</item>
+			<item>glBindVertexBuffers</item>
+			<item>bitCount</item>
+			<item>bitfieldExtract</item>
+			<item>bitfieldInsert</item>
+			<item>bitfieldReverse</item>
+			<item>glBlendColor</item>
+			<item>glBlendEquation</item>
+			<item>glBlendEquationi</item>
+			<item>glBlendEquationSeparate</item>
+			<item>glBlendEquationSeparatei</item>
+			<item>glBlendFunc</item>
+			<item>glBlendFunci</item>
+			<item>glBlendFuncSeparate</item>
+			<item>glBlendFuncSeparatei</item>
+			<item>glBlitFramebuffer</item>
+			<item>glBlitNamedFramebuffer</item>
+			<item>glBufferData</item>
+			<item>glBufferStorage</item>
+			<item>glBufferSubData</item>
+			<item>ceil</item>
+			<item>glCheckFramebufferStatus</item>
+			<item>glCheckNamedFramebufferStatus</item>
+			<item>clamp</item>
+			<item>glClampColor</item>
+			<item>glClear</item>
+			<item>glClearBuffer</item>
+			<item>glClearBufferData</item>
+			<item>glClearBufferfi</item>
+			<item>glClearBufferfv</item>
+			<item>glClearBufferiv</item>
+			<item>glClearBufferSubData</item>
+			<item>glClearBufferuiv</item>
+			<item>glClearColor</item>
+			<item>glClearDepth</item>
+			<item>glClearDepthf</item>
+			<item>glClearNamedBufferData</item>
+			<item>glClearNamedBufferSubData</item>
+			<item>glClearNamedFramebufferfi</item>
+			<item>glClearNamedFramebufferfv</item>
+			<item>glClearNamedFramebufferiv</item>
+			<item>glClearNamedFramebufferuiv</item>
+			<item>glClearStencil</item>
+			<item>glClearTexImage</item>
+			<item>glClearTexSubImage</item>
+			<item>glClientWaitSync</item>
+			<item>glClipControl</item>
+			<item>glColorMask</item>
+			<item>glColorMaski</item>
+			<item>glCompileShader</item>
+			<item>glCompressedTexImage1D</item>
+			<item>glCompressedTexImage2D</item>
+			<item>glCompressedTexImage3D</item>
+			<item>glCompressedTexSubImage1D</item>
+			<item>glCompressedTexSubImage2D</item>
+			<item>glCompressedTexSubImage3D</item>
+			<item>glCompressedTextureSubImage1D</item>
+			<item>glCompressedTextureSubImage2D</item>
+			<item>glCompressedTextureSubImage3D</item>
+			<item>glCopyBufferSubData</item>
+			<item>glCopyImageSubData</item>
+			<item>glCopyNamedBufferSubData</item>
+			<item>glCopyTexImage1D</item>
+			<item>glCopyTexImage2D</item>
+			<item>glCopyTexSubImage1D</item>
+			<item>glCopyTexSubImage2D</item>
+			<item>glCopyTexSubImage3D</item>
+			<item>glCopyTextureSubImage1D</item>
+			<item>glCopyTextureSubImage2D</item>
+			<item>glCopyTextureSubImage3D</item>
+			<item>cos</item>
+			<item>cosh</item>
+			<item>glCreateBuffers</item>
+			<item>glCreateFramebuffers</item>
+			<item>glCreateProgram</item>
+			<item>glCreateProgramPipelines</item>
+			<item>glCreateQueries</item>
+			<item>glCreateRenderbuffers</item>
+			<item>glCreateSamplers</item>
+			<item>glCreateShader</item>
+			<item>glCreateShaderProgram</item>
+			<item>glCreateShaderProgramv</item>
+			<item>glCreateTextures</item>
+			<item>glCreateTransformFeedbacks</item>
+			<item>glCreateVertexArrays</item>
+			<item>cross</item>
+			<item>glCullFace</item>
+			<item>glDebugMessageCallback</item>
+			<item>glDebugMessageControl</item>
+			<item>glDebugMessageInsert</item>
+			<item>degrees</item>
+			<item>glDeleteBuffers</item>
+			<item>glDeleteFramebuffers</item>
+			<item>glDeleteProgram</item>
+			<item>glDeleteProgramPipelines</item>
+			<item>glDeleteQueries</item>
+			<item>glDeleteRenderbuffers</item>
+			<item>glDeleteSamplers</item>
+			<item>glDeleteShader</item>
+			<item>glDeleteSync</item>
+			<item>glDeleteTextures</item>
+			<item>glDeleteTransformFeedbacks</item>
+			<item>glDeleteVertexArrays</item>
+			<item>glDepthFunc</item>
+			<item>glDepthMask</item>
+			<item>glDepthRange</item>
+			<item>glDepthRangeArray</item>
+			<item>glDepthRangeArrayv</item>
+			<item>glDepthRangef</item>
+			<item>glDepthRangeIndexed</item>
+			<item>glDetachShader</item>
+			<item>determinant</item>
+			<item>dFdx</item>
+			<item>dFdxCoarse</item>
+			<item>dFdxFine</item>
+			<item>dFdy</item>
+			<item>dFdyCoarse</item>
+			<item>dFdyFine</item>
+			<item>glDisable</item>
+			<item>glDisablei</item>
+			<item>glDisableVertexArrayAttrib</item>
+			<item>glDisableVertexAttribArray</item>
+			<item>glDispatchCompute</item>
+			<item>glDispatchComputeIndirect</item>
+			<item>distance</item>
+			<item>dot</item>
+			<item>glDrawArrays</item>
+			<item>glDrawArraysIndirect</item>
+			<item>glDrawArraysInstanced</item>
+			<item>glDrawArraysInstancedBaseInstance</item>
+			<item>glDrawBuffer</item>
+			<item>glDrawBuffers</item>
+			<item>glDrawElements</item>
+			<item>glDrawElementsBaseVertex</item>
+			<item>glDrawElementsIndirect</item>
+			<item>glDrawElementsInstanced</item>
+			<item>glDrawElementsInstancedBaseInstance</item>
+			<item>glDrawElementsInstancedBaseVertex</item>
+			<item>glDrawElementsInstancedBaseVertexBaseInstance</item>
+			<item>glDrawRangeElements</item>
+			<item>glDrawRangeElementsBaseVertex</item>
+			<item>glDrawTransformFeedback</item>
+			<item>glDrawTransformFeedbackInstanced</item>
+			<item>glDrawTransformFeedbackStream</item>
+			<item>glDrawTransformFeedbackStreamInstanced</item>
+			<item>EmitStreamVertex</item>
+			<item>EmitVertex</item>
+			<item>glEnable</item>
+			<item>glEnablei</item>
+			<item>glEnableVertexArrayAttrib</item>
+			<item>glEnableVertexAttribArray</item>
+			<item>glEndConditionalRender</item>
+			<item>EndPrimitive</item>
+			<item>glEndQuery</item>
+			<item>glEndQueryIndexed</item>
+			<item>EndStreamPrimitive</item>
+			<item>glEndTransformFeedback</item>
+			<item>equal</item>
+			<item>exp</item>
+			<item>exp2</item>
+			<item>faceforward</item>
+			<item>glFenceSync</item>
+			<item>findLSB</item>
+			<item>findMSB</item>
+			<item>glFinish</item>
+			<item>floatBitsToInt</item>
+			<item>floatBitsToUint</item>
+			<item>floor</item>
+			<item>glFlush</item>
+			<item>glFlushMappedBufferRange</item>
+			<item>glFlushMappedNamedBufferRange</item>
+			<item>fma</item>
+			<item>fract</item>
+			<item>glFramebufferParameteri</item>
+			<item>glFramebufferRenderbuffer</item>
+			<item>glFramebufferTexture</item>
+			<item>glFramebufferTexture1D</item>
+			<item>glFramebufferTexture2D</item>
+			<item>glFramebufferTexture3D</item>
+			<item>glFramebufferTextureLayer</item>
+			<item>frexp</item>
+			<item>glFrontFace</item>
+			<item>fwidth</item>
+			<item>fwidthCoarse</item>
+			<item>fwidthFine</item>
+			<item>glGenBuffers</item>
+			<item>glGenerateMipmap</item>
+			<item>glGenerateTextureMipmap</item>
+			<item>glGenFramebuffers</item>
+			<item>glGenProgramPipelines</item>
+			<item>glGenQueries</item>
+			<item>glGenRenderbuffers</item>
+			<item>glGenSamplers</item>
+			<item>glGenTextures</item>
+			<item>glGenTransformFeedbacks</item>
+			<item>glGenVertexArrays</item>
+			<item>glGet</item>
+			<item>glGetActiveAtomicCounterBufferiv</item>
+			<item>glGetActiveAttrib</item>
+			<item>glGetActiveSubroutineName</item>
+			<item>glGetActiveSubroutineUniform</item>
+			<item>glGetActiveSubroutineUniformiv</item>
+			<item>glGetActiveSubroutineUniformName</item>
+			<item>glGetActiveUniform</item>
+			<item>glGetActiveUniformBlock</item>
+			<item>glGetActiveUniformBlockiv</item>
+			<item>glGetActiveUniformBlockName</item>
+			<item>glGetActiveUniformName</item>
+			<item>glGetActiveUniformsiv</item>
+			<item>glGetAttachedShaders</item>
+			<item>glGetAttribLocation</item>
+			<item>glGetBooleani_v</item>
+			<item>glGetBooleanv</item>
+			<item>glGetBufferParameter</item>
+			<item>glGetBufferParameteri64v</item>
+			<item>glGetBufferParameteriv</item>
+			<item>glGetBufferPointerv</item>
+			<item>glGetBufferSubData</item>
+			<item>glGetCompressedTexImage</item>
+			<item>glGetCompressedTextureImage</item>
+			<item>glGetCompressedTextureSubImage</item>
+			<item>glGetDebugMessageLog</item>
+			<item>glGetDoublei_v</item>
+			<item>glGetDoublev</item>
+			<item>glGetError</item>
+			<item>glGetFloati_v</item>
+			<item>glGetFloatv</item>
+			<item>glGetFragDataIndex</item>
+			<item>glGetFragDataLocation</item>
+			<item>glGetFramebufferAttachmentParameter</item>
+			<item>glGetFramebufferAttachmentParameteriv</item>
+			<item>glGetFramebufferParameter</item>
+			<item>glGetFramebufferParameteriv</item>
+			<item>glGetGraphicsResetStatus</item>
+			<item>glGetInteger64i_v</item>
+			<item>glGetInteger64v</item>
+			<item>glGetIntegeri_v</item>
+			<item>glGetIntegerv</item>
+			<item>glGetInternalformat</item>
+			<item>glGetInternalformati64v</item>
+			<item>glGetInternalformativ</item>
+			<item>glGetMultisample</item>
+			<item>glGetMultisamplefv</item>
+			<item>glGetNamedBufferParameteri64v</item>
+			<item>glGetNamedBufferParameteriv</item>
+			<item>glGetNamedBufferPointerv</item>
+			<item>glGetNamedBufferSubData</item>
+			<item>glGetNamedFramebufferAttachmentParameteriv</item>
+			<item>glGetNamedFramebufferParameteriv</item>
+			<item>glGetNamedRenderbufferParameteriv</item>
+			<item>glGetnCompressedTexImage</item>
+			<item>glGetnTexImage</item>
+			<item>glGetnUniformdv</item>
+			<item>glGetnUniformfv</item>
+			<item>glGetnUniformiv</item>
+			<item>glGetnUniformuiv</item>
+			<item>glGetObjectLabel</item>
+			<item>glGetObjectPtrLabel</item>
+			<item>glGetPointerv</item>
+			<item>glGetProgram</item>
+			<item>glGetProgramBinary</item>
+			<item>glGetProgramInfoLog</item>
+			<item>glGetProgramInterface</item>
+			<item>glGetProgramInterfaceiv</item>
+			<item>glGetProgramiv</item>
+			<item>glGetProgramPipeline</item>
+			<item>glGetProgramPipelineInfoLog</item>
+			<item>glGetProgramPipelineiv</item>
+			<item>glGetProgramResource</item>
+			<item>glGetProgramResourceIndex</item>
+			<item>glGetProgramResourceiv</item>
+			<item>glGetProgramResourceLocation</item>
+			<item>glGetProgramResourceLocationIndex</item>
+			<item>glGetProgramResourceName</item>
+			<item>glGetProgramStage</item>
+			<item>glGetProgramStageiv</item>
+			<item>glGetQueryIndexed</item>
+			<item>glGetQueryIndexediv</item>
+			<item>glGetQueryiv</item>
+			<item>glGetQueryObject</item>
+			<item>glGetQueryObjecti64v</item>
+			<item>glGetQueryObjectiv</item>
+			<item>glGetQueryObjectui64v</item>
+			<item>glGetQueryObjectuiv</item>
+			<item>glGetRenderbufferParameter</item>
+			<item>glGetRenderbufferParameteriv</item>
+			<item>glGetSamplerParameter</item>
+			<item>glGetSamplerParameterfv</item>
+			<item>glGetSamplerParameterIiv</item>
+			<item>glGetSamplerParameterIuiv</item>
+			<item>glGetSamplerParameteriv</item>
+			<item>glGetShader</item>
+			<item>glGetShaderInfoLog</item>
+			<item>glGetShaderiv</item>
+			<item>glGetShaderPrecisionFormat</item>
+			<item>glGetShaderSource</item>
+			<item>glGetString</item>
+			<item>glGetStringi</item>
+			<item>glGetSubroutineIndex</item>
+			<item>glGetSubroutineUniformLocation</item>
+			<item>glGetSync</item>
+			<item>glGetSynciv</item>
+			<item>glGetTexImage</item>
+			<item>glGetTexLevelParameter</item>
+			<item>glGetTexLevelParameterfv</item>
+			<item>glGetTexLevelParameteriv</item>
+			<item>glGetTexParameter</item>
+			<item>glGetTexParameterfv</item>
+			<item>glGetTexParameterIiv</item>
+			<item>glGetTexParameterIuiv</item>
+			<item>glGetTexParameteriv</item>
+			<item>glGetTextureImage</item>
+			<item>glGetTextureLevelParameterfv</item>
+			<item>glGetTextureLevelParameteriv</item>
+			<item>glGetTextureParameterfv</item>
+			<item>glGetTextureParameterIiv</item>
+			<item>glGetTextureParameterIuiv</item>
+			<item>glGetTextureParameteriv</item>
+			<item>glGetTextureSubImage</item>
+			<item>glGetTransformFeedback</item>
+			<item>glGetTransformFeedbacki64_v</item>
+			<item>glGetTransformFeedbacki_v</item>
+			<item>glGetTransformFeedbackiv</item>
+			<item>glGetTransformFeedbackVarying</item>
+			<item>glGetUniform</item>
+			<item>glGetUniformBlockIndex</item>
+			<item>glGetUniformdv</item>
+			<item>glGetUniformfv</item>
+			<item>glGetUniformIndices</item>
+			<item>glGetUniformiv</item>
+			<item>glGetUniformLocation</item>
+			<item>glGetUniformSubroutine</item>
+			<item>glGetUniformSubroutineuiv</item>
+			<item>glGetUniformuiv</item>
+			<item>glGetVertexArrayIndexed</item>
+			<item>glGetVertexArrayIndexed64iv</item>
+			<item>glGetVertexArrayIndexediv</item>
+			<item>glGetVertexArrayiv</item>
+			<item>glGetVertexAttrib</item>
+			<item>glGetVertexAttribdv</item>
+			<item>glGetVertexAttribfv</item>
+			<item>glGetVertexAttribIiv</item>
+			<item>glGetVertexAttribIuiv</item>
+			<item>glGetVertexAttribiv</item>
+			<item>glGetVertexAttribLdv</item>
+			<item>glGetVertexAttribPointerv</item>
+			<item>gl_ClipDistance</item>
+			<item>gl_CullDistance</item>
+			<item>gl_FragCoord</item>
+			<item>gl_FragDepth</item>
+			<item>gl_FrontFacing</item>
+			<item>gl_GlobalInvocationID</item>
+			<item>gl_HelperInvocation</item>
+			<item>gl_InstanceID</item>
+			<item>gl_InvocationID</item>
+			<item>gl_Layer</item>
+			<item>gl_LocalInvocationID</item>
+			<item>gl_LocalInvocationIndex</item>
+			<item>gl_NumSamples</item>
+			<item>gl_NumWorkGroups</item>
+			<item>gl_PatchVerticesIn</item>
+			<item>gl_PointCoord</item>
+			<item>gl_PointSize</item>
+			<item>gl_Position</item>
+			<item>gl_PrimitiveID</item>
+			<item>gl_PrimitiveIDIn</item>
+			<item>gl_SampleID</item>
+			<item>gl_SampleMask</item>
+			<item>gl_SampleMaskIn</item>
+			<item>gl_SamplePosition</item>
+			<item>gl_TessCoord</item>
+			<item>gl_TessLevelInner</item>
+			<item>gl_TessLevelOuter</item>
+			<item>gl_VertexID</item>
+			<item>gl_ViewportIndex</item>
+			<item>gl_WorkGroupID</item>
+			<item>gl_WorkGroupSize</item>
+			<item>greaterThan</item>
+			<item>greaterThanEqual</item>
+			<item>groupMemoryBarrier</item>
+			<item>glHint</item>
+			<item>imageAtomicAdd</item>
+			<item>imageAtomicAnd</item>
+			<item>imageAtomicCompSwap</item>
+			<item>imageAtomicExchange</item>
+			<item>imageAtomicMax</item>
+			<item>imageAtomicMin</item>
+			<item>imageAtomicOr</item>
+			<item>imageAtomicXor</item>
+			<item>imageLoad</item>
+			<item>imageSamples</item>
+			<item>imageSize</item>
+			<item>imageStore</item>
+			<item>imulExtended</item>
+			<item>intBitsToFloat</item>
+			<item>interpolateAtCentroid</item>
+			<item>interpolateAtOffset</item>
+			<item>interpolateAtSample</item>
+			<item>glInvalidateBufferData</item>
+			<item>glInvalidateBufferSubData</item>
+			<item>glInvalidateFramebuffer</item>
+			<item>glInvalidateNamedFramebufferData</item>
+			<item>glInvalidateNamedFramebufferSubData</item>
+			<item>glInvalidateSubFramebuffer</item>
+			<item>glInvalidateTexImage</item>
+			<item>glInvalidateTexSubImage</item>
+			<item>inverse</item>
+			<item>inversesqrt</item>
+			<item>glIsBuffer</item>
+			<item>glIsEnabled</item>
+			<item>glIsEnabledi</item>
+			<item>glIsFramebuffer</item>
+			<item>isinf</item>
+			<item>isnan</item>
+			<item>glIsProgram</item>
+			<item>glIsProgramPipeline</item>
+			<item>glIsQuery</item>
+			<item>glIsRenderbuffer</item>
+			<item>glIsSampler</item>
+			<item>glIsShader</item>
+			<item>glIsSync</item>
+			<item>glIsTexture</item>
+			<item>glIsTransformFeedback</item>
+			<item>glIsVertexArray</item>
+			<item>ldexp</item>
+			<item>length</item>
+			<item>lessThan</item>
+			<item>lessThanEqual</item>
+			<item>glLineWidth</item>
+			<item>glLinkProgram</item>
+			<item>log</item>
+			<item>log2</item>
+			<item>glLogicOp</item>
+			<item>glMapBuffer</item>
+			<item>glMapBufferRange</item>
+			<item>glMapNamedBuffer</item>
+			<item>glMapNamedBufferRange</item>
+			<item>matrixCompMult</item>
+			<item>max</item>
+			<item>memoryBarrier</item>
+			<item>glMemoryBarrier</item>
+			<item>memoryBarrierAtomicCounter</item>
+			<item>memoryBarrierBuffer</item>
+			<item>glMemoryBarrierByRegion</item>
+			<item>memoryBarrierImage</item>
+			<item>memoryBarrierShared</item>
+			<item>min</item>
+			<item>glMinSampleShading</item>
+			<item>mix</item>
+			<item>mod</item>
+			<item>modf</item>
+			<item>glMultiDrawArrays</item>
+			<item>glMultiDrawArraysIndirect</item>
+			<item>glMultiDrawElements</item>
+			<item>glMultiDrawElementsBaseVertex</item>
+			<item>glMultiDrawElementsIndirect</item>
+			<item>glNamedBufferData</item>
+			<item>glNamedBufferStorage</item>
+			<item>glNamedBufferSubData</item>
+			<item>glNamedFramebufferDrawBuffer</item>
+			<item>glNamedFramebufferDrawBuffers</item>
+			<item>glNamedFramebufferParameteri</item>
+			<item>glNamedFramebufferReadBuffer</item>
+			<item>glNamedFramebufferRenderbuffer</item>
+			<item>glNamedFramebufferTexture</item>
+			<item>glNamedFramebufferTextureLayer</item>
+			<item>glNamedRenderbufferStorage</item>
+			<item>glNamedRenderbufferStorageMultisample</item>
+			<item>noise</item>
+			<item>noise1</item>
+			<item>noise2</item>
+			<item>noise3</item>
+			<item>noise4</item>
+			<item>normalize</item>
+			<item>not</item>
+			<item>notEqual</item>
+			<item>glObjectLabel</item>
+			<item>glObjectPtrLabel</item>
+			<item>outerProduct</item>
+			<item>packDouble2x32</item>
+			<item>packHalf2x16</item>
+			<item>packSnorm2x16</item>
+			<item>packSnorm4x8</item>
+			<item>packUnorm</item>
+			<item>packUnorm2x16</item>
+			<item>packUnorm4x8</item>
+			<item>glPatchParameter</item>
+			<item>glPatchParameterfv</item>
+			<item>glPatchParameteri</item>
+			<item>glPauseTransformFeedback</item>
+			<item>glPixelStore</item>
+			<item>glPixelStoref</item>
+			<item>glPixelStorei</item>
+			<item>glPointParameter</item>
+			<item>glPointParameterf</item>
+			<item>glPointParameterfv</item>
+			<item>glPointParameteri</item>
+			<item>glPointParameteriv</item>
+			<item>glPointSize</item>
+			<item>glPolygonMode</item>
+			<item>glPolygonOffset</item>
+			<item>glPopDebugGroup</item>
+			<item>pow</item>
+			<item>glPrimitiveRestartIndex</item>
+			<item>glProgramBinary</item>
+			<item>glProgramParameter</item>
+			<item>glProgramParameteri</item>
+			<item>glProgramUniform</item>
+			<item>glProgramUniform1f</item>
+			<item>glProgramUniform1fv</item>
+			<item>glProgramUniform1i</item>
+			<item>glProgramUniform1iv</item>
+			<item>glProgramUniform1ui</item>
+			<item>glProgramUniform1uiv</item>
+			<item>glProgramUniform2f</item>
+			<item>glProgramUniform2fv</item>
+			<item>glProgramUniform2i</item>
+			<item>glProgramUniform2iv</item>
+			<item>glProgramUniform2ui</item>
+			<item>glProgramUniform2uiv</item>
+			<item>glProgramUniform3f</item>
+			<item>glProgramUniform3fv</item>
+			<item>glProgramUniform3i</item>
+			<item>glProgramUniform3iv</item>
+			<item>glProgramUniform3ui</item>
+			<item>glProgramUniform3uiv</item>
+			<item>glProgramUniform4f</item>
+			<item>glProgramUniform4fv</item>
+			<item>glProgramUniform4i</item>
+			<item>glProgramUniform4iv</item>
+			<item>glProgramUniform4ui</item>
+			<item>glProgramUniform4uiv</item>
+			<item>glProgramUniformMatrix2fv</item>
+			<item>glProgramUniformMatrix2x3fv</item>
+			<item>glProgramUniformMatrix2x4fv</item>
+			<item>glProgramUniformMatrix3fv</item>
+			<item>glProgramUniformMatrix3x2fv</item>
+			<item>glProgramUniformMatrix3x4fv</item>
+			<item>glProgramUniformMatrix4fv</item>
+			<item>glProgramUniformMatrix4x2fv</item>
+			<item>glProgramUniformMatrix4x3fv</item>
+			<item>glProvokingVertex</item>
+			<item>glPushDebugGroup</item>
+			<item>glQueryCounter</item>
+			<item>radians</item>
+			<item>glReadBuffer</item>
+			<item>glReadnPixels</item>
+			<item>glReadPixels</item>
+			<item>reflect</item>
+			<item>refract</item>
+			<item>glReleaseShaderCompiler</item>
+			<item>removedTypes</item>
+			<item>glRenderbufferStorage</item>
+			<item>glRenderbufferStorageMultisample</item>
+			<item>glResumeTransformFeedback</item>
+			<item>round</item>
+			<item>roundEven</item>
+			<item>glSampleCoverage</item>
+			<item>glSampleMaski</item>
+			<item>glSamplerParameter</item>
+			<item>glSamplerParameterf</item>
+			<item>glSamplerParameterfv</item>
+			<item>glSamplerParameteri</item>
+			<item>glSamplerParameterIiv</item>
+			<item>glSamplerParameterIuiv</item>
+			<item>glSamplerParameteriv</item>
+			<item>glScissor</item>
+			<item>glScissorArray</item>
+			<item>glScissorArrayv</item>
+			<item>glScissorIndexed</item>
+			<item>glScissorIndexedv</item>
+			<item>glShaderBinary</item>
+			<item>glShaderSource</item>
+			<item>glShaderStorageBlockBinding</item>
+			<item>sign</item>
+			<item>sin</item>
+			<item>sinh</item>
+			<item>smoothstep</item>
+			<item>sqrt</item>
+			<item>glStencilFunc</item>
+			<item>glStencilFuncSeparate</item>
+			<item>glStencilMask</item>
+			<item>glStencilMaskSeparate</item>
+			<item>glStencilOp</item>
+			<item>glStencilOpSeparate</item>
+			<item>step</item>
+			<item>tan</item>
+			<item>tanh</item>
+			<item>glTexBuffer</item>
+			<item>glTexBufferRange</item>
+			<item>texelFetch</item>
+			<item>texelFetchOffset</item>
+			<item>glTexImage1D</item>
+			<item>glTexImage2D</item>
+			<item>glTexImage2DMultisample</item>
+			<item>glTexImage3D</item>
+			<item>glTexImage3DMultisample</item>
+			<item>glTexParameter</item>
+			<item>glTexParameterf</item>
+			<item>glTexParameterfv</item>
+			<item>glTexParameteri</item>
+			<item>glTexParameterIiv</item>
+			<item>glTexParameterIuiv</item>
+			<item>glTexParameteriv</item>
+			<item>glTexStorage1D</item>
+			<item>glTexStorage2D</item>
+			<item>glTexStorage2DMultisample</item>
+			<item>glTexStorage3D</item>
+			<item>glTexStorage3DMultisample</item>
+			<item>glTexSubImage1D</item>
+			<item>glTexSubImage2D</item>
+			<item>glTexSubImage3D</item>
+			<item>texture</item>
+			<item>glTextureBarrier</item>
+			<item>glTextureBuffer</item>
+			<item>glTextureBufferRange</item>
+			<item>textureGather</item>
+			<item>textureGatherOffset</item>
+			<item>textureGatherOffsets</item>
+			<item>textureGrad</item>
+			<item>textureGradOffset</item>
+			<item>textureLod</item>
+			<item>textureLodOffset</item>
+			<item>textureOffset</item>
+			<item>glTextureParameterf</item>
+			<item>glTextureParameterfv</item>
+			<item>glTextureParameteri</item>
+			<item>glTextureParameterIiv</item>
+			<item>glTextureParameterIuiv</item>
+			<item>glTextureParameteriv</item>
+			<item>textureProj</item>
+			<item>textureProjGrad</item>
+			<item>textureProjGradOffset</item>
+			<item>textureProjLod</item>
+			<item>textureProjLodOffset</item>
+			<item>textureProjOffset</item>
+			<item>textureQueryLevels</item>
+			<item>textureQueryLod</item>
+			<item>textureSamples</item>
+			<item>textureSize</item>
+			<item>glTextureStorage1D</item>
+			<item>glTextureStorage2D</item>
+			<item>glTextureStorage2DMultisample</item>
+			<item>glTextureStorage3D</item>
+			<item>glTextureStorage3DMultisample</item>
+			<item>glTextureSubImage1D</item>
+			<item>glTextureSubImage2D</item>
+			<item>glTextureSubImage3D</item>
+			<item>glTextureView</item>
+			<item>glTransformFeedbackBufferBase</item>
+			<item>glTransformFeedbackBufferRange</item>
+			<item>glTransformFeedbackVaryings</item>
+			<item>transpose</item>
+			<item>trunc</item>
+			<item>uaddCarry</item>
+			<item>uintBitsToFloat</item>
+			<item>umulExtended</item>
+			<item>glUniform</item>
+			<item>glUniform1f</item>
+			<item>glUniform1fv</item>
+			<item>glUniform1i</item>
+			<item>glUniform1iv</item>
+			<item>glUniform1ui</item>
+			<item>glUniform1uiv</item>
+			<item>glUniform2f</item>
+			<item>glUniform2fv</item>
+			<item>glUniform2i</item>
+			<item>glUniform2iv</item>
+			<item>glUniform2ui</item>
+			<item>glUniform2uiv</item>
+			<item>glUniform3f</item>
+			<item>glUniform3fv</item>
+			<item>glUniform3i</item>
+			<item>glUniform3iv</item>
+			<item>glUniform3ui</item>
+			<item>glUniform3uiv</item>
+			<item>glUniform4f</item>
+			<item>glUniform4fv</item>
+			<item>glUniform4i</item>
+			<item>glUniform4iv</item>
+			<item>glUniform4ui</item>
+			<item>glUniform4uiv</item>
+			<item>glUniformBlockBinding</item>
+			<item>glUniformMatrix2fv</item>
+			<item>glUniformMatrix2x3fv</item>
+			<item>glUniformMatrix2x4fv</item>
+			<item>glUniformMatrix3fv</item>
+			<item>glUniformMatrix3x2fv</item>
+			<item>glUniformMatrix3x4fv</item>
+			<item>glUniformMatrix4fv</item>
+			<item>glUniformMatrix4x2fv</item>
+			<item>glUniformMatrix4x3fv</item>
+			<item>glUniformSubroutines</item>
+			<item>glUniformSubroutinesuiv</item>
+			<item>glUnmapBuffer</item>
+			<item>glUnmapNamedBuffer</item>
+			<item>unpackDouble2x32</item>
+			<item>unpackHalf2x16</item>
+			<item>unpackSnorm2x16</item>
+			<item>unpackSnorm4x8</item>
+			<item>unpackUnorm</item>
+			<item>unpackUnorm2x16</item>
+			<item>unpackUnorm4x8</item>
+			<item>glUseProgram</item>
+			<item>glUseProgramStages</item>
+			<item>usubBorrow</item>
+			<item>glValidateProgram</item>
+			<item>glValidateProgramPipeline</item>
+			<item>glVertexArrayAttribBinding</item>
+			<item>glVertexArrayAttribFormat</item>
+			<item>glVertexArrayAttribIFormat</item>
+			<item>glVertexArrayAttribLFormat</item>
+			<item>glVertexArrayBindingDivisor</item>
+			<item>glVertexArrayElementBuffer</item>
+			<item>glVertexArrayVertexBuffer</item>
+			<item>glVertexArrayVertexBuffers</item>
+			<item>glVertexAttrib</item>
+			<item>glVertexAttrib1d</item>
+			<item>glVertexAttrib1dv</item>
+			<item>glVertexAttrib1f</item>
+			<item>glVertexAttrib1fv</item>
+			<item>glVertexAttrib1s</item>
+			<item>glVertexAttrib1sv</item>
+			<item>glVertexAttrib2d</item>
+			<item>glVertexAttrib2dv</item>
+			<item>glVertexAttrib2f</item>
+			<item>glVertexAttrib2fv</item>
+			<item>glVertexAttrib2s</item>
+			<item>glVertexAttrib2sv</item>
+			<item>glVertexAttrib3d</item>
+			<item>glVertexAttrib3dv</item>
+			<item>glVertexAttrib3f</item>
+			<item>glVertexAttrib3fv</item>
+			<item>glVertexAttrib3s</item>
+			<item>glVertexAttrib3sv</item>
+			<item>glVertexAttrib4bv</item>
+			<item>glVertexAttrib4d</item>
+			<item>glVertexAttrib4dv</item>
+			<item>glVertexAttrib4f</item>
+			<item>glVertexAttrib4fv</item>
+			<item>glVertexAttrib4iv</item>
+			<item>glVertexAttrib4Nbv</item>
+			<item>glVertexAttrib4Niv</item>
+			<item>glVertexAttrib4Nsv</item>
+			<item>glVertexAttrib4Nub</item>
+			<item>glVertexAttrib4Nubv</item>
+			<item>glVertexAttrib4Nuiv</item>
+			<item>glVertexAttrib4Nusv</item>
+			<item>glVertexAttrib4s</item>
+			<item>glVertexAttrib4sv</item>
+			<item>glVertexAttrib4ubv</item>
+			<item>glVertexAttrib4uiv</item>
+			<item>glVertexAttrib4usv</item>
+			<item>glVertexAttribBinding</item>
+			<item>glVertexAttribDivisor</item>
+			<item>glVertexAttribFormat</item>
+			<item>glVertexAttribI1i</item>
+			<item>glVertexAttribI1iv</item>
+			<item>glVertexAttribI1ui</item>
+			<item>glVertexAttribI1uiv</item>
+			<item>glVertexAttribI2i</item>
+			<item>glVertexAttribI2iv</item>
+			<item>glVertexAttribI2ui</item>
+			<item>glVertexAttribI2uiv</item>
+			<item>glVertexAttribI3i</item>
+			<item>glVertexAttribI3iv</item>
+			<item>glVertexAttribI3ui</item>
+			<item>glVertexAttribI3uiv</item>
+			<item>glVertexAttribI4bv</item>
+			<item>glVertexAttribI4i</item>
+			<item>glVertexAttribI4iv</item>
+			<item>glVertexAttribI4sv</item>
+			<item>glVertexAttribI4ubv</item>
+			<item>glVertexAttribI4ui</item>
+			<item>glVertexAttribI4uiv</item>
+			<item>glVertexAttribI4usv</item>
+			<item>glVertexAttribIFormat</item>
+			<item>glVertexAttribIPointer</item>
+			<item>glVertexAttribL1d</item>
+			<item>glVertexAttribL1dv</item>
+			<item>glVertexAttribL2d</item>
+			<item>glVertexAttribL2dv</item>
+			<item>glVertexAttribL3d</item>
+			<item>glVertexAttribL3dv</item>
+			<item>glVertexAttribL4d</item>
+			<item>glVertexAttribL4dv</item>
+			<item>glVertexAttribLFormat</item>
+			<item>glVertexAttribLPointer</item>
+			<item>glVertexAttribP1ui</item>
+			<item>glVertexAttribP2ui</item>
+			<item>glVertexAttribP3ui</item>
+			<item>glVertexAttribP4ui</item>
+			<item>glVertexAttribPointer</item>
+			<item>glVertexBindingDivisor</item>
+			<item>glViewport</item>
+			<item>glViewportArray</item>
+			<item>glViewportArrayv</item>
+			<item>glViewportIndexed</item>
+			<item>glViewportIndexedf</item>
+			<item>glViewportIndexedfv</item>
+			<item>glWaitSync</item>
+		</list>
+		<list name="stdvar">
+			<!-- Vertex Shader Special Variables -->
+			<item>gl_Position</item>
+			<item>gl_PointSize</item>
+			<item>gl_ClipVertex</item>
+
+			<!-- Fragment Shader Special Variables -->
+			<item>gl_FragCoord</item>
+			<item>gl_FragFacing</item>
+			<item>gl_FragColor</item>
+			<item>gl_FragData</item>
+			<item>gl_FragDepth</item>
+
+			<!-- Vertex Shader Built-in Attributes -->
+			<item>gl_Color</item>
+			<item>gl_SecondaryColor</item>
+			<item>gl_Normal</item>
+			<item>gl_Vertex</item>
+			<item>gl_MultiTexCoord0</item>
+			<item>gl_MultiTexCoord1</item>
+			<item>gl_MultiTexCoord2</item>
+			<item>gl_MultiTexCoord2</item>
+			<item>gl_MultiTexCoord3</item>
+			<item>gl_MultiTexCoord4</item>
+			<item>gl_MultiTexCoord5</item>
+			<item>gl_MultiTexCoord6</item>
+			<item>gl_MultiTexCoord7</item>
+			<item>gl_FogColor</item>
+
+			<!-- Geometry Shader Built-in Attributes -->
+			<item>gl_ClipDistance</item>
+			<item>gl_PrimitiveIDIn</item>
+			<item>gl_InvocationID</item>
+			<item>gl_PrimitiveID</item>
+			<item>gl_Layer</item>
+			<item>gl_ViewportIndex</item>
+
+			<!-- Tesselation Shader Built-In Attributes -->
+			<item>gl_TessCoord</item>
+			<item>gl_PatchVerticesIn</item>
+			<item>gl_TessLevelOuter</item>
+			<item>gl_TessLevelInner</item>
+			<item>gl_MaxPatchVertices</item>
+			<item>gl_in</item>
+			<item>gl_out</item>
+
+			<!-- Built-in Constants -->
+			<item>gl_MaxLights</item>
+			<item>gl_MaxClipPlanes</item>
+			<item>gl_MaxTextureUnits</item>
+			<item>gl_MaxTextureCoords</item>
+			<item>gl_MaxVertexAttributes</item>
+			<item>gl_MaxVertexUniformComponents</item>
+			<item>gl_MaxVaryingFloats</item>
+			<item>gl_MaxVertexTextureImageUnits</item>
+			<item>gl_MaxCombinedTextureImageUnits</item>
+			<item>gl_MaxTextureImageUnits</item>
+			<item>gl_MaxFragmentUniformComponents</item>
+			<item>gl_MaxDrawBuffers</item>
+
+			<!-- Built-in Uniform State -->
+			<item>gl_ModelViewMatrix</item>
+			<item>gl_ProjectionMatrix</item>
+			<item>gl_ModelViewProjectionMatrix</item>
+			<item>gl_TextureMatrix</item>
+			<item>gl_NormalMatrix</item>
+			<item>gl_ModelViewMatrixInverse</item>
+			<item>gl_ProjectionMatrixInverse</item>
+			<item>gl_ModelViewProjectionMatrixInverse</item>
+			<item>gl_TextureMatrixInverse</item>
+			<item>gl_ModelViewMatrixTranspose</item>
+			<item>gl_ProjectionMatrixTranspose</item>
+			<item>gl_ModelViewProjectionMatrixTranspose</item>
+			<item>gl_TextureMatrixTranspose</item>
+			<item>gl_ModelViewMatrixInverseTranspose</item>
+			<item>gl_ProjectionMatrixInverseTranspose</item>
+			<item>gl_ModelViewProjectionMatrixInverseTranspose</item>
+			<item>gl_TextureMatrixInverseTranspose</item>
+			<item>gl_NormScale</item>
+			<item>gl_DepthRangeParameters</item>
+			<item>gl_DepthRange</item>
+			<item>gl_ClipPlane</item>
+			<item>gl_PointParameters</item>
+			<item>gl_Point</item>
+			<item>gl_MaterialParameters</item>
+			<item>gl_FrontMaterial</item>
+			<item>gl_BackMaterial</item>
+			<item>gl_LightSourceParameters</item>
+			<item>gl_LightSource</item>
+			<item>gl_LightModelParameters</item>
+			<item>gl_LightModel</item>
+			<item>gl_LightModelProducts</item>
+			<item>gl_FrontLightModelProduct</item>
+			<item>gl_BackLightModelProduct</item>
+			<item>gl_LightProducts</item>
+			<item>gl_FrontLightProduct</item>
+			<item>gl_BackLightProduct</item>
+			<item>gl_TextureEnvColor</item>
+			<item>gl_EyePlaneS</item>
+			<item>gl_EyePlaneT</item>
+			<item>gl_EyePlaneR</item>
+			<item>gl_EyePlaneQ</item>
+			<item>gl_ObjectPlaneS</item>
+			<item>gl_ObjectPlaneT</item>
+			<item>gl_ObjectPlaneR</item>
+			<item>gl_ObjectPlaneQ</item>
+			<item>gl_FogParameters</item>
+			<item>gl_Fog</item>
+
+			<!-- Varying Variables -->
+			<item>gl_FrontColor</item>
+			<item>gl_BackColor</item>
+			<item>gl_FrontSecondaryColor</item>
+			<item>gl_BackSecondaryColor</item>
+			<item>gl_TexCoord</item>
+			<item>gl_FogFragCoord</item>
+			<item>gl_Color</item>
+			<item>gl_SecondaryColor</item>
+		</list>
+		<contexts>
+			<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+				<keyword attribute="Keyword" String="keywords" context="#stay" />
+				<keyword attribute="Data Type" String="types" context="#stay" />
+				<keyword attribute="Type Qualifier" String="typequal" context="#stay" />
+				<keyword attribute="StdFunction" String="stdlib" context="#stay" />
+				<keyword attribute="StdVariable" String="stdvar" context="#stay" />
+				
+				<Float attribute="Float" context="#stay" />
+				<HlCOct attribute="Octal" context="#stay"/>
+				<HlCHex attribute="Hex" context="#stay"/>
+				<Int attribute="Decimal" context="#stay" />
+				
+				<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" />
+				
+				<DetectChar attribute="Preprocessor" context="Preprocessor" char="#" firstNonSpace="true"/>
+				<RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*[(])" />
+				
+				<RegExpr attribute="Symbol" context="Member" String="[.]{1,1}" />
+				<AnyChar attribute="Symbol" context="#stay" String=".+-/*%&lt;&gt;[]()^|&amp;~=!:;,?&#59;" />
+			</context>
+			<context name="Member" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+				<RegExpr attribute="Function" context="#pop" String="\b[_\w][_\w\d]*(?=[\s]*)" />
+			</context>
+			<context name="Commentar 1" attribute="Comment" lineEndContext="#pop">
+				<keyword attribute="Alert" context="#stay" String="attention" />
+			</context>
+			<context name="Commentar 2" attribute="Comment" lineEndContext="#stay">
+				<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+				<keyword attribute="Alert" context="#stay" String="attention" />
+			</context>
+			<context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop">
+			</context>
+	        </contexts>
+		<itemDatas>
+			<itemData name="Normal Text"    defStyleNum="dsNormal"/>
+			<itemData name="Keyword"        defStyleNum="dsKeyword"/>
+			<itemData name="Function"       defStyleNum="dsFunction" bold="0"/>
+			<itemData name="StdFunction"    defStyleNum="dsBuiltIn" bold="1"/>
+			<itemData name="StdVariable"    defStyleNum="dsVariable" bold="0"/>
+			<itemData name="Data Type"      defStyleNum="dsDataType"/>
+			<itemData name="Type Qualifier" defStyleNum="dsDataType"/>
+			<itemData name="Decimal"        defStyleNum="dsDecVal"/>
+			<itemData name="Octal"          defStyleNum="dsBaseN"/>
+			<itemData name="Hex"            defStyleNum="dsBaseN"/>
+			<itemData name="Float"          defStyleNum="dsFloat"/>
+			<itemData name="Symbol"         defStyleNum="dsNormal"/>
+			<itemData name="Preprocessor"   defStyleNum="dsPreprocessor"/>
+			<itemData name="Comment"        defStyleNum="dsComment"/>
+			<itemData name="Alert"          defStyleNum="dsAlert" />
+		</itemDatas>
+	</highlighting>
+	<general>
+		<comments>
+			<comment name="singleLine" start="//" />
+			<comment name="multiLine" start="/*" end="*/" />
+		</comments>
+		<keywords casesensitive="1" />
+	</general>
+</language>
diff --git a/xml/gnuassembler.xml b/xml/gnuassembler.xml
new file mode 100644
--- /dev/null
+++ b/xml/gnuassembler.xml
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+
+*************************************************************************
+*                                                                       *
+*               Syntax highlighting for the GNU Assembler               *
+*                   Copyright (C) 2002, John Zaitseff                   *
+*                                                                       *
+*************************************************************************
+
+Updated:  Miquel Sabaté <mikisabate@gmail.com>
+Date:     14th September, 2010
+Version:  1.02
+
+Updated:  Roland Pabel <roland@pabel.name>
+Date:     15th August, 2002
+Version:  1.01
+
+Author:   John Zaitseff <J.Zaitseff@zap.org.au>
+Date:     15th April, 2002
+Version:  1.0
+
+This file contains the XML syntax highlighting description for the GNU
+Assembler, for KATE, the KDE Advanced Editor.  Keywords have been taken
+directly from the GNU Assembler source code (read.c).
+
+Known problems: Floating point highlighting does not work correctly.
+
+This program, including associated files, is free software.  You may
+distribute it and/or modify it under the terms of the GNU General Public
+License as published by the Free Software Foundation; either Version 2 of
+the license, or (at your option) any later version.
+
+This program 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 General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+-->
+
+<language name="GNU Assembler" version="3" kateversion="5.0" section="Assembler" extensions="*.s;*.S" mimetype="text/x-asm" author="John Zaitseff (J.Zaitseff@zap.org.au), Roland Pabel (roland@pabel.name), Miquel Sabaté (mikisabate@gmail.com)" license="GPLv2+">
+  <highlighting>
+    <list name="keywords">
+      <item>.abort</item>
+      <item>.align</item>
+      <item>.app-file</item>
+      <item>.appline</item>
+      <item>.ascii</item>
+      <item>.asciz</item>
+      <item>.att_syntax</item>
+      <item>.balign</item>
+      <item>.balignl</item>
+      <item>.balignw</item>
+      <item>.byte</item>
+      <item>.code16</item>
+      <item>.code32</item>
+      <item>.comm</item>
+      <item>.common.s</item>
+      <item>.common</item>
+      <item>.data</item>
+      <item>.dc.b</item>
+      <item>.dc.d</item>
+      <item>.dc.l</item>
+      <item>.dc.s</item>
+      <item>.dc.w</item>
+      <item>.dc.x</item>
+      <item>.dc</item>
+      <item>.dcb.b</item>
+      <item>.dcb.d</item>
+      <item>.dcb.l</item>
+      <item>.dcb.s</item>
+      <item>.dcb.w</item>
+      <item>.dcb.x</item>
+      <item>.dcb</item>
+      <item>.debug</item>
+      <item>.def</item>
+      <item>.desc</item>
+      <item>.dim</item>
+      <item>.double</item>
+      <item>.ds.b</item>
+      <item>.ds.d</item>
+      <item>.ds.l</item>
+      <item>.ds.p</item>
+      <item>.ds.s</item>
+      <item>.ds.w</item>
+      <item>.ds.x</item>
+      <item>.ds</item>
+      <item>.dsect</item>
+      <item>.eject</item>
+      <item>.else</item>
+      <item>.elsec</item>
+      <item>.elseif</item>
+      <item>.end</item>
+      <item>.endc</item>
+      <item>.endef</item>
+      <item>.endfunc</item>
+      <item>.endif</item>
+      <item>.endm</item>
+      <item>.endr</item>
+      <item>.equ</item>
+      <item>.equiv</item>
+      <item>.err</item>
+      <item>.exitm</item>
+      <item>.extend</item>
+      <item>.extern</item>
+      <item>.fail</item>
+      <item>.file</item>
+      <item>.fill</item>
+      <item>.float</item>
+      <item>.format</item>
+      <item>.func</item>
+      <item>.global</item>
+      <item>.globl</item>
+      <item>.hidden</item>
+      <item>.hword</item>
+      <item>.ident</item>
+      <item>.if</item>
+      <item>.ifc</item>
+      <item>.ifdef</item>
+      <item>.ifeq</item>
+      <item>.ifeqs</item>
+      <item>.ifge</item>
+      <item>.ifgt</item>
+      <item>.ifle</item>
+      <item>.iflt</item>
+      <item>.ifnc</item>
+      <item>.ifndef</item>
+      <item>.ifne</item>
+      <item>.ifnes</item>
+      <item>.ifnotdef</item>
+      <item>.include</item>
+      <item>.int</item>
+      <item>.intel_syntax</item>
+      <item>.internal</item>
+      <item>.irep</item>
+      <item>.irepc</item>
+      <item>.irp</item>
+      <item>.irpc</item>
+      <item>.lcomm</item>
+      <item>.lflags</item>
+      <item>.line</item>
+      <item>.linkonce</item>
+      <item>.list</item>
+      <item>.llen</item>
+      <item>.ln</item>
+      <item>.long</item>
+      <item>.lsym</item>
+      <item>.macro</item>
+      <item>.mexit</item>
+      <item>.name</item>
+      <item>.noformat</item>
+      <item>.nolist</item>
+      <item>.nopage</item>
+      <item>noprefix</item>
+      <item>.octa</item>
+      <item>.offset</item>
+      <item>.org</item>
+      <item>.p2align</item>
+      <item>.p2alignl</item>
+      <item>.p2alignw</item>
+      <item>.page</item>
+      <item>.plen</item>
+      <item>.popsection</item>
+      <item>.previous</item>
+      <item>.print</item>
+      <item>.protected</item>
+      <item>.psize</item>
+      <item>.purgem</item>
+      <item>.pushsection</item>
+      <item>.quad</item>
+      <item>.rodata</item>
+      <item>.rep</item>
+      <item>.rept</item>
+      <item>.rva</item>
+      <item>.sbttl</item>
+      <item>.scl</item>
+      <item>.sect.s</item>
+      <item>.sect</item>
+      <item>.section.s</item>
+      <item>.section</item>
+      <item>.set</item>
+      <item>.short</item>
+      <item>.single</item>
+      <item>.size</item>
+      <item>.skip</item>
+      <item>.sleb128</item>
+      <item>.space</item>
+      <item>.spc</item>
+      <item>.stabd</item>
+      <item>.stabn</item>
+      <item>.stabs</item>
+      <item>.string</item>
+      <item>.struct</item>
+      <item>.subsection</item>
+      <item>.symver</item>
+      <item>.tag</item>
+      <item>.text</item>
+      <item>.title</item>
+      <item>.ttl</item>
+      <item>.type</item>
+      <item>.uleb128</item>
+      <item>.use</item>
+      <item>.val</item>
+      <item>.version</item>
+      <item>.vtable_entry</item>
+      <item>.vtable_inherit</item>
+      <item>.weak</item>
+      <item>.word</item>
+      <item>.xcom</item>
+      <item>.xdef</item>
+      <item>.xref</item>
+      <item>.xstabs</item>
+      <item>.zero</item>
+      <!-- Directives specific to ARM -->
+      <item>.arm</item>
+      <item>.bss</item>
+      <item>.code</item>
+      <item>.even</item>
+      <item>.force_thumb</item>
+      <item>.ldouble</item>
+      <item>.loc</item>
+      <item>.ltorg</item>
+      <item>.packed</item>
+      <item>.pool</item>
+      <item>.req</item>
+      <item>.thumb</item>
+      <item>.thumb_func</item>
+      <item>.thumb_set</item>
+    </list>
+
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <RegExpr      attribute="Label" context="#stay" String="[_\w\d-]*\s*:" />
+        <keyword      attribute="Keyword" context="#stay" String="keywords"/>
+        <HlCOct       attribute="Octal" context="#stay" />
+        <HlCHex       attribute="Hex" context="#stay" />
+        <RegExpr      attribute="Binary" context="#stay" String="0[bB][01]+" />
+        <Int          attribute="Decimal" context="#stay" />
+        <RegExpr      attribute="Float" context="#stay" String="0[fFeEdD][-+]?[0-9]*\.?[0-9]*[eE]?[-+]?[0-9]+" />
+        <RegExpr      attribute="Normal Text" context="#stay" String="[A-Za-z_.$][A-Za-z0-9_.$]*" />
+        <HlCChar      attribute="Char" context="#stay" />
+        <RegExpr      attribute="Char" context="#stay" String="'(\\x[0-9a-fA-F][0-9a-fA-F]?|\\[0-7]?[0-7]?[0-7]?|\\.|.)" />
+        <DetectChar   attribute="String" context="String" char="&quot;" />
+        <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)" firstNonSpace="true" />
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="*" />
+        <AnyChar      attribute="Comment" context="Commentar 2" String="@;#" />
+        <AnyChar      attribute="Symbol" context="#stay" String="!#%&amp;*()+,-&lt;=&gt;?/:[]^{|}~" />
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Commentar 1">
+        <IncludeRules context="##Alerts" />
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Commentar 2" >
+        <IncludeRules context="##Alerts" />
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <LineContinue  attribute="String" context="Some Context" />
+        <HlCStringChar attribute="String Char" context="#stay" />
+        <DetectChar    attribute="String" context="#pop" char="&quot;" />
+      </context>
+      <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor" />
+      <context attribute="Preprocessor" lineEndContext="#pop" name="Define">
+        <LineContinue attribute="Preprocessor" context="#stay"/>
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="Some Context" />
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text"  defStyleNum="dsNormal"   />
+      <itemData name="Label"        defStyleNum="dsKeyword"  />
+      <itemData name="Keyword"      defStyleNum="dsKeyword"  />
+      <itemData name="Decimal"      defStyleNum="dsDecVal"   />
+      <itemData name="Octal"        defStyleNum="dsBaseN"    />
+      <itemData name="Hex"          defStyleNum="dsBaseN"    />
+      <itemData name="Binary"       defStyleNum="dsBaseN"    />
+      <itemData name="Float"        defStyleNum="dsFloat"    />
+      <itemData name="Char"         defStyleNum="dsChar"     />
+      <itemData name="String"       defStyleNum="dsString"   />
+      <itemData name="String Char"  defStyleNum="dsSpecialChar" />
+      <itemData name="Symbol"       defStyleNum="dsNormal"   />
+      <itemData name="Comment"      defStyleNum="dsComment"  />
+      <itemData name="Preprocessor" defStyleNum="dsPreprocessor" />
+    </itemDatas>
+  </highlighting>
+
+  <general>
+    <comments>
+      <!--<comment name="singleLine" start=";" />
+      <comment name="singleLine" start="@" />
+      <comment name="singleLine" start="#" />-->
+      <comment name="multiLine"  start="/*" end="*/" />
+    </comments>
+    <keywords casesensitive="1" weakDeliminator="_.$" />
+  </general>
+</language>
diff --git a/xml/go.xml b/xml/go.xml
new file mode 100644
--- /dev/null
+++ b/xml/go.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+
+<!--
+This file is part of KDE's Kate project
+
+GO.XML supports syntax highlighting for the Go programming language
+under Kate. Go is a compiled, garbage-collected, concurrent programming
+language developed by Google Inc.
+
+Copyright (C) 2010, Miquel Sabaté <mikisabate@gmail.com>
+
+This program, including associated files, is free software.  You may
+distribute it and/or modify it under the terms of the GNU General Public
+License as published by the Free Software Foundation; either Version 2 of
+the license, or (at your option) any later version.
+
+This program 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 General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+-->
+
+
+<language name="Go" version="3" kateversion="5.0" section="Sources" indenter="cstyle" extensions="*.go" author="Miquel Sabaté (mikisabate@gmail.com)" license="GPLv2+">
+    <highlighting>
+    <list name="keywords">
+<!-- Keywords have been taken from The Go Programming Language Specification -> Keywords section -->
+      <item>break</item>
+      <item>case</item>
+      <item>chan</item>
+      <item>const</item>
+      <item>continue</item>
+      <item>default</item>
+      <item>defer</item>
+      <item>else</item>
+      <item>fallthrough</item>
+      <item>for</item>
+      <item>func</item>
+      <item>go</item>
+      <item>goto</item>
+      <item>if</item>
+      <item>import</item>
+      <item>interface</item>
+      <item>map</item>
+      <item>package</item>
+      <item>range</item>
+      <item>return</item>
+      <item>select</item>
+      <item>struct</item>
+      <item>switch</item>
+      <item>type</item>
+      <item>var</item>
+    </list>
+    <list name="types">
+      <item>bool</item>
+      <item>byte</item>
+      <item>complex64</item>
+      <item>complex128</item>
+      <item>error</item>
+      <item>float32</item>
+      <item>float64</item>
+      <item>int</item>
+      <item>int8</item>
+      <item>int16</item>
+      <item>int32</item>
+      <item>int64</item>
+      <item>rune</item>
+      <item>string</item>
+      <item>uint</item>
+      <item>uintptr</item>
+      <item>uint8</item>
+      <item>uint16</item>
+      <item>uint32</item>
+      <item>uint64</item>
+    </list>
+    <list name="builtin">
+      <item>append</item>
+      <item>cap</item>
+      <item>close</item>
+      <item>complex</item>
+      <item>copy</item>
+      <item>delete</item>
+      <item>imag</item>
+      <item>len</item>
+      <item>make</item>
+      <item>new</item>
+      <item>panic</item>
+      <item>print</item>
+      <item>println</item>
+      <item>real</item>
+      <item>recover</item>
+    </list>
+    <list name="predeclared">
+      <item>false</item>
+      <item>nil</item>
+      <item>true</item>
+      <item>iota</item>
+    </list>
+    <contexts>
+      <context name="normal" attribute="Normal Text" lineEndContext="#stay">
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <keyword attribute="Predeclared Identifier" context="#stay" String="predeclared"  />
+        <keyword attribute="Data Type" context="#stay" String="types"       />
+        <keyword attribute="Builtin Function" context="#stay" String="builtin"  />
+        <DetectIdentifier />
+        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"   />
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"   />
+        <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*"   />
+        <Int attribute="Decimal" context="#stay" />
+        <Float attribute="Float" context="#stay" />
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <HlCChar attribute="Char" context="#stay" />
+        <DetectChar attribute="String" context="String" char="&quot;" />
+        <DetectChar attribute="String" context="Multiline String" char="`"/>
+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+      </context>
+
+      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
+        <LineContinue attribute="Comment" context="#stay"/>
+        <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="String" lineEndContext="#pop" name="String">
+        <LineContinue  attribute="String" context="#stay" />
+        <HlCStringChar attribute="String Char" context="#stay" />
+        <DetectChar    attribute="String" context="#pop" char="&quot;" />
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="Multiline String">
+        <LineContinue attribute="String" context="#stay"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="`"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"  defStyleNum="dsNormal"   spellChecking="false"/>
+      <itemData name="Keyword"      defStyleNum="dsKeyword"  spellChecking="false"/>
+      <itemData name="Predeclared Identifier" defStyleNum="dsOthers"   spellChecking="false" />
+      <itemData name="Builtin Function"       defStyleNum="dsBuiltIn" spellChecking="false" />
+      <itemData name="Data Type"    defStyleNum="dsDataType" spellChecking="false"/>
+      <itemData name="String Char"  defStyleNum="dsChar"    />
+      <itemData name="String"       defStyleNum="dsString"  />
+      <itemData name="Comment"      defStyleNum="dsComment" />
+      <itemData name="Decimal"      defStyleNum="dsDecVal" spellChecking="false"/>
+      <itemData name="Octal"        defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Hex"          defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Float"        defStyleNum="dsFloat" spellChecking="false"/>
+      <itemData name="Char"         defStyleNum="dsChar"   spellChecking="false"/>
+      <itemData name="Symbol"       defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Error"        defStyleNum="dsError" spellChecking="false"/>
+    </itemDatas>
+    </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="/*" end="*/" region="Comment"/>
+    </comments>
+    <keywords casesensitive="1" additionalDeliminator="'&quot;" />
+  </general>
+</language>
diff --git a/xml/hamlet.xml b/xml/hamlet.xml
new file mode 100644
--- /dev/null
+++ b/xml/hamlet.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+  <!-- names must start with a letter, ideogram or underscore. \w matches any
+  word character *or* a number, hence the lookahead -->
+  <!ENTITY name    "(?![0-9])[\w_:][\w.:_-]*">
+]>
+<language name="Hamlet" version="2" kateversion="2.4" section="Markup" extensions="*.hamlet" author="Bastian Holst (bastianholst@gmx.de)" license="LGPL" indenter="haskell">
+<highlighting>
+<contexts>
+  <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
+    <RegExpr attribute="Element" context="element" String="&lt;&name;\b" />
+    <!-- A widget -->
+    <StringDetect attribute="Code" context="Code" String="^{"/>
+    <!-- Something implementing ToHtml -->
+    <StringDetect attribute="Code" context="Code" String="#{"/>
+    <!-- An URL -->
+    <StringDetect attribute="Code" context="Code" String="@{"/>
+    <!-- A Message -->
+    <StringDetect attribute="Code" context="Code" String="_{"/>
+    <DetectChar attribute="Logic" context="Logic" firstNonSpace="true" char="$"/>
+  </context>
+
+  <context attribute="Element" lineEndContext="#stay" name="element" >
+    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" />
+    <DetectChar attribute="Element" context="#pop" char="&gt;" />
+    <RegExpr attribute="Attribute" context="Attribute" String="&name;" column="0"/>
+    <RegExpr attribute="Attribute" context="Attribute" String="\s+&name;" />
+    <RegExpr attribute="Class" context="#stay" String="\.&name;"/>
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="Logic" lineEndContext="#pop" attribute="Normal Text">
+    <WordDetect attribute="Logic" context="Codeline" String="if"/>
+    <WordDetect attribute="Logic" context="Codeline" String="elseif"/>
+    <WordDetect attribute="Logic" context="Assignment" String="forall"/>
+    <WordDetect attribute="Logic" context="Assignment" String="maybe"/>
+    <WordDetect attribute="Logic" context="#stay" String="else"/>
+    <WordDetect attribute="Logic" context="#stay" String="nothing"/>
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="Code" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Code" context="#pop" char="}"/>
+    <IncludeRules context="##Haskell" />
+  </context>
+
+  <context name="Codeline" attribute="Normal Text" lineEndContext="#pop">
+    <IncludeRules context="##Haskell" />
+  </context>
+
+  <context name="Assignment" attribute="Normal Text" lineEndContext="#pop">
+    <StringDetect attribute="Assignment" context="Codeline" String="&lt;-"/>
+    <IncludeRules context="##Haskell" />
+  </context>
+
+  <context name="Attribute" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Attribute" context="Value" char="=" />
+    <DetectChar attribute="Element" context="#pop#pop" char="&gt;"/>
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context attribute="Value" lineEndContext="#stay" name="Value">
+    <DetectChar attribute="Value" context="Value DQ" char="&quot;" />
+    <DetectChar attribute="Value" context="Value SQ" char="&apos;" />
+    <StringDetect attribute="Code" context="Value Code" String="@{"/>
+    <StringDetect attribute="Code" context="Value Code" String="#{"/>
+    <RegExpr attribute="Value" context="#pop#pop" String="[^&quot;&apos;&gt;\s]+"/>
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="Value DQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop#pop#pop" char="&quot;" />
+  </context>
+
+  <context name="Value SQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop#pop#pop" char="&apos;" />
+  </context>
+  
+  <context name="Value Code" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Code" context="#pop#pop#pop" char="}"/>
+    <IncludeRules context="##Haskell" />
+  </context>
+
+</contexts>
+<itemDatas>
+  <itemData name="Normal Text" defStyleNum="dsNormal" />
+  <itemData name="Element" defStyleNum="dsKeyword" />
+  <itemData name="Attribute" defStyleNum="dsOthers" spellChecking="false" />
+  <itemData name="Class" defStyleNum="dsString" spellChecking="false" />
+  <itemData name="Value" defStyleNum="dsString" spellChecking="false" />
+  <itemData name="Logic" defStyleNum="dsKeyword" spellChecking="false" />
+  <itemData name="Code"  defStyleNum="dsKeyword" spellChecking="false" />
+  <itemData name="Error" defStyleNum="dsError" spellChecking="false" />
+  <itemData name="Assignment" defStyleNum="dsOthers"  spellChecking="false" />
+</itemDatas>
+</highlighting> 
+<general>
+  <comments>
+    <comment name="singleLine" start="#"/>
+  </comments>
+  <keywords casesensitive="1"/>
+</general> 
+</language>
diff --git a/xml/haskell.xml b/xml/haskell.xml
new file mode 100644
--- /dev/null
+++ b/xml/haskell.xml
@@ -0,0 +1,518 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Haskell" version="4" kateversion="3.4" section="Sources" extensions="*.hs;*.chs" mimetype="text/x-haskell" author="Nicolas Wu (zenzike@gmail.com)" license="LGPL" indenter="haskell" style="haskell">
+  <highlighting>
+  <list name="keywords">
+    <item> case </item>
+    <item> class </item>
+    <item> data </item>
+    <item> deriving </item>
+    <item> do </item>
+    <item> else </item>
+    <item> if </item>
+    <item> in </item>
+    <item> infixl </item>
+    <item> infixr </item>
+    <item> instance </item>
+    <item> let </item>
+    <item> module </item>
+    <item> newtype </item>
+    <item> of </item>
+    <item> primitive </item>
+    <item> then </item>
+    <item> type </item>
+    <item> where </item>
+  </list>
+  <list name="prelude function">
+    <item> FilePath </item>
+    <item> IOError </item>
+    <item> abs </item>
+    <item> acos </item>
+    <item> acosh </item>
+    <item> all </item>
+    <item> and </item>
+    <item> any </item>
+    <item> appendFile </item>
+    <item> approxRational </item>
+    <item> asTypeOf </item>
+    <item> asin </item>
+    <item> asinh </item>
+    <item> atan </item>
+    <item> atan2 </item>
+    <item> atanh </item>
+    <item> basicIORun </item>
+    <item> break </item>
+    <item> catch </item>
+    <item> ceiling </item>
+    <item> chr </item>
+    <item> compare </item>
+    <item> concat </item>
+    <item> concatMap </item>
+    <item> const </item>
+    <item> cos </item>
+    <item> cosh </item>
+    <item> curry </item>
+    <item> cycle </item>
+    <item> decodeFloat </item>
+    <item> denominator </item>
+    <item> digitToInt </item>
+    <item> div </item>
+    <item> divMod </item>
+    <item> drop </item>
+    <item> dropWhile </item>
+    <item> either </item>
+    <item> elem </item>
+    <item> encodeFloat </item>
+    <item> enumFrom </item>
+    <item> enumFromThen </item>
+    <item> enumFromThenTo </item>
+    <item> enumFromTo </item>
+    <item> error </item>
+    <item> even </item>
+    <item> exp </item>
+    <item> exponent </item>
+    <item> fail </item>
+    <item> filter </item>
+    <item> flip </item>
+    <item> floatDigits </item>
+    <item> floatRadix </item>
+    <item> floatRange </item>
+    <item> floor </item>
+    <item> fmap </item>
+    <item> foldl </item>
+    <item> foldl1 </item>
+    <item> foldMap </item>
+    <item> foldr </item>
+    <item> foldr1 </item>
+    <item> fromDouble </item>
+    <item> fromEnum </item>
+    <item> fromInt </item>
+    <item> fromInteger </item>
+    <item> fromIntegral </item>
+    <item> fromRational </item>
+    <item> fst </item>
+    <item> gcd </item>
+    <item> getChar </item>
+    <item> getContents </item>
+    <item> getLine </item>
+    <item> group </item>
+    <item> head </item>
+    <item> id </item>
+    <item> inRange </item>
+    <item> index </item>
+    <item> init </item>
+    <item> intToDigit </item>
+    <item> interact </item>
+    <item> ioError </item>
+    <item> isAlpha </item>
+    <item> isAlphaNum </item>
+    <item> isAscii </item>
+    <item> isControl </item>
+    <item> isDenormalized </item>
+    <item> isDigit </item>
+    <item> isHexDigit </item>
+    <item> isIEEE </item>
+    <item> isInfinite </item>
+    <item> isLower </item>
+    <item> isNaN </item>
+    <item> isNegativeZero </item>
+    <item> isOctDigit </item>
+    <item> isPrint </item>
+    <item> isSpace </item>
+    <item> isUpper </item>
+    <item> iterate </item>
+    <item> last </item>
+    <item> lcm </item>
+    <item> length </item>
+    <item> lex </item>
+    <item> lexDigits </item>
+    <item> lexLitChar </item>
+    <item> lines </item>
+    <item> log </item>
+    <item> logBase </item>
+    <item> lookup </item>
+    <item> map </item>
+    <item> mappend </item>
+    <item> mapM </item>
+    <item> mapM_ </item>
+    <item> max </item>
+    <item> maxBound </item>
+    <item> maximum </item>
+    <item> maybe </item>
+    <item> mconcat </item>
+    <item> mempty </item>
+    <item> min </item>
+    <item> minBound </item>
+    <item> minimum </item>
+    <item> mod </item>
+    <item> negate </item>
+    <item> not </item>
+    <item> notElem </item>
+    <item> null </item>
+    <item> numerator </item>
+    <item> odd </item>
+    <item> or </item>
+    <item> ord </item>
+    <item> otherwise </item>
+    <item> pack </item>
+    <item> pi </item>
+    <item> pred </item>
+    <item> primExitWith </item>
+    <item> print </item>
+    <item> product </item>
+    <item> properFraction </item>
+    <item> pure </item>
+    <item> putChar </item>
+    <item> putStr </item>
+    <item> putStrLn </item>
+    <item> quot </item>
+    <item> quotRem </item>
+    <item> range </item>
+    <item> rangeSize </item>
+    <item> read </item>
+    <item> readDec </item>
+    <item> readFile </item>
+    <item> readFloat </item>
+    <item> readHex </item>
+    <item> readIO </item>
+    <item> readInt </item>
+    <item> readList </item>
+    <item> readLitChar </item>
+    <item> readLn </item>
+    <item> readOct </item>
+    <item> readParen </item>
+    <item> readSigned </item>
+    <item> reads </item>
+    <item> readsPrec </item>
+    <item> realToFrac </item>
+    <item> recip </item>
+    <item> rem </item>
+    <item> repeat </item>
+    <item> replicate </item>
+    <item> return </item>
+    <item> reverse </item>
+    <item> round </item>
+    <item> scaleFloat </item>
+    <item> scanl </item>
+    <item> scanl1 </item>
+    <item> scanr </item>
+    <item> scanr1 </item>
+    <item> seq </item>
+    <item> sequence </item>
+    <item> sequenceA </item>
+    <item> sequence_ </item>
+    <item> show </item>
+    <item> showChar </item>
+    <item> showInt </item>
+    <item> showList </item>
+    <item> showLitChar </item>
+    <item> showParen </item>
+    <item> showSigned </item>
+    <item> showString </item>
+    <item> shows </item>
+    <item> showsPrec </item>
+    <item> significand </item>
+    <item> signum </item>
+    <item> sin </item>
+    <item> sinh </item>
+    <item> snd </item>
+    <item> sort </item>
+    <item> span </item>
+    <item> splitAt </item>
+    <item> sqrt </item>
+    <item> subtract </item>
+    <item> succ </item>
+    <item> sum </item>
+    <item> tail </item>
+    <item> take </item>
+    <item> takeWhile </item>
+    <item> tan </item>
+    <item> tanh </item>
+    <item> threadToIOResult </item>
+    <item> toEnum </item>
+    <item> toInt </item>
+    <item> toInteger </item>
+    <item> toLower </item>
+    <item> toRational </item>
+    <item> toUpper </item>
+    <item> traverse </item>
+    <item> truncate </item>
+    <item> uncurry </item>
+    <item> undefined </item>
+    <item> unlines </item>
+    <item> until </item>
+    <item> unwords </item>
+    <item> unzip </item>
+    <item> unzip3 </item>
+    <item> userError </item>
+    <item> words </item>
+    <item> writeFile </item>
+    <item> zip </item>
+    <item> zip3 </item>
+    <item> zipWith </item>
+    <item> zipWith3 </item>
+  </list>
+  <list name="prelude class">
+    <item> Applicative </item>
+    <item> Bounded </item>
+    <item> Enum </item>
+    <item> Eq </item>
+    <item> Floating </item>
+    <item> Foldable </item>
+    <item> Fractional </item>
+    <item> Functor </item>
+    <item> Integral </item>
+    <item> Ix </item>
+    <item> Monad </item>
+    <item> Monoid </item>
+    <item> Num </item>
+    <item> Ord </item>
+    <item> Read </item>
+    <item> Real </item>
+    <item> RealFloat </item>
+    <item> RealFrac </item>
+    <item> Show </item>
+    <item> Traversable </item>
+  </list>
+  <list name="prelude type">
+    <item> Bool </item>
+    <item> ByteString </item>
+    <item> Char </item>
+    <item> Double </item>
+    <item> Either </item>
+    <item> FilePath </item>
+    <item> Float </item>
+    <item> Int </item>
+    <item> Integer </item>
+    <item> IO </item>
+    <item> IOError </item>
+    <item> Maybe </item>
+    <item> Ordering </item>
+    <item> Ratio </item>
+    <item> Rational </item>
+    <item> ReadS </item>
+    <item> ShowS </item>
+    <item> String </item>
+    <item> Word </item>
+  </list>
+  <list name="prelude data">
+    <item> False </item>
+    <item> True </item>
+    <item> Left </item>
+    <item> Right </item>
+    <item> Just </item>
+    <item> Nothing </item>
+    <item> EQ </item>
+    <item> LT </item>
+    <item> GT </item>
+  </list>
+  <list name="cpp_keywords">
+    <item> defined </item>
+    <item> if </item>
+    <item> ifdef </item>
+    <item> ifndef </item>
+    <item> include </item>
+    <item> undef </item>
+  </list>
+  <list name="c2hs_keywords">
+    <item> qualified </item>
+    <item> lib </item>
+    <item> prefix </item>
+    <item> as </item>
+    <item> with </item>
+    <item> call </item>
+    <item> pure </item>
+    <item> unsafe </item>
+    <item> get </item>
+    <item> set </item>
+    <item> foreign </item>
+    <item> stable </item>
+    <item> nocode </item>
+  </list>
+  <list name="import_keywords">
+    <item> as </item>
+    <item> qualified </item>
+    <item> hiding </item>
+  </list>
+  <contexts>
+    <context attribute="Normal" lineEndContext="#stay" name="code">
+      <RegExpr attribute="Pragma"  context="#stay" String="\{-#.*#-\}"/>
+      <StringDetect attribute="Comment" context="#stay" String="{--}"/>
+      <RegExpr attribute="Comment" context="comments" String="\{-[^#]?" />
+      <RegExpr attribute="Comment" context="comment"  String="--[\-]*([^!#\$%&amp;\*\+\./&lt;=&gt;\?@&#92;\^\|\-~:]|$)" />
+      <RegExpr attribute="Keyword" context="import"   String="import\s+" />
+      <Detect2Chars attribute="C2HS Directive" context="c2hs directive" char="{" char1="#"/>
+      <DetectChar attribute="C Preprocessor" context="C Preprocessor" char="#" column="0"/>
+
+      <keyword attribute="Keyword"          context="#stay" String="keywords" />
+      <keyword attribute="Function Prelude" context="#stay" String="prelude function" />
+      <keyword attribute="Type Prelude"     context="#stay" String="prelude type" />
+      <keyword attribute="Data Prelude"     context="#stay" String="prelude data" />
+      <keyword attribute="Class Prelude"    context="#stay" String="prelude class" />
+
+      <RegExpr attribute="Special"          context="#stay" String="(::|=&gt;|\-&gt;|&lt;\-)" />
+      <AnyChar attribute="Special"          context="#stay" String="∷⇒→←∀∃" />
+      <RegExpr attribute="Signature"        context="#stay" String="\s*[a-z_][a-zA-Z0-9_']*\s*(?=::([^\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:]|$))" />
+      <RegExpr attribute="Signature"        context="#stay" String="\s*(\([\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:]*\))*\s*(?=::[^\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:])" />
+      <RegExpr attribute="Function"         context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[a-z_][a-zA-Z0-9_']*" />
+      <RegExpr attribute="Operator"         context="#stay" String="([A-Z][a-zA-Z0-0_']*\.)*[\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:]+" />
+      <RegExpr attribute="Type"             context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />
+
+      <RegExpr    attribute="Float"   context="#stay" String ="\d+\.\d+([Ee][+-]?\d+)?|\d+[Ee][+-]?\d+"/>
+      <RegExpr    attribute="Octal"   context="#stay" String="0[Oo][0-7]+"/>
+      <RegExpr    attribute="Hex"     context="#stay" String="0[Xx][0-9A-Fa-f]+"/>
+      <Int        attribute="Decimal" context="#stay" />
+      <DetectChar attribute="Char"    context="char" char="'" />
+      <DetectChar attribute="String"  context="string" char="&quot;" />
+
+      <DetectChar attribute="Function Infix" context="infix" char="`"/>
+      <Detect2Chars attribute="EnumFromTo" context="#stay" char ="." char1="." />
+      <AnyChar      attribute="EnumFromTo" context="#stay" String="‥" />
+
+      <RegExpr attribute="Normal" context="Hamlet" String="\[[wx]?hamlet\|" />
+      <RegExpr attribute="Normal" context="QuasiQuote" String="\[[a-zA-Z_'](\w|[_'])*\|" />
+    </context>
+    <context attribute="Normal" lineEndContext="#stay" name="QuasiQuote">
+      <Detect2Chars attribute="Normal" context="#pop" char="|" char1="]"/>
+    </context>
+    <context attribute="Normal" lineEndContext="#stay" name="Hamlet">
+      <IncludeRules context="QuasiQuote"/>
+      <IncludeRules context="##Hamlet" />
+    </context>
+    <context attribute="Comment" lineEndContext="#pop" name="comment">
+      <IncludeRules context="Haddock" />
+    </context>
+    <context attribute="Comment" lineEndContext="#stay" name="comments">
+      <Detect2Chars attribute="Comment" context="comment" char="{" char1="-" />
+      <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
+      <IncludeRules context="Haddock" />
+    </context>
+    <context attribute="Char" lineEndContext="#pop" name="char">
+      <RegExpr attribute="Char" context="#stay" String="\\." />
+      <DetectChar attribute="Char" context="#pop" char="'" />
+    </context>
+    <context attribute="String" lineEndContext="#stay" name="string">
+      <RegExpr attribute="String" context="#stay" String="\\." />
+      <DetectChar attribute="String" context="#pop" char="&quot;" />
+    </context>
+    <context attribute="Function Infix" lineEndContext="#stay" name="infix">
+      <DetectChar attribute="Function Infix" context="#pop" char="`"/>
+    </context>
+    <context attribute="Import Statement" lineEndContext="#pop" name="import">
+      <keyword attribute="Keyword"          context="#stay" String="import_keywords" />
+      <RegExpr attribute="Function"         context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[a-z][a-zA-Z0-9_']*" />
+      <RegExpr attribute="Type"             context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />
+
+      <RegExpr attribute="Pragma"  context="#stay" String="\{-#.*#-\}"/>
+      <RegExpr attribute="Comment" context="comments" String="\{-[^#]?" />
+      <RegExpr attribute="Comment" context="comment"  String="--[^\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:].*$" />
+    </context>
+
+    <!-- Haddock -->
+    <context attribute="Comment" lineEndContext="#stay" name="Haddock">
+      <RegExpr attribute="Haddock Hyperlink" context="#stay" String="'([A-Z][a-zA-Z0-9_']*\.)*[a-z_][a-zA-Z0-9_']*'" />
+      <RegExpr attribute="Haddock Module" context="#stay" String="&quot;([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*&quot;" />
+      <RegExpr attribute="Haddock Emphasis" context="Start Haddock Emphasis" lookAhead="true" String="/.*/" />
+      <RegExpr attribute="Haddock Bold" context="Start Haddock Bold" lookAhead="true" String="__.*__" />
+    </context>
+    <context attribute="Haddock Emphasis" lineEndContext="#pop" name="Start Haddock Emphasis">
+      <DetectChar attribute="Haddock Emphasis" context="Haddock Emphasis" char="/" />
+    </context>
+    <context attribute="Haddock Emphasis" lineEndContext="#pop" name="Haddock Emphasis">
+      <DetectChar attribute="Haddock Emphasis" context="#pop#pop" char="/" />
+      <IncludeRules context="Haddock"/>
+    </context>
+    <context attribute="Haddock Bold" lineEndContext="#pop" name="Start Haddock Bold">
+      <Detect2Chars attribute="Haddock Bold" context="Haddock Bold" char="_" char1="_" />
+    </context>
+    <context attribute="Haddock Bold" lineEndContext="#pop" name="Haddock Bold">
+      <Detect2Chars attribute="Haddock Bold" context="#pop#pop" char="_" char1="_" />
+      <IncludeRules context="Haddock"/>
+    </context>
+
+    <!-- C Preprocessor -->
+    <context attribute="C Preprocessor" lineEndContext="#pop" name="C Preprocessor">
+      <keyword attribute="C Preprocessor Keyword" context="#stay" String="cpp_keywords" />
+      <RegExpr                          context="#stay" String=".*>$" />
+    </context>
+
+    <!-- C2Hs -->
+    <context attribute="C2HS Directive" lineEndContext="#stay" name="c2hs directive">
+      <Detect2Chars attribute="C2HS Directive" context="#pop" char="#" char1="}" />
+      <keyword attribute="Keyword" context="#stay"          String="c2hs_keywords" />
+      <RegExpr attribute="Keyword" context="#stay"          String="context" />
+      <RegExpr attribute="Keyword" context="#stay"          String="call" />
+      <RegExpr attribute="Keyword" context="#stay"          String="sizeof" />
+      <RegExpr attribute="Keyword" context="#stay"          String="alignof" />
+      <RegExpr attribute="Keyword" context="c2hs fun"       String="fun" />
+      <RegExpr attribute="Keyword" context="c2hs pointer"   String="pointer" />
+      <RegExpr attribute="Keyword" context="c2hs enum"      String="enum" />
+      <RegExpr attribute="Keyword" context="c2hs import"    String="import" />
+    </context>
+    <context attribute="C2HS Directive" lineEndContext="#stay" name="c2hs import">
+      <RegExpr attribute="Type"    context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />
+      <Detect2Chars attribute="C2HS Directive" context="#pop#pop" char="#" char1="}" />
+    </context>
+    <context attribute="C2HS Directive" lineEndContext="#stay" name="c2hs pointer">
+      <keyword attribute="Keyword" context="#stay" String="c2hs_keywords" />
+      <RegExpr attribute="Keyword" context="#stay" String="newtype" />
+      <RegExpr attribute="Type"    context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />
+      <Detect2Chars attribute="C2HS Directive" context="#pop#pop" char="#" char1="}" />
+    </context>
+    <context attribute="C2HS Directive" lineEndContext="#stay" name="c2hs fun">
+      <keyword attribute="Keyword" context="#stay" String="c2hs_keywords" />
+      <RegExpr attribute="Type" context="#stay" String="`[^']*'" />
+      <Detect2Chars attribute="C2HS Directive" context="#pop#pop" char="#" char1="}" />
+    </context>
+    <context attribute="C2HS Directive" lineEndContext="#stay" name="c2hs enum">
+      <RegExpr attribute="Type"             context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />
+      <Detect2Chars attribute="C2HS Directive" context="#pop#pop" char="#" char1="}" />
+    </context>
+  </contexts>
+  <itemDatas>
+    <itemData name="Normal"           defStyleNum="dsNormal"   spellChecking="false" />
+    <itemData name="Comment"          defStyleNum="dsComment" />
+    <itemData name="Pragma"           defStyleNum="dsOthers"   spellChecking="false" />
+
+    <itemData name="Keyword"          defStyleNum="dsKeyword"  spellChecking="false" />
+    <itemData name="Type Prelude"     defStyleNum="dsDataType" spellChecking="false" />
+    <itemData name="Function Prelude" defStyleNum="dsNormal"   spellChecking="false" />
+    <itemData name="Data Prelude"     defStyleNum="dsDataType" spellChecking="false" />
+    <itemData name="Class Prelude"    defStyleNum="dsDataType" spellChecking="false" />
+
+    <itemData name="Signature"        defStyleNum="dsOthers"  spellChecking="false" />
+    <itemData name="Function"         defStyleNum="dsNormal"   spellChecking="false" />
+    <itemData name="Operator"         defStyleNum="dsFunction" spellChecking="false" />
+    <itemData name="Type"             defStyleNum="dsDataType" spellChecking="false" />
+    <itemData name="Special"          defStyleNum="dsOthers"  spellChecking="false" />
+
+    <itemData name="Octal"            defStyleNum="dsBaseN"    spellChecking="false" />
+    <itemData name="Hex"              defStyleNum="dsBaseN"    spellChecking="false" />
+    <itemData name="Decimal"          defStyleNum="dsDecVal"   spellChecking="false" />
+    <itemData name="Float"            defStyleNum="dsFloat"    spellChecking="false" />
+    <itemData name="Char"             defStyleNum="dsChar"     spellChecking="false" />
+    <itemData name="String"           defStyleNum="dsString" />
+
+    <itemData name="Function Infix"   defStyleNum="dsOthers"   spellChecking="false" />
+    <itemData name="EnumFromTo"       defStyleNum="dsOthers"   spellChecking="false" />
+
+    <itemData name="C Preprocessor"   defStyleNum="dsOthers"   spellChecking="false" />
+    <itemData name="C Preprocessor Keyword" defStyleNum="dsOthers"   spellChecking="false" />
+
+    <itemData name="Haddock Hyperlink" defStyleNum="dsComment" spellChecking="false" underline="true" />
+    <itemData name="Haddock Module" defStyleNum="dsComment" spellChecking="false" underline="true" />
+    <itemData name="Haddock Emphasis" defStyleNum="dsComment" italic="true"/>
+    <itemData name="Haddock Bold" defStyleNum="dsComment" bold="true"/>
+
+    <itemData name="C2HS Directive"   defStyleNum="dsString"   spellChecking="false" />
+  </itemDatas>
+  </highlighting>
+  <general>
+    <folding indentationsensitive="1"/>
+    <comments>
+      <comment name="singleLine" start="--" />
+      <comment name="multiLine" start="{-" end="-}" />
+    </comments>
+    <keywords casesensitive="1" />
+</general>
+</language>
diff --git a/xml/haxe.xml b/xml/haxe.xml
new file mode 100644
--- /dev/null
+++ b/xml/haxe.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  ========================================================================
+
+  Haxe Language highlighting.
+
+  ========================================================================
+  
+  Author: Chad Joan
+  
+  ========================================================================
+-->
+
+<language name="Haxe" section="Sources" extensions="*.hx;*.Hx;*.hX;*.HX;" mimetype="text/x-hxsrc" version="1" kateversion="2.4" casesensitive="true" author="Chad Joan" license="MIT">
+  <highlighting>
+    <list name="keywords">
+    
+      <item> break </item>
+      
+      <item> case </item>
+      <item> cast </item>
+      <item> catch </item>
+      <item> class </item>
+      <item> continue </item>
+      
+      <item> default </item>
+
+      <item> else </item>
+      <item> enum </item>
+      <item> extends </item>
+      
+      <item> false </item>
+      <item> for </item>
+      <item> function </item>
+      
+      <item> if </item>
+      <item> implements </item>
+      <item> in </item>
+      <item> inline </item>
+      <item> interface </item>
+      
+      <item> new </item>
+      <item> null </item>
+      
+      <item> override </item>
+      
+      <item> private </item>
+      <item> public </item>
+      
+      <item> return </item>
+      
+      <item> static </item>
+      <item> super </item>
+      <item> switch </item>
+      
+      <item> this </item>
+      <item> throw </item>
+      <item> trace </item>
+      <item> true </item>
+      <item> try </item>
+      <item> typedef </item>
+      
+      <item> untyped </item>
+      
+      <item> var </item>
+      
+      <item> while </item>
+
+    </list>
+
+    <list name="modules">
+      <item> package </item>
+      <item> import </item>
+    </list>
+
+    <list name="types">
+      <item> Array </item>
+      <item> Void </item>
+      <item> Bool </item>
+      <item> Int </item>
+      <item> UInt </item>
+      <item> Float </item>
+      <item> Dynamic </item>
+      <item> String </item>
+      <item> List </item>
+      <item> Error </item>
+      <item> Unknown </item>
+      <item> Type </item>
+    </list>
+
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="normal">
+        <RegExpr attribute="Preprocessor" context="#pop" String="#if(\s+\w+)?" />
+        <RegExpr attribute="Preprocessor" context="#pop" String="#(else|elseif|end|error)" />
+
+        <keyword attribute="Keyword"        context="#stay"      String="keywords"/>
+        <keyword attribute="Module"         context="ModuleName" String="modules"/>
+        <keyword attribute="Type"           context="#stay"      String="types"/>
+      
+        <DetectIdentifier attribute="Normal Text"/>
+
+        <HlCStringChar attribute="EscapeString" context="#pop"/>
+
+        <DetectChar attribute="RawString" context="RawString"   char="'"/>
+        <DetectChar attribute="String"    context="String"      char="&quot;"/>
+
+        <Detect2Chars attribute="Comment" context="CommentLine"   char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="CommentBlock" char="/" char1="*" beginRegion="CommentBlock"/>
+
+        <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 -->
+        <!-- All floats except integers -->
+        <RegExpr attribute="Float" context="#pop" String="[\d][\d]*(\.(?!\.)[\d]*([eE][-+]?[\d]+)?)"/>
+        <RegExpr attribute="Float" context="#pop" String="\.[\d][\d]*([eE][-+]?[\d]+)?"/>
+
+        <!-- Hex|Integer -->
+        <RegExpr attribute="Hex"     context="#pop" String="0[xX][\da-fA-F]+"/>
+        <RegExpr attribute="Integer" context="#pop" String="\d+"/>
+      </context>
+
+      <context attribute="Module Name" lineEndContext="#stay" name="ModuleName">
+        <Detect2Chars attribute="Comment"     context="CommentLine"   char="/" char1="/"/>
+        <Detect2Chars attribute="Comment"     context="CommentBlock" char="/" char1="*" beginRegion="CommentBlock"/>
+        <RegExpr context="#pop" String="[^\s\w.:,]"/>
+      </context>
+
+      <!-- Strings -->
+      <!-- '...' -->
+      <context attribute="RawString" lineEndContext="#stay" name="RawString">
+        <DetectChar attribute="RawString" context="#pop" char="'"/>
+      </context>
+      <!-- "..." -->
+      <context attribute="String" lineEndContext="#stay" name="String">
+        <Detect2Chars attribute="String" context="#stay" char="\" char1="&quot;"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+        <HlCStringChar attribute="EscapeSequence"/>
+        <RegExpr attribute="EscapeSequence" context="#stay" String="\\(u[\da-fA-F]{4}|U[\da-fA-F]{8}|&amp;[a-zA-Z]\w+;)" />
+      </context>
+
+      <!-- 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>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"    defStyleNum="dsNormal"/>
+      <itemData name="Keyword"        defStyleNum="dsKeyword"/>
+      <itemData name="Type"           defStyleNum="dsDataType"/>
+      <itemData name="Integer"        defStyleNum="dsDecVal"/>
+      <itemData name="Hex"            defStyleNum="dsBaseN"/>
+      <itemData name="Float"          defStyleNum="dsFloat"/>
+
+      <itemData name="Module"         defStyleNum="dsKeyword"  color="#0000ff" selColor="#ffffff"/>
+      <itemData name="Module Name"    defStyleNum="dsNormal"  color="#0000ff" selColor="#ffffff"/>
+
+      <itemData name="EscapeSequence" defStyleNum="dsString" color="#00aa88" selColor="#ff0000"/>
+      <itemData name="String"         defStyleNum="dsString"/>
+      <itemData name="RawString"      defStyleNum="dsString"/>
+
+      <itemData name="Comment"        defStyleNum="dsComment"/>
+      
+      <itemData name="Preprocessor"   defStyleNum="dsOthers"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//"/>
+      <comment name="multiLine" start="/*" end="*/" />
+    </comments>
+    <keywords casesensitive="true"/>
+  </general>
+</language>
diff --git a/xml/html.xml b/xml/html.xml
new file mode 100644
--- /dev/null
+++ b/xml/html.xml
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+	<!ENTITY name    "[A-Za-z_:][\w.:_-]*">
+	<!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
+]>
+<language name="HTML" version="4" kateversion="3.4" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm" mimetype="text/html"  author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
+
+<highlighting>
+<contexts>
+  <context name="Start" attribute="Normal Text" lineEndContext="#stay">
+    <IncludeRules context="FindHTML" />
+  </context>
+
+  <context name="FindHTML" attribute="Normal Text" lineEndContext="#stay">
+    <DetectSpaces/>
+    <DetectIdentifier/>
+    <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+    <StringDetect attribute="CDATA" context="CDATA" String="&lt;![CDATA[" beginRegion="cdata" />
+    <RegExpr attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE\s+" insensitive="true" beginRegion="doctype"  />
+    <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:-]*" beginRegion="pi" />
+    <RegExpr attribute="Element" context="CSS" String="&lt;style\b" insensitive="true" beginRegion="style" />
+    <RegExpr attribute="Element" context="JS" String="&lt;script\b" insensitive="true" beginRegion="script" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;pre\b" insensitive="true" beginRegion="pre" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;div\b" insensitive="true" beginRegion="div" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;table\b" insensitive="true" beginRegion="table" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;ul\b" insensitive="true" beginRegion="ul" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;ol\b" insensitive="true" beginRegion="ol" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;dl\b" insensitive="true" beginRegion="dl" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;article\b" insensitive="true" beginRegion="article" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;aside\b" insensitive="true" beginRegion="aside" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;details\b" insensitive="true" beginRegion="details" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;figure\b" insensitive="true" beginRegion="figure" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;footer\b" insensitive="true" beginRegion="footer" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;header\b" insensitive="true" beginRegion="header" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;main\b" insensitive="true" beginRegion="main" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;nav\b" insensitive="true" beginRegion="nav" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;section\b" insensitive="true" beginRegion="section" />
+    <RegExpr attribute="Element" context="El Open" String="&lt;&name;" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/pre\b" insensitive="true" endRegion="pre" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/div\b" insensitive="true" endRegion="div" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/table\b" insensitive="true" endRegion="table" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/ul\b" insensitive="true" endRegion="ul" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/ol\b" insensitive="true" endRegion="ol" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/dl\b" insensitive="true" endRegion="dl" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/article\b" insensitive="true" endRegion="article" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/aside\b" insensitive="true" endRegion="aside" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/details\b" insensitive="true" endRegion="details" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/figure\b" insensitive="true" endRegion="figure" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/footer\b" insensitive="true" endRegion="footer" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/header\b" insensitive="true" endRegion="header" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/main\b" insensitive="true" endRegion="main" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/nav\b" insensitive="true" endRegion="nav" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/section\b" insensitive="true" endRegion="section" />
+    <RegExpr attribute="Element" context="El Close" String="&lt;/&name;" />
+    <!-- as long as kde gives DTDs the text/html mimetype--><IncludeRules context="FindDTDRules" />
+    <IncludeRules context="FindEntityRefs" />
+  </context>
+
+  <context name="FindEntityRefs" attribute="Other Text" lineEndContext="#stay">
+    <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+    <AnyChar attribute="Error" context="#stay" String="&amp;&lt;" />
+  </context>
+
+  <context name="FindPEntityRefs" attribute="Other Text" lineEndContext="#stay">
+    <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+    <RegExpr attribute="PEntityRef" context="#stay" String="%&name;;" />
+    <AnyChar attribute="Error" context="#stay" String="&amp;%" />
+  </context>
+
+  <context name="FindAttributes" attribute="Other 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="Other Text" lineEndContext="#stay">
+    <RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
+  </context>
+
+
+  <context name="Comment" attribute="Comment" lineEndContext="#stay">
+    <DetectSpaces/>
+    <IncludeRules context="##Alerts" />
+    <DetectIdentifier/>
+    <StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment" />
+    <RegExpr attribute="Error" context="#stay" String="-(-(?!-&gt;))+" />
+  </context>
+
+  <context name="CDATA" attribute="Other Text" lineEndContext="#stay">
+    <DetectSpaces/>
+    <DetectIdentifier/>
+    <StringDetect attribute="CDATA" context="#pop" String="]]&gt;" endRegion="cdata" />
+    <StringDetect attribute="EntityRef" context="#stay" String="]]&amp;gt;" />
+  </context>
+
+  <context name="PI" attribute="Other Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1="&gt;" endRegion="pi" />
+  </context>
+
+  <context name="Doctype" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="&gt;" endRegion="doctype" />
+    <DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
+  </context>
+
+  <context name="Doctype Internal Subset" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
+    <IncludeRules context="FindDTDRules" />
+    <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+    <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:-]*" beginRegion="pi" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="Doctype Markupdecl" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="&gt;" />
+    <DetectChar attribute="Value" context="Doctype Markupdecl DQ" char="&quot;" />
+    <DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="&apos;" />
+  </context>
+
+  <context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop" char="&quot;" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop" char="&apos;" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="El Open" attribute="Other Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" />
+    <DetectChar attribute="Element" context="#pop" char="&gt;" />
+    <IncludeRules context="FindAttributes" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="El Close" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Element" context="#pop" char="&gt;" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="El Close 2" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Element" context="#pop#pop#pop" char="&gt;" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="El Close 3" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Element" context="#pop#pop#pop#pop" char="&gt;" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="CSS" attribute="Other Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="style" />
+    <DetectChar attribute="Element" context="CSS content" char="&gt;" />
+    <IncludeRules context="FindAttributes" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="CSS content" attribute="Other Text" lineEndContext="#stay">
+    <RegExpr attribute="Element" context="El Close 2" String="&lt;/style\b" insensitive="true" endRegion="style" />
+    <IncludeRules context="##CSS" includeAttrib="true"/>
+  </context>
+
+  <context name="JS" attribute="Other Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="script" />
+    <DetectChar attribute="Element" context="JS content" char="&gt;" />
+    <IncludeRules context="FindAttributes" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="JS content" attribute="Other Text" lineEndContext="#stay">
+    <RegExpr attribute="Element" context="El Close 2" String="&lt;/script\b" insensitive="true" endRegion="script" />
+    <RegExpr attribute="Comment" context="JS comment close" String="//(?=.*&lt;/script\b)" insensitive="true" />
+    <IncludeRules context="Normal##JavaScript" includeAttrib="true"/>
+  </context>
+
+  <context name="JS comment close" attribute="Comment" lineEndContext="#pop">
+    <RegExpr attribute="Element" context="El Close 3" String="&lt;/script\b" insensitive="true" endRegion="script" />
+    <IncludeRules context="##Alerts" />
+  </context>
+
+  <context name="Value" attribute="Other Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="Value NQ">
+    <DetectChar attribute="Value" context="Value DQ" char="&quot;" />
+    <DetectChar attribute="Value" context="Value SQ" char="&apos;" />
+    <DetectSpaces />
+  </context>
+
+  <context name="Value NQ" attribute="Other Text" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
+    <IncludeRules context="FindEntityRefs" />
+    <RegExpr attribute="Value" context="#stay" String="/(?!&gt;)" />
+    <RegExpr attribute="Value" context="#stay" String="[^/&gt;&lt;&quot;&apos;\s]" />
+  </context>
+
+  <context name="Value DQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop#pop" char="&quot;" />
+    <IncludeRules context="FindEntityRefs" />
+  </context>
+
+  <context name="Value SQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop#pop" char="&apos;" />
+    <IncludeRules context="FindEntityRefs" />
+  </context>
+
+</contexts>
+<itemDatas>
+  <itemData name="Normal Text" defStyleNum="dsNormal" />
+  <itemData name="Other Text" defStyleNum="dsNormal" spellChecking="false" />
+  <itemData name="Comment" defStyleNum="dsComment" />
+  <itemData name="CDATA" defStyleNum="dsBaseN" bold="1" spellChecking="false" />
+  <itemData name="Processing Instruction" defStyleNum="dsKeyword" spellChecking="false" />
+  <itemData name="Doctype" defStyleNum="dsDataType" bold="1" spellChecking="false" />
+  <itemData name="Element" defStyleNum="dsKeyword" spellChecking="false" />
+  <itemData name="Attribute" defStyleNum="dsOthers" spellChecking="false" />
+  <itemData name="Value" defStyleNum="dsString" spellChecking="false" />
+  <itemData name="EntityRef" defStyleNum="dsDecVal" spellChecking="false" />
+  <itemData name="PEntityRef" defStyleNum="dsDecVal" spellChecking="false" />
+  <itemData name="Error" defStyleNum="dsError" spellChecking="false" />
+</itemDatas>
+
+</highlighting>
+<general>
+  <comments>
+    <comment name="multiLine" start="&lt;!--" end="--&gt;" />
+  </comments>
+</general>
+</language>
diff --git a/xml/idris.xml b/xml/idris.xml
new file mode 100644
--- /dev/null
+++ b/xml/idris.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- Based on haskell.xml and idris.vim (https://github.com/idris-hackers/idris-vim/blob/6bdb44b85406b75e3b3a4fa265deab1dbe8c6ff1/syntax/idris.vim) -->
+<language name="Idris" version="1.0" kateversion="3.4" section="Sources" extensions="*.idr" author="Alexander Shabalin" license="LGPL">
+  <highlighting>
+  <list name="keywords">
+    <item> abstract </item>
+    <item> auto </item>
+    <item> case </item>
+    <item> class </item>
+    <item> codata </item>
+    <item> covering </item>
+    <item> data </item>
+    <item> default </item>
+    <item> do </item>
+    <item> dsl </item>
+    <item> else </item>
+    <item> if </item>
+    <item> implicit </item>
+    <item> import </item>
+    <item> impossible </item>
+    <item> in </item>
+    <item> index_first </item>
+    <item> index_next </item>
+    <item> infix </item>
+    <item> infixl </item>
+    <item> infixr </item>
+    <item> instance </item>
+    <item> lambda </item>
+    <item> let </item>
+    <item> module </item>
+    <item> mututal </item>
+    <item> namespace </item>
+    <item> of </item>
+    <item> parameters </item>
+    <item> partial </item>
+    <item> pattern </item>
+    <item> postulate </item>
+    <item> prefix </item>
+    <item> private </item>
+    <item> proof </item>
+    <item> public </item>
+    <item> record </item>
+    <item> rewrite </item>
+    <item> static </item>
+    <item> syntax </item>
+    <item> tactics </item>
+    <item> term </item>
+    <item> then </item>
+    <item> total </item>
+    <item> using </item>
+    <item> variable </item>
+    <item> where </item>
+    <item> with </item>
+  </list>
+  <list name="directives">
+     <item> access </item>
+     <item> assert_total </item>
+     <item> default </item>
+     <item> dynamic </item>
+     <item> elim </item>
+     <item> error_handlers </item>
+     <item> error_reverse </item>
+     <item> flag </item>
+     <item> hide </item>
+     <item> include </item>
+     <item> language </item>
+     <item> lib </item>
+     <item> link </item>
+     <item> name </item>
+     <item> provide </item>
+     <item> reflection </item>
+  </list>
+  <list name="tactics">
+    <item> applyTactic </item>
+    <item> attack </item>
+    <item> compute </item>
+    <item> exact </item>
+    <item> fill </item>
+    <item> focus </item>
+    <item> induction </item>
+    <item> intro </item>
+    <item> intros </item>
+    <item> let </item>
+    <item> refine </item>
+    <item> reflect </item>
+    <item> rewrite </item>
+    <item> solve </item>
+    <item> trivial </item>
+    <item> try </item>
+  </list>
+  <contexts>
+     <context attribute="Normal" lineEndContext="#stay" name="code">
+        <RegExpr attribute="Comment" context="line comment"
+           String="---*[^!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:]?" />
+        <RegExpr attribute="Comment" context="line comment"
+           String="\|\|\|[^\-!#\$%&amp;\*\+/&lt;=&gt;\?&#92;@\^\|~\.:]?" />
+        <Detect2Chars attribute="Comment" context="block comment" char="{" char1="-" />
+        <RegExpr attribute="Normal" context="declaration" lookAhead="true"
+           String="^\s*([a-z]+\s+)*([A-Za-z][A-Za-z0-9_]*'*|\([\-!#\$%&amp;\*\+\./&lt;=&gt;\?@&#92;\^\|~:]+\))\s*:" />
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <DetectChar attribute="Keyword" context="directive" char="%" />
+        <keyword attribute="Tactic" context="#stay" String="tactics" />
+        <DetectChar attribute="Char" context="char" char="'" />
+        <DetectChar attribute="String" context="string" char="&quot;" />
+        <Int attribute="Decimal" context="#stay" />
+        <RegExpr attribute="Hex" context="#stay" String="0[Xx][0-9A-Fa-f]+"/>
+        <RegExpr attribute="Octal" context="#stay" String="0[Xx][0-9A-Fa-f]+"/>
+        <RegExpr attribute="Float" context="#stay" String="\d+\.\d+([eE][-+]?\d+)?" />
+        <RegExpr attribute="Type" context="#stay" String="([A-Z][a-zA-Z0-9_]*'*|_\|_)" />
+        <RegExpr attribute="Normal" context="#stay" String="[a-z][a-zA-Z0-9_]*'*" />
+        <RegExpr attribute="MetaVar" context="#stay" String="\?[a-z][A-Za-z0-9_]+'*" />
+        <RegExpr attribute="Special" context="#stay" String="(:|=&gt;|\-&gt;|&lt;\-)" />
+        <RegExpr attribute="Operator" context="#stay"
+           String="([\-!#\$%&amp;\*\+\./&lt;=&gt;\?@&#92;\^\|~:]+|\b_\b)" />
+        <RegExpr attribute="Operator" context="#stay" String="`[A-Za-z][A-Za-z0-9_]*'*`" />
+     </context>
+     <context attribute="Normal" lineEndContext="#pop" name="declaration">
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <RegExpr attribute="Type" context="#stay" String="([A-Z][a-zA-Z0-9_]*'*|_\|_)" />
+        <RegExpr attribute="Declaration" context="#stay" String="[a-z][A-Za-z0-9_]*'*"/>
+        <RegExpr attribute="Operator" context="#stay"
+           String="\([\-!#\$%&amp;\*\+\./&lt;=&gt;\?@&#92;\^\|~:]+\)" />
+        <DetectChar attribute="Special" context="#pop" char=":" />
+     </context>
+     <context attribute="Normal" lineEndContext="#pop" name="directive">
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <keyword attribute="Keyword" context="#stay" String="directives" />
+     </context>
+     <context attribute="Char" lineEndContext="#pop" name="char">
+        <RegExpr attribute="Char" context="#stay" String="\\." />
+        <DetectChar attribute="Char" context="#pop" char="'" />
+     </context>
+     <context attribute="String" lineEndContext="#stay" name="string">
+        <RegExpr attribute="String" context="#stay" String="\\." />
+        <RegExpr attribute="String" context="#pop" String="&quot;" />
+     </context>
+     <context attribute="Comment" lineEndContext="#pop" name="line comment" />
+     <context attribute="Comment" lineEndContext="#stay" name="block comment">
+        <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
+        <Detect2Chars attribute="Comment" context="block comment" char="{" char1="-" />
+     </context>
+  </contexts>
+  <itemDatas>
+    <itemData name="Normal" defStyleNum="dsNormal" spellChecking="false" />
+    <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" />
+    <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
+    <itemData name="Tactic" defStyleNum="dsKeyword" spellChecking="false" />
+    <itemData name="Char" defStyleNum="dsChar" spellChecking="false" />
+    <itemData name="String" defStyleNum="dsString" spellChecking="true" />
+    <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" />
+    <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false" />
+    <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false" />
+    <itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />
+    <itemData name="Type" defStyleNum="dsDataType" spellChecking="false" />
+    <itemData name="MetaVar" defStyleNum="dsOthers" spellChecking="false" />
+    <itemData name="Operator" defStyleNum="dsFunction" spellChecking="false" />
+    <itemData name="Special" defStyleNum="dsOthers" spellChecking="false" />
+    <itemData name="Declaration" defStyleNum="dsFunction" spellChecking="false" />
+  </itemDatas>
+  </highlighting>
+  <general>
+    <folding indentationsensitive="1"/>
+    <comments>
+      <comment name="singleLine" start="--" />
+      <comment name="multiLine" start="{-" end="-}" />
+    </comments>
+    <keywords casesensitive="1" />
+</general>
+</language>
diff --git a/xml/ini.xml b/xml/ini.xml
new file mode 100644
--- /dev/null
+++ b/xml/ini.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="INI Files" section="Configuration" extensions="*.ini;*.pls;*.kcfgc" mimetype="" version="2" kateversion="2.4" author="Jan Janssen (medhefgo@web.de)" license="LGPL">
+
+<highlighting>
+<list name="keywords">
+<item>On</item>
+<item>Off</item>
+<item>Default</item>
+<item>Defaults</item>
+<item>Localhost</item>
+<item>Null</item>
+<item>True</item>
+<item>False</item>
+<item>Yes</item>
+<item>No</item>
+<item>Normal</item>
+
+<!-- PHP Keywords -->
+<item>E_ALL</item>
+<item>E_ERROR</item>
+<item>E_WARNING</item>
+<item>E_PARSE</item>
+<item>E_NOTICE</item>
+<item>E_STRICT</item>
+<item>E_CORE_ERROR</item>
+<item>E_CORE_WARNING</item>
+<item>E_COMPILE_ERROR</item>
+<item>E_COMPILE_WARNING</item>
+<item>E_USER_ERROR</item>
+<item>E_USER_WARNING</item>
+<item>E_USER_NOTICE</item>
+</list>
+
+<contexts>
+ <context name="ini" attribute="Normal Text" lineEndContext="#stay">
+  <RangeDetect attribute="Section" context="#stay" char="["  char1="]" beginRegion="Section" endRegion="Section" />
+  <DetectChar attribute="Assignment" context="Value" char="=" />
+  <DetectChar char=";" attribute="Comment" context="Comment" firstNonSpace="true" />
+  <DetectChar char="#" attribute="Comment" context="Comment" firstNonSpace="true" />
+ </context>
+
+ <context name="Value" attribute="Value" lineEndContext="#pop" >
+  <Float attribute="Float" />
+  <Int attribute="Int" />
+  <keyword attribute="Keyword" String="keywords" />
+  <RegExpr attribute="Comment" context="#pop" String=";.*$" />
+  <RegExpr attribute="Comment" context="#pop" String="#.*$" />
+ </context>
+
+ <context name="Comment" attribute="Comment" lineEndContext="#pop">
+  <DetectSpaces />
+  <IncludeRules context="##Alerts" />
+  <DetectIdentifier />
+ </context>
+</contexts>
+
+
+<itemDatas>
+ <itemData name="Normal Text" defStyleNum="dsDataType" />
+ <itemData name="Section" defStyleNum="dsKeyword" />
+ <itemData name="Comment" defStyleNum="dsComment" />
+ <itemData name="Assignment" defStyleNum="dsOthers" />
+ <itemData name="Value" defStyleNum="dsString" />
+ <itemData name="Float" defStyleNum="dsFloat" />
+ <itemData name="Int" defStyleNum="dsDecVal" />
+ <itemData name="Keyword" defStyleNum="dsKeyword" />
+</itemDatas>
+</highlighting>
+
+
+<general>
+ <comments>
+  <comment name="singleLine" start="#" />
+  <comment name="singleLine" start=";" />
+ </comments>
+ <keywords casesensitive="0" />
+</general>
+
+</language>
diff --git a/xml/isocpp.xml b/xml/isocpp.xml
new file mode 100644
--- /dev/null
+++ b/xml/isocpp.xml
@@ -0,0 +1,516 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+    <!ENTITY space " ">
+    <!ENTITY separators ",&#59;">
+    <!ENTITY ns_punctuators "!&#37;&space;&amp;()+-/.*&lt;=&gt;?[]{|}~^&separators;">
+    <!ENTITY punctuators ":&ns_punctuators;">
+    <!-- printf-like format strings conversion specifiers -->
+    <!ENTITY convspec "diouxXeEfFgGaAcsP&#37;">
+]>
+<language
+    name="ISO C++"
+    section="Sources"
+    version="6"
+    kateversion="5.0"
+    indenter="cstyle"
+    style="C++"
+    mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr"
+    extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc"
+    author="Alex Turbov (i.zaufi@gmail.com)"
+    license="LGPL"
+    priority="6"
+  >
+  <!--
+    Complete list of changes by Alex Turbov (I.zaufi@gmail.com)
+    can be found at:
+    http://kde-files.org/content/show.php?content=90660
+  -->
+  <highlighting>
+    <list name="controlflow">
+      <item> break </item>
+      <item> case </item>
+      <item> catch </item>
+      <item> continue </item>
+      <item> default </item>
+      <item> do </item>
+      <item> else </item>
+      <item> for </item>
+      <item> goto </item>
+      <item> if </item>
+      <item> return </item>
+      <item> switch </item>
+      <item> throw </item>
+      <item> try </item>
+      <item> while </item>
+    </list>
+    <list name="keywords">
+      <item> alignof </item>
+      <item> alignas </item>
+      <item> asm </item>
+      <item> auto </item>
+      <item> class </item>
+      <item> constexpr </item>
+      <item> const_cast </item>
+      <item> decltype </item>
+      <item> delete </item>
+      <item> dynamic_cast</item>
+      <item> enum </item>
+      <item> explicit </item>
+      <item> export </item> <!-- Unused but reserved for future use -->
+      <item> false </item>
+      <item> final </item> <!-- According N3272 -->
+      <item> friend </item>
+      <item> inline </item>
+      <item> namespace </item>
+      <item> new </item>
+      <item> noexcept </item>
+      <item> nullptr </item>
+      <item> operator </item>
+      <item> override </item> <!-- According N3272 -->
+      <item> private </item>
+      <item> protected </item>
+      <item> public </item>
+      <item> reinterpret_cast </item>
+      <item> sizeof </item>
+      <item> static_assert </item>
+      <item> static_cast </item>
+      <item> struct </item>
+      <item> template </item>
+      <item> this </item>
+      <item> true </item>
+      <item> typedef </item>
+      <item> typeid </item>
+      <item> typename </item>
+      <item> union </item>
+      <item> using </item>
+      <item> virtual </item>
+      <!-- Alternative operators (see 2.12) -->
+      <item> and </item>
+      <item> and_eq </item>
+      <item> bitand </item>
+      <item> bitor </item>
+      <item> compl </item>
+      <item> not </item>
+      <item> not_eq </item>
+      <item> or </item>
+      <item> or_eq </item>
+      <item> xor </item>
+      <item> xor_eq </item>
+    </list>
+    <!-- This keyword may appear in InternalsNS context. For example in code:
+      details::some_class::template some_templated_static();
+      and it should be displayed as keyword, not like part of details namespace...
+      -->
+    <list name="template">
+      <item> template </item>
+    </list>
+
+    <!-- 7.6 Attributes -->
+    <list name="attributes">
+      <!-- C++11 -->
+      <item> noreturn </item>
+      <item> carries_dependency </item>
+      <!-- C++1y -->
+      <item> deprecated </item>
+    </list>
+
+    <list name="types">
+      <item> bool </item>
+      <item> char </item>
+      <item> char16_t </item>
+      <item> char32_t </item>
+      <item> double </item>
+      <item> float </item>
+      <item> int </item>
+      <item> long </item>
+      <item> short </item>
+      <item> signed </item>
+      <item> unsigned </item>
+      <item> void </item>
+      <item> int8_t </item>
+      <item> int16_t </item>
+      <item> int32_t </item>
+      <item> int64_t </item>
+      <item> uint8_t </item>
+      <item> uint16_t </item>
+      <item> uint32_t </item>
+      <item> uint64_t </item>
+      <item> int_least8_t </item>
+      <item> int_least16_t </item>
+      <item> int_least32_t </item>
+      <item> int_least64_t </item>
+      <item> uint_least8_t </item>
+      <item> uint_least16_t </item>
+      <item> uint_least32_t </item>
+      <item> uint_least64_t </item>
+      <item> int_fast8_t </item>
+      <item> int_fast16_t </item>
+      <item> int_fast32_t </item>
+      <item> int_fast64_t </item>
+      <item> uint_fast8_t </item>
+      <item> uint_fast16_t </item>
+      <item> uint_fast32_t </item>
+      <item> uint_fast64_t </item>
+      <item> size_t </item>
+      <item> ssize_t </item>
+      <item> wchar_t </item>
+      <item> intptr_t </item>
+      <item> uintptr_t </item>
+      <item> intmax_t </item>
+      <item> uintmax_t </item>
+      <item> ptrdiff_t </item>
+      <item> sig_atomic_t </item>
+      <item> wint_t </item>
+    </list>
+    <list name="modifiers">
+      <item> const </item>
+      <item> extern </item>
+      <item> mutable </item>
+      <item> register </item>
+      <item> static </item>
+      <item> thread_local </item>
+      <item> volatile </item>
+    </list>
+    <list name="StdMacros">
+      <item> __FILE__ </item>
+      <item> __LINE__ </item>
+      <item> __DATE__ </item>
+      <item> __TIME__ </item>
+      <item> __STDC__ </item>
+      <item> __STDC_VERSION__ </item>
+      <item> __STDC_HOSTED__ </item>
+      <item> __STDC_ISO_10646__ </item>
+      <item> __STDC_MB_MIGHT_NEQ_WC__ </item>
+      <item> __cplusplus </item>
+      <item> __func__ </item>
+    </list>
+
+    <contexts>
+      <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces />
+        <RegExpr attribute="Preprocessor" context="Outscoped" String="(#|%\:|\?\?=)\s*if\s+(0|false)\s*" beginRegion="PP" firstNonSpace="true" insensitive="false" />
+        <RegExpr attribute="Preprocessor" context="Inscoped" String="(#|%\:|\?\?=)\s*if\s+(1|true)\s*" beginRegion="PP" firstNonSpace="true" insensitive="false" />
+        <IncludeRules context="Main" />
+      </context>
+
+      <context name="Main" attribute="Normal Text" lineEndContext="#stay">
+        <!-- Match preprocessor directives -->
+        <DetectChar context="AfterHash" char="#" firstNonSpace="true" lookAhead="true" />
+        <Detect2Chars context="AfterHash" char="%" char1=":" firstNonSpace="true" lookAhead="true" />
+        <StringDetect context="AfterHash" String="??=" firstNonSpace="true" lookAhead="true" />
+        <Detect2Chars attribute="Error" context="#stay" char="%" char1=":" />
+        <StringDetect attribute="Error" String="??=" context="#stay" />
+        <!-- Match special comments for region markers -->
+        <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" />
+        <!-- ATTENTION Special case `operator""` cuz Kate doesn't recognize
+                       `operator` joined w/ quotes as a keyword here. BUG??
+          -->
+        <RegExpr attribute="Normal Text" context="UDLOperator" String="operator\s*&quot;&quot; _[_0-9A-Za-z]*\b" lookAhead="true" />
+        <RegExpr attribute="Error" context="#stay" String="operator\s*&quot;&quot; [_0-9A-Za-z]*\b" />
+        <!-- Match keywords -->
+        <keyword attribute="Control Flow" context="#stay" String="controlflow" />
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <!-- Detect attributes -->
+        <Detect2Chars attribute="Symbol" context="Attribute" char="[" char1="[" />
+        <!-- Match numbers -->
+        <!-- ATTENTION Builtin number detectors have strange behaviour and definitely lack of required features -->
+        <!-- NOTE Order is important! -->
+        <RegExpr attribute="Hex" context="#stay" String="[\+\-]?0x[0-9A-Fa-f]('?[0-9A-Fa-f]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />
+        <RegExpr attribute="Binary" context="#stay" String="0[Bb][01]('?[01]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />
+        <Float attribute="Float" context="#stay">
+          <AnyChar String="FfLl" attribute="Float" context="#stay"/>
+        </Float>
+        <RegExpr attribute="Octal" context="#stay" String="[\+\-]?0'?[0-7]('?[0-7]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />
+        <RegExpr attribute="Decimal" context="#stay" String="[\+\-]?(0|[1-9]('?[0-9]+)*)([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />
+        <RegExpr attribute="Error" context="#stay" String="[\+\-]?(0x?|[1-9][0-9]*)[0-9A-Za-z][_0-9A-Za-z]*\b" />
+        <!-- Match string literals -->
+        <DetectChar attribute="String" context="String" char="&quot;" />
+        <Detect2Chars attribute="String" context="String" char="U" char1="&quot;" />
+        <Detect2Chars attribute="String" context="String" char="u" char1="&quot;" />
+        <Detect2Chars attribute="String" context="String" char="L" char1="&quot;" />
+        <StringDetect attribute="String" context="String" String="u8&quot;" />
+        <RegExpr attribute="String" context="RawString" String="(u|u8|U|L)?R&quot;([^\(]{0,16})\(" lookAhead="true" />
+        <RegExpr attribute="Error" context="#stay" String="(u|u8|U|L)?R&quot;([^\(]{16,})\(" />
+        <DetectChar attribute="String" context="Char Literal" char="'" />
+        <Detect2Chars attribute="String" context="Char Literal" char="L" char1="'" />
+        <Detect2Chars attribute="String" context="U-Char Literal" char="u" char1="'" />
+        <Detect2Chars attribute="String" context="U-Char Literal" char="U" char1="'" />
+        <!-- Match GCC extensions -->
+        <IncludeRules context="DetectGccExtensions##GCCExtensions" />
+        <!-- Match most used namespaces and styles -->
+        <StringDetect attribute="Standard Classes" context="Standard Classes" String="std::" />
+        <StringDetect attribute="Boost Stuff" context="Boost Stuff" String="boost::" />
+        <StringDetect attribute="Boost Stuff" context="Boost Stuff" String="BOOST_" />
+        <StringDetect attribute="Internals" context="InternalsNS" String="detail::" />
+        <StringDetect attribute="Internals" context="InternalsNS" String="details::" />
+        <StringDetect attribute="Internals" context="InternalsNS" String="aux::" />
+        <StringDetect attribute="Internals" context="InternalsNS" String="internals::" />
+        <keyword attribute="Data Type" context="#stay" String="types" />
+        <keyword attribute="Type Modifiers" context="#stay" String="modifiers" />
+        <keyword attribute="Standard Macros" context="#stay" String="StdMacros" />
+        <RegExpr attribute="Internals" context="#stay" String="_[a-zA-Z0-9_]+" />
+        <RegExpr attribute="Internals" context="#stay" String="[a-zA-Z][a-zA-Z0-9_]*__\b" />
+        <RegExpr attribute="Data Members (m_*)" context="#stay" String="[a-z][a-zA-Z0-9_]*_\b" />
+        <RegExpr attribute="Data Members (m_*)" context="#stay" String="m_[a-zA-Z0-9_]+" />
+        <RegExpr attribute="Globals (g_*)" context="#stay" String="g_[a-zA-Z0-9_]+" />
+        <RegExpr attribute="Statics (s_*)" context="#stay" String="s_[a-zA-Z0-9_]+" />
+        <RegExpr attribute="CONSTS/MACROS" context="#stay" String="[A-Z][A-Z0-9_]{2,}\b" />
+        <RegExpr attribute="Types (*_t/*_type)" context="#stay" String="[a-zA-Z][a-zA-Z0-9_]*_t(ype)?\b" />
+        <DetectIdentifier />
+        <!-- Match comments -->
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Comment 1" char="/" char1="/" />
+        <Detect2Chars attribute="Comment" context="Comment 2" char="/" char1="*" beginRegion="Comment" />
+        <!-- Match scope regions -->
+        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+        <!-- Match punctuators -->
+        <AnyChar attribute="Separator Symbol" context="#stay" String="&separators;" />
+        <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" />
+        <!-- Match invalid symbols -->
+        <DetectChar attribute="Error" context="#stay" char="#" />
+        <DetectChar attribute="Error" context="#stay" char="$" />
+        <DetectChar attribute="Error" context="#stay" char="@" />
+        <DetectChar attribute="Error" context="#stay" char="`" />
+      </context>
+
+      <context name="UDLOperator" attribute="Normal Text" lineEndContext="#pop">
+        <StringDetect attribute="Keyword" context="#stay" String="operator" />
+        <StringDetect attribute="String" context="#stay" String="&quot;&quot;" />
+        <DetectIdentifier context="#pop" />
+      </context>
+
+      <context name="Char Literal" attribute="String" lineEndContext="#pop">
+        <IncludeRules context="Universal Char" />
+        <DetectChar attribute="String Char" context="Simple Esc" char="\" />
+        <DetectChar attribute="String" context="#pop" char="'" />
+      </context>
+
+      <context name="U-Char Literal" attribute="String" lineEndContext="#pop">
+        <IncludeRules context="Universal Char" />
+        <DetectChar attribute="String Char" context="Simple Esc" char="\" />
+        <DetectChar attribute="String" context="#pop" char="'" />
+        <RegExpr attribute="Error" context="#stay" String="[^']{2,}" />
+        <RegExpr attribute="String" context="#stay" String=".{1}" />
+      </context>
+
+      <context  name="Simple Esc" attribute="String Char" lineEndContext="#pop">
+        <AnyChar attribute="String Char" context="#pop" String="tnvbrfa'&quot;\" />
+        <RegExpr attribute="String Char" context="#pop" String="[0-7]{1,3}" />
+        <RegExpr attribute="String Char" context="#pop" String="x[0-9A-Fa-f]{1,}" />
+        <RegExpr attribute="String" context="#pop" String="." />
+      </context>
+
+      <context name="Universal Char" attribute="String Char" lineEndContext="#pop">
+        <RegExpr attribute="String Char" context="#stay" String="\\u[0-9A-Fa-f]{4}" />
+        <RegExpr attribute="Error" context="#stay" String="\\u.{0,3}" />
+        <RegExpr attribute="String Char" context="#stay" String="\\U[0-9A-Fa-f]{8}" />
+        <RegExpr attribute="Error" context="#stay" String="\\U.{0,7}" />
+      </context>
+
+      <context name="String" attribute="String" lineEndContext="#pop">
+        <LineContinue attribute="String" context="#stay" />
+        <HlCStringChar attribute="String Char" context="#stay" />
+        <IncludeRules context="Universal Char" />
+        <RegExpr attribute="String Char" context="#stay" String="%[^&quot;&convspec;\s]*[&convspec;]" />
+        <DetectChar attribute="String" context="UDLStringSuffix" char="&quot;" />
+      </context>
+
+      <context name="UDLStringSuffix" attribute="String" lineEndContext="#pop#pop">
+        <RegExpr attribute="String" context="#pop#pop" String="_[_0-9A-Z-a-z]*\b" />
+        <!-- TODO Is there any better way to quit the current context ?? -->
+        <RegExpr context="#pop#pop" String=".*" lookAhead="true" />
+      </context>
+
+      <context name="Attribute" attribute="Attribute" lineEndContext="#stay">
+        <keyword attribute="Standard Attribute" context="#stay" String="attributes" />
+        <Detect2Chars attribute="Symbol" context="#pop" char="]" char1="]" />
+        <AnyChar context="#stay" String="&ns_punctuators;" attribute="Symbol" />
+        <!-- Attributes may contain some text: [[deprecated("Reason text")]] -->
+        <DetectChar attribute="String" context="String" char="&quot;" />
+      </context>
+
+      <context name="RawString" attribute="String" lineEndContext="#stay" dynamic="true">
+        <LineContinue attribute="String" context="#stay" />
+        <RegExpr attribute="String Char" context="#stay" String="%[^&quot;&convspec;\s]*[&convspec;]" />
+        <RegExpr attribute="String" context="#pop" String="\)%2&quot;" dynamic="true"/>
+      </context>
+
+      <context name="DetectIdentifierEnd" attribute="Normal Text" lineEndContext="#pop">
+        <AnyChar context="#pop" String="&punctuators;" attribute="Symbol" />
+      </context>
+
+      <context name="Region Marker" attribute="Region Marker" lineEndContext="#pop" />
+
+      <context name="DetectNSEnd" attribute="Normal Text" lineEndContext="#pop">
+        <keyword attribute="Keyword" context="#stay" String="template" />
+        <DetectIdentifier context="#stay" />
+        <AnyChar context="#pop" String="&separators;" attribute="Separator Symbol" />
+        <AnyChar context="#pop" String="&ns_punctuators;" attribute="Symbol" />
+        <AnyChar context="#stay" String="&space;" attribute="Normal Text" />
+      </context>
+
+      <context name="Standard Classes" attribute="Standard Classes" lineEndContext="#pop">
+        <IncludeRules context="DetectNSEnd" />
+      </context>
+
+      <context name="Boost Stuff" attribute="Boost Stuff" lineEndContext="#pop">
+        <IncludeRules context="DetectNSEnd" />
+      </context>
+
+      <context name="InternalsNS" attribute="Internals" lineEndContext="#pop">
+        <IncludeRules context="DetectNSEnd" />
+      </context>
+
+      <context name="Comment 1" attribute="Comment" lineEndContext="#pop">
+        <LineContinue attribute="Comment" context="#stay" />
+        <DetectSpaces />
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+        <DetectIdentifier />
+      </context>
+
+      <context name="Comment 2" attribute="Comment" lineEndContext="#stay">
+        <DetectSpaces />
+        <LineContinue attribute="Comment" context="#stay" />
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment" />
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+        <DetectIdentifier />
+      </context>
+
+      <context name="AfterHash" attribute="Error" lineEndContext="#pop">
+        <RegExpr attribute="Preprocessor" context="Include" String="#\s*(?:include|include_next)" insensitive="true" firstNonSpace="true" />
+
+        <!-- define, elif, else, endif, error, if, ifdef, ifndef, line, pragma, undef, warning -->
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="(#|%\:|\?\?=)\s*if(?:def|ndef)?(?=(?:\(|\s+)\S)" beginRegion="PP" firstNonSpace="true" insensitive="false" />
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="(#|%\:|\?\?=)\s*endif" endRegion="PP" firstNonSpace="true" insensitive="false" />
+        <!-- Switch to seperate context for multiline #defines -->
+        <RegExpr attribute="Preprocessor" context="Define" String="(#|%\:|\?\?=)\s*(cmake)?define.*((?=\\))" firstNonSpace="true" lookAhead="true" insensitive="false" />
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="(#|%\:|\?\?=)\s*(?:el(?:se|if)|(cmake)?define|undef|line|error|warning|pragma)" insensitive="false" firstNonSpace="true" />
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="(#|%\:|\?\?=)\s+[0-9]+" firstNonSpace="true" insensitive="false" />
+      </context>
+
+      <context attribute="Preprocessor" lineEndContext="#pop" name="Include">
+        <LineContinue attribute="Preprocessor" context="#stay"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
+        <IncludeRules context="Preprocessor" />
+      </context>
+
+      <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop">
+        <LineContinue attribute="Preprocessor" context="#stay" />
+        <keyword attribute="Standard Macros" context="#stay" String="StdMacros" />
+        <IncludeRules context="GNUMacros##GCCExtensions" />
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Comment/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
+        <Detect2Chars attribute="Comment" context="Comment 1" char="/" char1="/" />
+      </context>
+
+      <context name="Define" attribute="Preprocessor" lineEndContext="#pop">
+        <LineContinue attribute="Separator Symbol" context="#stay" />
+        <DetectChar attribute="Error" context="#stay" char="\\" />
+        <keyword attribute="Standard Macros" context="#stay" String="StdMacros" />
+        <IncludeRules context="GNUMacros##GCCExtensions" />
+      </context>
+
+      <context name="Comment/Preprocessor" attribute="Comment" lineEndContext="#stay">
+        <DetectSpaces />
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />
+        <DetectIdentifier />
+      </context>
+
+      <context name="Outscoped Common" attribute="Comment" lineEndContext="#stay">
+        <DetectSpaces />
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+        <DetectIdentifier />
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Comment 1" char="/" char1="/" />
+        <!-- Do not try to detect "C" style comments inside outscoped text
+             to prevent incorrect highlighting in case of overlapped (or not closed properly)
+             comment block...
+
+             <Detect2Chars attribute="Comment" context="Comment 2" char="/" char1="*" beginRegion="Comment" />
+        -->
+        <RegExpr attribute="Comment" context="Outscoped intern" String="(#|%\:|\?\?=)\s*if" beginRegion="PP" firstNonSpace="true" insensitive="false" />
+        <LineContinue context="#stay" />
+      </context>
+
+      <context name="Outscoped" attribute="Comment" lineEndContext="#stay">
+        <IncludeRules context="Outscoped Common" />
+        <RegExpr attribute="Preprocessor" context="#pop" String="(#|%\:|\?\?=)\s*el(?:se|if)" firstNonSpace="true" insensitive="false" />
+        <RegExpr attribute="Preprocessor" context="#pop" String="(#|%\:|\?\?=)\s*endif" endRegion="PP" firstNonSpace="true" insensitive="false" />
+      </context>
+
+      <context name="Outscoped 2" attribute="Comment" lineEndContext="#stay">
+        <IncludeRules context="Outscoped Common" />
+        <RegExpr attribute="Preprocessor" context="#pop#pop" String="(#|%\:|\?\?=)\s*endif" endRegion="PP" firstNonSpace="true" insensitive="false" />
+      </context>
+
+      <context name="Inscoped" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces />
+        <RegExpr attribute="Preprocessor" context="Outscoped" String="(#|%\:|\?\?=)\s*if\s+(0|false)\s*" beginRegion="PP" firstNonSpace="true" insensitive="false" />
+        <RegExpr attribute="Preprocessor" context="Outscoped 2" String="(#|%\:|\?\?=)\s*el(?:se|if)" firstNonSpace="true" insensitive="false" />
+        <RegExpr attribute="Preprocessor" context="#pop" String="(#|%\:|\?\?=)\s*endif" endRegion="PP" firstNonSpace="true" insensitive="false" />
+        <IncludeRules context="Main" />
+      </context>
+
+      <context name="Outscoped intern" attribute="Comment" lineEndContext="#stay">
+        <DetectSpaces />
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+        <DetectIdentifier />
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Comment 1" char="/" char1="/" />
+        <Detect2Chars attribute="Comment" context="Comment 2" char="/" char1="*" beginRegion="Comment" />
+        <RegExpr attribute="Comment" context="Outscoped intern" String="(#|%\:|\?\?=)\s*if" beginRegion="PP" firstNonSpace="true" insensitive="false" />
+        <RegExpr attribute="Comment" context="#pop" String="(#|%\:|\?\?=)\s*endif" endRegion="PP" firstNonSpace="true" insensitive="false" />
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text"        defStyleNum="dsNormal"   spellChecking="false" />
+      <itemData name="Control Flow"       defStyleNum="dsControlFlow" spellChecking="false" />
+      <itemData name="Keyword"            defStyleNum="dsKeyword"  spellChecking="false" />
+      <itemData name="Data Type"          defStyleNum="dsDataType" spellChecking="false" />
+      <itemData name="Type Modifiers"     defStyleNum="dsAttribute" spellChecking="false" />
+      <itemData name="Attribute"          defStyleNum="dsAttribute" spellChecking="false" bold="false" italic="true" />
+      <itemData name="Standard Attribute" defStyleNum="dsAttribute" spellChecking="false" bold="false" italic="true" />
+      <itemData name="Decimal"            defStyleNum="dsDecVal"   spellChecking="false" />
+      <itemData name="Octal"              defStyleNum="dsBaseN"    spellChecking="false" />
+      <itemData name="Hex"                defStyleNum="dsBaseN"    spellChecking="false" />
+      <itemData name="Binary"             defStyleNum="dsBaseN"    spellChecking="false" />
+      <itemData name="Float"              defStyleNum="dsFloat"    spellChecking="false" />
+      <itemData name="Char"               defStyleNum="dsChar"     spellChecking="false" />
+      <itemData name="String"             defStyleNum="dsString"   spellChecking="true"  />
+      <itemData name="String Char"        defStyleNum="dsSpecialChar" spellChecking="false" />
+      <itemData name="Comment"            defStyleNum="dsComment"  spellChecking="true"  />
+      <itemData name="Symbol"             defStyleNum="dsNormal"   spellChecking="false" />
+      <itemData name="Separator Symbol"   defStyleNum="dsNormal"   spellChecking="false" />
+      <itemData name="Data Members (m_*)" defStyleNum="dsVariable" spellChecking="false" />
+      <itemData name="Globals (g_*)"      defStyleNum="dsVariable" spellChecking="false" />
+      <itemData name="Statics (s_*)"      defStyleNum="dsVariable" spellChecking="false" />
+      <itemData name="Types (*_t/*_type)" defStyleNum="dsDataType" spellChecking="false" />
+      <itemData name="CONSTS/MACROS"      defStyleNum="dsNormal"   spellChecking="false" />
+      <itemData name="Preprocessor"       defStyleNum="dsPreprocessor" spellChecking="false" />
+      <itemData name="Prep. Lib"          defStyleNum="dsImport"   spellChecking="false" />
+      <itemData name="Standard Macros"    defStyleNum="dsOthers"   spellChecking="false" />
+      <itemData name="Standard Classes"   defStyleNum="dsBuiltIn"  spellChecking="false" />
+      <itemData name="Boost Stuff"        defStyleNum="dsExtension" spellChecking="false" />
+      <itemData name="Internals"          defStyleNum="dsNormal"   spellChecking="false" color="#808080" selColor="#808080" />
+      <itemData name="Region Marker"      defStyleNum="dsRegionMarker" spellChecking="false" />
+      <itemData name="Error"              defStyleNum="dsError"    spellChecking="false" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="/*" end="*/" region="Comment" />
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
+<!-- kate: indent-width 2; tab-width 2; -->
diff --git a/xml/java.xml b/xml/java.xml
new file mode 100644
--- /dev/null
+++ b/xml/java.xml
@@ -0,0 +1,3858 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Java" version="2" kateversion="5.0" 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>
+			<item> ACTIVITY_COMPLETED </item>
+			<item> ACTIVITY_REQUIRED </item>
+			<item> ARG_IN </item>
+			<item> ARG_INOUT </item>
+			<item> ARG_OUT </item>
+			<item> AWTError </item>
+			<item> AWTEvent </item>
+			<item> AWTEventListener </item>
+			<item> AWTEventListenerProxy </item>
+			<item> AWTEventMulticaster </item>
+			<item> AWTException </item>
+			<item> AWTKeyStroke </item>
+			<item> AWTPermission </item>
+			<item> AbstractAction </item>
+			<item> AbstractBorder </item>
+			<item> AbstractButton </item>
+			<item> AbstractCellEditor </item>
+			<item> AbstractCollection </item>
+			<item> AbstractColorChooserPanel </item>
+			<item> AbstractDocument </item>
+			<item> AbstractDocument.AttributeContext </item>
+			<item> AbstractDocument.Content </item>
+			<item> AbstractDocument.ElementEdit </item>
+			<item> AbstractExecutorService </item>
+			<item> AbstractInterruptibleChannel </item>
+			<item> AbstractLayoutCache </item>
+			<item> AbstractLayoutCache.NodeDimensions </item>
+			<item> AbstractList </item>
+			<item> AbstractListModel </item>
+			<item> AbstractMap </item>
+			<item> AbstractMethodError </item>
+			<item> AbstractPreferences </item>
+			<item> AbstractQueue </item>
+			<item> AbstractQueuedSynchronizer </item>
+			<item> AbstractSelectableChannel </item>
+			<item> AbstractSelectionKey </item>
+			<item> AbstractSelector </item>
+			<item> AbstractSequentialList </item>
+			<item> AbstractSet </item>
+			<item> AbstractSpinnerModel </item>
+			<item> AbstractTableModel </item>
+			<item> AbstractUndoableEdit </item>
+			<item> AbstractWriter </item>
+			<item> AccessControlContext </item>
+			<item> AccessControlException </item>
+			<item> AccessController </item>
+			<item> AccessException </item>
+			<item> Accessible </item>
+			<item> AccessibleAction </item>
+			<item> AccessibleAttributeSequence </item>
+			<item> AccessibleBundle </item>
+			<item> AccessibleComponent </item>
+			<item> AccessibleContext </item>
+			<item> AccessibleEditableText </item>
+			<item> AccessibleExtendedComponent </item>
+			<item> AccessibleExtendedTable </item>
+			<item> AccessibleExtendedText </item>
+			<item> AccessibleHyperlink </item>
+			<item> AccessibleHypertext </item>
+			<item> AccessibleIcon </item>
+			<item> AccessibleKeyBinding </item>
+			<item> AccessibleObject </item>
+			<item> AccessibleRelation </item>
+			<item> AccessibleRelationSet </item>
+			<item> AccessibleResourceBundle </item>
+			<item> AccessibleRole </item>
+			<item> AccessibleSelection </item>
+			<item> AccessibleState </item>
+			<item> AccessibleStateSet </item>
+			<item> AccessibleStreamable </item>
+			<item> AccessibleTable </item>
+			<item> AccessibleTableModelChange </item>
+			<item> AccessibleText </item>
+			<item> AccessibleTextSequence </item>
+			<item> AccessibleValue </item>
+			<item> AccountException </item>
+			<item> AccountExpiredException </item>
+			<item> AccountLockedException </item>
+			<item> AccountNotFoundException </item>
+			<item> Acl </item>
+			<item> AclEntry </item>
+			<item> AclNotFoundException </item>
+			<item> Action </item>
+			<item> ActionEvent </item>
+			<item> ActionListener </item>
+			<item> ActionMap </item>
+			<item> ActionMapUIResource </item>
+			<item> Activatable </item>
+			<item> ActivateFailedException </item>
+			<item> ActivationDesc </item>
+			<item> ActivationException </item>
+			<item> ActivationGroup </item>
+			<item> ActivationGroupDesc </item>
+			<item> ActivationGroupDesc.CommandEnvironment </item>
+			<item> ActivationGroupID </item>
+			<item> ActivationGroup_Stub </item>
+			<item> ActivationID </item>
+			<item> ActivationInstantiator </item>
+			<item> ActivationMonitor </item>
+			<item> ActivationSystem </item>
+			<item> Activator </item>
+			<item> ActiveEvent </item>
+			<item> ActivityCompletedException </item>
+			<item> ActivityRequiredException </item>
+			<item> AdapterActivator </item>
+			<item> AdapterActivatorOperations </item>
+			<item> AdapterAlreadyExists </item>
+			<item> AdapterAlreadyExistsHelper </item>
+			<item> AdapterInactive </item>
+			<item> AdapterInactiveHelper </item>
+			<item> AdapterManagerIdHelper </item>
+			<item> AdapterNameHelper </item>
+			<item> AdapterNonExistent </item>
+			<item> AdapterNonExistentHelper </item>
+			<item> AdapterStateHelper </item>
+			<item> AddressHelper </item>
+			<item> Adjustable </item>
+			<item> AdjustmentEvent </item>
+			<item> AdjustmentListener </item>
+			<item> Adler32 </item>
+			<item> AffineTransform </item>
+			<item> AffineTransformOp </item>
+			<item> AlgorithmParameterGenerator </item>
+			<item> AlgorithmParameterGeneratorSpi </item>
+			<item> AlgorithmParameterSpec </item>
+			<item> AlgorithmParameters </item>
+			<item> AlgorithmParametersSpi </item>
+			<item> AllPermission </item>
+			<item> AlphaComposite </item>
+			<item> AlreadyBound </item>
+			<item> AlreadyBoundException </item>
+			<item> AlreadyBoundHelper </item>
+			<item> AlreadyBoundHolder </item>
+			<item> AlreadyConnectedException </item>
+			<item> AncestorEvent </item>
+			<item> AncestorListener </item>
+			<item> AnnotatedElement </item>
+			<item> Annotation </item>
+			<item> AnnotationFormatError </item>
+			<item> AnnotationTypeMismatchException </item>
+			<item> Any </item>
+			<item> AnyHolder </item>
+			<item> AnySeqHelper </item>
+			<item> AnySeqHelper </item>
+			<item> AnySeqHolder </item>
+			<item> AppConfigurationEntry </item>
+			<item> AppConfigurationEntry.LoginModuleControlFlag </item>
+			<item> Appendable </item>
+			<item> Applet </item>
+			<item> AppletContext </item>
+			<item> AppletInitializer </item>
+			<item> AppletStub </item>
+			<item> ApplicationException </item>
+			<item> Arc2D </item>
+			<item> Arc2D.Double </item>
+			<item> Arc2D.Float </item>
+			<item> Area </item>
+			<item> AreaAveragingScaleFilter </item>
+			<item> ArithmeticException </item>
+			<item> Array </item>
+			<item> Array </item>
+			<item> ArrayBlockingQueue </item>
+			<item> ArrayIndexOutOfBoundsException </item>
+			<item> ArrayList </item>
+			<item> ArrayStoreException </item>
+			<item> ArrayType </item>
+			<item> Arrays </item>
+			<item> AssertionError </item>
+			<item> AsyncBoxView </item>
+			<item> AsynchronousCloseException </item>
+			<item> AtomicBoolean </item>
+			<item> AtomicInteger </item>
+			<item> AtomicIntegerArray </item>
+			<item> AtomicIntegerFieldUpdater </item>
+			<item> AtomicLong </item>
+			<item> AtomicLongArray </item>
+			<item> AtomicLongFieldUpdater </item>
+			<item> AtomicMarkableReference </item>
+			<item> AtomicReference </item>
+			<item> AtomicReferenceArray </item>
+			<item> AtomicReferenceFieldUpdater </item>
+			<item> AtomicStampedReference </item>
+			<item> Attr </item>
+			<item> Attribute </item>
+			<item> Attribute </item>
+			<item> Attribute </item>
+			<item> AttributeChangeNotification </item>
+			<item> AttributeChangeNotificationFilter </item>
+			<item> AttributeException </item>
+			<item> AttributeInUseException </item>
+			<item> AttributeList </item>
+			<item> AttributeList </item>
+			<item> AttributeList </item>
+			<item> AttributeListImpl </item>
+			<item> AttributeModificationException </item>
+			<item> AttributeNotFoundException </item>
+			<item> AttributeSet </item>
+			<item> AttributeSet </item>
+			<item> AttributeSet.CharacterAttribute </item>
+			<item> AttributeSet.ColorAttribute </item>
+			<item> AttributeSet.FontAttribute </item>
+			<item> AttributeSet.ParagraphAttribute </item>
+			<item> AttributeSetUtilities </item>
+			<item> AttributeValueExp </item>
+			<item> AttributedCharacterIterator </item>
+			<item> AttributedCharacterIterator.Attribute </item>
+			<item> AttributedString </item>
+			<item> Attributes </item>
+			<item> Attributes </item>
+			<item> Attributes </item>
+			<item> Attributes.Name </item>
+			<item> Attributes2 </item>
+			<item> Attributes2Impl </item>
+			<item> AttributesImpl </item>
+			<item> AudioClip </item>
+			<item> AudioFileFormat </item>
+			<item> AudioFileFormat.Type </item>
+			<item> AudioFileReader </item>
+			<item> AudioFileWriter </item>
+			<item> AudioFormat </item>
+			<item> AudioFormat.Encoding </item>
+			<item> AudioInputStream </item>
+			<item> AudioPermission </item>
+			<item> AudioSystem </item>
+			<item> AuthPermission </item>
+			<item> AuthProvider </item>
+			<item> AuthenticationException </item>
+			<item> AuthenticationException </item>
+			<item> AuthenticationNotSupportedException </item>
+			<item> Authenticator </item>
+			<item> Authenticator.RequestorType </item>
+			<item> AuthorizeCallback </item>
+			<item> Autoscroll </item>
+			<item> BAD_CONTEXT </item>
+			<item> BAD_INV_ORDER </item>
+			<item> BAD_OPERATION </item>
+			<item> BAD_PARAM </item>
+			<item> BAD_POLICY </item>
+			<item> BAD_POLICY_TYPE </item>
+			<item> BAD_POLICY_VALUE </item>
+			<item> BAD_QOS </item>
+			<item> BAD_TYPECODE </item>
+			<item> BMPImageWriteParam </item>
+			<item> BackingStoreException </item>
+			<item> BadAttributeValueExpException </item>
+			<item> BadBinaryOpValueExpException </item>
+			<item> BadKind </item>
+			<item> BadLocationException </item>
+			<item> BadPaddingException </item>
+			<item> BadStringOperationException </item>
+			<item> BandCombineOp </item>
+			<item> BandedSampleModel </item>
+			<item> BaseRowSet </item>
+			<item> BasicArrowButton </item>
+			<item> BasicAttribute </item>
+			<item> BasicAttributes </item>
+			<item> BasicBorders </item>
+			<item> BasicBorders.ButtonBorder </item>
+			<item> BasicBorders.FieldBorder </item>
+			<item> BasicBorders.MarginBorder </item>
+			<item> BasicBorders.MenuBarBorder </item>
+			<item> BasicBorders.RadioButtonBorder </item>
+			<item> BasicBorders.RolloverButtonBorder </item>
+			<item> BasicBorders.SplitPaneBorder </item>
+			<item> BasicBorders.ToggleButtonBorder </item>
+			<item> BasicButtonListener </item>
+			<item> BasicButtonUI </item>
+			<item> BasicCheckBoxMenuItemUI </item>
+			<item> BasicCheckBoxUI </item>
+			<item> BasicColorChooserUI </item>
+			<item> BasicComboBoxEditor </item>
+			<item> BasicComboBoxEditor.UIResource </item>
+			<item> BasicComboBoxRenderer </item>
+			<item> BasicComboBoxRenderer.UIResource </item>
+			<item> BasicComboBoxUI </item>
+			<item> BasicComboPopup </item>
+			<item> BasicControl </item>
+			<item> BasicDesktopIconUI </item>
+			<item> BasicDesktopPaneUI </item>
+			<item> BasicDirectoryModel </item>
+			<item> BasicEditorPaneUI </item>
+			<item> BasicFileChooserUI </item>
+			<item> BasicFormattedTextFieldUI </item>
+			<item> BasicGraphicsUtils </item>
+			<item> BasicHTML </item>
+			<item> BasicIconFactory </item>
+			<item> BasicInternalFrameTitlePane </item>
+			<item> BasicInternalFrameUI </item>
+			<item> BasicLabelUI </item>
+			<item> BasicListUI </item>
+			<item> BasicLookAndFeel </item>
+			<item> BasicMenuBarUI </item>
+			<item> BasicMenuItemUI </item>
+			<item> BasicMenuUI </item>
+			<item> BasicOptionPaneUI </item>
+			<item> BasicOptionPaneUI.ButtonAreaLayout </item>
+			<item> BasicPanelUI </item>
+			<item> BasicPasswordFieldUI </item>
+			<item> BasicPermission </item>
+			<item> BasicPopupMenuSeparatorUI </item>
+			<item> BasicPopupMenuUI </item>
+			<item> BasicProgressBarUI </item>
+			<item> BasicRadioButtonMenuItemUI </item>
+			<item> BasicRadioButtonUI </item>
+			<item> BasicRootPaneUI </item>
+			<item> BasicScrollBarUI </item>
+			<item> BasicScrollPaneUI </item>
+			<item> BasicSeparatorUI </item>
+			<item> BasicSliderUI </item>
+			<item> BasicSpinnerUI </item>
+			<item> BasicSplitPaneDivider </item>
+			<item> BasicSplitPaneUI </item>
+			<item> BasicStroke </item>
+			<item> BasicTabbedPaneUI </item>
+			<item> BasicTableHeaderUI </item>
+			<item> BasicTableUI </item>
+			<item> BasicTextAreaUI </item>
+			<item> BasicTextFieldUI </item>
+			<item> BasicTextPaneUI </item>
+			<item> BasicTextUI </item>
+			<item> BasicTextUI.BasicCaret </item>
+			<item> BasicTextUI.BasicHighlighter </item>
+			<item> BasicToggleButtonUI </item>
+			<item> BasicToolBarSeparatorUI </item>
+			<item> BasicToolBarUI </item>
+			<item> BasicToolTipUI </item>
+			<item> BasicTreeUI </item>
+			<item> BasicViewportUI </item>
+			<item> BatchUpdateException </item>
+			<item> BeanContext </item>
+			<item> BeanContextChild </item>
+			<item> BeanContextChildComponentProxy </item>
+			<item> BeanContextChildSupport </item>
+			<item> BeanContextContainerProxy </item>
+			<item> BeanContextEvent </item>
+			<item> BeanContextMembershipEvent </item>
+			<item> BeanContextMembershipListener </item>
+			<item> BeanContextProxy </item>
+			<item> BeanContextServiceAvailableEvent </item>
+			<item> BeanContextServiceProvider </item>
+			<item> BeanContextServiceProviderBeanInfo </item>
+			<item> BeanContextServiceRevokedEvent </item>
+			<item> BeanContextServiceRevokedListener </item>
+			<item> BeanContextServices </item>
+			<item> BeanContextServicesListener </item>
+			<item> BeanContextServicesSupport </item>
+			<item> BeanContextServicesSupport.BCSSServiceProvider </item>
+			<item> BeanContextSupport </item>
+			<item> BeanContextSupport.BCSIterator </item>
+			<item> BeanDescriptor </item>
+			<item> BeanInfo </item>
+			<item> Beans </item>
+			<item> BevelBorder </item>
+			<item> Bidi </item>
+			<item> BigDecimal </item>
+			<item> BigInteger </item>
+			<item> BinaryRefAddr </item>
+			<item> BindException </item>
+			<item> Binding </item>
+			<item> Binding </item>
+			<item> BindingHelper </item>
+			<item> BindingHolder </item>
+			<item> BindingIterator </item>
+			<item> BindingIteratorHelper </item>
+			<item> BindingIteratorHolder </item>
+			<item> BindingIteratorOperations </item>
+			<item> BindingIteratorPOA </item>
+			<item> BindingListHelper </item>
+			<item> BindingListHolder </item>
+			<item> BindingType </item>
+			<item> BindingTypeHelper </item>
+			<item> BindingTypeHolder </item>
+			<item> BitSet </item>
+			<item> Blob </item>
+			<item> BlockView </item>
+			<item> BlockingQueue </item>
+			<item> Book </item>
+			<item> Boolean </item>
+			<item> BooleanControl </item>
+			<item> BooleanControl.Type </item>
+			<item> BooleanHolder </item>
+			<item> BooleanSeqHelper </item>
+			<item> BooleanSeqHolder </item>
+			<item> Border </item>
+			<item> BorderFactory </item>
+			<item> BorderLayout </item>
+			<item> BorderUIResource </item>
+			<item> BorderUIResource.BevelBorderUIResource </item>
+			<item> BorderUIResource.CompoundBorderUIResource </item>
+			<item> BorderUIResource.EmptyBorderUIResource </item>
+			<item> BorderUIResource.EtchedBorderUIResource </item>
+			<item> BorderUIResource.LineBorderUIResource </item>
+			<item> BorderUIResource.MatteBorderUIResource </item>
+			<item> BorderUIResource.TitledBorderUIResource </item>
+			<item> BoundedRangeModel </item>
+			<item> Bounds </item>
+			<item> Bounds </item>
+			<item> Box </item>
+			<item> Box.Filler </item>
+			<item> BoxLayout </item>
+			<item> BoxView </item>
+			<item> BoxedValueHelper </item>
+			<item> BreakIterator </item>
+			<item> BrokenBarrierException </item>
+			<item> Buffer </item>
+			<item> BufferCapabilities </item>
+			<item> BufferCapabilities.FlipContents </item>
+			<item> BufferOverflowException </item>
+			<item> BufferStrategy </item>
+			<item> BufferUnderflowException </item>
+			<item> BufferedImage </item>
+			<item> BufferedImageFilter </item>
+			<item> BufferedImageOp </item>
+			<item> BufferedInputStream </item>
+			<item> BufferedOutputStream </item>
+			<item> BufferedReader </item>
+			<item> BufferedWriter </item>
+			<item> Button </item>
+			<item> ButtonGroup </item>
+			<item> ButtonModel </item>
+			<item> ButtonUI </item>
+			<item> Byte </item>
+			<item> ByteArrayInputStream </item>
+			<item> ByteArrayOutputStream </item>
+			<item> ByteBuffer </item>
+			<item> ByteChannel </item>
+			<item> ByteHolder </item>
+			<item> ByteLookupTable </item>
+			<item> ByteOrder </item>
+			<item> CDATASection </item>
+			<item> CMMException </item>
+			<item> CODESET_INCOMPATIBLE </item>
+			<item> COMM_FAILURE </item>
+			<item> CRC32 </item>
+			<item> CRL </item>
+			<item> CRLException </item>
+			<item> CRLSelector </item>
+			<item> CSS </item>
+			<item> CSS.Attribute </item>
+			<item> CTX_RESTRICT_SCOPE </item>
+			<item> CacheRequest </item>
+			<item> CacheResponse </item>
+			<item> CachedRowSet </item>
+			<item> Calendar </item>
+			<item> Callable </item>
+			<item> CallableStatement </item>
+			<item> Callback </item>
+			<item> CallbackHandler </item>
+			<item> CancelablePrintJob </item>
+			<item> CancellationException </item>
+			<item> CancelledKeyException </item>
+			<item> CannotProceed </item>
+			<item> CannotProceedException </item>
+			<item> CannotProceedHelper </item>
+			<item> CannotProceedHolder </item>
+			<item> CannotRedoException </item>
+			<item> CannotUndoException </item>
+			<item> Canvas </item>
+			<item> CardLayout </item>
+			<item> Caret </item>
+			<item> CaretEvent </item>
+			<item> CaretListener </item>
+			<item> CellEditor </item>
+			<item> CellEditorListener </item>
+			<item> CellRendererPane </item>
+			<item> CertPath </item>
+			<item> CertPath.CertPathRep </item>
+			<item> CertPathBuilder </item>
+			<item> CertPathBuilderException </item>
+			<item> CertPathBuilderResult </item>
+			<item> CertPathBuilderSpi </item>
+			<item> CertPathParameters </item>
+			<item> CertPathTrustManagerParameters </item>
+			<item> CertPathValidator </item>
+			<item> CertPathValidatorException </item>
+			<item> CertPathValidatorResult </item>
+			<item> CertPathValidatorSpi </item>
+			<item> CertSelector </item>
+			<item> CertStore </item>
+			<item> CertStoreException </item>
+			<item> CertStoreParameters </item>
+			<item> CertStoreSpi </item>
+			<item> Certificate </item>
+			<item> Certificate </item>
+			<item> Certificate </item>
+			<item> Certificate.CertificateRep </item>
+			<item> CertificateEncodingException </item>
+			<item> CertificateEncodingException </item>
+			<item> CertificateException </item>
+			<item> CertificateException </item>
+			<item> CertificateExpiredException </item>
+			<item> CertificateExpiredException </item>
+			<item> CertificateFactory </item>
+			<item> CertificateFactorySpi </item>
+			<item> CertificateNotYetValidException </item>
+			<item> CertificateNotYetValidException </item>
+			<item> CertificateParsingException </item>
+			<item> CertificateParsingException </item>
+			<item> ChangeEvent </item>
+			<item> ChangeListener </item>
+			<item> ChangedCharSetException </item>
+			<item> Channel </item>
+			<item> ChannelBinding </item>
+			<item> Channels </item>
+			<item> CharArrayReader </item>
+			<item> CharArrayWriter </item>
+			<item> CharBuffer </item>
+			<item> CharConversionException </item>
+			<item> CharHolder </item>
+			<item> CharSeqHelper </item>
+			<item> CharSeqHolder </item>
+			<item> CharSequence </item>
+			<item> Character </item>
+			<item> Character.Subset </item>
+			<item> Character.UnicodeBlock </item>
+			<item> CharacterCodingException </item>
+			<item> CharacterData </item>
+			<item> CharacterIterator </item>
+			<item> Charset </item>
+			<item> CharsetDecoder </item>
+			<item> CharsetEncoder </item>
+			<item> CharsetProvider </item>
+			<item> Checkbox </item>
+			<item> CheckboxGroup </item>
+			<item> CheckboxMenuItem </item>
+			<item> CheckedInputStream </item>
+			<item> CheckedOutputStream </item>
+			<item> Checksum </item>
+			<item> Choice </item>
+			<item> ChoiceCallback </item>
+			<item> ChoiceFormat </item>
+			<item> Chromaticity </item>
+			<item> Cipher </item>
+			<item> CipherInputStream </item>
+			<item> CipherOutputStream </item>
+			<item> CipherSpi </item>
+			<item> Class </item>
+			<item> ClassCastException </item>
+			<item> ClassCircularityError </item>
+			<item> ClassDefinition </item>
+			<item> ClassDesc </item>
+			<item> ClassFileTransformer </item>
+			<item> ClassFormatError </item>
+			<item> ClassLoader </item>
+			<item> ClassLoaderRepository </item>
+			<item> ClassLoadingMXBean </item>
+			<item> ClassNotFoundException </item>
+			<item> ClientRequestInfo </item>
+			<item> ClientRequestInfoOperations </item>
+			<item> ClientRequestInterceptor </item>
+			<item> ClientRequestInterceptorOperations </item>
+			<item> Clip </item>
+			<item> Clipboard </item>
+			<item> ClipboardOwner </item>
+			<item> Clob </item>
+			<item> CloneNotSupportedException </item>
+			<item> Cloneable </item>
+			<item> Closeable </item>
+			<item> ClosedByInterruptException </item>
+			<item> ClosedChannelException </item>
+			<item> ClosedSelectorException </item>
+			<item> CodeSets </item>
+			<item> CodeSigner </item>
+			<item> CodeSource </item>
+			<item> Codec </item>
+			<item> CodecFactory </item>
+			<item> CodecFactoryHelper </item>
+			<item> CodecFactoryOperations </item>
+			<item> CodecOperations </item>
+			<item> CoderMalfunctionError </item>
+			<item> CoderResult </item>
+			<item> CodingErrorAction </item>
+			<item> CollationElementIterator </item>
+			<item> CollationKey </item>
+			<item> Collator </item>
+			<item> Collection </item>
+			<item> CollectionCertStoreParameters </item>
+			<item> Collections </item>
+			<item> Color </item>
+			<item> ColorChooserComponentFactory </item>
+			<item> ColorChooserUI </item>
+			<item> ColorConvertOp </item>
+			<item> ColorModel </item>
+			<item> ColorSelectionModel </item>
+			<item> ColorSpace </item>
+			<item> ColorSupported </item>
+			<item> ColorType </item>
+			<item> ColorUIResource </item>
+			<item> ComboBoxEditor </item>
+			<item> ComboBoxModel </item>
+			<item> ComboBoxUI </item>
+			<item> ComboPopup </item>
+			<item> Comment </item>
+			<item> CommunicationException </item>
+			<item> Comparable </item>
+			<item> Comparator </item>
+			<item> CompilationMXBean </item>
+			<item> Compiler </item>
+			<item> CompletionService </item>
+			<item> CompletionStatus </item>
+			<item> CompletionStatusHelper </item>
+			<item> Component </item>
+			<item> ComponentAdapter </item>
+			<item> ComponentColorModel </item>
+			<item> ComponentEvent </item>
+			<item> ComponentIdHelper </item>
+			<item> ComponentInputMap </item>
+			<item> ComponentInputMapUIResource </item>
+			<item> ComponentListener </item>
+			<item> ComponentOrientation </item>
+			<item> ComponentSampleModel </item>
+			<item> ComponentUI </item>
+			<item> ComponentView </item>
+			<item> Composite </item>
+			<item> CompositeContext </item>
+			<item> CompositeData </item>
+			<item> CompositeDataSupport </item>
+			<item> CompositeName </item>
+			<item> CompositeType </item>
+			<item> CompositeView </item>
+			<item> CompoundBorder </item>
+			<item> CompoundControl </item>
+			<item> CompoundControl.Type </item>
+			<item> CompoundEdit </item>
+			<item> CompoundName </item>
+			<item> Compression </item>
+			<item> ConcurrentHashMap </item>
+			<item> ConcurrentLinkedQueue </item>
+			<item> ConcurrentMap </item>
+			<item> ConcurrentModificationException </item>
+			<item> Condition </item>
+			<item> Configuration </item>
+			<item> ConfigurationException </item>
+			<item> ConfirmationCallback </item>
+			<item> ConnectException </item>
+			<item> ConnectException </item>
+			<item> ConnectIOException </item>
+			<item> Connection </item>
+			<item> ConnectionEvent </item>
+			<item> ConnectionEventListener </item>
+			<item> ConnectionPendingException </item>
+			<item> ConnectionPoolDataSource </item>
+			<item> ConsoleHandler </item>
+			<item> Constructor </item>
+			<item> Container </item>
+			<item> ContainerAdapter </item>
+			<item> ContainerEvent </item>
+			<item> ContainerListener </item>
+			<item> ContainerOrderFocusTraversalPolicy </item>
+			<item> ContentHandler </item>
+			<item> ContentHandler </item>
+			<item> ContentHandlerFactory </item>
+			<item> ContentModel </item>
+			<item> Context </item>
+			<item> Context </item>
+			<item> ContextList </item>
+			<item> ContextNotEmptyException </item>
+			<item> ContextualRenderedImageFactory </item>
+			<item> Control </item>
+			<item> Control </item>
+			<item> Control.Type </item>
+			<item> ControlFactory </item>
+			<item> ControllerEventListener </item>
+			<item> ConvolveOp </item>
+			<item> CookieHandler </item>
+			<item> CookieHolder </item>
+			<item> Copies </item>
+			<item> CopiesSupported </item>
+			<item> CopyOnWriteArrayList </item>
+			<item> CopyOnWriteArraySet </item>
+			<item> CountDownLatch </item>
+			<item> CounterMonitor </item>
+			<item> CounterMonitorMBean </item>
+			<item> CredentialException </item>
+			<item> CredentialExpiredException </item>
+			<item> CredentialNotFoundException </item>
+			<item> CropImageFilter </item>
+			<item> CubicCurve2D </item>
+			<item> CubicCurve2D.Double </item>
+			<item> CubicCurve2D.Float </item>
+			<item> Currency </item>
+			<item> Current </item>
+			<item> Current </item>
+			<item> Current </item>
+			<item> CurrentHelper </item>
+			<item> CurrentHelper </item>
+			<item> CurrentHelper </item>
+			<item> CurrentHolder </item>
+			<item> CurrentOperations </item>
+			<item> CurrentOperations </item>
+			<item> CurrentOperations </item>
+			<item> Cursor </item>
+			<item> CustomMarshal </item>
+			<item> CustomValue </item>
+			<item> Customizer </item>
+			<item> CyclicBarrier </item>
+			<item> DATA_CONVERSION </item>
+			<item> DESKeySpec </item>
+			<item> DESedeKeySpec </item>
+			<item> DGC </item>
+			<item> DHGenParameterSpec </item>
+			<item> DHKey </item>
+			<item> DHParameterSpec </item>
+			<item> DHPrivateKey </item>
+			<item> DHPrivateKeySpec </item>
+			<item> DHPublicKey </item>
+			<item> DHPublicKeySpec </item>
+			<item> DISCARDING </item>
+			<item> DOMConfiguration </item>
+			<item> DOMError </item>
+			<item> DOMErrorHandler </item>
+			<item> DOMException </item>
+			<item> DOMImplementation </item>
+			<item> DOMImplementationLS </item>
+			<item> DOMImplementationList </item>
+			<item> DOMImplementationRegistry </item>
+			<item> DOMImplementationSource </item>
+			<item> DOMLocator </item>
+			<item> DOMLocator </item>
+			<item> DOMResult </item>
+			<item> DOMSource </item>
+			<item> DOMStringList </item>
+			<item> DSAKey </item>
+			<item> DSAKeyPairGenerator </item>
+			<item> DSAParameterSpec </item>
+			<item> DSAParams </item>
+			<item> DSAPrivateKey </item>
+			<item> DSAPrivateKeySpec </item>
+			<item> DSAPublicKey </item>
+			<item> DSAPublicKeySpec </item>
+			<item> DTD </item>
+			<item> DTDConstants </item>
+			<item> DTDHandler </item>
+			<item> DataBuffer </item>
+			<item> DataBufferByte </item>
+			<item> DataBufferDouble </item>
+			<item> DataBufferFloat </item>
+			<item> DataBufferInt </item>
+			<item> DataBufferShort </item>
+			<item> DataBufferUShort </item>
+			<item> DataFlavor </item>
+			<item> DataFormatException </item>
+			<item> DataInput </item>
+			<item> DataInputStream </item>
+			<item> DataInputStream </item>
+			<item> DataLine </item>
+			<item> DataLine.Info </item>
+			<item> DataOutput </item>
+			<item> DataOutputStream </item>
+			<item> DataOutputStream </item>
+			<item> DataSource </item>
+			<item> DataTruncation </item>
+			<item> DatabaseMetaData </item>
+			<item> DatagramChannel </item>
+			<item> DatagramPacket </item>
+			<item> DatagramSocket </item>
+			<item> DatagramSocketImpl </item>
+			<item> DatagramSocketImplFactory </item>
+			<item> DatatypeConfigurationException </item>
+			<item> DatatypeConstants </item>
+			<item> DatatypeConstants.Field </item>
+			<item> DatatypeFactory </item>
+			<item> Date </item>
+			<item> Date </item>
+			<item> DateFormat </item>
+			<item> DateFormat.Field </item>
+			<item> DateFormatSymbols </item>
+			<item> DateFormatter </item>
+			<item> DateTimeAtCompleted </item>
+			<item> DateTimeAtCreation </item>
+			<item> DateTimeAtProcessing </item>
+			<item> DateTimeSyntax </item>
+			<item> DebugGraphics </item>
+			<item> DecimalFormat </item>
+			<item> DecimalFormatSymbols </item>
+			<item> DeclHandler </item>
+			<item> DefaultBoundedRangeModel </item>
+			<item> DefaultButtonModel </item>
+			<item> DefaultCaret </item>
+			<item> DefaultCellEditor </item>
+			<item> DefaultColorSelectionModel </item>
+			<item> DefaultComboBoxModel </item>
+			<item> DefaultDesktopManager </item>
+			<item> DefaultEditorKit </item>
+			<item> DefaultEditorKit.BeepAction </item>
+			<item> DefaultEditorKit.CopyAction </item>
+			<item> DefaultEditorKit.CutAction </item>
+			<item> DefaultEditorKit.DefaultKeyTypedAction </item>
+			<item> DefaultEditorKit.InsertBreakAction </item>
+			<item> DefaultEditorKit.InsertContentAction </item>
+			<item> DefaultEditorKit.InsertTabAction </item>
+			<item> DefaultEditorKit.PasteAction </item>
+			<item> DefaultFocusManager </item>
+			<item> DefaultFocusTraversalPolicy </item>
+			<item> DefaultFormatter </item>
+			<item> DefaultFormatterFactory </item>
+			<item> DefaultHandler </item>
+			<item> DefaultHandler2 </item>
+			<item> DefaultHighlighter </item>
+			<item> DefaultHighlighter.DefaultHighlightPainter </item>
+			<item> DefaultKeyboardFocusManager </item>
+			<item> DefaultListCellRenderer </item>
+			<item> DefaultListCellRenderer.UIResource </item>
+			<item> DefaultListModel </item>
+			<item> DefaultListSelectionModel </item>
+			<item> DefaultLoaderRepository </item>
+			<item> DefaultLoaderRepository </item>
+			<item> DefaultMenuLayout </item>
+			<item> DefaultMetalTheme </item>
+			<item> DefaultMutableTreeNode </item>
+			<item> DefaultPersistenceDelegate </item>
+			<item> DefaultSingleSelectionModel </item>
+			<item> DefaultStyledDocument </item>
+			<item> DefaultStyledDocument.AttributeUndoableEdit </item>
+			<item> DefaultStyledDocument.ElementSpec </item>
+			<item> DefaultTableCellRenderer </item>
+			<item> DefaultTableCellRenderer.UIResource </item>
+			<item> DefaultTableColumnModel </item>
+			<item> DefaultTableModel </item>
+			<item> DefaultTextUI </item>
+			<item> DefaultTreeCellEditor </item>
+			<item> DefaultTreeCellRenderer </item>
+			<item> DefaultTreeModel </item>
+			<item> DefaultTreeSelectionModel </item>
+			<item> DefinitionKind </item>
+			<item> DefinitionKindHelper </item>
+			<item> Deflater </item>
+			<item> DeflaterOutputStream </item>
+			<item> DelayQueue </item>
+			<item> Delayed </item>
+			<item> Delegate </item>
+			<item> Delegate </item>
+			<item> Delegate </item>
+			<item> DelegationPermission </item>
+			<item> Deprecated </item>
+			<item> Descriptor </item>
+			<item> DescriptorAccess </item>
+			<item> DescriptorSupport </item>
+			<item> DesignMode </item>
+			<item> DesktopIconUI </item>
+			<item> DesktopManager </item>
+			<item> DesktopPaneUI </item>
+			<item> Destination </item>
+			<item> DestroyFailedException </item>
+			<item> Destroyable </item>
+			<item> Dialog </item>
+			<item> Dictionary </item>
+			<item> DigestException </item>
+			<item> DigestInputStream </item>
+			<item> DigestOutputStream </item>
+			<item> Dimension </item>
+			<item> Dimension2D </item>
+			<item> DimensionUIResource </item>
+			<item> DirContext </item>
+			<item> DirObjectFactory </item>
+			<item> DirStateFactory </item>
+			<item> DirStateFactory.Result </item>
+			<item> DirectColorModel </item>
+			<item> DirectoryManager </item>
+			<item> DisplayMode </item>
+			<item> DnDConstants </item>
+			<item> Doc </item>
+			<item> DocAttribute </item>
+			<item> DocAttributeSet </item>
+			<item> DocFlavor </item>
+			<item> DocFlavor.BYTE_ARRAY </item>
+			<item> DocFlavor.CHAR_ARRAY </item>
+			<item> DocFlavor.INPUT_STREAM </item>
+			<item> DocFlavor.READER </item>
+			<item> DocFlavor.SERVICE_FORMATTED </item>
+			<item> DocFlavor.STRING </item>
+			<item> DocFlavor.URL </item>
+			<item> DocPrintJob </item>
+			<item> Document </item>
+			<item> Document </item>
+			<item> DocumentBuilder </item>
+			<item> DocumentBuilderFactory </item>
+			<item> DocumentEvent </item>
+			<item> DocumentEvent.ElementChange </item>
+			<item> DocumentEvent.EventType </item>
+			<item> DocumentFilter </item>
+			<item> DocumentFilter.FilterBypass </item>
+			<item> DocumentFragment </item>
+			<item> DocumentHandler </item>
+			<item> DocumentListener </item>
+			<item> DocumentName </item>
+			<item> DocumentParser </item>
+			<item> DocumentType </item>
+			<item> Documented </item>
+			<item> DomainCombiner </item>
+			<item> DomainManager </item>
+			<item> DomainManagerOperations </item>
+			<item> Double </item>
+			<item> DoubleBuffer </item>
+			<item> DoubleHolder </item>
+			<item> DoubleSeqHelper </item>
+			<item> DoubleSeqHolder </item>
+			<item> DragGestureEvent </item>
+			<item> DragGestureListener </item>
+			<item> DragGestureRecognizer </item>
+			<item> DragSource </item>
+			<item> DragSourceAdapter </item>
+			<item> DragSourceContext </item>
+			<item> DragSourceDragEvent </item>
+			<item> DragSourceDropEvent </item>
+			<item> DragSourceEvent </item>
+			<item> DragSourceListener </item>
+			<item> DragSourceMotionListener </item>
+			<item> Driver </item>
+			<item> DriverManager </item>
+			<item> DriverPropertyInfo </item>
+			<item> DropTarget </item>
+			<item> DropTarget.DropTargetAutoScroller </item>
+			<item> DropTargetAdapter </item>
+			<item> DropTargetContext </item>
+			<item> DropTargetDragEvent </item>
+			<item> DropTargetDropEvent </item>
+			<item> DropTargetEvent </item>
+			<item> DropTargetListener </item>
+			<item> DuplicateFormatFlagsException </item>
+			<item> DuplicateName </item>
+			<item> DuplicateNameHelper </item>
+			<item> Duration </item>
+			<item> DynAny </item>
+			<item> DynAny </item>
+			<item> DynAnyFactory </item>
+			<item> DynAnyFactoryHelper </item>
+			<item> DynAnyFactoryOperations </item>
+			<item> DynAnyHelper </item>
+			<item> DynAnyOperations </item>
+			<item> DynAnySeqHelper </item>
+			<item> DynArray </item>
+			<item> DynArray </item>
+			<item> DynArrayHelper </item>
+			<item> DynArrayOperations </item>
+			<item> DynEnum </item>
+			<item> DynEnum </item>
+			<item> DynEnumHelper </item>
+			<item> DynEnumOperations </item>
+			<item> DynFixed </item>
+			<item> DynFixed </item>
+			<item> DynFixedHelper </item>
+			<item> DynFixedOperations </item>
+			<item> DynSequence </item>
+			<item> DynSequence </item>
+			<item> DynSequenceHelper </item>
+			<item> DynSequenceOperations </item>
+			<item> DynStruct </item>
+			<item> DynStruct </item>
+			<item> DynStructHelper </item>
+			<item> DynStructOperations </item>
+			<item> DynUnion </item>
+			<item> DynUnion </item>
+			<item> DynUnionHelper </item>
+			<item> DynUnionOperations </item>
+			<item> DynValue </item>
+			<item> DynValue </item>
+			<item> DynValueBox </item>
+			<item> DynValueBoxOperations </item>
+			<item> DynValueCommon </item>
+			<item> DynValueCommonOperations </item>
+			<item> DynValueHelper </item>
+			<item> DynValueOperations </item>
+			<item> DynamicImplementation </item>
+			<item> DynamicImplementation </item>
+			<item> DynamicMBean </item>
+			<item> ECField </item>
+			<item> ECFieldF2m </item>
+			<item> ECFieldFp </item>
+			<item> ECGenParameterSpec </item>
+			<item> ECKey </item>
+			<item> ECParameterSpec </item>
+			<item> ECPoint </item>
+			<item> ECPrivateKey </item>
+			<item> ECPrivateKeySpec </item>
+			<item> ECPublicKey </item>
+			<item> ECPublicKeySpec </item>
+			<item> ENCODING_CDR_ENCAPS </item>
+			<item> EOFException </item>
+			<item> EditorKit </item>
+			<item> Element </item>
+			<item> Element </item>
+			<item> Element </item>
+			<item> ElementIterator </item>
+			<item> ElementType </item>
+			<item> Ellipse2D </item>
+			<item> Ellipse2D.Double </item>
+			<item> Ellipse2D.Float </item>
+			<item> EllipticCurve </item>
+			<item> EmptyBorder </item>
+			<item> EmptyStackException </item>
+			<item> EncodedKeySpec </item>
+			<item> Encoder </item>
+			<item> Encoding </item>
+			<item> EncryptedPrivateKeyInfo </item>
+			<item> Entity </item>
+			<item> Entity </item>
+			<item> EntityReference </item>
+			<item> EntityResolver </item>
+			<item> EntityResolver2 </item>
+			<item> Enum </item>
+			<item> EnumConstantNotPresentException </item>
+			<item> EnumControl </item>
+			<item> EnumControl.Type </item>
+			<item> EnumMap </item>
+			<item> EnumSet </item>
+			<item> EnumSyntax </item>
+			<item> Enumeration </item>
+			<item> Environment </item>
+			<item> Error </item>
+			<item> ErrorHandler </item>
+			<item> ErrorListener </item>
+			<item> ErrorManager </item>
+			<item> EtchedBorder </item>
+			<item> Event </item>
+			<item> EventContext </item>
+			<item> EventDirContext </item>
+			<item> EventHandler </item>
+			<item> EventListener </item>
+			<item> EventListenerList </item>
+			<item> EventListenerProxy </item>
+			<item> EventObject </item>
+			<item> EventQueue </item>
+			<item> EventSetDescriptor </item>
+			<item> Exception </item>
+			<item> ExceptionDetailMessage </item>
+			<item> ExceptionInInitializerError </item>
+			<item> ExceptionList </item>
+			<item> ExceptionListener </item>
+			<item> Exchanger </item>
+			<item> ExecutionException </item>
+			<item> Executor </item>
+			<item> ExecutorCompletionService </item>
+			<item> ExecutorService </item>
+			<item> Executors </item>
+			<item> ExemptionMechanism </item>
+			<item> ExemptionMechanismException </item>
+			<item> ExemptionMechanismSpi </item>
+			<item> ExpandVetoException </item>
+			<item> ExportException </item>
+			<item> Expression </item>
+			<item> ExtendedRequest </item>
+			<item> ExtendedResponse </item>
+			<item> Externalizable </item>
+			<item> FREE_MEM </item>
+			<item> FactoryConfigurationError </item>
+			<item> FailedLoginException </item>
+			<item> FeatureDescriptor </item>
+			<item> Fidelity </item>
+			<item> Field </item>
+			<item> FieldNameHelper </item>
+			<item> FieldNameHelper </item>
+			<item> FieldPosition </item>
+			<item> FieldView </item>
+			<item> File </item>
+			<item> FileCacheImageInputStream </item>
+			<item> FileCacheImageOutputStream </item>
+			<item> FileChannel </item>
+			<item> FileChannel.MapMode </item>
+			<item> FileChooserUI </item>
+			<item> FileDescriptor </item>
+			<item> FileDialog </item>
+			<item> FileFilter </item>
+			<item> FileFilter </item>
+			<item> FileHandler </item>
+			<item> FileImageInputStream </item>
+			<item> FileImageOutputStream </item>
+			<item> FileInputStream </item>
+			<item> FileLock </item>
+			<item> FileLockInterruptionException </item>
+			<item> FileNameMap </item>
+			<item> FileNotFoundException </item>
+			<item> FileOutputStream </item>
+			<item> FilePermission </item>
+			<item> FileReader </item>
+			<item> FileSystemView </item>
+			<item> FileView </item>
+			<item> FileWriter </item>
+			<item> FilenameFilter </item>
+			<item> Filter </item>
+			<item> FilterInputStream </item>
+			<item> FilterOutputStream </item>
+			<item> FilterReader </item>
+			<item> FilterWriter </item>
+			<item> FilteredImageSource </item>
+			<item> FilteredRowSet </item>
+			<item> Finishings </item>
+			<item> FixedHeightLayoutCache </item>
+			<item> FixedHolder </item>
+			<item> FlatteningPathIterator </item>
+			<item> FlavorEvent </item>
+			<item> FlavorException </item>
+			<item> FlavorListener </item>
+			<item> FlavorMap </item>
+			<item> FlavorTable </item>
+			<item> Float </item>
+			<item> FloatBuffer </item>
+			<item> FloatControl </item>
+			<item> FloatControl.Type </item>
+			<item> FloatHolder </item>
+			<item> FloatSeqHelper </item>
+			<item> FloatSeqHolder </item>
+			<item> FlowLayout </item>
+			<item> FlowView </item>
+			<item> FlowView.FlowStrategy </item>
+			<item> Flushable </item>
+			<item> FocusAdapter </item>
+			<item> FocusEvent </item>
+			<item> FocusListener </item>
+			<item> FocusManager </item>
+			<item> FocusTraversalPolicy </item>
+			<item> Font </item>
+			<item> FontFormatException </item>
+			<item> FontMetrics </item>
+			<item> FontRenderContext </item>
+			<item> FontUIResource </item>
+			<item> FormSubmitEvent </item>
+			<item> FormSubmitEvent.MethodType </item>
+			<item> FormView </item>
+			<item> Format </item>
+			<item> Format.Field </item>
+			<item> FormatConversionProvider </item>
+			<item> FormatFlagsConversionMismatchException </item>
+			<item> FormatMismatch </item>
+			<item> FormatMismatchHelper </item>
+			<item> Formattable </item>
+			<item> FormattableFlags </item>
+			<item> Formatter </item>
+			<item> Formatter </item>
+			<item> FormatterClosedException </item>
+			<item> ForwardRequest </item>
+			<item> ForwardRequest </item>
+			<item> ForwardRequestHelper </item>
+			<item> ForwardRequestHelper </item>
+			<item> Frame </item>
+			<item> Future </item>
+			<item> FutureTask </item>
+			<item> GSSContext </item>
+			<item> GSSCredential </item>
+			<item> GSSException </item>
+			<item> GSSManager </item>
+			<item> GSSName </item>
+			<item> GZIPInputStream </item>
+			<item> GZIPOutputStream </item>
+			<item> GapContent </item>
+			<item> GarbageCollectorMXBean </item>
+			<item> GatheringByteChannel </item>
+			<item> GaugeMonitor </item>
+			<item> GaugeMonitorMBean </item>
+			<item> GeneralPath </item>
+			<item> GeneralSecurityException </item>
+			<item> GenericArrayType </item>
+			<item> GenericDeclaration </item>
+			<item> GenericSignatureFormatError </item>
+			<item> GlyphJustificationInfo </item>
+			<item> GlyphMetrics </item>
+			<item> GlyphVector </item>
+			<item> GlyphView </item>
+			<item> GlyphView.GlyphPainter </item>
+			<item> GradientPaint </item>
+			<item> GraphicAttribute </item>
+			<item> Graphics </item>
+			<item> Graphics2D </item>
+			<item> GraphicsConfigTemplate </item>
+			<item> GraphicsConfiguration </item>
+			<item> GraphicsDevice </item>
+			<item> GraphicsEnvironment </item>
+			<item> GrayFilter </item>
+			<item> GregorianCalendar </item>
+			<item> GridBagConstraints </item>
+			<item> GridBagLayout </item>
+			<item> GridLayout </item>
+			<item> Group </item>
+			<item> Guard </item>
+			<item> GuardedObject </item>
+			<item> HOLDING </item>
+			<item> HTML </item>
+			<item> HTML.Attribute </item>
+			<item> HTML.Tag </item>
+			<item> HTML.UnknownTag </item>
+			<item> HTMLDocument </item>
+			<item> HTMLDocument.Iterator </item>
+			<item> HTMLEditorKit </item>
+			<item> HTMLEditorKit.HTMLFactory </item>
+			<item> HTMLEditorKit.HTMLTextAction </item>
+			<item> HTMLEditorKit.InsertHTMLTextAction </item>
+			<item> HTMLEditorKit.LinkController </item>
+			<item> HTMLEditorKit.Parser </item>
+			<item> HTMLEditorKit.ParserCallback </item>
+			<item> HTMLFrameHyperlinkEvent </item>
+			<item> HTMLWriter </item>
+			<item> Handler </item>
+			<item> HandlerBase </item>
+			<item> HandshakeCompletedEvent </item>
+			<item> HandshakeCompletedListener </item>
+			<item> HasControls </item>
+			<item> HashAttributeSet </item>
+			<item> HashDocAttributeSet </item>
+			<item> HashMap </item>
+			<item> HashPrintJobAttributeSet </item>
+			<item> HashPrintRequestAttributeSet </item>
+			<item> HashPrintServiceAttributeSet </item>
+			<item> HashSet </item>
+			<item> Hashtable </item>
+			<item> HeadlessException </item>
+			<item> HierarchyBoundsAdapter </item>
+			<item> HierarchyBoundsListener </item>
+			<item> HierarchyEvent </item>
+			<item> HierarchyListener </item>
+			<item> Highlighter </item>
+			<item> Highlighter.Highlight </item>
+			<item> Highlighter.HighlightPainter </item>
+			<item> HostnameVerifier </item>
+			<item> HttpRetryException </item>
+			<item> HttpURLConnection </item>
+			<item> HttpsURLConnection </item>
+			<item> HyperlinkEvent </item>
+			<item> HyperlinkEvent.EventType </item>
+			<item> HyperlinkListener </item>
+			<item> ICC_ColorSpace </item>
+			<item> ICC_Profile </item>
+			<item> ICC_ProfileGray </item>
+			<item> ICC_ProfileRGB </item>
+			<item> IDLEntity </item>
+			<item> IDLType </item>
+			<item> IDLTypeHelper </item>
+			<item> IDLTypeOperations </item>
+			<item> ID_ASSIGNMENT_POLICY_ID </item>
+			<item> ID_UNIQUENESS_POLICY_ID </item>
+			<item> IIOByteBuffer </item>
+			<item> IIOException </item>
+			<item> IIOImage </item>
+			<item> IIOInvalidTreeException </item>
+			<item> IIOMetadata </item>
+			<item> IIOMetadataController </item>
+			<item> IIOMetadataFormat </item>
+			<item> IIOMetadataFormatImpl </item>
+			<item> IIOMetadataNode </item>
+			<item> IIOParam </item>
+			<item> IIOParamController </item>
+			<item> IIOReadProgressListener </item>
+			<item> IIOReadUpdateListener </item>
+			<item> IIOReadWarningListener </item>
+			<item> IIORegistry </item>
+			<item> IIOServiceProvider </item>
+			<item> IIOWriteProgressListener </item>
+			<item> IIOWriteWarningListener </item>
+			<item> IMPLICIT_ACTIVATION_POLICY_ID </item>
+			<item> IMP_LIMIT </item>
+			<item> INACTIVE </item>
+			<item> INITIALIZE </item>
+			<item> INTERNAL </item>
+			<item> INTF_REPOS </item>
+			<item> INVALID_ACTIVITY </item>
+			<item> INVALID_TRANSACTION </item>
+			<item> INV_FLAG </item>
+			<item> INV_IDENT </item>
+			<item> INV_OBJREF </item>
+			<item> INV_POLICY </item>
+			<item> IOException </item>
+			<item> IOR </item>
+			<item> IORHelper </item>
+			<item> IORHolder </item>
+			<item> IORInfo </item>
+			<item> IORInfoOperations </item>
+			<item> IORInterceptor </item>
+			<item> IORInterceptorOperations </item>
+			<item> IORInterceptor_3_0 </item>
+			<item> IORInterceptor_3_0Helper </item>
+			<item> IORInterceptor_3_0Holder </item>
+			<item> IORInterceptor_3_0Operations </item>
+			<item> IRObject </item>
+			<item> IRObjectOperations </item>
+			<item> Icon </item>
+			<item> IconUIResource </item>
+			<item> IconView </item>
+			<item> IdAssignmentPolicy </item>
+			<item> IdAssignmentPolicyOperations </item>
+			<item> IdAssignmentPolicyValue </item>
+			<item> IdUniquenessPolicy </item>
+			<item> IdUniquenessPolicyOperations </item>
+			<item> IdUniquenessPolicyValue </item>
+			<item> IdentifierHelper </item>
+			<item> Identity </item>
+			<item> IdentityHashMap </item>
+			<item> IdentityScope </item>
+			<item> IllegalAccessError </item>
+			<item> IllegalAccessException </item>
+			<item> IllegalArgumentException </item>
+			<item> IllegalBlockSizeException </item>
+			<item> IllegalBlockingModeException </item>
+			<item> IllegalCharsetNameException </item>
+			<item> IllegalClassFormatException </item>
+			<item> IllegalComponentStateException </item>
+			<item> IllegalFormatCodePointException </item>
+			<item> IllegalFormatConversionException </item>
+			<item> IllegalFormatException </item>
+			<item> IllegalFormatFlagsException </item>
+			<item> IllegalFormatPrecisionException </item>
+			<item> IllegalFormatWidthException </item>
+			<item> IllegalMonitorStateException </item>
+			<item> IllegalPathStateException </item>
+			<item> IllegalSelectorException </item>
+			<item> IllegalStateException </item>
+			<item> IllegalThreadStateException </item>
+			<item> Image </item>
+			<item> ImageCapabilities </item>
+			<item> ImageConsumer </item>
+			<item> ImageFilter </item>
+			<item> ImageGraphicAttribute </item>
+			<item> ImageIO </item>
+			<item> ImageIcon </item>
+			<item> ImageInputStream </item>
+			<item> ImageInputStreamImpl </item>
+			<item> ImageInputStreamSpi </item>
+			<item> ImageObserver </item>
+			<item> ImageOutputStream </item>
+			<item> ImageOutputStreamImpl </item>
+			<item> ImageOutputStreamSpi </item>
+			<item> ImageProducer </item>
+			<item> ImageReadParam </item>
+			<item> ImageReader </item>
+			<item> ImageReaderSpi </item>
+			<item> ImageReaderWriterSpi </item>
+			<item> ImageTranscoder </item>
+			<item> ImageTranscoderSpi </item>
+			<item> ImageTypeSpecifier </item>
+			<item> ImageView </item>
+			<item> ImageWriteParam </item>
+			<item> ImageWriter </item>
+			<item> ImageWriterSpi </item>
+			<item> ImagingOpException </item>
+			<item> ImplicitActivationPolicy </item>
+			<item> ImplicitActivationPolicyOperations </item>
+			<item> ImplicitActivationPolicyValue </item>
+			<item> IncompatibleClassChangeError </item>
+			<item> IncompleteAnnotationException </item>
+			<item> InconsistentTypeCode </item>
+			<item> InconsistentTypeCode </item>
+			<item> InconsistentTypeCodeHelper </item>
+			<item> IndexColorModel </item>
+			<item> IndexOutOfBoundsException </item>
+			<item> IndexedPropertyChangeEvent </item>
+			<item> IndexedPropertyDescriptor </item>
+			<item> IndirectionException </item>
+			<item> Inet4Address </item>
+			<item> Inet6Address </item>
+			<item> InetAddress </item>
+			<item> InetSocketAddress </item>
+			<item> Inflater </item>
+			<item> InflaterInputStream </item>
+			<item> InheritableThreadLocal </item>
+			<item> Inherited </item>
+			<item> InitialContext </item>
+			<item> InitialContextFactory </item>
+			<item> InitialContextFactoryBuilder </item>
+			<item> InitialDirContext </item>
+			<item> InitialLdapContext </item>
+			<item> InlineView </item>
+			<item> InputContext </item>
+			<item> InputEvent </item>
+			<item> InputMap </item>
+			<item> InputMapUIResource </item>
+			<item> InputMethod </item>
+			<item> InputMethodContext </item>
+			<item> InputMethodDescriptor </item>
+			<item> InputMethodEvent </item>
+			<item> InputMethodHighlight </item>
+			<item> InputMethodListener </item>
+			<item> InputMethodRequests </item>
+			<item> InputMismatchException </item>
+			<item> InputSource </item>
+			<item> InputStream </item>
+			<item> InputStream </item>
+			<item> InputStream </item>
+			<item> InputStreamReader </item>
+			<item> InputSubset </item>
+			<item> InputVerifier </item>
+			<item> Insets </item>
+			<item> InsetsUIResource </item>
+			<item> InstanceAlreadyExistsException </item>
+			<item> InstanceNotFoundException </item>
+			<item> InstantiationError </item>
+			<item> InstantiationException </item>
+			<item> Instrument </item>
+			<item> Instrumentation </item>
+			<item> InsufficientResourcesException </item>
+			<item> IntBuffer </item>
+			<item> IntHolder </item>
+			<item> Integer </item>
+			<item> IntegerSyntax </item>
+			<item> Interceptor </item>
+			<item> InterceptorOperations </item>
+			<item> InternalError </item>
+			<item> InternalFrameAdapter </item>
+			<item> InternalFrameEvent </item>
+			<item> InternalFrameFocusTraversalPolicy </item>
+			<item> InternalFrameListener </item>
+			<item> InternalFrameUI </item>
+			<item> InternationalFormatter </item>
+			<item> InterruptedException </item>
+			<item> InterruptedIOException </item>
+			<item> InterruptedNamingException </item>
+			<item> InterruptibleChannel </item>
+			<item> IntrospectionException </item>
+			<item> IntrospectionException </item>
+			<item> Introspector </item>
+			<item> Invalid </item>
+			<item> InvalidActivityException </item>
+			<item> InvalidAddress </item>
+			<item> InvalidAddressHelper </item>
+			<item> InvalidAddressHolder </item>
+			<item> InvalidAlgorithmParameterException </item>
+			<item> InvalidApplicationException </item>
+			<item> InvalidAttributeIdentifierException </item>
+			<item> InvalidAttributeValueException </item>
+			<item> InvalidAttributeValueException </item>
+			<item> InvalidAttributesException </item>
+			<item> InvalidClassException </item>
+			<item> InvalidDnDOperationException </item>
+			<item> InvalidKeyException </item>
+			<item> InvalidKeyException </item>
+			<item> InvalidKeySpecException </item>
+			<item> InvalidMarkException </item>
+			<item> InvalidMidiDataException </item>
+			<item> InvalidName </item>
+			<item> InvalidName </item>
+			<item> InvalidName </item>
+			<item> InvalidNameException </item>
+			<item> InvalidNameHelper </item>
+			<item> InvalidNameHelper </item>
+			<item> InvalidNameHolder </item>
+			<item> InvalidObjectException </item>
+			<item> InvalidOpenTypeException </item>
+			<item> InvalidParameterException </item>
+			<item> InvalidParameterSpecException </item>
+			<item> InvalidPolicy </item>
+			<item> InvalidPolicyHelper </item>
+			<item> InvalidPreferencesFormatException </item>
+			<item> InvalidPropertiesFormatException </item>
+			<item> InvalidRelationIdException </item>
+			<item> InvalidRelationServiceException </item>
+			<item> InvalidRelationTypeException </item>
+			<item> InvalidRoleInfoException </item>
+			<item> InvalidRoleValueException </item>
+			<item> InvalidSearchControlsException </item>
+			<item> InvalidSearchFilterException </item>
+			<item> InvalidSeq </item>
+			<item> InvalidSlot </item>
+			<item> InvalidSlotHelper </item>
+			<item> InvalidTargetObjectTypeException </item>
+			<item> InvalidTransactionException </item>
+			<item> InvalidTypeForEncoding </item>
+			<item> InvalidTypeForEncodingHelper </item>
+			<item> InvalidValue </item>
+			<item> InvalidValue </item>
+			<item> InvalidValueHelper </item>
+			<item> InvocationEvent </item>
+			<item> InvocationHandler </item>
+			<item> InvocationTargetException </item>
+			<item> InvokeHandler </item>
+			<item> IstringHelper </item>
+			<item> ItemEvent </item>
+			<item> ItemListener </item>
+			<item> ItemSelectable </item>
+			<item> Iterable </item>
+			<item> Iterator </item>
+			<item> IvParameterSpec </item>
+			<item> JApplet </item>
+			<item> JButton </item>
+			<item> JCheckBox </item>
+			<item> JCheckBoxMenuItem </item>
+			<item> JColorChooser </item>
+			<item> JComboBox </item>
+			<item> JComboBox.KeySelectionManager </item>
+			<item> JComponent </item>
+			<item> JDesktopPane </item>
+			<item> JDialog </item>
+			<item> JEditorPane </item>
+			<item> JFileChooser </item>
+			<item> JFormattedTextField </item>
+			<item> JFormattedTextField.AbstractFormatter </item>
+			<item> JFormattedTextField.AbstractFormatterFactory </item>
+			<item> JFrame </item>
+			<item> JInternalFrame </item>
+			<item> JInternalFrame.JDesktopIcon </item>
+			<item> JLabel </item>
+			<item> JLayeredPane </item>
+			<item> JList </item>
+			<item> JMException </item>
+			<item> JMRuntimeException </item>
+			<item> JMXAuthenticator </item>
+			<item> JMXConnectionNotification </item>
+			<item> JMXConnector </item>
+			<item> JMXConnectorFactory </item>
+			<item> JMXConnectorProvider </item>
+			<item> JMXConnectorServer </item>
+			<item> JMXConnectorServerFactory </item>
+			<item> JMXConnectorServerMBean </item>
+			<item> JMXConnectorServerProvider </item>
+			<item> JMXPrincipal </item>
+			<item> JMXProviderException </item>
+			<item> JMXServerErrorException </item>
+			<item> JMXServiceURL </item>
+			<item> JMenu </item>
+			<item> JMenuBar </item>
+			<item> JMenuItem </item>
+			<item> JOptionPane </item>
+			<item> JPEGHuffmanTable </item>
+			<item> JPEGImageReadParam </item>
+			<item> JPEGImageWriteParam </item>
+			<item> JPEGQTable </item>
+			<item> JPanel </item>
+			<item> JPasswordField </item>
+			<item> JPopupMenu </item>
+			<item> JPopupMenu.Separator </item>
+			<item> JProgressBar </item>
+			<item> JRadioButton </item>
+			<item> JRadioButtonMenuItem </item>
+			<item> JRootPane </item>
+			<item> JScrollBar </item>
+			<item> JScrollPane </item>
+			<item> JSeparator </item>
+			<item> JSlider </item>
+			<item> JSpinner </item>
+			<item> JSpinner.DateEditor </item>
+			<item> JSpinner.DefaultEditor </item>
+			<item> JSpinner.ListEditor </item>
+			<item> JSpinner.NumberEditor </item>
+			<item> JSplitPane </item>
+			<item> JTabbedPane </item>
+			<item> JTable </item>
+			<item> JTable.PrintMode </item>
+			<item> JTableHeader </item>
+			<item> JTextArea </item>
+			<item> JTextComponent </item>
+			<item> JTextComponent.KeyBinding </item>
+			<item> JTextField </item>
+			<item> JTextPane </item>
+			<item> JToggleButton </item>
+			<item> JToggleButton.ToggleButtonModel </item>
+			<item> JToolBar </item>
+			<item> JToolBar.Separator </item>
+			<item> JToolTip </item>
+			<item> JTree </item>
+			<item> JTree.DynamicUtilTreeNode </item>
+			<item> JTree.EmptySelectionModel </item>
+			<item> JViewport </item>
+			<item> JWindow </item>
+			<item> JarEntry </item>
+			<item> JarException </item>
+			<item> JarFile </item>
+			<item> JarInputStream </item>
+			<item> JarOutputStream </item>
+			<item> JarURLConnection </item>
+			<item> JdbcRowSet </item>
+			<item> JobAttributes </item>
+			<item> JobAttributes.DefaultSelectionType </item>
+			<item> JobAttributes.DestinationType </item>
+			<item> JobAttributes.DialogType </item>
+			<item> JobAttributes.MultipleDocumentHandlingType </item>
+			<item> JobAttributes.SidesType </item>
+			<item> JobHoldUntil </item>
+			<item> JobImpressions </item>
+			<item> JobImpressionsCompleted </item>
+			<item> JobImpressionsSupported </item>
+			<item> JobKOctets </item>
+			<item> JobKOctetsProcessed </item>
+			<item> JobKOctetsSupported </item>
+			<item> JobMediaSheets </item>
+			<item> JobMediaSheetsCompleted </item>
+			<item> JobMediaSheetsSupported </item>
+			<item> JobMessageFromOperator </item>
+			<item> JobName </item>
+			<item> JobOriginatingUserName </item>
+			<item> JobPriority </item>
+			<item> JobPrioritySupported </item>
+			<item> JobSheets </item>
+			<item> JobState </item>
+			<item> JobStateReason </item>
+			<item> JobStateReasons </item>
+			<item> JoinRowSet </item>
+			<item> Joinable </item>
+			<item> KerberosKey </item>
+			<item> KerberosPrincipal </item>
+			<item> KerberosTicket </item>
+			<item> Kernel </item>
+			<item> Key </item>
+			<item> KeyAdapter </item>
+			<item> KeyAgreement </item>
+			<item> KeyAgreementSpi </item>
+			<item> KeyAlreadyExistsException </item>
+			<item> KeyEvent </item>
+			<item> KeyEventDispatcher </item>
+			<item> KeyEventPostProcessor </item>
+			<item> KeyException </item>
+			<item> KeyFactory </item>
+			<item> KeyFactorySpi </item>
+			<item> KeyGenerator </item>
+			<item> KeyGeneratorSpi </item>
+			<item> KeyListener </item>
+			<item> KeyManagementException </item>
+			<item> KeyManager </item>
+			<item> KeyManagerFactory </item>
+			<item> KeyManagerFactorySpi </item>
+			<item> KeyPair </item>
+			<item> KeyPairGenerator </item>
+			<item> KeyPairGeneratorSpi </item>
+			<item> KeyRep </item>
+			<item> KeyRep.Type </item>
+			<item> KeySpec </item>
+			<item> KeyStore </item>
+			<item> KeyStore.Builder </item>
+			<item> KeyStore.CallbackHandlerProtection </item>
+			<item> KeyStore.Entry </item>
+			<item> KeyStore.LoadStoreParameter </item>
+			<item> KeyStore.PasswordProtection </item>
+			<item> KeyStore.PrivateKeyEntry </item>
+			<item> KeyStore.ProtectionParameter </item>
+			<item> KeyStore.SecretKeyEntry </item>
+			<item> KeyStore.TrustedCertificateEntry </item>
+			<item> KeyStoreBuilderParameters </item>
+			<item> KeyStoreException </item>
+			<item> KeyStoreSpi </item>
+			<item> KeyStroke </item>
+			<item> KeyboardFocusManager </item>
+			<item> Keymap </item>
+			<item> LDAPCertStoreParameters </item>
+			<item> LIFESPAN_POLICY_ID </item>
+			<item> LOCATION_FORWARD </item>
+			<item> LSException </item>
+			<item> LSInput </item>
+			<item> LSLoadEvent </item>
+			<item> LSOutput </item>
+			<item> LSParser </item>
+			<item> LSParserFilter </item>
+			<item> LSProgressEvent </item>
+			<item> LSResourceResolver </item>
+			<item> LSSerializer </item>
+			<item> LSSerializerFilter </item>
+			<item> Label </item>
+			<item> LabelUI </item>
+			<item> LabelView </item>
+			<item> LanguageCallback </item>
+			<item> LastOwnerException </item>
+			<item> LayeredHighlighter </item>
+			<item> LayeredHighlighter.LayerPainter </item>
+			<item> LayoutFocusTraversalPolicy </item>
+			<item> LayoutManager </item>
+			<item> LayoutManager2 </item>
+			<item> LayoutQueue </item>
+			<item> LdapContext </item>
+			<item> LdapName </item>
+			<item> LdapReferralException </item>
+			<item> Lease </item>
+			<item> Level </item>
+			<item> LexicalHandler </item>
+			<item> LifespanPolicy </item>
+			<item> LifespanPolicyOperations </item>
+			<item> LifespanPolicyValue </item>
+			<item> LimitExceededException </item>
+			<item> Line </item>
+			<item> Line.Info </item>
+			<item> Line2D </item>
+			<item> Line2D.Double </item>
+			<item> Line2D.Float </item>
+			<item> LineBorder </item>
+			<item> LineBreakMeasurer </item>
+			<item> LineEvent </item>
+			<item> LineEvent.Type </item>
+			<item> LineListener </item>
+			<item> LineMetrics </item>
+			<item> LineNumberInputStream </item>
+			<item> LineNumberReader </item>
+			<item> LineUnavailableException </item>
+			<item> LinkException </item>
+			<item> LinkLoopException </item>
+			<item> LinkRef </item>
+			<item> LinkageError </item>
+			<item> LinkedBlockingQueue </item>
+			<item> LinkedHashMap </item>
+			<item> LinkedHashSet </item>
+			<item> LinkedList </item>
+			<item> List </item>
+			<item> List </item>
+			<item> ListCellRenderer </item>
+			<item> ListDataEvent </item>
+			<item> ListDataListener </item>
+			<item> ListIterator </item>
+			<item> ListModel </item>
+			<item> ListResourceBundle </item>
+			<item> ListSelectionEvent </item>
+			<item> ListSelectionListener </item>
+			<item> ListSelectionModel </item>
+			<item> ListUI </item>
+			<item> ListView </item>
+			<item> ListenerNotFoundException </item>
+			<item> LoaderHandler </item>
+			<item> LocalObject </item>
+			<item> Locale </item>
+			<item> LocateRegistry </item>
+			<item> Locator </item>
+			<item> Locator2 </item>
+			<item> Locator2Impl </item>
+			<item> LocatorImpl </item>
+			<item> Lock </item>
+			<item> LockSupport </item>
+			<item> LogManager </item>
+			<item> LogRecord </item>
+			<item> LogStream </item>
+			<item> Logger </item>
+			<item> LoggingMXBean </item>
+			<item> LoggingPermission </item>
+			<item> LoginContext </item>
+			<item> LoginException </item>
+			<item> LoginModule </item>
+			<item> Long </item>
+			<item> LongBuffer </item>
+			<item> LongHolder </item>
+			<item> LongLongSeqHelper </item>
+			<item> LongLongSeqHolder </item>
+			<item> LongSeqHelper </item>
+			<item> LongSeqHolder </item>
+			<item> LookAndFeel </item>
+			<item> LookupOp </item>
+			<item> LookupTable </item>
+			<item> MARSHAL </item>
+			<item> MBeanAttributeInfo </item>
+			<item> MBeanConstructorInfo </item>
+			<item> MBeanException </item>
+			<item> MBeanFeatureInfo </item>
+			<item> MBeanInfo </item>
+			<item> MBeanNotificationInfo </item>
+			<item> MBeanOperationInfo </item>
+			<item> MBeanParameterInfo </item>
+			<item> MBeanPermission </item>
+			<item> MBeanRegistration </item>
+			<item> MBeanRegistrationException </item>
+			<item> MBeanServer </item>
+			<item> MBeanServerBuilder </item>
+			<item> MBeanServerConnection </item>
+			<item> MBeanServerDelegate </item>
+			<item> MBeanServerDelegateMBean </item>
+			<item> MBeanServerFactory </item>
+			<item> MBeanServerForwarder </item>
+			<item> MBeanServerInvocationHandler </item>
+			<item> MBeanServerNotification </item>
+			<item> MBeanServerNotificationFilter </item>
+			<item> MBeanServerPermission </item>
+			<item> MBeanTrustPermission </item>
+			<item> MGF1ParameterSpec </item>
+			<item> MLet </item>
+			<item> MLetMBean </item>
+			<item> Mac </item>
+			<item> MacSpi </item>
+			<item> MalformedInputException </item>
+			<item> MalformedLinkException </item>
+			<item> MalformedObjectNameException </item>
+			<item> MalformedParameterizedTypeException </item>
+			<item> MalformedURLException </item>
+			<item> ManageReferralControl </item>
+			<item> ManagementFactory </item>
+			<item> ManagementPermission </item>
+			<item> ManagerFactoryParameters </item>
+			<item> Manifest </item>
+			<item> Map </item>
+			<item> Map.Entry </item>
+			<item> MappedByteBuffer </item>
+			<item> MarshalException </item>
+			<item> MarshalledObject </item>
+			<item> MaskFormatter </item>
+			<item> MatchResult </item>
+			<item> Matcher </item>
+			<item> Math </item>
+			<item> MathContext </item>
+			<item> MatteBorder </item>
+			<item> Media </item>
+			<item> MediaName </item>
+			<item> MediaPrintableArea </item>
+			<item> MediaSize </item>
+			<item> MediaSize.Engineering </item>
+			<item> MediaSize.ISO </item>
+			<item> MediaSize.JIS </item>
+			<item> MediaSize.NA </item>
+			<item> MediaSize.Other </item>
+			<item> MediaSizeName </item>
+			<item> MediaTracker </item>
+			<item> MediaTray </item>
+			<item> Member </item>
+			<item> MemoryCacheImageInputStream </item>
+			<item> MemoryCacheImageOutputStream </item>
+			<item> MemoryHandler </item>
+			<item> MemoryImageSource </item>
+			<item> MemoryMXBean </item>
+			<item> MemoryManagerMXBean </item>
+			<item> MemoryNotificationInfo </item>
+			<item> MemoryPoolMXBean </item>
+			<item> MemoryType </item>
+			<item> MemoryUsage </item>
+			<item> Menu </item>
+			<item> MenuBar </item>
+			<item> MenuBarUI </item>
+			<item> MenuComponent </item>
+			<item> MenuContainer </item>
+			<item> MenuDragMouseEvent </item>
+			<item> MenuDragMouseListener </item>
+			<item> MenuElement </item>
+			<item> MenuEvent </item>
+			<item> MenuItem </item>
+			<item> MenuItemUI </item>
+			<item> MenuKeyEvent </item>
+			<item> MenuKeyListener </item>
+			<item> MenuListener </item>
+			<item> MenuSelectionManager </item>
+			<item> MenuShortcut </item>
+			<item> MessageDigest </item>
+			<item> MessageDigestSpi </item>
+			<item> MessageFormat </item>
+			<item> MessageFormat.Field </item>
+			<item> MessageProp </item>
+			<item> MetaEventListener </item>
+			<item> MetaMessage </item>
+			<item> MetalBorders </item>
+			<item> MetalBorders.ButtonBorder </item>
+			<item> MetalBorders.Flush3DBorder </item>
+			<item> MetalBorders.InternalFrameBorder </item>
+			<item> MetalBorders.MenuBarBorder </item>
+			<item> MetalBorders.MenuItemBorder </item>
+			<item> MetalBorders.OptionDialogBorder </item>
+			<item> MetalBorders.PaletteBorder </item>
+			<item> MetalBorders.PopupMenuBorder </item>
+			<item> MetalBorders.RolloverButtonBorder </item>
+			<item> MetalBorders.ScrollPaneBorder </item>
+			<item> MetalBorders.TableHeaderBorder </item>
+			<item> MetalBorders.TextFieldBorder </item>
+			<item> MetalBorders.ToggleButtonBorder </item>
+			<item> MetalBorders.ToolBarBorder </item>
+			<item> MetalButtonUI </item>
+			<item> MetalCheckBoxIcon </item>
+			<item> MetalCheckBoxUI </item>
+			<item> MetalComboBoxButton </item>
+			<item> MetalComboBoxEditor </item>
+			<item> MetalComboBoxEditor.UIResource </item>
+			<item> MetalComboBoxIcon </item>
+			<item> MetalComboBoxUI </item>
+			<item> MetalDesktopIconUI </item>
+			<item> MetalFileChooserUI </item>
+			<item> MetalIconFactory </item>
+			<item> MetalIconFactory.FileIcon16 </item>
+			<item> MetalIconFactory.FolderIcon16 </item>
+			<item> MetalIconFactory.PaletteCloseIcon </item>
+			<item> MetalIconFactory.TreeControlIcon </item>
+			<item> MetalIconFactory.TreeFolderIcon </item>
+			<item> MetalIconFactory.TreeLeafIcon </item>
+			<item> MetalInternalFrameTitlePane </item>
+			<item> MetalInternalFrameUI </item>
+			<item> MetalLabelUI </item>
+			<item> MetalLookAndFeel </item>
+			<item> MetalMenuBarUI </item>
+			<item> MetalPopupMenuSeparatorUI </item>
+			<item> MetalProgressBarUI </item>
+			<item> MetalRadioButtonUI </item>
+			<item> MetalRootPaneUI </item>
+			<item> MetalScrollBarUI </item>
+			<item> MetalScrollButton </item>
+			<item> MetalScrollPaneUI </item>
+			<item> MetalSeparatorUI </item>
+			<item> MetalSliderUI </item>
+			<item> MetalSplitPaneUI </item>
+			<item> MetalTabbedPaneUI </item>
+			<item> MetalTextFieldUI </item>
+			<item> MetalTheme </item>
+			<item> MetalToggleButtonUI </item>
+			<item> MetalToolBarUI </item>
+			<item> MetalToolTipUI </item>
+			<item> MetalTreeUI </item>
+			<item> Method </item>
+			<item> MethodDescriptor </item>
+			<item> MidiChannel </item>
+			<item> MidiDevice </item>
+			<item> MidiDevice.Info </item>
+			<item> MidiDeviceProvider </item>
+			<item> MidiEvent </item>
+			<item> MidiFileFormat </item>
+			<item> MidiFileReader </item>
+			<item> MidiFileWriter </item>
+			<item> MidiMessage </item>
+			<item> MidiSystem </item>
+			<item> MidiUnavailableException </item>
+			<item> MimeTypeParseException </item>
+			<item> MinimalHTMLWriter </item>
+			<item> MissingFormatArgumentException </item>
+			<item> MissingFormatWidthException </item>
+			<item> MissingResourceException </item>
+			<item> Mixer </item>
+			<item> Mixer.Info </item>
+			<item> MixerProvider </item>
+			<item> ModelMBean </item>
+			<item> ModelMBeanAttributeInfo </item>
+			<item> ModelMBeanConstructorInfo </item>
+			<item> ModelMBeanInfo </item>
+			<item> ModelMBeanInfoSupport </item>
+			<item> ModelMBeanNotificationBroadcaster </item>
+			<item> ModelMBeanNotificationInfo </item>
+			<item> ModelMBeanOperationInfo </item>
+			<item> ModificationItem </item>
+			<item> Modifier </item>
+			<item> Monitor </item>
+			<item> MonitorMBean </item>
+			<item> MonitorNotification </item>
+			<item> MonitorSettingException </item>
+			<item> MouseAdapter </item>
+			<item> MouseDragGestureRecognizer </item>
+			<item> MouseEvent </item>
+			<item> MouseInfo </item>
+			<item> MouseInputAdapter </item>
+			<item> MouseInputListener </item>
+			<item> MouseListener </item>
+			<item> MouseMotionAdapter </item>
+			<item> MouseMotionListener </item>
+			<item> MouseWheelEvent </item>
+			<item> MouseWheelListener </item>
+			<item> MultiButtonUI </item>
+			<item> MultiColorChooserUI </item>
+			<item> MultiComboBoxUI </item>
+			<item> MultiDesktopIconUI </item>
+			<item> MultiDesktopPaneUI </item>
+			<item> MultiDoc </item>
+			<item> MultiDocPrintJob </item>
+			<item> MultiDocPrintService </item>
+			<item> MultiFileChooserUI </item>
+			<item> MultiInternalFrameUI </item>
+			<item> MultiLabelUI </item>
+			<item> MultiListUI </item>
+			<item> MultiLookAndFeel </item>
+			<item> MultiMenuBarUI </item>
+			<item> MultiMenuItemUI </item>
+			<item> MultiOptionPaneUI </item>
+			<item> MultiPanelUI </item>
+			<item> MultiPixelPackedSampleModel </item>
+			<item> MultiPopupMenuUI </item>
+			<item> MultiProgressBarUI </item>
+			<item> MultiRootPaneUI </item>
+			<item> MultiScrollBarUI </item>
+			<item> MultiScrollPaneUI </item>
+			<item> MultiSeparatorUI </item>
+			<item> MultiSliderUI </item>
+			<item> MultiSpinnerUI </item>
+			<item> MultiSplitPaneUI </item>
+			<item> MultiTabbedPaneUI </item>
+			<item> MultiTableHeaderUI </item>
+			<item> MultiTableUI </item>
+			<item> MultiTextUI </item>
+			<item> MultiToolBarUI </item>
+			<item> MultiToolTipUI </item>
+			<item> MultiTreeUI </item>
+			<item> MultiViewportUI </item>
+			<item> MulticastSocket </item>
+			<item> MultipleComponentProfileHelper </item>
+			<item> MultipleComponentProfileHolder </item>
+			<item> MultipleDocumentHandling </item>
+			<item> MultipleMaster </item>
+			<item> MutableAttributeSet </item>
+			<item> MutableComboBoxModel </item>
+			<item> MutableTreeNode </item>
+			<item> NON_EXISTENT </item>
+			<item> NO_IMPLEMENT </item>
+			<item> NO_MEMORY </item>
+			<item> NO_PERMISSION </item>
+			<item> NO_RESOURCES </item>
+			<item> NO_RESPONSE </item>
+			<item> NVList </item>
+			<item> Name </item>
+			<item> NameAlreadyBoundException </item>
+			<item> NameCallback </item>
+			<item> NameClassPair </item>
+			<item> NameComponent </item>
+			<item> NameComponentHelper </item>
+			<item> NameComponentHolder </item>
+			<item> NameDynAnyPair </item>
+			<item> NameDynAnyPairHelper </item>
+			<item> NameDynAnyPairSeqHelper </item>
+			<item> NameHelper </item>
+			<item> NameHolder </item>
+			<item> NameList </item>
+			<item> NameNotFoundException </item>
+			<item> NameParser </item>
+			<item> NameValuePair </item>
+			<item> NameValuePair </item>
+			<item> NameValuePairHelper </item>
+			<item> NameValuePairHelper </item>
+			<item> NameValuePairSeqHelper </item>
+			<item> NamedNodeMap </item>
+			<item> NamedValue </item>
+			<item> NamespaceChangeListener </item>
+			<item> NamespaceContext </item>
+			<item> NamespaceSupport </item>
+			<item> Naming </item>
+			<item> NamingContext </item>
+			<item> NamingContextExt </item>
+			<item> NamingContextExtHelper </item>
+			<item> NamingContextExtHolder </item>
+			<item> NamingContextExtOperations </item>
+			<item> NamingContextExtPOA </item>
+			<item> NamingContextHelper </item>
+			<item> NamingContextHolder </item>
+			<item> NamingContextOperations </item>
+			<item> NamingContextPOA </item>
+			<item> NamingEnumeration </item>
+			<item> NamingEvent </item>
+			<item> NamingException </item>
+			<item> NamingExceptionEvent </item>
+			<item> NamingListener </item>
+			<item> NamingManager </item>
+			<item> NamingSecurityException </item>
+			<item> NavigationFilter </item>
+			<item> NavigationFilter.FilterBypass </item>
+			<item> NegativeArraySizeException </item>
+			<item> NetPermission </item>
+			<item> NetworkInterface </item>
+			<item> NoClassDefFoundError </item>
+			<item> NoConnectionPendingException </item>
+			<item> NoContext </item>
+			<item> NoContextHelper </item>
+			<item> NoInitialContextException </item>
+			<item> NoPermissionException </item>
+			<item> NoRouteToHostException </item>
+			<item> NoServant </item>
+			<item> NoServantHelper </item>
+			<item> NoSuchAlgorithmException </item>
+			<item> NoSuchAttributeException </item>
+			<item> NoSuchElementException </item>
+			<item> NoSuchFieldError </item>
+			<item> NoSuchFieldException </item>
+			<item> NoSuchMethodError </item>
+			<item> NoSuchMethodException </item>
+			<item> NoSuchObjectException </item>
+			<item> NoSuchPaddingException </item>
+			<item> NoSuchProviderException </item>
+			<item> Node </item>
+			<item> NodeChangeEvent </item>
+			<item> NodeChangeListener </item>
+			<item> NodeList </item>
+			<item> NonReadableChannelException </item>
+			<item> NonWritableChannelException </item>
+			<item> NoninvertibleTransformException </item>
+			<item> NotActiveException </item>
+			<item> NotBoundException </item>
+			<item> NotCompliantMBeanException </item>
+			<item> NotContextException </item>
+			<item> NotEmpty </item>
+			<item> NotEmptyHelper </item>
+			<item> NotEmptyHolder </item>
+			<item> NotFound </item>
+			<item> NotFoundHelper </item>
+			<item> NotFoundHolder </item>
+			<item> NotFoundReason </item>
+			<item> NotFoundReasonHelper </item>
+			<item> NotFoundReasonHolder </item>
+			<item> NotOwnerException </item>
+			<item> NotSerializableException </item>
+			<item> NotYetBoundException </item>
+			<item> NotYetConnectedException </item>
+			<item> Notation </item>
+			<item> Notification </item>
+			<item> NotificationBroadcaster </item>
+			<item> NotificationBroadcasterSupport </item>
+			<item> NotificationEmitter </item>
+			<item> NotificationFilter </item>
+			<item> NotificationFilterSupport </item>
+			<item> NotificationListener </item>
+			<item> NotificationResult </item>
+			<item> NullCipher </item>
+			<item> NullPointerException </item>
+			<item> Number </item>
+			<item> NumberFormat </item>
+			<item> NumberFormat.Field </item>
+			<item> NumberFormatException </item>
+			<item> NumberFormatter </item>
+			<item> NumberOfDocuments </item>
+			<item> NumberOfInterveningJobs </item>
+			<item> NumberUp </item>
+			<item> NumberUpSupported </item>
+			<item> NumericShaper </item>
+			<item> OAEPParameterSpec </item>
+			<item> OBJECT_NOT_EXIST </item>
+			<item> OBJ_ADAPTER </item>
+			<item> OMGVMCID </item>
+			<item> ORB </item>
+			<item> ORB </item>
+			<item> ORBIdHelper </item>
+			<item> ORBInitInfo </item>
+			<item> ORBInitInfoOperations </item>
+			<item> ORBInitializer </item>
+			<item> ORBInitializerOperations </item>
+			<item> ObjID </item>
+			<item> Object </item>
+			<item> Object </item>
+			<item> ObjectAlreadyActive </item>
+			<item> ObjectAlreadyActiveHelper </item>
+			<item> ObjectChangeListener </item>
+			<item> ObjectFactory </item>
+			<item> ObjectFactoryBuilder </item>
+			<item> ObjectHelper </item>
+			<item> ObjectHolder </item>
+			<item> ObjectIdHelper </item>
+			<item> ObjectIdHelper </item>
+			<item> ObjectImpl </item>
+			<item> ObjectImpl </item>
+			<item> ObjectInput </item>
+			<item> ObjectInputStream </item>
+			<item> ObjectInputStream.GetField </item>
+			<item> ObjectInputValidation </item>
+			<item> ObjectInstance </item>
+			<item> ObjectName </item>
+			<item> ObjectNotActive </item>
+			<item> ObjectNotActiveHelper </item>
+			<item> ObjectOutput </item>
+			<item> ObjectOutputStream </item>
+			<item> ObjectOutputStream.PutField </item>
+			<item> ObjectReferenceFactory </item>
+			<item> ObjectReferenceFactoryHelper </item>
+			<item> ObjectReferenceFactoryHolder </item>
+			<item> ObjectReferenceTemplate </item>
+			<item> ObjectReferenceTemplateHelper </item>
+			<item> ObjectReferenceTemplateHolder </item>
+			<item> ObjectReferenceTemplateSeqHelper </item>
+			<item> ObjectReferenceTemplateSeqHolder </item>
+			<item> ObjectStreamClass </item>
+			<item> ObjectStreamConstants </item>
+			<item> ObjectStreamException </item>
+			<item> ObjectStreamField </item>
+			<item> ObjectView </item>
+			<item> Observable </item>
+			<item> Observer </item>
+			<item> OceanTheme </item>
+			<item> OctetSeqHelper </item>
+			<item> OctetSeqHolder </item>
+			<item> Oid </item>
+			<item> OpenDataException </item>
+			<item> OpenMBeanAttributeInfo </item>
+			<item> OpenMBeanAttributeInfoSupport </item>
+			<item> OpenMBeanConstructorInfo </item>
+			<item> OpenMBeanConstructorInfoSupport </item>
+			<item> OpenMBeanInfo </item>
+			<item> OpenMBeanInfoSupport </item>
+			<item> OpenMBeanOperationInfo </item>
+			<item> OpenMBeanOperationInfoSupport </item>
+			<item> OpenMBeanParameterInfo </item>
+			<item> OpenMBeanParameterInfoSupport </item>
+			<item> OpenType </item>
+			<item> OpenType </item>
+			<item> OperatingSystemMXBean </item>
+			<item> Operation </item>
+			<item> OperationNotSupportedException </item>
+			<item> OperationsException </item>
+			<item> Option </item>
+			<item> OptionPaneUI </item>
+			<item> OptionalDataException </item>
+			<item> OrientationRequested </item>
+			<item> OutOfMemoryError </item>
+			<item> OutputDeviceAssigned </item>
+			<item> OutputKeys </item>
+			<item> OutputStream </item>
+			<item> OutputStream </item>
+			<item> OutputStream </item>
+			<item> OutputStreamWriter </item>
+			<item> OverlappingFileLockException </item>
+			<item> OverlayLayout </item>
+			<item> Override </item>
+			<item> Owner </item>
+			<item> PBEKey </item>
+			<item> PBEKeySpec </item>
+			<item> PBEParameterSpec </item>
+			<item> PDLOverrideSupported </item>
+			<item> PERSIST_STORE </item>
+			<item> PKCS8EncodedKeySpec </item>
+			<item> PKIXBuilderParameters </item>
+			<item> PKIXCertPathBuilderResult </item>
+			<item> PKIXCertPathChecker </item>
+			<item> PKIXCertPathValidatorResult </item>
+			<item> PKIXParameters </item>
+			<item> POA </item>
+			<item> POAHelper </item>
+			<item> POAManager </item>
+			<item> POAManagerOperations </item>
+			<item> POAOperations </item>
+			<item> PRIVATE_MEMBER </item>
+			<item> PSSParameterSpec </item>
+			<item> PSource </item>
+			<item> PSource.PSpecified </item>
+			<item> PUBLIC_MEMBER </item>
+			<item> Pack200 </item>
+			<item> Pack200.Packer </item>
+			<item> Pack200.Unpacker </item>
+			<item> Package </item>
+			<item> PackedColorModel </item>
+			<item> PageAttributes </item>
+			<item> PageAttributes.ColorType </item>
+			<item> PageAttributes.MediaType </item>
+			<item> PageAttributes.OrientationRequestedType </item>
+			<item> PageAttributes.OriginType </item>
+			<item> PageAttributes.PrintQualityType </item>
+			<item> PageFormat </item>
+			<item> PageRanges </item>
+			<item> Pageable </item>
+			<item> PagedResultsControl </item>
+			<item> PagedResultsResponseControl </item>
+			<item> PagesPerMinute </item>
+			<item> PagesPerMinuteColor </item>
+			<item> Paint </item>
+			<item> PaintContext </item>
+			<item> PaintEvent </item>
+			<item> Panel </item>
+			<item> PanelUI </item>
+			<item> Paper </item>
+			<item> ParagraphView </item>
+			<item> ParagraphView </item>
+			<item> Parameter </item>
+			<item> ParameterBlock </item>
+			<item> ParameterDescriptor </item>
+			<item> ParameterMetaData </item>
+			<item> ParameterMode </item>
+			<item> ParameterModeHelper </item>
+			<item> ParameterModeHolder </item>
+			<item> ParameterizedType </item>
+			<item> ParseException </item>
+			<item> ParsePosition </item>
+			<item> Parser </item>
+			<item> Parser </item>
+			<item> ParserAdapter </item>
+			<item> ParserConfigurationException </item>
+			<item> ParserDelegator </item>
+			<item> ParserFactory </item>
+			<item> PartialResultException </item>
+			<item> PasswordAuthentication </item>
+			<item> PasswordCallback </item>
+			<item> PasswordView </item>
+			<item> Patch </item>
+			<item> PathIterator </item>
+			<item> Pattern </item>
+			<item> PatternSyntaxException </item>
+			<item> Permission </item>
+			<item> Permission </item>
+			<item> PermissionCollection </item>
+			<item> Permissions </item>
+			<item> PersistenceDelegate </item>
+			<item> PersistentMBean </item>
+			<item> PhantomReference </item>
+			<item> Pipe </item>
+			<item> Pipe.SinkChannel </item>
+			<item> Pipe.SourceChannel </item>
+			<item> PipedInputStream </item>
+			<item> PipedOutputStream </item>
+			<item> PipedReader </item>
+			<item> PipedWriter </item>
+			<item> PixelGrabber </item>
+			<item> PixelInterleavedSampleModel </item>
+			<item> PlainDocument </item>
+			<item> PlainView </item>
+			<item> Point </item>
+			<item> Point2D </item>
+			<item> Point2D.Double </item>
+			<item> Point2D.Float </item>
+			<item> PointerInfo </item>
+			<item> Policy </item>
+			<item> Policy </item>
+			<item> Policy </item>
+			<item> PolicyError </item>
+			<item> PolicyErrorCodeHelper </item>
+			<item> PolicyErrorHelper </item>
+			<item> PolicyErrorHolder </item>
+			<item> PolicyFactory </item>
+			<item> PolicyFactoryOperations </item>
+			<item> PolicyHelper </item>
+			<item> PolicyHolder </item>
+			<item> PolicyListHelper </item>
+			<item> PolicyListHolder </item>
+			<item> PolicyNode </item>
+			<item> PolicyOperations </item>
+			<item> PolicyQualifierInfo </item>
+			<item> PolicyTypeHelper </item>
+			<item> Polygon </item>
+			<item> PooledConnection </item>
+			<item> Popup </item>
+			<item> PopupFactory </item>
+			<item> PopupMenu </item>
+			<item> PopupMenuEvent </item>
+			<item> PopupMenuListener </item>
+			<item> PopupMenuUI </item>
+			<item> Port </item>
+			<item> Port.Info </item>
+			<item> PortUnreachableException </item>
+			<item> PortableRemoteObject </item>
+			<item> PortableRemoteObjectDelegate </item>
+			<item> Position </item>
+			<item> Position.Bias </item>
+			<item> Predicate </item>
+			<item> PreferenceChangeEvent </item>
+			<item> PreferenceChangeListener </item>
+			<item> Preferences </item>
+			<item> PreferencesFactory </item>
+			<item> PreparedStatement </item>
+			<item> PresentationDirection </item>
+			<item> Principal </item>
+			<item> Principal </item>
+			<item> PrincipalHolder </item>
+			<item> PrintEvent </item>
+			<item> PrintException </item>
+			<item> PrintGraphics </item>
+			<item> PrintJob </item>
+			<item> PrintJobAdapter </item>
+			<item> PrintJobAttribute </item>
+			<item> PrintJobAttributeEvent </item>
+			<item> PrintJobAttributeListener </item>
+			<item> PrintJobAttributeSet </item>
+			<item> PrintJobEvent </item>
+			<item> PrintJobListener </item>
+			<item> PrintQuality </item>
+			<item> PrintRequestAttribute </item>
+			<item> PrintRequestAttributeSet </item>
+			<item> PrintService </item>
+			<item> PrintServiceAttribute </item>
+			<item> PrintServiceAttributeEvent </item>
+			<item> PrintServiceAttributeListener </item>
+			<item> PrintServiceAttributeSet </item>
+			<item> PrintServiceLookup </item>
+			<item> PrintStream </item>
+			<item> PrintWriter </item>
+			<item> Printable </item>
+			<item> PrinterAbortException </item>
+			<item> PrinterException </item>
+			<item> PrinterGraphics </item>
+			<item> PrinterIOException </item>
+			<item> PrinterInfo </item>
+			<item> PrinterIsAcceptingJobs </item>
+			<item> PrinterJob </item>
+			<item> PrinterLocation </item>
+			<item> PrinterMakeAndModel </item>
+			<item> PrinterMessageFromOperator </item>
+			<item> PrinterMoreInfo </item>
+			<item> PrinterMoreInfoManufacturer </item>
+			<item> PrinterName </item>
+			<item> PrinterResolution </item>
+			<item> PrinterState </item>
+			<item> PrinterStateReason </item>
+			<item> PrinterStateReasons </item>
+			<item> PrinterURI </item>
+			<item> PriorityBlockingQueue </item>
+			<item> PriorityQueue </item>
+			<item> PrivateClassLoader </item>
+			<item> PrivateCredentialPermission </item>
+			<item> PrivateKey </item>
+			<item> PrivateMLet </item>
+			<item> PrivilegedAction </item>
+			<item> PrivilegedActionException </item>
+			<item> PrivilegedExceptionAction </item>
+			<item> Process </item>
+			<item> ProcessBuilder </item>
+			<item> ProcessingInstruction </item>
+			<item> ProfileDataException </item>
+			<item> ProfileIdHelper </item>
+			<item> ProgressBarUI </item>
+			<item> ProgressMonitor </item>
+			<item> ProgressMonitorInputStream </item>
+			<item> Properties </item>
+			<item> PropertyChangeEvent </item>
+			<item> PropertyChangeListener </item>
+			<item> PropertyChangeListenerProxy </item>
+			<item> PropertyChangeSupport </item>
+			<item> PropertyDescriptor </item>
+			<item> PropertyEditor </item>
+			<item> PropertyEditorManager </item>
+			<item> PropertyEditorSupport </item>
+			<item> PropertyPermission </item>
+			<item> PropertyResourceBundle </item>
+			<item> PropertyVetoException </item>
+			<item> ProtectionDomain </item>
+			<item> ProtocolException </item>
+			<item> Provider </item>
+			<item> Provider.Service </item>
+			<item> ProviderException </item>
+			<item> Proxy </item>
+			<item> Proxy </item>
+			<item> Proxy.Type </item>
+			<item> ProxySelector </item>
+			<item> PublicKey </item>
+			<item> PushbackInputStream </item>
+			<item> PushbackReader </item>
+			<item> QName </item>
+			<item> QuadCurve2D </item>
+			<item> QuadCurve2D.Double </item>
+			<item> QuadCurve2D.Float </item>
+			<item> Query </item>
+			<item> QueryEval </item>
+			<item> QueryExp </item>
+			<item> Queue </item>
+			<item> QueuedJobCount </item>
+			<item> RC2ParameterSpec </item>
+			<item> RC5ParameterSpec </item>
+			<item> REBIND </item>
+			<item> REQUEST_PROCESSING_POLICY_ID </item>
+			<item> RGBImageFilter </item>
+			<item> RMIClassLoader </item>
+			<item> RMIClassLoaderSpi </item>
+			<item> RMIClientSocketFactory </item>
+			<item> RMIConnection </item>
+			<item> RMIConnectionImpl </item>
+			<item> RMIConnectionImpl_Stub </item>
+			<item> RMIConnector </item>
+			<item> RMIConnectorServer </item>
+			<item> RMICustomMaxStreamFormat </item>
+			<item> RMIFailureHandler </item>
+			<item> RMIIIOPServerImpl </item>
+			<item> RMIJRMPServerImpl </item>
+			<item> RMISecurityException </item>
+			<item> RMISecurityManager </item>
+			<item> RMIServer </item>
+			<item> RMIServerImpl </item>
+			<item> RMIServerImpl_Stub </item>
+			<item> RMIServerSocketFactory </item>
+			<item> RMISocketFactory </item>
+			<item> RSAKey </item>
+			<item> RSAKeyGenParameterSpec </item>
+			<item> RSAMultiPrimePrivateCrtKey </item>
+			<item> RSAMultiPrimePrivateCrtKeySpec </item>
+			<item> RSAOtherPrimeInfo </item>
+			<item> RSAPrivateCrtKey </item>
+			<item> RSAPrivateCrtKeySpec </item>
+			<item> RSAPrivateKey </item>
+			<item> RSAPrivateKeySpec </item>
+			<item> RSAPublicKey </item>
+			<item> RSAPublicKeySpec </item>
+			<item> RTFEditorKit </item>
+			<item> Random </item>
+			<item> RandomAccess </item>
+			<item> RandomAccessFile </item>
+			<item> Raster </item>
+			<item> RasterFormatException </item>
+			<item> RasterOp </item>
+			<item> Rdn </item>
+			<item> ReadOnlyBufferException </item>
+			<item> ReadWriteLock </item>
+			<item> Readable </item>
+			<item> ReadableByteChannel </item>
+			<item> Reader </item>
+			<item> RealmCallback </item>
+			<item> RealmChoiceCallback </item>
+			<item> Receiver </item>
+			<item> Rectangle </item>
+			<item> Rectangle2D </item>
+			<item> Rectangle2D.Double </item>
+			<item> Rectangle2D.Float </item>
+			<item> RectangularShape </item>
+			<item> ReentrantLock </item>
+			<item> ReentrantReadWriteLock </item>
+			<item> ReentrantReadWriteLock.ReadLock </item>
+			<item> ReentrantReadWriteLock.WriteLock </item>
+			<item> Ref </item>
+			<item> RefAddr </item>
+			<item> Reference </item>
+			<item> Reference </item>
+			<item> ReferenceQueue </item>
+			<item> ReferenceUriSchemesSupported </item>
+			<item> Referenceable </item>
+			<item> ReferralException </item>
+			<item> ReflectPermission </item>
+			<item> ReflectionException </item>
+			<item> RefreshFailedException </item>
+			<item> Refreshable </item>
+			<item> Region </item>
+			<item> RegisterableService </item>
+			<item> Registry </item>
+			<item> RegistryHandler </item>
+			<item> RejectedExecutionException </item>
+			<item> RejectedExecutionHandler </item>
+			<item> Relation </item>
+			<item> RelationException </item>
+			<item> RelationNotFoundException </item>
+			<item> RelationNotification </item>
+			<item> RelationService </item>
+			<item> RelationServiceMBean </item>
+			<item> RelationServiceNotRegisteredException </item>
+			<item> RelationSupport </item>
+			<item> RelationSupportMBean </item>
+			<item> RelationType </item>
+			<item> RelationTypeNotFoundException </item>
+			<item> RelationTypeSupport </item>
+			<item> RemarshalException </item>
+			<item> Remote </item>
+			<item> RemoteCall </item>
+			<item> RemoteException </item>
+			<item> RemoteObject </item>
+			<item> RemoteObjectInvocationHandler </item>
+			<item> RemoteRef </item>
+			<item> RemoteServer </item>
+			<item> RemoteStub </item>
+			<item> RenderContext </item>
+			<item> RenderableImage </item>
+			<item> RenderableImageOp </item>
+			<item> RenderableImageProducer </item>
+			<item> RenderedImage </item>
+			<item> RenderedImageFactory </item>
+			<item> Renderer </item>
+			<item> RenderingHints </item>
+			<item> RenderingHints.Key </item>
+			<item> RepaintManager </item>
+			<item> ReplicateScaleFilter </item>
+			<item> RepositoryIdHelper </item>
+			<item> Request </item>
+			<item> RequestInfo </item>
+			<item> RequestInfoOperations </item>
+			<item> RequestProcessingPolicy </item>
+			<item> RequestProcessingPolicyOperations </item>
+			<item> RequestProcessingPolicyValue </item>
+			<item> RequestingUserName </item>
+			<item> RequiredModelMBean </item>
+			<item> RescaleOp </item>
+			<item> ResolutionSyntax </item>
+			<item> ResolveResult </item>
+			<item> Resolver </item>
+			<item> ResourceBundle </item>
+			<item> ResponseCache </item>
+			<item> ResponseHandler </item>
+			<item> Result </item>
+			<item> ResultSet </item>
+			<item> ResultSetMetaData </item>
+			<item> Retention </item>
+			<item> RetentionPolicy </item>
+			<item> ReverbType </item>
+			<item> Robot </item>
+			<item> Role </item>
+			<item> RoleInfo </item>
+			<item> RoleInfoNotFoundException </item>
+			<item> RoleList </item>
+			<item> RoleNotFoundException </item>
+			<item> RoleResult </item>
+			<item> RoleStatus </item>
+			<item> RoleUnresolved </item>
+			<item> RoleUnresolvedList </item>
+			<item> RootPaneContainer </item>
+			<item> RootPaneUI </item>
+			<item> RoundRectangle2D </item>
+			<item> RoundRectangle2D.Double </item>
+			<item> RoundRectangle2D.Float </item>
+			<item> RoundingMode </item>
+			<item> RowMapper </item>
+			<item> RowSet </item>
+			<item> RowSetEvent </item>
+			<item> RowSetInternal </item>
+			<item> RowSetListener </item>
+			<item> RowSetMetaData </item>
+			<item> RowSetMetaDataImpl </item>
+			<item> RowSetReader </item>
+			<item> RowSetWarning </item>
+			<item> RowSetWriter </item>
+			<item> RuleBasedCollator </item>
+			<item> RunTime </item>
+			<item> RunTimeOperations </item>
+			<item> Runnable </item>
+			<item> Runtime </item>
+			<item> RuntimeErrorException </item>
+			<item> RuntimeException </item>
+			<item> RuntimeMBeanException </item>
+			<item> RuntimeMXBean </item>
+			<item> RuntimeOperationsException </item>
+			<item> RuntimePermission </item>
+			<item> SAXException </item>
+			<item> SAXNotRecognizedException </item>
+			<item> SAXNotSupportedException </item>
+			<item> SAXParseException </item>
+			<item> SAXParser </item>
+			<item> SAXParserFactory </item>
+			<item> SAXResult </item>
+			<item> SAXSource </item>
+			<item> SAXTransformerFactory </item>
+			<item> SERVANT_RETENTION_POLICY_ID </item>
+			<item> SQLData </item>
+			<item> SQLException </item>
+			<item> SQLInput </item>
+			<item> SQLInputImpl </item>
+			<item> SQLOutput </item>
+			<item> SQLOutputImpl </item>
+			<item> SQLPermission </item>
+			<item> SQLWarning </item>
+			<item> SSLContext </item>
+			<item> SSLContextSpi </item>
+			<item> SSLEngine </item>
+			<item> SSLEngineResult </item>
+			<item> SSLEngineResult.HandshakeStatus </item>
+			<item> SSLEngineResult.Status </item>
+			<item> SSLException </item>
+			<item> SSLHandshakeException </item>
+			<item> SSLKeyException </item>
+			<item> SSLPeerUnverifiedException </item>
+			<item> SSLPermission </item>
+			<item> SSLProtocolException </item>
+			<item> SSLServerSocket </item>
+			<item> SSLServerSocketFactory </item>
+			<item> SSLSession </item>
+			<item> SSLSessionBindingEvent </item>
+			<item> SSLSessionBindingListener </item>
+			<item> SSLSessionContext </item>
+			<item> SSLSocket </item>
+			<item> SSLSocketFactory </item>
+			<item> SUCCESSFUL </item>
+			<item> SYNC_WITH_TRANSPORT </item>
+			<item> SYSTEM_EXCEPTION </item>
+			<item> SampleModel </item>
+			<item> Sasl </item>
+			<item> SaslClient </item>
+			<item> SaslClientFactory </item>
+			<item> SaslException </item>
+			<item> SaslServer </item>
+			<item> SaslServerFactory </item>
+			<item> Savepoint </item>
+			<item> Scanner </item>
+			<item> ScatteringByteChannel </item>
+			<item> ScheduledExecutorService </item>
+			<item> ScheduledFuture </item>
+			<item> ScheduledThreadPoolExecutor </item>
+			<item> Schema </item>
+			<item> SchemaFactory </item>
+			<item> SchemaFactoryLoader </item>
+			<item> SchemaViolationException </item>
+			<item> ScrollBarUI </item>
+			<item> ScrollPane </item>
+			<item> ScrollPaneAdjustable </item>
+			<item> ScrollPaneConstants </item>
+			<item> ScrollPaneLayout </item>
+			<item> ScrollPaneLayout.UIResource </item>
+			<item> ScrollPaneUI </item>
+			<item> Scrollable </item>
+			<item> Scrollbar </item>
+			<item> SealedObject </item>
+			<item> SearchControls </item>
+			<item> SearchResult </item>
+			<item> SecretKey </item>
+			<item> SecretKeyFactory </item>
+			<item> SecretKeyFactorySpi </item>
+			<item> SecretKeySpec </item>
+			<item> SecureCacheResponse </item>
+			<item> SecureClassLoader </item>
+			<item> SecureRandom </item>
+			<item> SecureRandomSpi </item>
+			<item> Security </item>
+			<item> SecurityException </item>
+			<item> SecurityManager </item>
+			<item> SecurityPermission </item>
+			<item> Segment </item>
+			<item> SelectableChannel </item>
+			<item> SelectionKey </item>
+			<item> Selector </item>
+			<item> SelectorProvider </item>
+			<item> Semaphore </item>
+			<item> SeparatorUI </item>
+			<item> Sequence </item>
+			<item> SequenceInputStream </item>
+			<item> Sequencer </item>
+			<item> Sequencer.SyncMode </item>
+			<item> SerialArray </item>
+			<item> SerialBlob </item>
+			<item> SerialClob </item>
+			<item> SerialDatalink </item>
+			<item> SerialException </item>
+			<item> SerialJavaObject </item>
+			<item> SerialRef </item>
+			<item> SerialStruct </item>
+			<item> Serializable </item>
+			<item> SerializablePermission </item>
+			<item> Servant </item>
+			<item> ServantActivator </item>
+			<item> ServantActivatorHelper </item>
+			<item> ServantActivatorOperations </item>
+			<item> ServantActivatorPOA </item>
+			<item> ServantAlreadyActive </item>
+			<item> ServantAlreadyActiveHelper </item>
+			<item> ServantLocator </item>
+			<item> ServantLocatorHelper </item>
+			<item> ServantLocatorOperations </item>
+			<item> ServantLocatorPOA </item>
+			<item> ServantManager </item>
+			<item> ServantManagerOperations </item>
+			<item> ServantNotActive </item>
+			<item> ServantNotActiveHelper </item>
+			<item> ServantObject </item>
+			<item> ServantRetentionPolicy </item>
+			<item> ServantRetentionPolicyOperations </item>
+			<item> ServantRetentionPolicyValue </item>
+			<item> ServerCloneException </item>
+			<item> ServerError </item>
+			<item> ServerException </item>
+			<item> ServerIdHelper </item>
+			<item> ServerNotActiveException </item>
+			<item> ServerRef </item>
+			<item> ServerRequest </item>
+			<item> ServerRequestInfo </item>
+			<item> ServerRequestInfoOperations </item>
+			<item> ServerRequestInterceptor </item>
+			<item> ServerRequestInterceptorOperations </item>
+			<item> ServerRuntimeException </item>
+			<item> ServerSocket </item>
+			<item> ServerSocketChannel </item>
+			<item> ServerSocketFactory </item>
+			<item> ServiceContext </item>
+			<item> ServiceContextHelper </item>
+			<item> ServiceContextHolder </item>
+			<item> ServiceContextListHelper </item>
+			<item> ServiceContextListHolder </item>
+			<item> ServiceDetail </item>
+			<item> ServiceDetailHelper </item>
+			<item> ServiceIdHelper </item>
+			<item> ServiceInformation </item>
+			<item> ServiceInformationHelper </item>
+			<item> ServiceInformationHolder </item>
+			<item> ServiceNotFoundException </item>
+			<item> ServicePermission </item>
+			<item> ServiceRegistry </item>
+			<item> ServiceRegistry.Filter </item>
+			<item> ServiceUI </item>
+			<item> ServiceUIFactory </item>
+			<item> ServiceUnavailableException </item>
+			<item> Set </item>
+			<item> SetOfIntegerSyntax </item>
+			<item> SetOverrideType </item>
+			<item> SetOverrideTypeHelper </item>
+			<item> Severity </item>
+			<item> Shape </item>
+			<item> ShapeGraphicAttribute </item>
+			<item> SheetCollate </item>
+			<item> Short </item>
+			<item> ShortBuffer </item>
+			<item> ShortBufferException </item>
+			<item> ShortHolder </item>
+			<item> ShortLookupTable </item>
+			<item> ShortMessage </item>
+			<item> ShortSeqHelper </item>
+			<item> ShortSeqHolder </item>
+			<item> Sides </item>
+			<item> Signature </item>
+			<item> SignatureException </item>
+			<item> SignatureSpi </item>
+			<item> SignedObject </item>
+			<item> Signer </item>
+			<item> SimpleAttributeSet </item>
+			<item> SimpleBeanInfo </item>
+			<item> SimpleDateFormat </item>
+			<item> SimpleDoc </item>
+			<item> SimpleFormatter </item>
+			<item> SimpleTimeZone </item>
+			<item> SimpleType </item>
+			<item> SinglePixelPackedSampleModel </item>
+			<item> SingleSelectionModel </item>
+			<item> Size2DSyntax </item>
+			<item> SizeLimitExceededException </item>
+			<item> SizeRequirements </item>
+			<item> SizeSequence </item>
+			<item> Skeleton </item>
+			<item> SkeletonMismatchException </item>
+			<item> SkeletonNotFoundException </item>
+			<item> SliderUI </item>
+			<item> Socket </item>
+			<item> SocketAddress </item>
+			<item> SocketChannel </item>
+			<item> SocketException </item>
+			<item> SocketFactory </item>
+			<item> SocketHandler </item>
+			<item> SocketImpl </item>
+			<item> SocketImplFactory </item>
+			<item> SocketOptions </item>
+			<item> SocketPermission </item>
+			<item> SocketSecurityException </item>
+			<item> SocketTimeoutException </item>
+			<item> SoftBevelBorder </item>
+			<item> SoftReference </item>
+			<item> SortControl </item>
+			<item> SortKey </item>
+			<item> SortResponseControl </item>
+			<item> SortedMap </item>
+			<item> SortedSet </item>
+			<item> SortingFocusTraversalPolicy </item>
+			<item> Soundbank </item>
+			<item> SoundbankReader </item>
+			<item> SoundbankResource </item>
+			<item> Source </item>
+			<item> SourceDataLine </item>
+			<item> SourceLocator </item>
+			<item> SpinnerDateModel </item>
+			<item> SpinnerListModel </item>
+			<item> SpinnerModel </item>
+			<item> SpinnerNumberModel </item>
+			<item> SpinnerUI </item>
+			<item> SplitPaneUI </item>
+			<item> Spring </item>
+			<item> SpringLayout </item>
+			<item> SpringLayout.Constraints </item>
+			<item> SslRMIClientSocketFactory </item>
+			<item> SslRMIServerSocketFactory </item>
+			<item> Stack </item>
+			<item> StackOverflowError </item>
+			<item> StackTraceElement </item>
+			<item> StandardMBean </item>
+			<item> StartTlsRequest </item>
+			<item> StartTlsResponse </item>
+			<item> State </item>
+			<item> StateEdit </item>
+			<item> StateEditable </item>
+			<item> StateFactory </item>
+			<item> Statement </item>
+			<item> Statement </item>
+			<item> StreamCorruptedException </item>
+			<item> StreamHandler </item>
+			<item> StreamPrintService </item>
+			<item> StreamPrintServiceFactory </item>
+			<item> StreamResult </item>
+			<item> StreamSource </item>
+			<item> StreamTokenizer </item>
+			<item> Streamable </item>
+			<item> StreamableValue </item>
+			<item> StrictMath </item>
+			<item> String </item>
+			<item> StringBuffer </item>
+			<item> StringBufferInputStream </item>
+			<item> StringBuilder </item>
+			<item> StringCharacterIterator </item>
+			<item> StringContent </item>
+			<item> StringHolder </item>
+			<item> StringIndexOutOfBoundsException </item>
+			<item> StringMonitor </item>
+			<item> StringMonitorMBean </item>
+			<item> StringNameHelper </item>
+			<item> StringReader </item>
+			<item> StringRefAddr </item>
+			<item> StringSelection </item>
+			<item> StringSeqHelper </item>
+			<item> StringSeqHolder </item>
+			<item> StringTokenizer </item>
+			<item> StringValueExp </item>
+			<item> StringValueHelper </item>
+			<item> StringWriter </item>
+			<item> Stroke </item>
+			<item> Struct </item>
+			<item> StructMember </item>
+			<item> StructMemberHelper </item>
+			<item> Stub </item>
+			<item> StubDelegate </item>
+			<item> StubNotFoundException </item>
+			<item> Style </item>
+			<item> StyleConstants </item>
+			<item> StyleConstants.CharacterConstants </item>
+			<item> StyleConstants.ColorConstants </item>
+			<item> StyleConstants.FontConstants </item>
+			<item> StyleConstants.ParagraphConstants </item>
+			<item> StyleContext </item>
+			<item> StyleSheet </item>
+			<item> StyleSheet.BoxPainter </item>
+			<item> StyleSheet.ListPainter </item>
+			<item> StyledDocument </item>
+			<item> StyledEditorKit </item>
+			<item> StyledEditorKit.AlignmentAction </item>
+			<item> StyledEditorKit.BoldAction </item>
+			<item> StyledEditorKit.FontFamilyAction </item>
+			<item> StyledEditorKit.FontSizeAction </item>
+			<item> StyledEditorKit.ForegroundAction </item>
+			<item> StyledEditorKit.ItalicAction </item>
+			<item> StyledEditorKit.StyledTextAction </item>
+			<item> StyledEditorKit.UnderlineAction </item>
+			<item> Subject </item>
+			<item> SubjectDelegationPermission </item>
+			<item> SubjectDomainCombiner </item>
+			<item> SupportedValuesAttribute </item>
+			<item> SuppressWarnings </item>
+			<item> SwingConstants </item>
+			<item> SwingPropertyChangeSupport </item>
+			<item> SwingUtilities </item>
+			<item> SyncFactory </item>
+			<item> SyncFactoryException </item>
+			<item> SyncFailedException </item>
+			<item> SyncProvider </item>
+			<item> SyncProviderException </item>
+			<item> SyncResolver </item>
+			<item> SyncScopeHelper </item>
+			<item> SynchronousQueue </item>
+			<item> SynthConstants </item>
+			<item> SynthContext </item>
+			<item> SynthGraphicsUtils </item>
+			<item> SynthLookAndFeel </item>
+			<item> SynthPainter </item>
+			<item> SynthStyle </item>
+			<item> SynthStyleFactory </item>
+			<item> Synthesizer </item>
+			<item> SysexMessage </item>
+			<item> System </item>
+			<item> SystemColor </item>
+			<item> SystemException </item>
+			<item> SystemFlavorMap </item>
+			<item> TAG_ALTERNATE_IIOP_ADDRESS </item>
+			<item> TAG_CODE_SETS </item>
+			<item> TAG_INTERNET_IOP </item>
+			<item> TAG_JAVA_CODEBASE </item>
+			<item> TAG_MULTIPLE_COMPONENTS </item>
+			<item> TAG_ORB_TYPE </item>
+			<item> TAG_POLICIES </item>
+			<item> TAG_RMI_CUSTOM_MAX_STREAM_FORMAT </item>
+			<item> TCKind </item>
+			<item> THREAD_POLICY_ID </item>
+			<item> TIMEOUT </item>
+			<item> TRANSACTION_MODE </item>
+			<item> TRANSACTION_REQUIRED </item>
+			<item> TRANSACTION_ROLLEDBACK </item>
+			<item> TRANSACTION_UNAVAILABLE </item>
+			<item> TRANSIENT </item>
+			<item> TRANSPORT_RETRY </item>
+			<item> TabExpander </item>
+			<item> TabSet </item>
+			<item> TabStop </item>
+			<item> TabableView </item>
+			<item> TabbedPaneUI </item>
+			<item> TableCellEditor </item>
+			<item> TableCellRenderer </item>
+			<item> TableColumn </item>
+			<item> TableColumnModel </item>
+			<item> TableColumnModelEvent </item>
+			<item> TableColumnModelListener </item>
+			<item> TableHeaderUI </item>
+			<item> TableModel </item>
+			<item> TableModelEvent </item>
+			<item> TableModelListener </item>
+			<item> TableUI </item>
+			<item> TableView </item>
+			<item> TabularData </item>
+			<item> TabularDataSupport </item>
+			<item> TabularType </item>
+			<item> TagElement </item>
+			<item> TaggedComponent </item>
+			<item> TaggedComponentHelper </item>
+			<item> TaggedComponentHolder </item>
+			<item> TaggedProfile </item>
+			<item> TaggedProfileHelper </item>
+			<item> TaggedProfileHolder </item>
+			<item> Target </item>
+			<item> TargetDataLine </item>
+			<item> TargetedNotification </item>
+			<item> Templates </item>
+			<item> TemplatesHandler </item>
+			<item> Text </item>
+			<item> TextAction </item>
+			<item> TextArea </item>
+			<item> TextAttribute </item>
+			<item> TextComponent </item>
+			<item> TextEvent </item>
+			<item> TextField </item>
+			<item> TextHitInfo </item>
+			<item> TextInputCallback </item>
+			<item> TextLayout </item>
+			<item> TextLayout.CaretPolicy </item>
+			<item> TextListener </item>
+			<item> TextMeasurer </item>
+			<item> TextOutputCallback </item>
+			<item> TextSyntax </item>
+			<item> TextUI </item>
+			<item> TexturePaint </item>
+			<item> Thread </item>
+			<item> Thread.State </item>
+			<item> Thread.UncaughtExceptionHandler </item>
+			<item> ThreadDeath </item>
+			<item> ThreadFactory </item>
+			<item> ThreadGroup </item>
+			<item> ThreadInfo </item>
+			<item> ThreadLocal </item>
+			<item> ThreadMXBean </item>
+			<item> ThreadPolicy </item>
+			<item> ThreadPolicyOperations </item>
+			<item> ThreadPolicyValue </item>
+			<item> ThreadPoolExecutor </item>
+			<item> ThreadPoolExecutor.AbortPolicy </item>
+			<item> ThreadPoolExecutor.CallerRunsPolicy </item>
+			<item> ThreadPoolExecutor.DiscardOldestPolicy </item>
+			<item> ThreadPoolExecutor.DiscardPolicy </item>
+			<item> Throwable </item>
+			<item> Tie </item>
+			<item> TileObserver </item>
+			<item> Time </item>
+			<item> TimeLimitExceededException </item>
+			<item> TimeUnit </item>
+			<item> TimeZone </item>
+			<item> TimeoutException </item>
+			<item> Timer </item>
+			<item> Timer </item>
+			<item> Timer </item>
+			<item> TimerAlarmClockNotification </item>
+			<item> TimerMBean </item>
+			<item> TimerNotification </item>
+			<item> TimerTask </item>
+			<item> Timestamp </item>
+			<item> Timestamp </item>
+			<item> TitledBorder </item>
+			<item> TooManyListenersException </item>
+			<item> ToolBarUI </item>
+			<item> ToolTipManager </item>
+			<item> ToolTipUI </item>
+			<item> Toolkit </item>
+			<item> Track </item>
+			<item> TransactionRequiredException </item>
+			<item> TransactionRolledbackException </item>
+			<item> TransactionService </item>
+			<item> TransactionalWriter </item>
+			<item> TransferHandler </item>
+			<item> Transferable </item>
+			<item> TransformAttribute </item>
+			<item> Transformer </item>
+			<item> TransformerConfigurationException </item>
+			<item> TransformerException </item>
+			<item> TransformerFactory </item>
+			<item> TransformerFactoryConfigurationError </item>
+			<item> TransformerHandler </item>
+			<item> Transmitter </item>
+			<item> Transparency </item>
+			<item> TreeCellEditor </item>
+			<item> TreeCellRenderer </item>
+			<item> TreeExpansionEvent </item>
+			<item> TreeExpansionListener </item>
+			<item> TreeMap </item>
+			<item> TreeModel </item>
+			<item> TreeModelEvent </item>
+			<item> TreeModelListener </item>
+			<item> TreeNode </item>
+			<item> TreePath </item>
+			<item> TreeSelectionEvent </item>
+			<item> TreeSelectionListener </item>
+			<item> TreeSelectionModel </item>
+			<item> TreeSet </item>
+			<item> TreeUI </item>
+			<item> TreeWillExpandListener </item>
+			<item> TrustAnchor </item>
+			<item> TrustManager </item>
+			<item> TrustManagerFactory </item>
+			<item> TrustManagerFactorySpi </item>
+			<item> Type </item>
+			<item> TypeCode </item>
+			<item> TypeCodeHolder </item>
+			<item> TypeInfo </item>
+			<item> TypeInfoProvider </item>
+			<item> TypeMismatch </item>
+			<item> TypeMismatch </item>
+			<item> TypeMismatch </item>
+			<item> TypeMismatchHelper </item>
+			<item> TypeMismatchHelper </item>
+			<item> TypeNotPresentException </item>
+			<item> TypeVariable </item>
+			<item> Types </item>
+			<item> UID </item>
+			<item> UIDefaults </item>
+			<item> UIDefaults.ActiveValue </item>
+			<item> UIDefaults.LazyInputMap </item>
+			<item> UIDefaults.LazyValue </item>
+			<item> UIDefaults.ProxyLazyValue </item>
+			<item> UIManager </item>
+			<item> UIManager.LookAndFeelInfo </item>
+			<item> UIResource </item>
+			<item> ULongLongSeqHelper </item>
+			<item> ULongLongSeqHolder </item>
+			<item> ULongSeqHelper </item>
+			<item> ULongSeqHolder </item>
+			<item> UNKNOWN </item>
+			<item> UNKNOWN </item>
+			<item> UNSUPPORTED_POLICY </item>
+			<item> UNSUPPORTED_POLICY_VALUE </item>
+			<item> URI </item>
+			<item> URIException </item>
+			<item> URIResolver </item>
+			<item> URISyntax </item>
+			<item> URISyntaxException </item>
+			<item> URL </item>
+			<item> URLClassLoader </item>
+			<item> URLConnection </item>
+			<item> URLDecoder </item>
+			<item> URLEncoder </item>
+			<item> URLStreamHandler </item>
+			<item> URLStreamHandlerFactory </item>
+			<item> URLStringHelper </item>
+			<item> USER_EXCEPTION </item>
+			<item> UShortSeqHelper </item>
+			<item> UShortSeqHolder </item>
+			<item> UTFDataFormatException </item>
+			<item> UUID </item>
+			<item> UndeclaredThrowableException </item>
+			<item> UndoManager </item>
+			<item> UndoableEdit </item>
+			<item> UndoableEditEvent </item>
+			<item> UndoableEditListener </item>
+			<item> UndoableEditSupport </item>
+			<item> UnexpectedException </item>
+			<item> UnicastRemoteObject </item>
+			<item> UnionMember </item>
+			<item> UnionMemberHelper </item>
+			<item> UnknownEncoding </item>
+			<item> UnknownEncodingHelper </item>
+			<item> UnknownError </item>
+			<item> UnknownException </item>
+			<item> UnknownFormatConversionException </item>
+			<item> UnknownFormatFlagsException </item>
+			<item> UnknownGroupException </item>
+			<item> UnknownHostException </item>
+			<item> UnknownHostException </item>
+			<item> UnknownObjectException </item>
+			<item> UnknownServiceException </item>
+			<item> UnknownUserException </item>
+			<item> UnknownUserExceptionHelper </item>
+			<item> UnknownUserExceptionHolder </item>
+			<item> UnmappableCharacterException </item>
+			<item> UnmarshalException </item>
+			<item> UnmodifiableClassException </item>
+			<item> UnmodifiableSetException </item>
+			<item> UnrecoverableEntryException </item>
+			<item> UnrecoverableKeyException </item>
+			<item> Unreferenced </item>
+			<item> UnresolvedAddressException </item>
+			<item> UnresolvedPermission </item>
+			<item> UnsatisfiedLinkError </item>
+			<item> UnsolicitedNotification </item>
+			<item> UnsolicitedNotificationEvent </item>
+			<item> UnsolicitedNotificationListener </item>
+			<item> UnsupportedAddressTypeException </item>
+			<item> UnsupportedAudioFileException </item>
+			<item> UnsupportedCallbackException </item>
+			<item> UnsupportedCharsetException </item>
+			<item> UnsupportedClassVersionError </item>
+			<item> UnsupportedEncodingException </item>
+			<item> UnsupportedFlavorException </item>
+			<item> UnsupportedLookAndFeelException </item>
+			<item> UnsupportedOperationException </item>
+			<item> UserDataHandler </item>
+			<item> UserException </item>
+			<item> Util </item>
+			<item> UtilDelegate </item>
+			<item> Utilities </item>
+			<item> VMID </item>
+			<item> VM_ABSTRACT </item>
+			<item> VM_CUSTOM </item>
+			<item> VM_NONE </item>
+			<item> VM_TRUNCATABLE </item>
+			<item> Validator </item>
+			<item> ValidatorHandler </item>
+			<item> ValueBase </item>
+			<item> ValueBaseHelper </item>
+			<item> ValueBaseHolder </item>
+			<item> ValueExp </item>
+			<item> ValueFactory </item>
+			<item> ValueHandler </item>
+			<item> ValueHandlerMultiFormat </item>
+			<item> ValueInputStream </item>
+			<item> ValueMember </item>
+			<item> ValueMemberHelper </item>
+			<item> ValueOutputStream </item>
+			<item> VariableHeightLayoutCache </item>
+			<item> Vector </item>
+			<item> VerifyError </item>
+			<item> VersionSpecHelper </item>
+			<item> VetoableChangeListener </item>
+			<item> VetoableChangeListenerProxy </item>
+			<item> VetoableChangeSupport </item>
+			<item> View </item>
+			<item> ViewFactory </item>
+			<item> ViewportLayout </item>
+			<item> ViewportUI </item>
+			<item> VirtualMachineError </item>
+			<item> Visibility </item>
+			<item> VisibilityHelper </item>
+			<item> VoiceStatus </item>
+			<item> Void </item>
+			<item> VolatileImage </item>
+			<item> WCharSeqHelper </item>
+			<item> WCharSeqHolder </item>
+			<item> WStringSeqHelper </item>
+			<item> WStringSeqHolder </item>
+			<item> WStringValueHelper </item>
+			<item> WeakHashMap </item>
+			<item> WeakReference </item>
+			<item> WebRowSet </item>
+			<item> WildcardType </item>
+			<item> Window </item>
+			<item> WindowAdapter </item>
+			<item> WindowConstants </item>
+			<item> WindowEvent </item>
+			<item> WindowFocusListener </item>
+			<item> WindowListener </item>
+			<item> WindowStateListener </item>
+			<item> WrappedPlainView </item>
+			<item> WritableByteChannel </item>
+			<item> WritableRaster </item>
+			<item> WritableRenderedImage </item>
+			<item> WriteAbortedException </item>
+			<item> Writer </item>
+			<item> WrongAdapter </item>
+			<item> WrongAdapterHelper </item>
+			<item> WrongPolicy </item>
+			<item> WrongPolicyHelper </item>
+			<item> WrongTransaction </item>
+			<item> WrongTransactionHelper </item>
+			<item> WrongTransactionHolder </item>
+			<item> X500Principal </item>
+			<item> X500PrivateCredential </item>
+			<item> X509CRL </item>
+			<item> X509CRLEntry </item>
+			<item> X509CRLSelector </item>
+			<item> X509CertSelector </item>
+			<item> X509Certificate </item>
+			<item> X509Certificate </item>
+			<item> X509EncodedKeySpec </item>
+			<item> X509ExtendedKeyManager </item>
+			<item> X509Extension </item>
+			<item> X509KeyManager </item>
+			<item> X509TrustManager </item>
+			<item> XAConnection </item>
+			<item> XADataSource </item>
+			<item> XAException </item>
+			<item> XAResource </item>
+			<item> XMLConstants </item>
+			<item> XMLDecoder </item>
+			<item> XMLEncoder </item>
+			<item> XMLFilter </item>
+			<item> XMLFilterImpl </item>
+			<item> XMLFormatter </item>
+			<item> XMLGregorianCalendar </item>
+			<item> XMLParseException </item>
+			<item> XMLReader </item>
+			<item> XMLReaderAdapter </item>
+			<item> XMLReaderFactory </item>
+			<item> XPath </item>
+			<item> XPathConstants </item>
+			<item> XPathException </item>
+			<item> XPathExpression </item>
+			<item> XPathExpressionException </item>
+			<item> XPathFactory </item>
+			<item> XPathFactoryConfigurationException </item>
+			<item> XPathFunction </item>
+			<item> XPathFunctionException </item>
+			<item> XPathFunctionResolver </item>
+			<item> XPathVariableResolver </item>
+			<item> Xid </item>
+			<item> XmlReader </item>
+			<item> XmlWriter </item>
+			<item> ZipEntry </item>
+			<item> ZipException </item>
+			<item> ZipFile </item>
+			<item> ZipInputStream </item>
+			<item> ZipOutputStream </item>
+			<item> ZoneView </item>
+			<item> _BindingIteratorImplBase </item>
+			<item> _BindingIteratorStub </item>
+			<item> _DynAnyFactoryStub </item>
+			<item> _DynAnyStub </item>
+			<item> _DynArrayStub </item>
+			<item> _DynEnumStub </item>
+			<item> _DynFixedStub </item>
+			<item> _DynSequenceStub </item>
+			<item> _DynStructStub </item>
+			<item> _DynUnionStub </item>
+			<item> _DynValueStub </item>
+			<item> _IDLTypeStub </item>
+			<item> _NamingContextExtStub </item>
+			<item> _NamingContextImplBase </item>
+			<item> _NamingContextStub </item>
+			<item> _PolicyStub </item>
+			<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>
+			<item> break </item>
+			<item> case </item>
+			<item> catch </item>
+			<item> class </item>
+			<item> continue </item>
+			<item> default </item>
+			<item> do </item>
+			<item> else </item>
+			<item> enum </item>
+			<item> extends </item>
+			<item> false </item>
+			<item> finally </item>
+			<item> for </item>
+			<item> goto </item>
+			<item> if </item>
+			<item> implements </item>
+			<item> instanceof </item>
+			<item> @interface </item>
+			<item> interface </item>
+			<item> native </item>
+			<item> new </item>
+			<item> null </item>
+			<item> private </item>
+			<item> protected </item>
+			<item> public </item>
+			<item> return </item>
+			<item> super </item>
+			<item> strictfp </item>
+			<item> switch </item>
+			<item> synchronized </item>
+			<item> this </item>
+			<item> throws </item>
+			<item> throw </item>
+			<item> transient </item>
+			<item> true </item>
+			<item> try </item>
+			<item> volatile </item>
+			<item> while </item>
+		</list>
+		<list name="types">
+			<item> boolean </item>
+			<item> byte </item>
+			<item> char </item>
+			<item> const </item>
+			<item> double </item>
+			<item> final </item>
+			<item> float </item>
+			<item> int </item>
+			<item> long </item>
+			<item> short </item>
+			<item> static </item>
+			<item> void </item>
+		</list>
+		<contexts>
+			<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+				<!-- Comment next line if you don't use Javadoc tool -->
+				<IncludeRules context="##Javadoc"/>
+				<keyword attribute="Keyword" context="#stay" String="keywords"/>
+				<keyword attribute="Data Type" context="#stay" String="types"/>
+				<keyword attribute="Java15" context="#stay" String="java15"/>
+				<Float attribute="Float" context="#stay">
+					<AnyChar String="fF" attribute="Float" context="#stay"/>
+				</Float>
+				<HlCOct attribute="Octal" context="#stay"/>
+				<HlCHex attribute="Hex" context="#stay"/>
+				<Int attribute="Decimal" context="#stay">
+					<StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
+				</Int>
+				<HlCChar attribute="Char" context="#stay"/>
+				<RegExpr attribute="Char" context="#stay" String="'\\u[0-9a-fA-F]{4}'"/>
+				<RegExpr attribute="Decimal" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1"/>
+				<RegExpr attribute="Decimal" context="#stay" String="//\s*END.*$" endRegion="Region1"/>
+				<DetectChar attribute="String" context="String" char="&quot;"/>
+				<RegExpr attribute="Function" context="EnterPrintf" String="\.(format|printf)\b"/>
+				<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"/>
+				<RegExpr attribute="Keyword" context="#stay" String="\.{3,3}\s+" />
+				<RegExpr attribute="Keyword" context="StaticImports" String="\b(import\s+static)\b" />
+				<RegExpr attribute="Keyword" context="Imports" String="\b(package|import)\b" />
+				<RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[(])" />
+				<RegExpr attribute="Annotation" context="#stay" String="@[_\w][_\w\d]*" />
+				<RegExpr attribute="Symbol" context="Member" String="[.]{1,1}" />
+				<DetectChar attribute="Symbol" context="InFunctionCall" char="("/>
+				<AnyChar attribute="Symbol" context="#stay" String=":!%&amp;+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+			</context>
+			<context attribute="Normal Text" lineEndContext="#stay" name="InFunctionCall">
+				<IncludeRules context="Normal"/>
+				<DetectChar attribute="Symbol" context="#pop" char=")"/>
+			</context>
+			<context attribute="String" lineEndContext="#pop" name="String">
+				<LineContinue attribute="String" context="#stay"/>
+				<HlCStringChar attribute="String Char" context="#stay"/>
+				<RegExpr attribute="String Char" context="#stay" String="\\u[0-9a-fA-F]{4}"/>
+				<DetectChar attribute="String" context="#pop" char="&quot;"/>
+			</context>
+			<context attribute="Normal Text" lineEndContext="#stay" name="EnterPrintf" fallthrough="true" fallthroughContext="#pop">
+				<DetectChar attribute="Symbol" context="Printf" char="("/>
+				<DetectSpaces attribute="Normal Text" context="#stay"/>
+			</context>
+			<context attribute="Printf" lineEndContext="#stay" name="Printf">
+				<DetectChar attribute="String" context="PrintfString" char="&quot;"/>
+				<IncludeRules context="InFunctionCall"/>
+			</context>
+			<context attribute="PrintfString" lineEndContext="#pop" name="PrintfString">
+				<LineContinue attribute="String" context="#stay"/>
+				<HlCStringChar attribute="String Char" context="#stay"/>
+				<DetectChar attribute="String" context="#pop" char="&quot;"/>
+				<RegExpr attribute="String Char" context="#stay" String="%(\d+\$)?(-|#|\+|\ |0|,|\()*\d*(\.\d+)?[a-hosxA-CEGHSX]" />
+				<RegExpr attribute="String Char" context="#stay" String="%(\d+\$)?(-|#|\+|\ |0|,|\()*\d*(t|T)(a|A|b|B|c|C|d|D|e|F|h|H|I|j|k|l|L|m|M|N|p|P|Q|r|R|s|S|T|y|Y|z|Z)" />
+				<RegExpr attribute="String Char" context="#stay" String="%(%|n)" />
+			</context>
+			<context attribute="Normal Text" lineEndContext="#pop" name="Member" fallthrough="true" fallthroughContext="#pop">
+				<RegExpr attribute="Function" context="#pop" String="\b[_a-zA-Z]\w*(?=[\s]*)" />
+			</context>
+			<context attribute="Normal Text" lineEndContext="#pop" name="StaticImports">
+				<RegExpr attribute="StaticImports" context="#pop" String="\s*.*;" />
+			</context>
+			<context attribute="Normal Text" lineEndContext="#pop" name="Imports">
+				<RegExpr attribute="Imports" context="#pop" String="\s*.*;" />
+			</context>
+			<context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
+			<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+				<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+			</context>
+		</contexts>
+		<itemDatas>
+			<itemData name="Normal Text"  defStyleNum="dsNormal" spellChecking="false"/>
+			<itemData name="Keyword"      defStyleNum="dsKeyword" spellChecking="false"/>
+			<itemData name="Annotation"   defStyleNum="dsAttribute" spellChecking="false"/>
+			<itemData name="Function"     defStyleNum="dsFunction" spellChecking="false"/>
+			<itemData name="StaticImports" defStyleNum="dsImport" spellChecking="false"/>
+			<itemData name="Imports"      defStyleNum="dsImport" spellChecking="false"/>
+			<itemData name="Data Type"    defStyleNum="dsDataType" spellChecking="false"/>
+			<itemData name="Decimal"      defStyleNum="dsDecVal" spellChecking="false"/>
+			<itemData name="Octal"        defStyleNum="dsBaseN" spellChecking="false"/>
+			<itemData name="Hex"          defStyleNum="dsBaseN" spellChecking="false"/>
+			<itemData name="Float"        defStyleNum="dsFloat" spellChecking="false"/>
+			<itemData name="Char"         defStyleNum="dsChar" spellChecking="false"/>
+			<itemData name="String"       defStyleNum="dsString"/>
+			<itemData name="String Char"  defStyleNum="dsSpecialChar" spellChecking="false"/>
+			<itemData name="PrintfString" defStyleNum="dsString"/>
+			<itemData name="Comment"      defStyleNum="dsComment"/>
+			<itemData name="Symbol"       defStyleNum="dsNormal" spellChecking="false"/>
+			<itemData name="Java15"       defStyleNum="dsBuiltIn" spellChecking="false"/>
+		</itemDatas>
+	</highlighting>
+	<general>
+		<comments>
+			<comment name="singleLine" start="//"/>
+			<comment name="multiLine" start="/*" end="*/"/>
+		</comments>
+		<keywords casesensitive="1"/>
+	</general>
+</language>
diff --git a/xml/javadoc.xml b/xml/javadoc.xml
new file mode 100644
--- /dev/null
+++ b/xml/javadoc.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Javadoc" version="2" kateversion="2.4" section="Markup" extensions="" license="LGPL" author="Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)">
+	<highlighting>
+		<contexts>
+			<context name="Start" attribute="Normal Text" lineEndContext="#stay">
+				<IncludeRules context="FindJavadoc" />
+			</context>
+			<context name="FindJavadoc" attribute="Normal Text" lineEndContext="#stay">
+				<StringDetect attribute="JavadocFS" context="#stay" String="/**/"/>
+				<StringDetect attribute="JavadocFS" context="JavadocFSar" String="/**" beginRegion="Javadoc"/>
+			</context>
+			<context attribute="JavadocFS" lineEndContext="#stay" name="JavadocFSar">
+				<Detect2Chars attribute="JavadocFS" context="#pop" char="*" char1="/" endRegion="Javadoc"/>
+				<RegExpr attribute="JavadocFS" context="Javadocar" String="(!|\?)" />
+				<RegExpr attribute="JavadocFS" context="Javadocar" String="(\.\s*$)" />
+				<RegExpr attribute="JavadocFS" context="Javadocar" String="(\.\s)(?![\da-z])" />
+				<RegExpr attribute="JavadocFS" context="Javadocar" String="\**\s*(?=@(author|deprecated|exception|param|return|see|serial|serialData|serialField|since|throws|version)(\s|$))" firstNonSpace="true"/>
+				<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code " />
+				<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code&#009;" />
+				<StringDetect attribute="InlineTag" context="#stay" String="{@docRoot}" />
+				<StringDetect attribute="InlineTag" context="#stay" String="{@inheritDoc}" />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link " />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link&#009;" />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain " />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain&#009;" />
+				<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal " />
+				<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal&#009;" />
+				<StringDetect attribute="InlineTag" context="#stay" String="{@value}" />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value " />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value&#009;" />
+				<IncludeRules context="##HTML"/>
+			</context>
+			<context attribute="Javadoc" lineEndContext="#stay" name="Javadocar">
+				<Detect2Chars attribute="JavadocFS" context="#pop#pop" char="*" char1="/" endRegion="Javadoc"/>
+				<RegExpr attribute="JavadocFS" context="#stay" String="\*+(?!/)" firstNonSpace="true"/>
+				<StringDetect attribute="BlockTag" context="#stay" String="@author " />
+				<StringDetect attribute="BlockTag" context="#stay" String="@deprecated " />
+				<StringDetect attribute="BlockTag" context="JavadocParam" String="@exception " />
+				<StringDetect attribute="BlockTag" context="JavadocParam" String="@param " />
+				<StringDetect attribute="BlockTag" context="#stay" String="@return " />
+				<StringDetect attribute="BlockTag" context="SeeTag" String="@see "/>
+				<StringDetect attribute="BlockTag" context="#stay" String="@serial " />
+				<StringDetect attribute="BlockTag" context="#stay" String="@serialData " />
+				<StringDetect attribute="BlockTag" context="#stay" String="@serialField " />
+				<StringDetect attribute="BlockTag" context="#stay" String="@since " />
+				<StringDetect attribute="BlockTag" context="JavadocParam" String="@throws " />
+				<StringDetect attribute="BlockTag" context="#stay" String="@version " />
+				<StringDetect attribute="BlockTag" context="#stay" String="@author&#009;" />
+				<StringDetect attribute="BlockTag" context="#stay" String="@deprecated&#009;" />
+				<StringDetect attribute="BlockTag" context="JavadocParam" String="@exception&#009;" />
+				<StringDetect attribute="BlockTag" context="JavadocParam" String="@param&#009;" />
+				<StringDetect attribute="BlockTag" context="#stay" String="@return&#009;" />
+				<StringDetect attribute="BlockTag" context="SeeTag" String="@see&#009;" />
+				<StringDetect attribute="BlockTag" context="#stay" String="@serial&#009;" />
+				<StringDetect attribute="BlockTag" context="#stay" String="@serialData&#009;" />
+				<StringDetect attribute="BlockTag" context="#stay" String="@serialField&#009;" />
+				<StringDetect attribute="BlockTag" context="#stay" String="@since&#009;" />
+				<StringDetect attribute="BlockTag" context="JavadocParam" String="@throws&#009;" />
+				<StringDetect attribute="BlockTag" context="#stay" String="@version&#009;" />
+				<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code " />
+				<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@code&#009;" />
+				<StringDetect attribute="InlineTag" context="#stay" String="{@docRoot}" />
+				<StringDetect attribute="InlineTag" context="#stay" String="{@inheritDoc}" />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link " />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@link&#009;" />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain " />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@linkplain&#009;" />
+				<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal " />
+				<StringDetect attribute="InlineTag" context="LiteralTagar" String="{@literal&#009;" />
+				<StringDetect attribute="InlineTag" context="#stay" String="{@value}" />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value " />
+				<StringDetect attribute="InlineTag" context="InlineTagar" String="{@value&#009;" />
+				<IncludeRules context="##HTML"/>
+			</context>
+			<context attribute="Javadoc" lineEndContext="#pop" name="JavadocParam">
+				<DetectSpaces />
+				<RegExpr attribute="JavadocParam" context="#pop#pop" String="\S*(?=\*/)" />
+				<RegExpr attribute="JavadocParam" context="#pop" String="\S*(\s|$)" />
+			</context>
+			<context attribute="InlineTag" name="InlineTagar" lineEndContext="#stay">
+				<DetectChar attribute="InlineTag" context="#pop" char="}" />
+				<Detect2Chars attribute="JavadocFS" context="#pop#pop#pop" char="*" char1="/" />
+				<IncludeRules context="##HTML"/>
+			</context>
+			<context attribute="InlineTag" name="LiteralTagar" lineEndContext="#stay">
+				<DetectChar attribute="InlineTag" context="#pop" char="}" />
+				<Detect2Chars attribute="JavadocFS" context="#pop#pop#pop" char="*" char1="/" />
+			</context>
+			<context attribute="SeeTag" lineEndContext="#pop" name="SeeTag">
+				<Detect2Chars attribute="JavadocFS" context="#pop#pop#pop" char="*" char1="/" />
+				<IncludeRules context="##HTML"/>
+			</context>
+		</contexts>
+		<itemDatas>
+			<itemData name="Normal Text"  defStyleNum="dsNormal"/>
+			<itemData name="BlockTag"     defStyleNum="dsKeyword" color="#808080" selColor="#FFFFFF" bold="1" italic="0"/>
+			<itemData name="InlineTag"    defStyleNum="dsKeyword" color="#808080" selColor="#FFFFFF" bold="0" italic="0"/>
+			<itemData name="JavadocParam" defStyleNum="dsKeyword" color="#008080" selColor="#FFFFFF" bold="0" italic="1"/>
+			<itemData name="SeeTag"       defStyleNum="dsKeyword" color="#008080" selColor="#FFFFFF" bold="0" italic="1"/>
+			<itemData name="JavadocFS"    defStyleNum="dsComment" color="#008000" selColor="#FFFFFF" bold="1" italic="0"/>
+			<itemData name="Javadoc"      defStyleNum="dsComment" color="#008000" selColor="#FFFFFF"/>
+		</itemDatas>
+	</highlighting>
+	<general>
+		<keywords casesensitive="1"/>
+	</general>
+</language>
diff --git a/xml/javascript.xml b/xml/javascript.xml
new file mode 100644
--- /dev/null
+++ b/xml/javascript.xml
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- 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="2" kateversion="5.0" section="Scripts" extensions="*.js;*.kwinscript"
+          mimetype="text/x-javascript;application/x-javascript" indenter="cstyle"
+          author="Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net)" license="">
+  <highlighting>
+    <list name="controlflow">
+      <item> break </item>
+      <item> case </item>
+      <item> catch </item>
+      <item> continue </item>
+      <item> debugger </item>
+      <item> do </item>
+      <item> else </item>
+      <item> finally </item>
+      <item> for </item>
+      <item> if </item>
+      <item> return </item>
+      <item> switch </item>
+      <item> throw </item>
+      <item> try </item>
+      <item> while </item>
+      <item> with </item>
+    </list>
+    <list name="keywords">
+      <item> const </item>
+      <item> delete </item>
+      <item> function </item>
+      <item> in </item>
+      <item> instanceof </item>
+      <item> new </item>
+      <item> this </item>
+      <item> typeof </item>
+      <item> var </item>
+      <item> void </item>
+    </list>
+    <list name="reserved">
+      <item> class </item>
+      <item> enum </item>
+      <item> extends </item>
+      <item> super </item>
+
+      <!-- The following keywords are reserved only in strict-mode -->
+      <item> implements </item>
+      <item> interface </item>
+      <item> let </item>
+      <item> private </item>
+      <item> protected </item>
+      <item> public </item>
+      <item> static </item>
+      <item> yield </item>
+    </list>
+    <list name="module">
+      <item> import </item>
+      <item> from </item>
+      <item> as </item>
+      <item> default </item>
+      <item> export </item>
+      <item> package </item>
+    </list>
+    <list name="primitives">
+      <item> Infinity </item>
+      <item> NaN </item>
+      <item> false </item>
+      <item> null </item>
+      <item> true </item>
+      <item> undefined </item>
+    </list>
+    <contexts>
+
+      <!-- Shebang: ("#!") Detect shebang and fallthrough to Normal -->
+      <!-- Based on the similar clause from prolog.xml, which notes the following BUG:
+        If the file starts with whitespace and a shebang on a line other than the first line,
+        this rule will still match it as a shebang, even tough the shebang is only valid on
+        the very first line.
+      -->
+      <context name="Shebang" lineEndContext="Normal" attribute="Syntax Error" fallthrough="true" fallthroughContext="Normal" >
+        <Detect2Chars column="0" char="#" char1="!" context="Comment" attribute="Comment" />
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <DetectSpaces/>
+        <StringDetect attribute="Region Marker" context="region_marker" String="//BEGIN" beginRegion="Region1" />
+        <StringDetect attribute="Region Marker" context="region_marker" String="//END" endRegion="Region1" />
+
+        <Float attribute="Float" context="NoRegExp" />
+        <HlCOct attribute="Octal" context="NoRegExp" />
+        <HlCHex attribute="Hex" context="NoRegExp" />
+        <Int attribute="Decimal" context="NoRegExp" />
+        <AnyChar context="NoRegExp" String="])" />
+
+        <keyword attribute="ControlFlow" String="controlflow" />
+        <keyword attribute="Keyword" String="keywords" />
+        <keyword attribute="Reserved" String="reserved" />
+        <keyword attribute="Keyword" context="NoRegExp" String="primitives" />
+        <keyword attribute="Module" String="module" />
+
+        <DetectChar attribute="Template" context="Template" char="`" />
+        <StringDetect attribute="Template" context="RawTemplate" String="String.raw`" />
+
+        <!--DetectIdentifier-->
+        <RegExpr attribute="Objects" context="Object Member" String="[a-zA-Z_$][\w$]*(?=\s*\.)" />
+        <!--DetectIdentifier-->
+        <RegExpr attribute="Object Member" context="NoRegExp" String="[a-zA-Z_$][\w$]*(?=\s*\()" />
+        <DetectChar context="Object Member" char="." />
+        <!--DetectIdentifier-->
+        <RegExpr context="NoRegExp" String="[a-zA-Z_$][\w$]*" />
+
+        <DetectChar attribute="String" context="String" char="&quot;" />
+        <DetectChar attribute="String" context="String SQ" char="'" />
+
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Comment" char="/" char1="/" />
+        <Detect2Chars attribute="Comment" context="Multi/inline Comment" char="/" char1="*" beginRegion="Comment" />
+
+        <DetectChar attribute="Regular Expression" context="(regex caret first check)" char="/" />
+
+        <DetectChar attribute="Symbol" context="Object" char="{" beginRegion="Brace" />
+        <DetectChar attribute="Symbol" context="Conditional Expression" char="?" />
+
+        <AnyChar attribute="Symbol" String=":!%&amp;+,-/.*&lt;=&gt;?|~^&#59;" />
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" name="Object Member">
+        <DetectChar char="." />
+        <!--DetectIdentifier-->
+        <RegExpr attribute="Objects" context="Object Member" String="[a-zA-Z_$][\w$]*(?=\s*\.)" />
+        <!--DetectIdentifier-->
+        <RegExpr attribute="Object Member" String="[a-zA-Z_$][\w$]*" />
+        <IncludeRules context="NoRegExp" />
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop" name="NoRegExp">
+        <Detect2Chars context="#pop" lookAhead="true" char="/" char1="/" />
+        <Detect2Chars context="#pop" lookAhead="true" char="/" char1="*" />
+        <DetectChar context="#pop" char="/" />
+        <DetectSpaces/>
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="Conditional Expression">
+        <DetectChar context="#pop" char=":" />
+        <IncludeRules context="Normal" />
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="Object">
+        <!-- Mostly required for define: in switch blocks -->
+        <keyword attribute="Keyword" String="keywords" />
+        <!--DetectIdentifier-->
+        <RegExpr attribute="JSON" String="[a-zA-Z_$][\w$]*\s*(?=:)" />
+        <DetectChar attribute="Symbol" char="}" endRegion="Brace" context="#pop" />
+        <IncludeRules context="Normal" />
+      </context>
+
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <HlCStringChar attribute="Escape" />
+        <RegExpr attribute="Escape" String="\\u[0-9a-fA-F]{4}" />
+        <LineContinue/>
+        <DetectChar attribute="String" context="#pop" char="&quot;" />
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String SQ">
+        <HlCStringChar attribute="Escape" />
+        <RegExpr attribute="Escape" String="\\u[0-9a-fA-F]{4}" />
+        <LineContinue/>
+        <DetectChar attribute="String" context="#pop" char="'" />
+      </context>
+
+      <context attribute="Template" lineEndContext="#stay" name="Template">
+        <HlCStringChar attribute="Escape" />
+        <Detect2Chars attribute="Escape" char="\" char1="`" />
+        <Detect2Chars attribute="Substitution" context="Substitution" char="$" char1="{" />
+        <DetectChar attribute="Template" context="#pop" char="`" />
+      </context>
+      <context attribute="Template" lineEndContext="#stay" name="RawTemplate">
+        <DetectChar attribute="Template" context="#pop" char="`" />
+      </context>
+      <context name="Substitution" attribute="Normal Text" lineEndContext="#stay">
+          <DetectChar attribute="Substitution" char="}" context="#pop"/>
+          <IncludeRules context="Normal"/>
+      </context>
+
+      <context attribute="Comment" lineEndContext="#pop" name="Comment">
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Multi/inline Comment">
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment" />
+      </context>
+
+      <context attribute="Regular Expression" lineEndContext="#stay" name="Regular Expression">
+        <RegExpr attribute="Regular Expression" context="#pop#pop" String="/\w*" />
+        <RegExpr attribute="Pattern Internal Operator" String="\{[\d, ]+\}" />
+        <RegExpr attribute="Pattern Internal Operator" String="\\[bB]" />
+        <RegExpr attribute="Pattern Character Class" String="\\[nrtvfDdSsWw]" />
+        <DetectChar attribute="Pattern Character Class" context="(charclass caret first check)" char="[" />
+        <RegExpr attribute="Pattern Internal Operator" String="\\." />
+        <RegExpr attribute="Pattern Internal Operator" String="\$(?=/)" />
+        <AnyChar attribute="Pattern Internal Operator" String="?+*()|" />
+      </context>
+      <context attribute="Pattern Character Class" lineEndContext="#stay" name="Regular Expression Character Class">
+        <RegExpr String="\\[\[\]]" />
+        <RegExpr attribute="Pattern Internal Operator" String="\\." />
+        <DetectChar attribute="Pattern Character Class" context="#pop#pop" char="]" />
+      </context>
+      <context attribute="Pattern Internal Operator" lineEndContext="#pop" name="(regex caret first check)" fallthrough="true" fallthroughContext="Regular Expression">
+        <DetectChar attribute="Pattern Internal Operator" context="Regular Expression" char="^" />
+      </context>
+      <context attribute="Pattern Internal Operator" lineEndContext="#pop" name="(charclass caret first check)" fallthrough="true" fallthroughContext="Regular Expression Character Class">
+        <DetectChar attribute="Pattern Internal Operator" context="Regular Expression Character Class" char="^" />
+      </context>
+
+      <context name="region_marker" attribute="Region Marker" lineEndContext="#pop" >
+        <DetectIdentifier/>
+        <DetectSpaces/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"  defStyleNum="dsNormal"  spellChecking="false" />
+      <itemData name="Keyword"      defStyleNum="dsKeyword" spellChecking="false" />
+      <itemData name="ControlFlow"  defStyleNum="dsControlFlow" spellChecking="false" />
+      <itemData name="Reserved"     defStyleNum="dsKeyword" italic="true" spellChecking="false" />
+      <itemData name="Module"       defStyleNum="dsImport" spellChecking="false" />
+      <itemData name="Function"     defStyleNum="dsFunction" spellChecking="false" />
+      <itemData name="Objects"      defStyleNum="dsVariable" spellChecking="false" />
+      <itemData name="Object Member" defStyleNum="dsAttribute" spellChecking="false" />
+
+      <itemData name="Decimal"      defStyleNum="dsDecVal" spellChecking="false" />
+      <itemData name="Octal"        defStyleNum="dsBaseN" spellChecking="false" />
+      <itemData name="Hex"          defStyleNum="dsBaseN" spellChecking="false" />
+      <itemData name="Float"        defStyleNum="dsFloat" spellChecking="false" />
+      <itemData name="Escape"       defStyleNum="dsSpecialChar" spellChecking="false" />
+      <itemData name="String"       defStyleNum="dsString" />
+      <itemData name="Template"     defStyleNum="dsVerbatimString" />
+      <itemData name="Substitution" defStyleNum="dsSpecialChar" spellChecking="false" />
+
+      <itemData name="Comment"      defStyleNum="dsComment" />
+      <itemData name="Symbol"       defStyleNum="dsOperator" spellChecking="false" />
+      <itemData name="Regular Expression" defStyleNum="dsSpecialString" spellChecking="false" />
+      <itemData name="Pattern Internal Operator" defStyleNum="dsSpecialChar" spellChecking="false" />
+      <itemData name="Pattern Character Class" defStyleNum="dsSpecialChar" spellChecking="false" />
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false" />
+      <itemData name="JSON"         defStyleNum="dsDataType" spellChecking="false" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="/*" end="*/" />
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
+
+<!-- kate: space-indent on; indent-width 2; -->
diff --git a/xml/json.xml b/xml/json.xml
new file mode 100644
--- /dev/null
+++ b/xml/json.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+ ***************************************************************************
+ ** Writing a Kate Highlighting XML File
+ ** http://kate-editor.org/article/writing_a_kate_highlighting_xml_file
+ **
+ ** Introducing JSON
+ ** http://www.json.org/
+ **
+ ** The application/json Media Type for JavaScript Object Notation (JSON)
+ ** http://tools.ietf.org/html/rfc4627
+ ***************************************************************************
+-->
+<language name="JSON" section="Markup" version="2" kateversion="2.4" extensions="*.json;.kateproject;.arcconfig" mimetype="application/json" author="Sebastian Pipping (sebastian@pipping.org)" license="GPL">
+  <highlighting>
+    <list name="Constants">
+      <item>null</item>
+      <item>true</item>
+      <item>false</item>
+    </list>
+
+    <contexts>
+      <context name="Normal" lineEndContext="#stay" attribute="Style_Error">
+        <DetectChar char="{"       context="Pair" beginRegion="Region_Object" attribute="Style_Seperator_Pair" />
+        <DetectChar char="["       context="Array" beginRegion="Region_Array" attribute="Style_Seperator_Array" />
+
+        <DetectSpaces context="#stay" attribute="Style_Normal" />
+      </context>
+
+      <context name="Pair" lineEndContext="#stay" attribute="Style_Error">
+        <DetectChar char="&quot;"  context="String_Key" attribute="Style_String_Key" />
+        <DetectChar char=":"       context="Value" attribute="Style_Seperator_Pair" />
+        <DetectChar char="}"       context="#pop" endRegion="Region_Object" attribute="Style_Seperator_Pair" />
+        <DetectChar char=","       context="#stay" attribute="Style_Seperator_Pair" />
+
+        <DetectSpaces context="#stay" attribute="Style_Normal" />
+      </context>
+
+      <context name="String_Key" lineEndContext="#stay" attribute="Style_String_Key">
+        <DetectChar char="&quot;"  context="#pop" attribute="Style_String_Key" />
+        <RegExpr String="\\(?:[&quot;\\/bfnrt]|u[0-9a-fA-f]{4})" context="#stay" insensitive="false" minimal="false" attribute="Style_String_Key_Char" />
+      </context>
+
+      <context name="Value" lineEndContext="#stay" attribute="Style_Error" >
+        <DetectChar char="&quot;"  context="String_Value" attribute="Style_String_Value" />
+        <DetectChar char="{"       context="Pair" beginRegion="Region_Object" attribute="Style_Seperator_Pair" />
+        <DetectChar char="["       context="Array" beginRegion="Region_Array" attribute="Style_Seperator_Array" />
+        <DetectChar char="}"       context="#pop" lookAhead="true" />
+        <DetectChar char=","       context="#pop" lookAhead="true" />
+
+        <DetectSpaces context="#stay" attribute="Style_Normal" />
+
+        <keyword String="Constants" context="#stay" attribute="Style_Keyword" />
+
+        <RegExpr String="-?(?:[0-9]|[1-9][0-9]+)\.[0-9]+(?:[eE][+-]?[0-9]+)?" context="#stay" insensitive="false" minimal="false" attribute="Style_Float" />
+        <RegExpr String="-?(?:[0-9]|[1-9][0-9]+)(?:[eE][+-]?[0-9]+)?" context="#stay" insensitive="false" minimal="false" attribute="Style_Decimal" />
+      </context>
+
+      <context name="String_Value" lineEndContext="#stay" attribute="Style_String_Value">
+        <DetectChar char="&quot;"  context="#pop" attribute="Style_String_Value" />
+        <RegExpr String="\\(?:[&quot;\\/bfnrt]|u[0-9a-fA-f]{4})" context="#stay" insensitive="false" minimal="false" attribute="Style_String_Value_Char" />
+      </context>
+
+      <context name="Array" lineEndContext="#stay" attribute="Style_Error">
+        <DetectChar char=","       context="#stay" attribute="Style_Seperator_Array" />
+        <DetectChar char="]"       context="#pop" endRegion="Region_Array" attribute="Style_Seperator_Array" />
+
+        <DetectChar char="{"       context="Pair" beginRegion="Region_Object" attribute="Style_Seperator_Pair" />
+        <DetectChar char="["       context="Array" beginRegion="Region_Array" attribute="Style_Seperator_Array" />
+        <DetectChar char="&quot;"  context="String_Value" attribute="Style_String_Value" />
+
+        <DetectSpaces context="#stay" attribute="Style_Normal" />
+
+        <keyword String="Constants" context="#stay" attribute="Style_Keyword" />
+
+        <RegExpr String="-?(?:[0-9]|[1-9][0-9]+)\.[0-9]+(?:[eE][+-]?[0-9]+)?" context="#stay" insensitive="false" minimal="false" attribute="Style_Float" />
+        <RegExpr String="-?(?:[0-9]|[1-9][0-9]+)(?:[eE][+-]?[0-9]+)?" context="#stay" insensitive="false" minimal="false" attribute="Style_Decimal" />
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Style_Normal"             defStyleNum="dsNormal" />
+
+      <itemData name="Style_Seperator_Pair"     defStyleNum="dsFunction" bold="true" />
+      <itemData name="Style_Seperator_Array"    defStyleNum="dsOthers" bold="true" />
+
+      <itemData name="Style_Decimal"            defStyleNum="dsDecVal" />
+      <itemData name="Style_Float"              defStyleNum="dsFloat" />
+      <itemData name="Style_String_Key"         defStyleNum="dsDataType" />
+      <itemData name="Style_String_Value"       defStyleNum="dsString" />
+      <itemData name="Style_String_Key_Char"    defStyleNum="dsChar" />
+      <itemData name="Style_String_Value_Char"  defStyleNum="dsChar" />
+
+      <itemData name="Style_Keyword"            defStyleNum="dsKeyword" />
+
+      <itemData name="Style_Error"              defStyleNum="dsError" />
+    </itemDatas>
+  </highlighting>
+</language>
+<!--
+// kate: space-indent on; indent-width 2; replace-tabs on;
+-->
+
diff --git a/xml/jsp.xml b/xml/jsp.xml
new file mode 100644
--- /dev/null
+++ b/xml/jsp.xml
@@ -0,0 +1,3070 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language version="2" kateversion="2.4" name="JSP" section="Markup" extensions="*.jsp;*.JSP" mimetype="text/html" casesensitive="false" author="Rob Martin (rob@gamepimp.com)" license="LGPL">
+  <highlighting>
+
+    <list name="java-1.4.2-classes">
+      <item> ARG_IN </item>
+      <item> ARG_INOUT </item>
+      <item> ARG_OUT </item>
+      <item> AWTError </item>
+      <item> AWTEvent </item>
+      <item> AWTEventListener </item>
+      <item> AWTEventListenerProxy </item>
+      <item> AWTEventMulticaster </item>
+      <item> AWTException </item>
+      <item> AWTKeyStroke </item>
+      <item> AWTPermission </item>
+      <item> AbstractAction </item>
+      <item> AbstractBorder </item>
+      <item> AbstractButton </item>
+      <item> AbstractCellEditor </item>
+      <item> AbstractCollection </item>
+      <item> AbstractColorChooserPanel </item>
+      <item> AbstractDocument </item>
+      <item> AbstractFormatter </item>
+      <item> AbstractFormatterFactory </item>
+      <item> AbstractInterruptibleChannel </item>
+      <item> AbstractLayoutCache </item>
+      <item> AbstractList </item>
+      <item> AbstractListModel </item>
+      <item> AbstractMap </item>
+      <item> AbstractMethodError </item>
+      <item> AbstractPreferences </item>
+      <item> AbstractSelectableChannel </item>
+      <item> AbstractSelectionKey </item>
+      <item> AbstractSelector </item>
+      <item> AbstractSequentialList </item>
+      <item> AbstractSet </item>
+      <item> AbstractSpinnerModel </item>
+      <item> AbstractTableModel </item>
+      <item> AbstractUndoableEdit </item>
+      <item> AbstractWriter </item>
+      <item> AccessControlContext </item>
+      <item> AccessControlException </item>
+      <item> AccessController </item>
+      <item> AccessException </item>
+      <item> Accessible </item>
+      <item> AccessibleAction </item>
+      <item> AccessibleBundle </item>
+      <item> AccessibleComponent </item>
+      <item> AccessibleContext </item>
+      <item> AccessibleEditableText </item>
+      <item> AccessibleExtendedComponent </item>
+      <item> AccessibleExtendedTable </item>
+      <item> AccessibleHyperlink </item>
+      <item> AccessibleHypertext </item>
+      <item> AccessibleIcon </item>
+      <item> AccessibleKeyBinding </item>
+      <item> AccessibleObject </item>
+      <item> AccessibleRelation </item>
+      <item> AccessibleRelationSet </item>
+      <item> AccessibleResourceBundle </item>
+      <item> AccessibleRole </item>
+      <item> AccessibleSelection </item>
+      <item> AccessibleState </item>
+      <item> AccessibleStateSet </item>
+      <item> AccessibleTable </item>
+      <item> AccessibleTableModelChange </item>
+      <item> AccessibleText </item>
+      <item> AccessibleValue </item>
+      <item> AccountExpiredException </item>
+      <item> Acl </item>
+      <item> AclEntry </item>
+      <item> AclNotFoundException </item>
+      <item> Action </item>
+      <item> ActionEvent </item>
+      <item> ActionListener </item>
+      <item> ActionMap </item>
+      <item> ActionMapUIResource </item>
+      <item> Activatable </item>
+      <item> ActivateFailedException </item>
+      <item> ActivationDesc </item>
+      <item> ActivationException </item>
+      <item> ActivationGroup </item>
+      <item> ActivationGroupDesc </item>
+      <item> ActivationGroupID </item>
+      <item> ActivationGroup_Stub </item>
+      <item> ActivationID </item>
+      <item> ActivationInstantiator </item>
+      <item> ActivationMonitor </item>
+      <item> ActivationSystem </item>
+      <item> Activator </item>
+      <item> ActiveEvent </item>
+      <item> ActiveValue </item>
+      <item> AdapterActivator </item>
+      <item> AdapterActivatorOperations </item>
+      <item> AdapterAlreadyExists </item>
+      <item> AdapterAlreadyExistsHelper </item>
+      <item> AdapterInactive </item>
+      <item> AdapterInactiveHelper </item>
+      <item> AdapterNonExistent </item>
+      <item> AdapterNonExistentHelper </item>
+      <item> AddressHelper </item>
+      <item> Adjustable </item>
+      <item> AdjustmentEvent </item>
+      <item> AdjustmentListener </item>
+      <item> Adler32 </item>
+      <item> AffineTransform </item>
+      <item> AffineTransformOp </item>
+      <item> AlgorithmParameterGenerator </item>
+      <item> AlgorithmParameterGeneratorSpi </item>
+      <item> AlgorithmParameterSpec </item>
+      <item> AlgorithmParameters </item>
+      <item> AlgorithmParametersSpi </item>
+      <item> AlignmentAction </item>
+      <item> AllPermission </item>
+      <item> AlphaComposite </item>
+      <item> AlreadyBound </item>
+      <item> AlreadyBoundException </item>
+      <item> AlreadyBoundHelper </item>
+      <item> AlreadyBoundHolder </item>
+      <item> AlreadyConnectedException </item>
+      <item> AncestorEvent </item>
+      <item> AncestorListener </item>
+      <item> Annotation </item>
+      <item> Any </item>
+      <item> AnyHolder </item>
+      <item> AnySeqHelper </item>
+      <item> AnySeqHelper </item>
+      <item> AnySeqHolder </item>
+      <item> AppConfigurationEntry </item>
+      <item> Applet </item>
+      <item> AppletContext </item>
+      <item> AppletInitializer </item>
+      <item> AppletStub </item>
+      <item> ApplicationException </item>
+      <item> Arc2D </item>
+      <item> Area </item>
+      <item> AreaAveragingScaleFilter </item>
+      <item> ArithmeticException </item>
+      <item> Array </item>
+      <item> Array </item>
+      <item> ArrayIndexOutOfBoundsException </item>
+      <item> ArrayList </item>
+      <item> ArrayStoreException </item>
+      <item> Arrays </item>
+      <item> AssertionError </item>
+      <item> AsyncBoxView </item>
+      <item> AsynchronousCloseException </item>
+      <item> Attr </item>
+      <item> Attribute </item>
+      <item> Attribute </item>
+      <item> Attribute </item>
+      <item> Attribute </item>
+      <item> Attribute </item>
+      <item> AttributeContext </item>
+      <item> AttributeException </item>
+      <item> AttributeInUseException </item>
+      <item> AttributeList </item>
+      <item> AttributeList </item>
+      <item> AttributeListImpl </item>
+      <item> AttributeModificationException </item>
+      <item> AttributeSet </item>
+      <item> AttributeSet </item>
+      <item> AttributeSetUtilities </item>
+      <item> AttributeUndoableEdit </item>
+      <item> AttributedCharacterIterator </item>
+      <item> AttributedString </item>
+      <item> Attributes </item>
+      <item> Attributes </item>
+      <item> Attributes </item>
+      <item> AttributesImpl </item>
+      <item> AudioClip </item>
+      <item> AudioFileFormat </item>
+      <item> AudioFileReader </item>
+      <item> AudioFileWriter </item>
+      <item> AudioFormat </item>
+      <item> AudioInputStream </item>
+      <item> AudioPermission </item>
+      <item> AudioSystem </item>
+      <item> AuthPermission </item>
+      <item> AuthenticationException </item>
+      <item> AuthenticationNotSupportedException </item>
+      <item> Authenticator </item>
+      <item> Autoscroll </item>
+      <item> BAD_CONTEXT </item>
+      <item> BAD_INV_ORDER </item>
+      <item> BAD_OPERATION </item>
+      <item> BAD_PARAM </item>
+      <item> BAD_POLICY </item>
+      <item> BAD_POLICY_TYPE </item>
+      <item> BAD_POLICY_VALUE </item>
+      <item> BAD_TYPECODE </item>
+      <item> BCSIterator </item>
+      <item> BCSSServiceProvider </item>
+      <item> BYTE_ARRAY </item>
+      <item> BackingStoreException </item>
+      <item> BadKind </item>
+      <item> BadLocationException </item>
+      <item> BadPaddingException </item>
+      <item> BandCombineOp </item>
+      <item> BandedSampleModel </item>
+      <item> BasicArrowButton </item>
+      <item> BasicAttribute </item>
+      <item> BasicAttributes </item>
+      <item> BasicBorders </item>
+      <item> BasicButtonListener </item>
+      <item> BasicButtonUI </item>
+      <item> BasicCaret </item>
+      <item> BasicCheckBoxMenuItemUI </item>
+      <item> BasicCheckBoxUI </item>
+      <item> BasicColorChooserUI </item>
+      <item> BasicComboBoxEditor </item>
+      <item> BasicComboBoxRenderer </item>
+      <item> BasicComboBoxUI </item>
+      <item> BasicComboPopup </item>
+      <item> BasicDesktopIconUI </item>
+      <item> BasicDesktopPaneUI </item>
+      <item> BasicDirectoryModel </item>
+      <item> BasicEditorPaneUI </item>
+      <item> BasicFileChooserUI </item>
+      <item> BasicFormattedTextFieldUI </item>
+      <item> BasicGraphicsUtils </item>
+      <item> BasicHTML </item>
+      <item> BasicHighlighter </item>
+      <item> BasicIconFactory </item>
+      <item> BasicInternalFrameTitlePane </item>
+      <item> BasicInternalFrameUI </item>
+      <item> BasicLabelUI </item>
+      <item> BasicListUI </item>
+      <item> BasicLookAndFeel </item>
+      <item> BasicMenuBarUI </item>
+      <item> BasicMenuItemUI </item>
+      <item> BasicMenuUI </item>
+      <item> BasicOptionPaneUI </item>
+      <item> BasicPanelUI </item>
+      <item> BasicPasswordFieldUI </item>
+      <item> BasicPermission </item>
+      <item> BasicPopupMenuSeparatorUI </item>
+      <item> BasicPopupMenuUI </item>
+      <item> BasicProgressBarUI </item>
+      <item> BasicRadioButtonMenuItemUI </item>
+      <item> BasicRadioButtonUI </item>
+      <item> BasicRootPaneUI </item>
+      <item> BasicScrollBarUI </item>
+      <item> BasicScrollPaneUI </item>
+      <item> BasicSeparatorUI </item>
+      <item> BasicSliderUI </item>
+      <item> BasicSpinnerUI </item>
+      <item> BasicSplitPaneDivider </item>
+      <item> BasicSplitPaneUI </item>
+      <item> BasicStroke </item>
+      <item> BasicTabbedPaneUI </item>
+      <item> BasicTableHeaderUI </item>
+      <item> BasicTableUI </item>
+      <item> BasicTextAreaUI </item>
+      <item> BasicTextFieldUI </item>
+      <item> BasicTextPaneUI </item>
+      <item> BasicTextUI </item>
+      <item> BasicToggleButtonUI </item>
+      <item> BasicToolBarSeparatorUI </item>
+      <item> BasicToolBarUI </item>
+      <item> BasicToolTipUI </item>
+      <item> BasicTreeUI </item>
+      <item> BasicViewportUI </item>
+      <item> BatchUpdateException </item>
+      <item> BeanContext </item>
+      <item> BeanContextChild </item>
+      <item> BeanContextChildComponentProxy </item>
+      <item> BeanContextChildSupport </item>
+      <item> BeanContextContainerProxy </item>
+      <item> BeanContextEvent </item>
+      <item> BeanContextMembershipEvent </item>
+      <item> BeanContextMembershipListener </item>
+      <item> BeanContextProxy </item>
+      <item> BeanContextServiceAvailableEvent </item>
+      <item> BeanContextServiceProvider </item>
+      <item> BeanContextServiceProviderBeanInfo </item>
+      <item> BeanContextServiceRevokedEvent </item>
+      <item> BeanContextServiceRevokedListener </item>
+      <item> BeanContextServices </item>
+      <item> BeanContextServicesListener </item>
+      <item> BeanContextServicesSupport </item>
+      <item> BeanContextSupport </item>
+      <item> BeanDescriptor </item>
+      <item> BeanInfo </item>
+      <item> Beans </item>
+      <item> BeepAction </item>
+      <item> BevelBorder </item>
+      <item> BevelBorderUIResource </item>
+      <item> Bias </item>
+      <item> Bidi </item>
+      <item> BigDecimal </item>
+      <item> BigInteger </item>
+      <item> BinaryRefAddr </item>
+      <item> BindException </item>
+      <item> Binding </item>
+      <item> Binding </item>
+      <item> BindingHelper </item>
+      <item> BindingHolder </item>
+      <item> BindingIterator </item>
+      <item> BindingIteratorHelper </item>
+      <item> BindingIteratorHolder </item>
+      <item> BindingIteratorOperations </item>
+      <item> BindingIteratorPOA </item>
+      <item> BindingListHelper </item>
+      <item> BindingListHolder </item>
+      <item> BindingType </item>
+      <item> BindingTypeHelper </item>
+      <item> BindingTypeHolder </item>
+      <item> BitSet </item>
+      <item> Blob </item>
+      <item> BlockView </item>
+      <item> BoldAction </item>
+      <item> Book </item>
+      <item> Boolean </item>
+      <item> BooleanControl </item>
+      <item> BooleanHolder </item>
+      <item> BooleanSeqHelper </item>
+      <item> BooleanSeqHolder </item>
+      <item> Border </item>
+      <item> BorderFactory </item>
+      <item> BorderLayout </item>
+      <item> BorderUIResource </item>
+      <item> BoundedRangeModel </item>
+      <item> Bounds </item>
+      <item> Bounds </item>
+      <item> Box </item>
+      <item> BoxLayout </item>
+      <item> BoxPainter </item>
+      <item> BoxView </item>
+      <item> BoxedValueHelper </item>
+      <item> BreakIterator </item>
+      <item> Buffer </item>
+      <item> BufferCapabilities </item>
+      <item> BufferOverflowException </item>
+      <item> BufferStrategy </item>
+      <item> BufferUnderflowException </item>
+      <item> BufferedImage </item>
+      <item> BufferedImageFilter </item>
+      <item> BufferedImageOp </item>
+      <item> BufferedInputStream </item>
+      <item> BufferedOutputStream </item>
+      <item> BufferedReader </item>
+      <item> BufferedWriter </item>
+      <item> Button </item>
+      <item> ButtonAreaLayout </item>
+      <item> ButtonBorder </item>
+      <item> ButtonBorder </item>
+      <item> ButtonGroup </item>
+      <item> ButtonModel </item>
+      <item> ButtonUI </item>
+      <item> Byte </item>
+      <item> ByteArrayInputStream </item>
+      <item> ByteArrayOutputStream </item>
+      <item> ByteBuffer </item>
+      <item> ByteChannel </item>
+      <item> ByteHolder </item>
+      <item> ByteLookupTable </item>
+      <item> ByteOrder </item>
+      <item> CDATASection </item>
+      <item> CHAR_ARRAY </item>
+      <item> CMMException </item>
+      <item> COMM_FAILURE </item>
+      <item> CRC32 </item>
+      <item> CRL </item>
+      <item> CRLException </item>
+      <item> CRLSelector </item>
+      <item> CSS </item>
+      <item> CTX_RESTRICT_SCOPE </item>
+      <item> Calendar </item>
+      <item> CallableStatement </item>
+      <item> Callback </item>
+      <item> CallbackHandler </item>
+      <item> CancelablePrintJob </item>
+      <item> CancelledKeyException </item>
+      <item> CannotProceed </item>
+      <item> CannotProceedException </item>
+      <item> CannotProceedHelper </item>
+      <item> CannotProceedHolder </item>
+      <item> CannotRedoException </item>
+      <item> CannotUndoException </item>
+      <item> Canvas </item>
+      <item> CardLayout </item>
+      <item> Caret </item>
+      <item> CaretEvent </item>
+      <item> CaretListener </item>
+      <item> CaretPolicy </item>
+      <item> CellEditor </item>
+      <item> CellEditorListener </item>
+      <item> CellRendererPane </item>
+      <item> CertPath </item>
+      <item> CertPathBuilder </item>
+      <item> CertPathBuilderException </item>
+      <item> CertPathBuilderResult </item>
+      <item> CertPathBuilderSpi </item>
+      <item> CertPathParameters </item>
+      <item> CertPathRep </item>
+      <item> CertPathValidator </item>
+      <item> CertPathValidatorException </item>
+      <item> CertPathValidatorResult </item>
+      <item> CertPathValidatorSpi </item>
+      <item> CertSelector </item>
+      <item> CertStore </item>
+      <item> CertStoreException </item>
+      <item> CertStoreParameters </item>
+      <item> CertStoreSpi </item>
+      <item> Certificate </item>
+      <item> Certificate </item>
+      <item> Certificate </item>
+      <item> CertificateEncodingException </item>
+      <item> CertificateEncodingException </item>
+      <item> CertificateException </item>
+      <item> CertificateException </item>
+      <item> CertificateExpiredException </item>
+      <item> CertificateExpiredException </item>
+      <item> CertificateFactory </item>
+      <item> CertificateFactorySpi </item>
+      <item> CertificateNotYetValidException </item>
+      <item> CertificateNotYetValidException </item>
+      <item> CertificateParsingException </item>
+      <item> CertificateParsingException </item>
+      <item> CertificateRep </item>
+      <item> ChangeEvent </item>
+      <item> ChangeListener </item>
+      <item> ChangedCharSetException </item>
+      <item> Channel </item>
+      <item> ChannelBinding </item>
+      <item> Channels </item>
+      <item> CharArrayReader </item>
+      <item> CharArrayWriter </item>
+      <item> CharBuffer </item>
+      <item> CharConversionException </item>
+      <item> CharHolder </item>
+      <item> CharSeqHelper </item>
+      <item> CharSeqHolder </item>
+      <item> CharSequence </item>
+      <item> Character </item>
+      <item> CharacterAttribute </item>
+      <item> CharacterCodingException </item>
+      <item> CharacterConstants </item>
+      <item> CharacterData </item>
+      <item> CharacterIterator </item>
+      <item> Charset </item>
+      <item> CharsetDecoder </item>
+      <item> CharsetEncoder </item>
+      <item> CharsetProvider </item>
+      <item> Checkbox </item>
+      <item> CheckboxGroup </item>
+      <item> CheckboxMenuItem </item>
+      <item> CheckedInputStream </item>
+      <item> CheckedOutputStream </item>
+      <item> Checksum </item>
+      <item> Choice </item>
+      <item> ChoiceCallback </item>
+      <item> ChoiceFormat </item>
+      <item> Chromaticity </item>
+      <item> Cipher </item>
+      <item> CipherInputStream </item>
+      <item> CipherOutputStream </item>
+      <item> CipherSpi </item>
+      <item> Class </item>
+      <item> ClassCastException </item>
+      <item> ClassCircularityError </item>
+      <item> ClassDesc </item>
+      <item> ClassFormatError </item>
+      <item> ClassLoader </item>
+      <item> ClassNotFoundException </item>
+      <item> ClientRequestInfo </item>
+      <item> ClientRequestInfoOperations </item>
+      <item> ClientRequestInterceptor </item>
+      <item> ClientRequestInterceptorOperations </item>
+      <item> Clip </item>
+      <item> Clipboard </item>
+      <item> ClipboardOwner </item>
+      <item> Clob </item>
+      <item> CloneNotSupportedException </item>
+      <item> Cloneable </item>
+      <item> ClosedByInterruptException </item>
+      <item> ClosedChannelException </item>
+      <item> ClosedSelectorException </item>
+      <item> CodeSets </item>
+      <item> CodeSource </item>
+      <item> Codec </item>
+      <item> CodecFactory </item>
+      <item> CodecFactoryHelper </item>
+      <item> CodecFactoryOperations </item>
+      <item> CodecOperations </item>
+      <item> CoderMalfunctionError </item>
+      <item> CoderResult </item>
+      <item> CodingErrorAction </item>
+      <item> CollationElementIterator </item>
+      <item> CollationKey </item>
+      <item> Collator </item>
+      <item> Collection </item>
+      <item> CollectionCertStoreParameters </item>
+      <item> Collections </item>
+      <item> Color </item>
+      <item> ColorAttribute </item>
+      <item> ColorChooserComponentFactory </item>
+      <item> ColorChooserUI </item>
+      <item> ColorConstants </item>
+      <item> ColorConvertOp </item>
+      <item> ColorModel </item>
+      <item> ColorSelectionModel </item>
+      <item> ColorSpace </item>
+      <item> ColorSupported </item>
+      <item> ColorType </item>
+      <item> ColorUIResource </item>
+      <item> ComboBoxEditor </item>
+      <item> ComboBoxModel </item>
+      <item> ComboBoxUI </item>
+      <item> ComboPopup </item>
+      <item> CommandEnvironment </item>
+      <item> Comment </item>
+      <item> CommunicationException </item>
+      <item> Comparable </item>
+      <item> Comparator </item>
+      <item> Compiler </item>
+      <item> CompletionStatus </item>
+      <item> CompletionStatusHelper </item>
+      <item> Component </item>
+      <item> ComponentAdapter </item>
+      <item> ComponentColorModel </item>
+      <item> ComponentEvent </item>
+      <item> ComponentIdHelper </item>
+      <item> ComponentInputMap </item>
+      <item> ComponentInputMapUIResource </item>
+      <item> ComponentListener </item>
+      <item> ComponentOrientation </item>
+      <item> ComponentSampleModel </item>
+      <item> ComponentUI </item>
+      <item> ComponentView </item>
+      <item> Composite </item>
+      <item> CompositeContext </item>
+      <item> CompositeName </item>
+      <item> CompositeView </item>
+      <item> CompoundBorder </item>
+      <item> CompoundBorderUIResource </item>
+      <item> CompoundControl </item>
+      <item> CompoundEdit </item>
+      <item> CompoundName </item>
+      <item> Compression </item>
+      <item> ConcurrentModificationException </item>
+      <item> Configuration </item>
+      <item> ConfigurationException </item>
+      <item> ConfirmationCallback </item>
+      <item> ConnectException </item>
+      <item> ConnectException </item>
+      <item> ConnectIOException </item>
+      <item> Connection </item>
+      <item> ConnectionEvent </item>
+      <item> ConnectionEventListener </item>
+      <item> ConnectionPendingException </item>
+      <item> ConnectionPoolDataSource </item>
+      <item> ConsoleHandler </item>
+      <item> Constraints </item>
+      <item> Constructor </item>
+      <item> Container </item>
+      <item> ContainerAdapter </item>
+      <item> ContainerEvent </item>
+      <item> ContainerListener </item>
+      <item> ContainerOrderFocusTraversalPolicy </item>
+      <item> Content </item>
+      <item> ContentHandler </item>
+      <item> ContentHandler </item>
+      <item> ContentHandlerFactory </item>
+      <item> ContentModel </item>
+      <item> Context </item>
+      <item> Context </item>
+      <item> ContextList </item>
+      <item> ContextNotEmptyException </item>
+      <item> ContextualRenderedImageFactory </item>
+      <item> Control </item>
+      <item> Control </item>
+      <item> ControlFactory </item>
+      <item> ControllerEventListener </item>
+      <item> ConvolveOp </item>
+      <item> CookieHolder </item>
+      <item> Copies </item>
+      <item> CopiesSupported </item>
+      <item> CopyAction </item>
+      <item> CredentialExpiredException </item>
+      <item> CropImageFilter </item>
+      <item> CubicCurve2D </item>
+      <item> Currency </item>
+      <item> Current </item>
+      <item> Current </item>
+      <item> Current </item>
+      <item> CurrentHelper </item>
+      <item> CurrentHelper </item>
+      <item> CurrentHelper </item>
+      <item> CurrentHolder </item>
+      <item> CurrentOperations </item>
+      <item> CurrentOperations </item>
+      <item> CurrentOperations </item>
+      <item> Cursor </item>
+      <item> CustomMarshal </item>
+      <item> CustomValue </item>
+      <item> Customizer </item>
+      <item> CutAction </item>
+      <item> DATA_CONVERSION </item>
+      <item> DESKeySpec </item>
+      <item> DESedeKeySpec </item>
+      <item> DGC </item>
+      <item> DHGenParameterSpec </item>
+      <item> DHKey </item>
+      <item> DHParameterSpec </item>
+      <item> DHPrivateKey </item>
+      <item> DHPrivateKeySpec </item>
+      <item> DHPublicKey </item>
+      <item> DHPublicKeySpec </item>
+      <item> DOMException </item>
+      <item> DOMImplementation </item>
+      <item> DOMLocator </item>
+      <item> DOMResult </item>
+      <item> DOMSource </item>
+      <item> DSAKey </item>
+      <item> DSAKeyPairGenerator </item>
+      <item> DSAParameterSpec </item>
+      <item> DSAParams </item>
+      <item> DSAPrivateKey </item>
+      <item> DSAPrivateKeySpec </item>
+      <item> DSAPublicKey </item>
+      <item> DSAPublicKeySpec </item>
+      <item> DTD </item>
+      <item> DTDConstants </item>
+      <item> DTDHandler </item>
+      <item> DataBuffer </item>
+      <item> DataBufferByte </item>
+      <item> DataBufferDouble </item>
+      <item> DataBufferFloat </item>
+      <item> DataBufferInt </item>
+      <item> DataBufferShort </item>
+      <item> DataBufferUShort </item>
+      <item> DataFlavor </item>
+      <item> DataFormatException </item>
+      <item> DataInput </item>
+      <item> DataInputStream </item>
+      <item> DataInputStream </item>
+      <item> DataLine </item>
+      <item> DataOutput </item>
+      <item> DataOutputStream </item>
+      <item> DataOutputStream </item>
+      <item> DataSource </item>
+      <item> DataTruncation </item>
+      <item> DatabaseMetaData </item>
+      <item> DatagramChannel </item>
+      <item> DatagramPacket </item>
+      <item> DatagramSocket </item>
+      <item> DatagramSocketImpl </item>
+      <item> DatagramSocketImplFactory </item>
+      <item> Date </item>
+      <item> Date </item>
+      <item> DateEditor </item>
+      <item> DateFormat </item>
+      <item> DateFormatSymbols </item>
+      <item> DateFormatter </item>
+      <item> DateTimeAtCompleted </item>
+      <item> DateTimeAtCreation </item>
+      <item> DateTimeAtProcessing </item>
+      <item> DateTimeSyntax </item>
+      <item> DebugGraphics </item>
+      <item> DecimalFormat </item>
+      <item> DecimalFormatSymbols </item>
+      <item> DeclHandler </item>
+      <item> DefaultBoundedRangeModel </item>
+      <item> DefaultButtonModel </item>
+      <item> DefaultCaret </item>
+      <item> DefaultCellEditor </item>
+      <item> DefaultColorSelectionModel </item>
+      <item> DefaultComboBoxModel </item>
+      <item> DefaultDesktopManager </item>
+      <item> DefaultEditor </item>
+      <item> DefaultEditorKit </item>
+      <item> DefaultFocusManager </item>
+      <item> DefaultFocusTraversalPolicy </item>
+      <item> DefaultFormatter </item>
+      <item> DefaultFormatterFactory </item>
+      <item> DefaultHandler </item>
+      <item> DefaultHighlightPainter </item>
+      <item> DefaultHighlighter </item>
+      <item> DefaultKeyTypedAction </item>
+      <item> DefaultKeyboardFocusManager </item>
+      <item> DefaultListCellRenderer </item>
+      <item> DefaultListModel </item>
+      <item> DefaultListSelectionModel </item>
+      <item> DefaultMenuLayout </item>
+      <item> DefaultMetalTheme </item>
+      <item> DefaultMutableTreeNode </item>
+      <item> DefaultPersistenceDelegate </item>
+      <item> DefaultSelectionType </item>
+      <item> DefaultSingleSelectionModel </item>
+      <item> DefaultStyledDocument </item>
+      <item> DefaultTableCellRenderer </item>
+      <item> DefaultTableColumnModel </item>
+      <item> DefaultTableModel </item>
+      <item> DefaultTextUI </item>
+      <item> DefaultTreeCellEditor </item>
+      <item> DefaultTreeCellRenderer </item>
+      <item> DefaultTreeModel </item>
+      <item> DefaultTreeSelectionModel </item>
+      <item> DefinitionKind </item>
+      <item> DefinitionKindHelper </item>
+      <item> Deflater </item>
+      <item> DeflaterOutputStream </item>
+      <item> Delegate </item>
+      <item> Delegate </item>
+      <item> Delegate </item>
+      <item> DelegationPermission </item>
+      <item> DesignMode </item>
+      <item> DesktopIconUI </item>
+      <item> DesktopManager </item>
+      <item> DesktopPaneUI </item>
+      <item> Destination </item>
+      <item> DestinationType </item>
+      <item> DestroyFailedException </item>
+      <item> Destroyable </item>
+      <item> Dialog </item>
+      <item> DialogType </item>
+      <item> Dictionary </item>
+      <item> DigestException </item>
+      <item> DigestInputStream </item>
+      <item> DigestOutputStream </item>
+      <item> Dimension </item>
+      <item> Dimension2D </item>
+      <item> DimensionUIResource </item>
+      <item> DirContext </item>
+      <item> DirObjectFactory </item>
+      <item> DirStateFactory </item>
+      <item> DirectColorModel </item>
+      <item> DirectoryManager </item>
+      <item> DisplayMode </item>
+      <item> DnDConstants </item>
+      <item> Doc </item>
+      <item> DocAttribute </item>
+      <item> DocAttributeSet </item>
+      <item> DocFlavor </item>
+      <item> DocPrintJob </item>
+      <item> Document </item>
+      <item> Document </item>
+      <item> DocumentBuilder </item>
+      <item> DocumentBuilderFactory </item>
+      <item> DocumentEvent </item>
+      <item> DocumentFilter </item>
+      <item> DocumentFragment </item>
+      <item> DocumentHandler </item>
+      <item> DocumentListener </item>
+      <item> DocumentName </item>
+      <item> DocumentParser </item>
+      <item> DocumentType </item>
+      <item> DomainCombiner </item>
+      <item> DomainManager </item>
+      <item> DomainManagerOperations </item>
+      <item> Double </item>
+      <item> Double </item>
+      <item> Double </item>
+      <item> Double </item>
+      <item> Double </item>
+      <item> Double </item>
+      <item> Double </item>
+      <item> Double </item>
+      <item> Double </item>
+      <item> DoubleBuffer </item>
+      <item> DoubleHolder </item>
+      <item> DoubleSeqHelper </item>
+      <item> DoubleSeqHolder </item>
+      <item> DragGestureEvent </item>
+      <item> DragGestureListener </item>
+      <item> DragGestureRecognizer </item>
+      <item> DragSource </item>
+      <item> DragSourceAdapter </item>
+      <item> DragSourceContext </item>
+      <item> DragSourceDragEvent </item>
+      <item> DragSourceDropEvent </item>
+      <item> DragSourceEvent </item>
+      <item> DragSourceListener </item>
+      <item> DragSourceMotionListener </item>
+      <item> Driver </item>
+      <item> DriverManager </item>
+      <item> DriverPropertyInfo </item>
+      <item> DropTarget </item>
+      <item> DropTargetAdapter </item>
+      <item> DropTargetAutoScroller </item>
+      <item> DropTargetContext </item>
+      <item> DropTargetDragEvent </item>
+      <item> DropTargetDropEvent </item>
+      <item> DropTargetEvent </item>
+      <item> DropTargetListener </item>
+      <item> DuplicateName </item>
+      <item> DuplicateNameHelper </item>
+      <item> DynAny </item>
+      <item> DynAny </item>
+      <item> DynAnyFactory </item>
+      <item> DynAnyFactoryHelper </item>
+      <item> DynAnyFactoryOperations </item>
+      <item> DynAnyHelper </item>
+      <item> DynAnyOperations </item>
+      <item> DynAnySeqHelper </item>
+      <item> DynArray </item>
+      <item> DynArray </item>
+      <item> DynArrayHelper </item>
+      <item> DynArrayOperations </item>
+      <item> DynEnum </item>
+      <item> DynEnum </item>
+      <item> DynEnumHelper </item>
+      <item> DynEnumOperations </item>
+      <item> DynFixed </item>
+      <item> DynFixed </item>
+      <item> DynFixedHelper </item>
+      <item> DynFixedOperations </item>
+      <item> DynSequence </item>
+      <item> DynSequence </item>
+      <item> DynSequenceHelper </item>
+      <item> DynSequenceOperations </item>
+      <item> DynStruct </item>
+      <item> DynStruct </item>
+      <item> DynStructHelper </item>
+      <item> DynStructOperations </item>
+      <item> DynUnion </item>
+      <item> DynUnion </item>
+      <item> DynUnionHelper </item>
+      <item> DynUnionOperations </item>
+      <item> DynValue </item>
+      <item> DynValue </item>
+      <item> DynValueBox </item>
+      <item> DynValueBoxOperations </item>
+      <item> DynValueCommon </item>
+      <item> DynValueCommonOperations </item>
+      <item> DynValueHelper </item>
+      <item> DynValueOperations </item>
+      <item> DynamicImplementation </item>
+      <item> DynamicImplementation </item>
+      <item> DynamicUtilTreeNode </item>
+      <item> ENCODING_CDR_ENCAPS </item>
+      <item> EOFException </item>
+      <item> EditorKit </item>
+      <item> Element </item>
+      <item> Element </item>
+      <item> Element </item>
+      <item> ElementChange </item>
+      <item> ElementEdit </item>
+      <item> ElementIterator </item>
+      <item> ElementSpec </item>
+      <item> Ellipse2D </item>
+      <item> EmptyBorder </item>
+      <item> EmptyBorderUIResource </item>
+      <item> EmptySelectionModel </item>
+      <item> EmptyStackException </item>
+      <item> EncodedKeySpec </item>
+      <item> Encoder </item>
+      <item> Encoding </item>
+      <item> Encoding </item>
+      <item> EncryptedPrivateKeyInfo </item>
+      <item> Engineering </item>
+      <item> Entity </item>
+      <item> Entity </item>
+      <item> EntityReference </item>
+      <item> EntityResolver </item>
+      <item> Entry </item>
+      <item> EnumControl </item>
+      <item> EnumSyntax </item>
+      <item> Enumeration </item>
+      <item> Environment </item>
+      <item> Error </item>
+      <item> ErrorHandler </item>
+      <item> ErrorListener </item>
+      <item> ErrorManager </item>
+      <item> EtchedBorder </item>
+      <item> EtchedBorderUIResource </item>
+      <item> Event </item>
+      <item> EventContext </item>
+      <item> EventDirContext </item>
+      <item> EventHandler </item>
+      <item> EventListener </item>
+      <item> EventListenerList </item>
+      <item> EventListenerProxy </item>
+      <item> EventObject </item>
+      <item> EventQueue </item>
+      <item> EventSetDescriptor </item>
+      <item> EventType </item>
+      <item> EventType </item>
+      <item> Exception </item>
+      <item> ExceptionInInitializerError </item>
+      <item> ExceptionList </item>
+      <item> ExceptionListener </item>
+      <item> ExemptionMechanism </item>
+      <item> ExemptionMechanismException </item>
+      <item> ExemptionMechanismSpi </item>
+      <item> ExpandVetoException </item>
+      <item> ExportException </item>
+      <item> Expression </item>
+      <item> ExtendedRequest </item>
+      <item> ExtendedResponse </item>
+      <item> Externalizable </item>
+      <item> FREE_MEM </item>
+      <item> FactoryConfigurationError </item>
+      <item> FailedLoginException </item>
+      <item> FeatureDescriptor </item>
+      <item> Fidelity </item>
+      <item> Field </item>
+      <item> Field </item>
+      <item> Field </item>
+      <item> Field </item>
+      <item> Field </item>
+      <item> FieldBorder </item>
+      <item> FieldNameHelper </item>
+      <item> FieldNameHelper </item>
+      <item> FieldPosition </item>
+      <item> FieldView </item>
+      <item> File </item>
+      <item> FileCacheImageInputStream </item>
+      <item> FileCacheImageOutputStream </item>
+      <item> FileChannel </item>
+      <item> FileChooserUI </item>
+      <item> FileDescriptor </item>
+      <item> FileDialog </item>
+      <item> FileFilter </item>
+      <item> FileFilter </item>
+      <item> FileHandler </item>
+      <item> FileIcon16 </item>
+      <item> FileImageInputStream </item>
+      <item> FileImageOutputStream </item>
+      <item> FileInputStream </item>
+      <item> FileLock </item>
+      <item> FileLockInterruptionException </item>
+      <item> FileNameMap </item>
+      <item> FileNotFoundException </item>
+      <item> FileOutputStream </item>
+      <item> FilePermission </item>
+      <item> FileReader </item>
+      <item> FileSystemView </item>
+      <item> FileView </item>
+      <item> FileWriter </item>
+      <item> FilenameFilter </item>
+      <item> Filler </item>
+      <item> Filter </item>
+      <item> Filter </item>
+      <item> FilterBypass </item>
+      <item> FilterBypass </item>
+      <item> FilterInputStream </item>
+      <item> FilterOutputStream </item>
+      <item> FilterReader </item>
+      <item> FilterWriter </item>
+      <item> FilteredImageSource </item>
+      <item> Finishings </item>
+      <item> FixedHeightLayoutCache </item>
+      <item> FixedHolder </item>
+      <item> FlatteningPathIterator </item>
+      <item> FlavorException </item>
+      <item> FlavorMap </item>
+      <item> FlavorTable </item>
+      <item> FlipContents </item>
+      <item> Float </item>
+      <item> Float </item>
+      <item> Float </item>
+      <item> Float </item>
+      <item> Float </item>
+      <item> Float </item>
+      <item> Float </item>
+      <item> Float </item>
+      <item> Float </item>
+      <item> FloatBuffer </item>
+      <item> FloatControl </item>
+      <item> FloatHolder </item>
+      <item> FloatSeqHelper </item>
+      <item> FloatSeqHolder </item>
+      <item> FlowLayout </item>
+      <item> FlowStrategy </item>
+      <item> FlowView </item>
+      <item> Flush3DBorder </item>
+      <item> FocusAdapter </item>
+      <item> FocusEvent </item>
+      <item> FocusListener </item>
+      <item> FocusManager </item>
+      <item> FocusTraversalPolicy </item>
+      <item> FolderIcon16 </item>
+      <item> Font </item>
+      <item> FontAttribute </item>
+      <item> FontConstants </item>
+      <item> FontFamilyAction </item>
+      <item> FontFormatException </item>
+      <item> FontMetrics </item>
+      <item> FontRenderContext </item>
+      <item> FontSizeAction </item>
+      <item> FontUIResource </item>
+      <item> ForegroundAction </item>
+      <item> FormView </item>
+      <item> Format </item>
+      <item> FormatConversionProvider </item>
+      <item> FormatMismatch </item>
+      <item> FormatMismatchHelper </item>
+      <item> Formatter </item>
+      <item> ForwardRequest </item>
+      <item> ForwardRequest </item>
+      <item> ForwardRequestHelper </item>
+      <item> ForwardRequestHelper </item>
+      <item> Frame </item>
+      <item> GSSContext </item>
+      <item> GSSCredential </item>
+      <item> GSSException </item>
+      <item> GSSManager </item>
+      <item> GSSName </item>
+      <item> GZIPInputStream </item>
+      <item> GZIPOutputStream </item>
+      <item> GapContent </item>
+      <item> GatheringByteChannel </item>
+      <item> GeneralPath </item>
+      <item> GeneralSecurityException </item>
+      <item> GetField </item>
+      <item> GlyphJustificationInfo </item>
+      <item> GlyphMetrics </item>
+      <item> GlyphPainter </item>
+      <item> GlyphVector </item>
+      <item> GlyphView </item>
+      <item> GradientPaint </item>
+      <item> GraphicAttribute </item>
+      <item> Graphics </item>
+      <item> Graphics2D </item>
+      <item> GraphicsConfigTemplate </item>
+      <item> GraphicsConfiguration </item>
+      <item> GraphicsDevice </item>
+      <item> GraphicsEnvironment </item>
+      <item> GrayFilter </item>
+      <item> GregorianCalendar </item>
+      <item> GridBagConstraints </item>
+      <item> GridBagLayout </item>
+      <item> GridLayout </item>
+      <item> Group </item>
+      <item> Guard </item>
+      <item> GuardedObject </item>
+      <item> HTML </item>
+      <item> HTMLDocument </item>
+      <item> HTMLEditorKit </item>
+      <item> HTMLEditorKit </item>
+      <item> HTMLEditorKit </item>
+      <item> HTMLFrameHyperlinkEvent </item>
+      <item> HTMLWriter </item>
+      <item> Handler </item>
+      <item> HandlerBase </item>
+      <item> HandshakeCompletedEvent </item>
+      <item> HandshakeCompletedListener </item>
+      <item> HasControls </item>
+      <item> HashAttributeSet </item>
+      <item> HashDocAttributeSet </item>
+      <item> HashMap </item>
+      <item> HashPrintJobAttributeSet </item>
+      <item> HashPrintRequestAttributeSet </item>
+      <item> HashPrintServiceAttributeSet </item>
+      <item> HashSet </item>
+      <item> Hashtable </item>
+      <item> HeadlessException </item>
+      <item> HierarchyBoundsAdapter </item>
+      <item> HierarchyBoundsListener </item>
+      <item> HierarchyEvent </item>
+      <item> HierarchyListener </item>
+      <item> Highlight </item>
+      <item> HighlightPainter </item>
+      <item> Highlighter </item>
+      <item> HostnameVerifier </item>
+      <item> HttpURLConnection </item>
+      <item> HttpsURLConnection </item>
+      <item> HyperlinkEvent </item>
+      <item> HyperlinkListener </item>
+      <item> ICC_ColorSpace </item>
+      <item> ICC_Profile </item>
+      <item> ICC_ProfileGray </item>
+      <item> ICC_ProfileRGB </item>
+      <item> IDLEntity </item>
+      <item> IDLType </item>
+      <item> IDLTypeHelper </item>
+      <item> IDLTypeOperations </item>
+      <item> ID_ASSIGNMENT_POLICY_ID </item>
+      <item> ID_UNIQUENESS_POLICY_ID </item>
+      <item> IIOByteBuffer </item>
+      <item> IIOException </item>
+      <item> IIOImage </item>
+      <item> IIOInvalidTreeException </item>
+      <item> IIOMetadata </item>
+      <item> IIOMetadataController </item>
+      <item> IIOMetadataFormat </item>
+      <item> IIOMetadataFormatImpl </item>
+      <item> IIOMetadataNode </item>
+      <item> IIOParam </item>
+      <item> IIOParamController </item>
+      <item> IIOReadProgressListener </item>
+      <item> IIOReadUpdateListener </item>
+      <item> IIOReadWarningListener </item>
+      <item> IIORegistry </item>
+      <item> IIOServiceProvider </item>
+      <item> IIOWriteProgressListener </item>
+      <item> IIOWriteWarningListener </item>
+      <item> IMPLICIT_ACTIVATION_POLICY_ID </item>
+      <item> IMP_LIMIT </item>
+      <item> INITIALIZE </item>
+      <item> INPUT_STREAM </item>
+      <item> INTERNAL </item>
+      <item> INTF_REPOS </item>
+      <item> INVALID_TRANSACTION </item>
+      <item> INV_FLAG </item>
+      <item> INV_IDENT </item>
+      <item> INV_OBJREF </item>
+      <item> INV_POLICY </item>
+      <item> IOException </item>
+      <item> IOR </item>
+      <item> IORHelper </item>
+      <item> IORHolder </item>
+      <item> IORInfo </item>
+      <item> IORInfoOperations </item>
+      <item> IORInterceptor </item>
+      <item> IORInterceptorOperations </item>
+      <item> IRObject </item>
+      <item> IRObjectOperations </item>
+      <item> ISO </item>
+      <item> Icon </item>
+      <item> IconUIResource </item>
+      <item> IconView </item>
+      <item> IdAssignmentPolicy </item>
+      <item> IdAssignmentPolicyOperations </item>
+      <item> IdAssignmentPolicyValue </item>
+      <item> IdUniquenessPolicy </item>
+      <item> IdUniquenessPolicyOperations </item>
+      <item> IdUniquenessPolicyValue </item>
+      <item> IdentifierHelper </item>
+      <item> Identity </item>
+      <item> IdentityHashMap </item>
+      <item> IdentityScope </item>
+      <item> IllegalAccessError </item>
+      <item> IllegalAccessException </item>
+      <item> IllegalArgumentException </item>
+      <item> IllegalBlockSizeException </item>
+      <item> IllegalBlockingModeException </item>
+      <item> IllegalCharsetNameException </item>
+      <item> IllegalComponentStateException </item>
+      <item> IllegalMonitorStateException </item>
+      <item> IllegalPathStateException </item>
+      <item> IllegalSelectorException </item>
+      <item> IllegalStateException </item>
+      <item> IllegalThreadStateException </item>
+      <item> Image </item>
+      <item> ImageCapabilities </item>
+      <item> ImageConsumer </item>
+      <item> ImageFilter </item>
+      <item> ImageGraphicAttribute </item>
+      <item> ImageIO </item>
+      <item> ImageIcon </item>
+      <item> ImageInputStream </item>
+      <item> ImageInputStreamImpl </item>
+      <item> ImageInputStreamSpi </item>
+      <item> ImageObserver </item>
+      <item> ImageOutputStream </item>
+      <item> ImageOutputStreamImpl </item>
+      <item> ImageOutputStreamSpi </item>
+      <item> ImageProducer </item>
+      <item> ImageReadParam </item>
+      <item> ImageReader </item>
+      <item> ImageReaderSpi </item>
+      <item> ImageReaderWriterSpi </item>
+      <item> ImageTranscoder </item>
+      <item> ImageTranscoderSpi </item>
+      <item> ImageTypeSpecifier </item>
+      <item> ImageView </item>
+      <item> ImageWriteParam </item>
+      <item> ImageWriter </item>
+      <item> ImageWriterSpi </item>
+      <item> ImagingOpException </item>
+      <item> ImplicitActivationPolicy </item>
+      <item> ImplicitActivationPolicyOperations </item>
+      <item> ImplicitActivationPolicyValue </item>
+      <item> IncompatibleClassChangeError </item>
+      <item> InconsistentTypeCode </item>
+      <item> InconsistentTypeCode </item>
+      <item> InconsistentTypeCodeHelper </item>
+      <item> IndexColorModel </item>
+      <item> IndexOutOfBoundsException </item>
+      <item> IndexedPropertyDescriptor </item>
+      <item> IndirectionException </item>
+      <item> Inet4Address </item>
+      <item> Inet6Address </item>
+      <item> InetAddress </item>
+      <item> InetSocketAddress </item>
+      <item> Inflater </item>
+      <item> InflaterInputStream </item>
+      <item> Info </item>
+      <item> Info </item>
+      <item> Info </item>
+      <item> Info </item>
+      <item> Info </item>
+      <item> InheritableThreadLocal </item>
+      <item> InitialContext </item>
+      <item> InitialContextFactory </item>
+      <item> InitialContextFactoryBuilder </item>
+      <item> InitialDirContext </item>
+      <item> InitialLdapContext </item>
+      <item> InlineView </item>
+      <item> InputContext </item>
+      <item> InputEvent </item>
+      <item> InputMap </item>
+      <item> InputMapUIResource </item>
+      <item> InputMethod </item>
+      <item> InputMethodContext </item>
+      <item> InputMethodDescriptor </item>
+      <item> InputMethodEvent </item>
+      <item> InputMethodHighlight </item>
+      <item> InputMethodListener </item>
+      <item> InputMethodRequests </item>
+      <item> InputSource </item>
+      <item> InputStream </item>
+      <item> InputStream </item>
+      <item> InputStream </item>
+      <item> InputStreamReader </item>
+      <item> InputSubset </item>
+      <item> InputVerifier </item>
+      <item> InsertBreakAction </item>
+      <item> InsertContentAction </item>
+      <item> InsertHTMLTextAction </item>
+      <item> InsertTabAction </item>
+      <item> Insets </item>
+      <item> InsetsUIResource </item>
+      <item> InstantiationError </item>
+      <item> InstantiationException </item>
+      <item> Instrument </item>
+      <item> InsufficientResourcesException </item>
+      <item> IntBuffer </item>
+      <item> IntHolder </item>
+      <item> Integer </item>
+      <item> IntegerSyntax </item>
+      <item> Interceptor </item>
+      <item> InterceptorOperations </item>
+      <item> InternalError </item>
+      <item> InternalFrameAdapter </item>
+      <item> InternalFrameBorder </item>
+      <item> InternalFrameEvent </item>
+      <item> InternalFrameFocusTraversalPolicy </item>
+      <item> InternalFrameListener </item>
+      <item> InternalFrameUI </item>
+      <item> InternationalFormatter </item>
+      <item> InterruptedException </item>
+      <item> InterruptedIOException </item>
+      <item> InterruptedNamingException </item>
+      <item> InterruptibleChannel </item>
+      <item> IntrospectionException </item>
+      <item> Introspector </item>
+      <item> Invalid </item>
+      <item> InvalidAddress </item>
+      <item> InvalidAddressHelper </item>
+      <item> InvalidAddressHolder </item>
+      <item> InvalidAlgorithmParameterException </item>
+      <item> InvalidAttributeIdentifierException </item>
+      <item> InvalidAttributeValueException </item>
+      <item> InvalidAttributesException </item>
+      <item> InvalidClassException </item>
+      <item> InvalidDnDOperationException </item>
+      <item> InvalidKeyException </item>
+      <item> InvalidKeySpecException </item>
+      <item> InvalidMarkException </item>
+      <item> InvalidMidiDataException </item>
+      <item> InvalidName </item>
+      <item> InvalidName </item>
+      <item> InvalidName </item>
+      <item> InvalidNameException </item>
+      <item> InvalidNameHelper </item>
+      <item> InvalidNameHelper </item>
+      <item> InvalidNameHolder </item>
+      <item> InvalidObjectException </item>
+      <item> InvalidParameterException </item>
+      <item> InvalidParameterSpecException </item>
+      <item> InvalidPolicy </item>
+      <item> InvalidPolicyHelper </item>
+      <item> InvalidPreferencesFormatException </item>
+      <item> InvalidSearchControlsException </item>
+      <item> InvalidSearchFilterException </item>
+      <item> InvalidSeq </item>
+      <item> InvalidSlot </item>
+      <item> InvalidSlotHelper </item>
+      <item> InvalidTransactionException </item>
+      <item> InvalidTypeForEncoding </item>
+      <item> InvalidTypeForEncodingHelper </item>
+      <item> InvalidValue </item>
+      <item> InvalidValue </item>
+      <item> InvalidValueHelper </item>
+      <item> InvocationEvent </item>
+      <item> InvocationHandler </item>
+      <item> InvocationTargetException </item>
+      <item> InvokeHandler </item>
+      <item> IstringHelper </item>
+      <item> ItalicAction </item>
+      <item> ItemEvent </item>
+      <item> ItemListener </item>
+      <item> ItemSelectable </item>
+      <item> Iterator </item>
+      <item> Iterator </item>
+      <item> IvParameterSpec </item>
+      <item> JApplet </item>
+      <item> JButton </item>
+      <item> JCheckBox </item>
+      <item> JCheckBoxMenuItem </item>
+      <item> JColorChooser </item>
+      <item> JComboBox </item>
+      <item> JComponent </item>
+      <item> JDesktopIcon </item>
+      <item> JDesktopPane </item>
+      <item> JDialog </item>
+      <item> JEditorPane </item>
+      <item> JFileChooser </item>
+      <item> JFormattedTextField </item>
+      <item> JFrame </item>
+      <item> JIS </item>
+      <item> JInternalFrame </item>
+      <item> JLabel </item>
+      <item> JLayeredPane </item>
+      <item> JList </item>
+      <item> JMenu </item>
+      <item> JMenuBar </item>
+      <item> JMenuItem </item>
+      <item> JOptionPane </item>
+      <item> JPEGHuffmanTable </item>
+      <item> JPEGImageReadParam </item>
+      <item> JPEGImageWriteParam </item>
+      <item> JPEGQTable </item>
+      <item> JPanel </item>
+      <item> JPasswordField </item>
+      <item> JPopupMenu </item>
+      <item> JProgressBar </item>
+      <item> JRadioButton </item>
+      <item> JRadioButtonMenuItem </item>
+      <item> JRootPane </item>
+      <item> JScrollBar </item>
+      <item> JScrollPane </item>
+      <item> JSeparator </item>
+      <item> JSlider </item>
+      <item> JSpinner </item>
+      <item> JSplitPane </item>
+      <item> JTabbedPane </item>
+      <item> JTable </item>
+      <item> JTableHeader </item>
+      <item> JTextArea </item>
+      <item> JTextComponent </item>
+      <item> JTextField </item>
+      <item> JTextPane </item>
+      <item> JToggleButton </item>
+      <item> JToolBar </item>
+      <item> JToolTip </item>
+      <item> JTree </item>
+      <item> JViewport </item>
+      <item> JWindow </item>
+      <item> JarEntry </item>
+      <item> JarException </item>
+      <item> JarFile </item>
+      <item> JarInputStream </item>
+      <item> JarOutputStream </item>
+      <item> JarURLConnection </item>
+      <item> JobAttributes </item>
+      <item> JobHoldUntil </item>
+      <item> JobImpressions </item>
+      <item> JobImpressionsCompleted </item>
+      <item> JobImpressionsSupported </item>
+      <item> JobKOctets </item>
+      <item> JobKOctetsProcessed </item>
+      <item> JobKOctetsSupported </item>
+      <item> JobMediaSheets </item>
+      <item> JobMediaSheetsCompleted </item>
+      <item> JobMediaSheetsSupported </item>
+      <item> JobMessageFromOperator </item>
+      <item> JobName </item>
+      <item> JobOriginatingUserName </item>
+      <item> JobPriority </item>
+      <item> JobPrioritySupported </item>
+      <item> JobSheets </item>
+      <item> JobState </item>
+      <item> JobStateReason </item>
+      <item> JobStateReasons </item>
+      <item> KerberosKey </item>
+      <item> KerberosPrincipal </item>
+      <item> KerberosTicket </item>
+      <item> Kernel </item>
+      <item> Key </item>
+      <item> Key </item>
+      <item> KeyAdapter </item>
+      <item> KeyAgreement </item>
+      <item> KeyAgreementSpi </item>
+      <item> KeyBinding </item>
+      <item> KeyEvent </item>
+      <item> KeyEventDispatcher </item>
+      <item> KeyEventPostProcessor </item>
+      <item> KeyException </item>
+      <item> KeyFactory </item>
+      <item> KeyFactorySpi </item>
+      <item> KeyGenerator </item>
+      <item> KeyGeneratorSpi </item>
+      <item> KeyListener </item>
+      <item> KeyManagementException </item>
+      <item> KeyManager </item>
+      <item> KeyManagerFactory </item>
+      <item> KeyManagerFactorySpi </item>
+      <item> KeyPair </item>
+      <item> KeyPairGenerator </item>
+      <item> KeyPairGeneratorSpi </item>
+      <item> KeySelectionManager </item>
+      <item> KeySpec </item>
+      <item> KeyStore </item>
+      <item> KeyStoreException </item>
+      <item> KeyStoreSpi </item>
+      <item> KeyStroke </item>
+      <item> KeyboardFocusManager </item>
+      <item> Keymap </item>
+      <item> LDAPCertStoreParameters </item>
+      <item> LIFESPAN_POLICY_ID </item>
+      <item> LOCATION_FORWARD </item>
+      <item> Label </item>
+      <item> LabelUI </item>
+      <item> LabelView </item>
+      <item> LanguageCallback </item>
+      <item> LastOwnerException </item>
+      <item> LayerPainter </item>
+      <item> LayeredHighlighter </item>
+      <item> LayoutFocusTraversalPolicy </item>
+      <item> LayoutManager </item>
+      <item> LayoutManager2 </item>
+      <item> LayoutQueue </item>
+      <item> LazyInputMap </item>
+      <item> LazyValue </item>
+      <item> LdapContext </item>
+      <item> LdapReferralException </item>
+      <item> Lease </item>
+      <item> Level </item>
+      <item> LexicalHandler </item>
+      <item> LifespanPolicy </item>
+      <item> LifespanPolicyOperations </item>
+      <item> LifespanPolicyValue </item>
+      <item> LimitExceededException </item>
+      <item> Line </item>
+      <item> Line2D </item>
+      <item> LineBorder </item>
+      <item> LineBorderUIResource </item>
+      <item> LineBreakMeasurer </item>
+      <item> LineEvent </item>
+      <item> LineListener </item>
+      <item> LineMetrics </item>
+      <item> LineNumberInputStream </item>
+      <item> LineNumberReader </item>
+      <item> LineUnavailableException </item>
+      <item> LinkController </item>
+      <item> LinkException </item>
+      <item> LinkLoopException </item>
+      <item> LinkRef </item>
+      <item> LinkageError </item>
+      <item> LinkedHashMap </item>
+      <item> LinkedHashSet </item>
+      <item> LinkedList </item>
+      <item> List </item>
+      <item> List </item>
+      <item> ListCellRenderer </item>
+      <item> ListDataEvent </item>
+      <item> ListDataListener </item>
+      <item> ListEditor </item>
+      <item> ListIterator </item>
+      <item> ListModel </item>
+      <item> ListPainter </item>
+      <item> ListResourceBundle </item>
+      <item> ListSelectionEvent </item>
+      <item> ListSelectionListener </item>
+      <item> ListSelectionModel </item>
+      <item> ListUI </item>
+      <item> ListView </item>
+      <item> LoaderHandler </item>
+      <item> LocalObject </item>
+      <item> Locale </item>
+      <item> LocateRegistry </item>
+      <item> Locator </item>
+      <item> LocatorImpl </item>
+      <item> LogManager </item>
+      <item> LogRecord </item>
+      <item> LogStream </item>
+      <item> Logger </item>
+      <item> LoggingPermission </item>
+      <item> LoginContext </item>
+      <item> LoginException </item>
+      <item> LoginModule </item>
+      <item> LoginModuleControlFlag </item>
+      <item> Long </item>
+      <item> LongBuffer </item>
+      <item> LongHolder </item>
+      <item> LongLongSeqHelper </item>
+      <item> LongLongSeqHolder </item>
+      <item> LongSeqHelper </item>
+      <item> LongSeqHolder </item>
+      <item> LookAndFeel </item>
+      <item> LookAndFeelInfo </item>
+      <item> LookupOp </item>
+      <item> LookupTable </item>
+      <item> MARSHAL </item>
+      <item> Mac </item>
+      <item> MacSpi </item>
+      <item> MalformedInputException </item>
+      <item> MalformedLinkException </item>
+      <item> MalformedURLException </item>
+      <item> ManagerFactoryParameters </item>
+      <item> Manifest </item>
+      <item> Map </item>
+      <item> MapMode </item>
+      <item> MappedByteBuffer </item>
+      <item> MarginBorder </item>
+      <item> MarshalException </item>
+      <item> MarshalledObject </item>
+      <item> MaskFormatter </item>
+      <item> Matcher </item>
+      <item> Math </item>
+      <item> MatteBorder </item>
+      <item> MatteBorderUIResource </item>
+      <item> Media </item>
+      <item> MediaName </item>
+      <item> MediaPrintableArea </item>
+      <item> MediaSize </item>
+      <item> MediaSizeName </item>
+      <item> MediaTracker </item>
+      <item> MediaTray </item>
+      <item> MediaType </item>
+      <item> Member </item>
+      <item> MemoryCacheImageInputStream </item>
+      <item> MemoryCacheImageOutputStream </item>
+      <item> MemoryHandler </item>
+      <item> MemoryImageSource </item>
+      <item> Menu </item>
+      <item> MenuBar </item>
+      <item> MenuBarBorder </item>
+      <item> MenuBarBorder </item>
+      <item> MenuBarUI </item>
+      <item> MenuComponent </item>
+      <item> MenuContainer </item>
+      <item> MenuDragMouseEvent </item>
+      <item> MenuDragMouseListener </item>
+      <item> MenuElement </item>
+      <item> MenuEvent </item>
+      <item> MenuItem </item>
+      <item> MenuItemBorder </item>
+      <item> MenuItemUI </item>
+      <item> MenuKeyEvent </item>
+      <item> MenuKeyListener </item>
+      <item> MenuListener </item>
+      <item> MenuSelectionManager </item>
+      <item> MenuShortcut </item>
+      <item> MessageDigest </item>
+      <item> MessageDigestSpi </item>
+      <item> MessageFormat </item>
+      <item> MessageProp </item>
+      <item> MetaEventListener </item>
+      <item> MetaMessage </item>
+      <item> MetalBorders </item>
+      <item> MetalButtonUI </item>
+      <item> MetalCheckBoxIcon </item>
+      <item> MetalCheckBoxUI </item>
+      <item> MetalComboBoxButton </item>
+      <item> MetalComboBoxEditor </item>
+      <item> MetalComboBoxIcon </item>
+      <item> MetalComboBoxUI </item>
+      <item> MetalDesktopIconUI </item>
+      <item> MetalFileChooserUI </item>
+      <item> MetalIconFactory </item>
+      <item> MetalInternalFrameTitlePane </item>
+      <item> MetalInternalFrameUI </item>
+      <item> MetalLabelUI </item>
+      <item> MetalLookAndFeel </item>
+      <item> MetalPopupMenuSeparatorUI </item>
+      <item> MetalProgressBarUI </item>
+      <item> MetalRadioButtonUI </item>
+      <item> MetalRootPaneUI </item>
+      <item> MetalScrollBarUI </item>
+      <item> MetalScrollButton </item>
+      <item> MetalScrollPaneUI </item>
+      <item> MetalSeparatorUI </item>
+      <item> MetalSliderUI </item>
+      <item> MetalSplitPaneUI </item>
+      <item> MetalTabbedPaneUI </item>
+      <item> MetalTextFieldUI </item>
+      <item> MetalTheme </item>
+      <item> MetalToggleButtonUI </item>
+      <item> MetalToolBarUI </item>
+      <item> MetalToolTipUI </item>
+      <item> MetalTreeUI </item>
+      <item> Method </item>
+      <item> MethodDescriptor </item>
+      <item> MidiChannel </item>
+      <item> MidiDevice </item>
+      <item> MidiDeviceProvider </item>
+      <item> MidiEvent </item>
+      <item> MidiFileFormat </item>
+      <item> MidiFileReader </item>
+      <item> MidiFileWriter </item>
+      <item> MidiMessage </item>
+      <item> MidiSystem </item>
+      <item> MidiUnavailableException </item>
+      <item> MimeTypeParseException </item>
+      <item> MinimalHTMLWriter </item>
+      <item> MissingResourceException </item>
+      <item> Mixer </item>
+      <item> MixerProvider </item>
+      <item> ModificationItem </item>
+      <item> Modifier </item>
+      <item> MouseAdapter </item>
+      <item> MouseDragGestureRecognizer </item>
+      <item> MouseEvent </item>
+      <item> MouseInputAdapter </item>
+      <item> MouseInputListener </item>
+      <item> MouseListener </item>
+      <item> MouseMotionAdapter </item>
+      <item> MouseMotionListener </item>
+      <item> MouseWheelEvent </item>
+      <item> MouseWheelListener </item>
+      <item> MultiButtonUI </item>
+      <item> MultiColorChooserUI </item>
+      <item> MultiComboBoxUI </item>
+      <item> MultiDesktopIconUI </item>
+      <item> MultiDesktopPaneUI </item>
+      <item> MultiDoc </item>
+      <item> MultiDocPrintJob </item>
+      <item> MultiDocPrintService </item>
+      <item> MultiFileChooserUI </item>
+      <item> MultiInternalFrameUI </item>
+      <item> MultiLabelUI </item>
+      <item> MultiListUI </item>
+      <item> MultiLookAndFeel </item>
+      <item> MultiMenuBarUI </item>
+      <item> MultiMenuItemUI </item>
+      <item> MultiOptionPaneUI </item>
+      <item> MultiPanelUI </item>
+      <item> MultiPixelPackedSampleModel </item>
+      <item> MultiPopupMenuUI </item>
+      <item> MultiProgressBarUI </item>
+      <item> MultiRootPaneUI </item>
+      <item> MultiScrollBarUI </item>
+      <item> MultiScrollPaneUI </item>
+      <item> MultiSeparatorUI </item>
+      <item> MultiSliderUI </item>
+      <item> MultiSpinnerUI </item>
+      <item> MultiSplitPaneUI </item>
+      <item> MultiTabbedPaneUI </item>
+      <item> MultiTableHeaderUI </item>
+      <item> MultiTableUI </item>
+      <item> MultiTextUI </item>
+      <item> MultiToolBarUI </item>
+      <item> MultiToolTipUI </item>
+      <item> MultiTreeUI </item>
+      <item> MultiViewportUI </item>
+      <item> MulticastSocket </item>
+      <item> MultipleComponentProfileHelper </item>
+      <item> MultipleComponentProfileHolder </item>
+      <item> MultipleDocumentHandling </item>
+      <item> MultipleDocumentHandlingType </item>
+      <item> MultipleMaster </item>
+      <item> MutableAttributeSet </item>
+      <item> MutableComboBoxModel </item>
+      <item> MutableTreeNode </item>
+      <item> NA </item>
+      <item> NO_IMPLEMENT </item>
+      <item> NO_MEMORY </item>
+      <item> NO_PERMISSION </item>
+      <item> NO_RESOURCES </item>
+      <item> NO_RESPONSE </item>
+      <item> NVList </item>
+      <item> Name </item>
+      <item> Name </item>
+      <item> NameAlreadyBoundException </item>
+      <item> NameCallback </item>
+      <item> NameClassPair </item>
+      <item> NameComponent </item>
+      <item> NameComponentHelper </item>
+      <item> NameComponentHolder </item>
+      <item> NameDynAnyPair </item>
+      <item> NameDynAnyPairHelper </item>
+      <item> NameDynAnyPairSeqHelper </item>
+      <item> NameHelper </item>
+      <item> NameHolder </item>
+      <item> NameNotFoundException </item>
+      <item> NameParser </item>
+      <item> NameValuePair </item>
+      <item> NameValuePair </item>
+      <item> NameValuePairHelper </item>
+      <item> NameValuePairHelper </item>
+      <item> NameValuePairSeqHelper </item>
+      <item> NamedNodeMap </item>
+      <item> NamedValue </item>
+      <item> NamespaceChangeListener </item>
+      <item> NamespaceSupport </item>
+      <item> Naming </item>
+      <item> NamingContext </item>
+      <item> NamingContextExt </item>
+      <item> NamingContextExtHelper </item>
+      <item> NamingContextExtHolder </item>
+      <item> NamingContextExtOperations </item>
+      <item> NamingContextExtPOA </item>
+      <item> NamingContextHelper </item>
+      <item> NamingContextHolder </item>
+      <item> NamingContextOperations </item>
+      <item> NamingContextPOA </item>
+      <item> NamingEnumeration </item>
+      <item> NamingEvent </item>
+      <item> NamingException </item>
+      <item> NamingExceptionEvent </item>
+      <item> NamingListener </item>
+      <item> NamingManager </item>
+      <item> NamingSecurityException </item>
+      <item> NavigationFilter </item>
+      <item> NegativeArraySizeException </item>
+      <item> NetPermission </item>
+      <item> NetworkInterface </item>
+      <item> NoClassDefFoundError </item>
+      <item> NoConnectionPendingException </item>
+      <item> NoContext </item>
+      <item> NoContextHelper </item>
+      <item> NoInitialContextException </item>
+      <item> NoPermissionException </item>
+      <item> NoRouteToHostException </item>
+      <item> NoServant </item>
+      <item> NoServantHelper </item>
+      <item> NoSuchAlgorithmException </item>
+      <item> NoSuchAttributeException </item>
+      <item> NoSuchElementException </item>
+      <item> NoSuchFieldError </item>
+      <item> NoSuchFieldException </item>
+      <item> NoSuchMethodError </item>
+      <item> NoSuchMethodException </item>
+      <item> NoSuchObjectException </item>
+      <item> NoSuchPaddingException </item>
+      <item> NoSuchProviderException </item>
+      <item> Node </item>
+      <item> NodeChangeEvent </item>
+      <item> NodeChangeListener </item>
+      <item> NodeDimensions </item>
+      <item> NodeList </item>
+      <item> NonReadableChannelException </item>
+      <item> NonWritableChannelException </item>
+      <item> NoninvertibleTransformException </item>
+      <item> NotActiveException </item>
+      <item> NotBoundException </item>
+      <item> NotContextException </item>
+      <item> NotEmpty </item>
+      <item> NotEmptyHelper </item>
+      <item> NotEmptyHolder </item>
+      <item> NotFound </item>
+      <item> NotFoundHelper </item>
+      <item> NotFoundHolder </item>
+      <item> NotFoundReason </item>
+      <item> NotFoundReasonHelper </item>
+      <item> NotFoundReasonHolder </item>
+      <item> NotOwnerException </item>
+      <item> NotSerializableException </item>
+      <item> NotYetBoundException </item>
+      <item> NotYetConnectedException </item>
+      <item> Notation </item>
+      <item> NullCipher </item>
+      <item> NullPointerException </item>
+      <item> Number </item>
+      <item> NumberEditor </item>
+      <item> NumberFormat </item>
+      <item> NumberFormatException </item>
+      <item> NumberFormatter </item>
+      <item> NumberOfDocuments </item>
+      <item> NumberOfInterveningJobs </item>
+      <item> NumberUp </item>
+      <item> NumberUpSupported </item>
+      <item> NumericShaper </item>
+      <item> OBJECT_NOT_EXIST </item>
+      <item> OBJ_ADAPTER </item>
+      <item> OMGVMCID </item>
+      <item> ORB </item>
+      <item> ORB </item>
+      <item> ORBInitInfo </item>
+      <item> ORBInitInfoOperations </item>
+      <item> ORBInitializer </item>
+      <item> ORBInitializerOperations </item>
+      <item> ObjID </item>
+      <item> Object </item>
+      <item> Object </item>
+      <item> ObjectAlreadyActive </item>
+      <item> ObjectAlreadyActiveHelper </item>
+      <item> ObjectChangeListener </item>
+      <item> ObjectFactory </item>
+      <item> ObjectFactoryBuilder </item>
+      <item> ObjectHelper </item>
+      <item> ObjectHolder </item>
+      <item> ObjectIdHelper </item>
+      <item> ObjectImpl </item>
+      <item> ObjectImpl </item>
+      <item> ObjectInput </item>
+      <item> ObjectInputStream </item>
+      <item> ObjectInputValidation </item>
+      <item> ObjectNotActive </item>
+      <item> ObjectNotActiveHelper </item>
+      <item> ObjectOutput </item>
+      <item> ObjectOutputStream </item>
+      <item> ObjectStreamClass </item>
+      <item> ObjectStreamConstants </item>
+      <item> ObjectStreamException </item>
+      <item> ObjectStreamField </item>
+      <item> ObjectView </item>
+      <item> Observable </item>
+      <item> Observer </item>
+      <item> OctetSeqHelper </item>
+      <item> OctetSeqHolder </item>
+      <item> Oid </item>
+      <item> OpenType </item>
+      <item> Operation </item>
+      <item> OperationNotSupportedException </item>
+      <item> Option </item>
+      <item> OptionDialogBorder </item>
+      <item> OptionPaneUI </item>
+      <item> OptionalDataException </item>
+      <item> OrientationRequested </item>
+      <item> OrientationRequestedType </item>
+      <item> OriginType </item>
+      <item> Other </item>
+      <item> OutOfMemoryError </item>
+      <item> OutputDeviceAssigned </item>
+      <item> OutputKeys </item>
+      <item> OutputStream </item>
+      <item> OutputStream </item>
+      <item> OutputStream </item>
+      <item> OutputStreamWriter </item>
+      <item> OverlappingFileLockException </item>
+      <item> OverlayLayout </item>
+      <item> Owner </item>
+      <item> PBEKey </item>
+      <item> PBEKeySpec </item>
+      <item> PBEParameterSpec </item>
+      <item> PDLOverrideSupported </item>
+      <item> PERSIST_STORE </item>
+      <item> PKCS8EncodedKeySpec </item>
+      <item> PKIXBuilderParameters </item>
+      <item> PKIXCertPathBuilderResult </item>
+      <item> PKIXCertPathChecker </item>
+      <item> PKIXCertPathValidatorResult </item>
+      <item> PKIXParameters </item>
+      <item> POA </item>
+      <item> POAHelper </item>
+      <item> POAManager </item>
+      <item> POAManagerOperations </item>
+      <item> POAOperations </item>
+      <item> PRIVATE_MEMBER </item>
+      <item> PSSParameterSpec </item>
+      <item> PUBLIC_MEMBER </item>
+      <item> Package </item>
+      <item> PackedColorModel </item>
+      <item> PageAttributes </item>
+      <item> PageFormat </item>
+      <item> PageRanges </item>
+      <item> Pageable </item>
+      <item> PagesPerMinute </item>
+      <item> PagesPerMinuteColor </item>
+      <item> Paint </item>
+      <item> PaintContext </item>
+      <item> PaintEvent </item>
+      <item> PaletteBorder </item>
+      <item> PaletteCloseIcon </item>
+      <item> Panel </item>
+      <item> PanelUI </item>
+      <item> Paper </item>
+      <item> ParagraphAttribute </item>
+      <item> ParagraphConstants </item>
+      <item> ParagraphView </item>
+      <item> ParagraphView </item>
+      <item> Parameter </item>
+      <item> ParameterBlock </item>
+      <item> ParameterDescriptor </item>
+      <item> ParameterMetaData </item>
+      <item> ParameterMode </item>
+      <item> ParameterModeHelper </item>
+      <item> ParameterModeHolder </item>
+      <item> ParseException </item>
+      <item> ParsePosition </item>
+      <item> Parser </item>
+      <item> Parser </item>
+      <item> Parser </item>
+      <item> ParserAdapter </item>
+      <item> ParserCallback </item>
+      <item> ParserConfigurationException </item>
+      <item> ParserDelegator </item>
+      <item> ParserFactory </item>
+      <item> PartialResultException </item>
+      <item> PasswordAuthentication </item>
+      <item> PasswordCallback </item>
+      <item> PasswordView </item>
+      <item> PasteAction </item>
+      <item> Patch </item>
+      <item> PathIterator </item>
+      <item> Pattern </item>
+      <item> PatternSyntaxException </item>
+      <item> Permission </item>
+      <item> Permission </item>
+      <item> PermissionCollection </item>
+      <item> Permissions </item>
+      <item> PersistenceDelegate </item>
+      <item> PhantomReference </item>
+      <item> Pipe </item>
+      <item> PipedInputStream </item>
+      <item> PipedOutputStream </item>
+      <item> PipedReader </item>
+      <item> PipedWriter </item>
+      <item> PixelGrabber </item>
+      <item> PixelInterleavedSampleModel </item>
+      <item> PlainDocument </item>
+      <item> PlainView </item>
+      <item> Point </item>
+      <item> Point2D </item>
+      <item> Policy </item>
+      <item> Policy </item>
+      <item> Policy </item>
+      <item> PolicyError </item>
+      <item> PolicyErrorCodeHelper </item>
+      <item> PolicyErrorHelper </item>
+      <item> PolicyErrorHolder </item>
+      <item> PolicyFactory </item>
+      <item> PolicyFactoryOperations </item>
+      <item> PolicyHelper </item>
+      <item> PolicyHolder </item>
+      <item> PolicyListHelper </item>
+      <item> PolicyListHolder </item>
+      <item> PolicyNode </item>
+      <item> PolicyOperations </item>
+      <item> PolicyQualifierInfo </item>
+      <item> PolicyTypeHelper </item>
+      <item> Polygon </item>
+      <item> PooledConnection </item>
+      <item> Popup </item>
+      <item> PopupFactory </item>
+      <item> PopupMenu </item>
+      <item> PopupMenuBorder </item>
+      <item> PopupMenuEvent </item>
+      <item> PopupMenuListener </item>
+      <item> PopupMenuUI </item>
+      <item> Port </item>
+      <item> PortUnreachableException </item>
+      <item> PortableRemoteObject </item>
+      <item> PortableRemoteObjectDelegate </item>
+      <item> Position </item>
+      <item> PreferenceChangeEvent </item>
+      <item> PreferenceChangeListener </item>
+      <item> Preferences </item>
+      <item> PreferencesFactory </item>
+      <item> PreparedStatement </item>
+      <item> PresentationDirection </item>
+      <item> Principal </item>
+      <item> Principal </item>
+      <item> PrincipalHolder </item>
+      <item> PrintEvent </item>
+      <item> PrintException </item>
+      <item> PrintGraphics </item>
+      <item> PrintJob </item>
+      <item> PrintJobAdapter </item>
+      <item> PrintJobAttribute </item>
+      <item> PrintJobAttributeEvent </item>
+      <item> PrintJobAttributeListener </item>
+      <item> PrintJobAttributeSet </item>
+      <item> PrintJobEvent </item>
+      <item> PrintJobListener </item>
+      <item> PrintQuality </item>
+      <item> PrintQualityType </item>
+      <item> PrintRequestAttribute </item>
+      <item> PrintRequestAttributeSet </item>
+      <item> PrintService </item>
+      <item> PrintServiceAttribute </item>
+      <item> PrintServiceAttributeEvent </item>
+      <item> PrintServiceAttributeListener </item>
+      <item> PrintServiceAttributeSet </item>
+      <item> PrintServiceLookup </item>
+      <item> PrintStream </item>
+      <item> PrintWriter </item>
+      <item> Printable </item>
+      <item> PrinterAbortException </item>
+      <item> PrinterException </item>
+      <item> PrinterGraphics </item>
+      <item> PrinterIOException </item>
+      <item> PrinterInfo </item>
+      <item> PrinterIsAcceptingJobs </item>
+      <item> PrinterJob </item>
+      <item> PrinterLocation </item>
+      <item> PrinterMakeAndModel </item>
+      <item> PrinterMessageFromOperator </item>
+      <item> PrinterMoreInfo </item>
+      <item> PrinterMoreInfoManufacturer </item>
+      <item> PrinterName </item>
+      <item> PrinterResolution </item>
+      <item> PrinterState </item>
+      <item> PrinterStateReason </item>
+      <item> PrinterStateReasons </item>
+      <item> PrinterURI </item>
+      <item> PrivateCredentialPermission </item>
+      <item> PrivateKey </item>
+      <item> PrivilegedAction </item>
+      <item> PrivilegedActionException </item>
+      <item> PrivilegedExceptionAction </item>
+      <item> Process </item>
+      <item> ProcessingInstruction </item>
+      <item> ProfileDataException </item>
+      <item> ProfileIdHelper </item>
+      <item> ProgressBarUI </item>
+      <item> ProgressMonitor </item>
+      <item> ProgressMonitorInputStream </item>
+      <item> Properties </item>
+      <item> PropertyChangeEvent </item>
+      <item> PropertyChangeListener </item>
+      <item> PropertyChangeListenerProxy </item>
+      <item> PropertyChangeSupport </item>
+      <item> PropertyDescriptor </item>
+      <item> PropertyEditor </item>
+      <item> PropertyEditorManager </item>
+      <item> PropertyEditorSupport </item>
+      <item> PropertyPermission </item>
+      <item> PropertyResourceBundle </item>
+      <item> PropertyVetoException </item>
+      <item> ProtectionDomain </item>
+      <item> ProtocolException </item>
+      <item> Provider </item>
+      <item> ProviderException </item>
+      <item> Proxy </item>
+      <item> ProxyLazyValue </item>
+      <item> PublicKey </item>
+      <item> PushbackInputStream </item>
+      <item> PushbackReader </item>
+      <item> PutField </item>
+      <item> QuadCurve2D </item>
+      <item> QueuedJobCount </item>
+      <item> RC2ParameterSpec </item>
+      <item> RC5ParameterSpec </item>
+      <item> READER </item>
+      <item> REQUEST_PROCESSING_POLICY_ID </item>
+      <item> RGBImageFilter </item>
+      <item> RMIClassLoader </item>
+      <item> RMIClassLoaderSpi </item>
+      <item> RMIClientSocketFactory </item>
+      <item> RMIFailureHandler </item>
+      <item> RMISecurityException </item>
+      <item> RMISecurityManager </item>
+      <item> RMIServerSocketFactory </item>
+      <item> RMISocketFactory </item>
+      <item> RSAKey </item>
+      <item> RSAKeyGenParameterSpec </item>
+      <item> RSAMultiPrimePrivateCrtKey </item>
+      <item> RSAMultiPrimePrivateCrtKeySpec </item>
+      <item> RSAOtherPrimeInfo </item>
+      <item> RSAPrivateCrtKey </item>
+      <item> RSAPrivateCrtKeySpec </item>
+      <item> RSAPrivateKey </item>
+      <item> RSAPrivateKeySpec </item>
+      <item> RSAPublicKey </item>
+      <item> RSAPublicKeySpec </item>
+      <item> RTFEditorKit </item>
+      <item> RadioButtonBorder </item>
+      <item> Random </item>
+      <item> RandomAccess </item>
+      <item> RandomAccessFile </item>
+      <item> Raster </item>
+      <item> RasterFormatException </item>
+      <item> RasterOp </item>
+      <item> ReadOnlyBufferException </item>
+      <item> ReadableByteChannel </item>
+      <item> Reader </item>
+      <item> Receiver </item>
+      <item> Rectangle </item>
+      <item> Rectangle2D </item>
+      <item> RectangularShape </item>
+      <item> Ref </item>
+      <item> RefAddr </item>
+      <item> Reference </item>
+      <item> Reference </item>
+      <item> ReferenceQueue </item>
+      <item> ReferenceUriSchemesSupported </item>
+      <item> Referenceable </item>
+      <item> ReferralException </item>
+      <item> ReflectPermission </item>
+      <item> RefreshFailedException </item>
+      <item> Refreshable </item>
+      <item> RegisterableService </item>
+      <item> Registry </item>
+      <item> RegistryHandler </item>
+      <item> RemarshalException </item>
+      <item> Remote </item>
+      <item> RemoteCall </item>
+      <item> RemoteException </item>
+      <item> RemoteObject </item>
+      <item> RemoteRef </item>
+      <item> RemoteServer </item>
+      <item> RemoteStub </item>
+      <item> RenderContext </item>
+      <item> RenderableImage </item>
+      <item> RenderableImageOp </item>
+      <item> RenderableImageProducer </item>
+      <item> RenderedImage </item>
+      <item> RenderedImageFactory </item>
+      <item> Renderer </item>
+      <item> RenderingHints </item>
+      <item> RepaintManager </item>
+      <item> ReplicateScaleFilter </item>
+      <item> RepositoryIdHelper </item>
+      <item> Request </item>
+      <item> RequestInfo </item>
+      <item> RequestInfoOperations </item>
+      <item> RequestProcessingPolicy </item>
+      <item> RequestProcessingPolicyOperations </item>
+      <item> RequestProcessingPolicyValue </item>
+      <item> RequestingUserName </item>
+      <item> RescaleOp </item>
+      <item> ResolutionSyntax </item>
+      <item> ResolveResult </item>
+      <item> Resolver </item>
+      <item> ResourceBundle </item>
+      <item> ResponseHandler </item>
+      <item> Result </item>
+      <item> Result </item>
+      <item> ResultSet </item>
+      <item> ResultSetMetaData </item>
+      <item> ReverbType </item>
+      <item> Robot </item>
+      <item> RolloverButtonBorder </item>
+      <item> RolloverButtonBorder </item>
+      <item> RootPaneContainer </item>
+      <item> RootPaneUI </item>
+      <item> RoundRectangle2D </item>
+      <item> RowMapper </item>
+      <item> RowSet </item>
+      <item> RowSetEvent </item>
+      <item> RowSetInternal </item>
+      <item> RowSetListener </item>
+      <item> RowSetMetaData </item>
+      <item> RowSetReader </item>
+      <item> RowSetWriter </item>
+      <item> RuleBasedCollator </item>
+      <item> RunTime </item>
+      <item> RunTimeOperations </item>
+      <item> Runnable </item>
+      <item> Runtime </item>
+      <item> RuntimeException </item>
+      <item> RuntimePermission </item>
+      <item> SAXException </item>
+      <item> SAXNotRecognizedException </item>
+      <item> SAXNotSupportedException </item>
+      <item> SAXParseException </item>
+      <item> SAXParser </item>
+      <item> SAXParserFactory </item>
+      <item> SAXResult </item>
+      <item> SAXSource </item>
+      <item> SAXTransformerFactory </item>
+      <item> SERVANT_RETENTION_POLICY_ID </item>
+      <item> SERVICE_FORMATTED </item>
+      <item> SQLData </item>
+      <item> SQLException </item>
+      <item> SQLInput </item>
+      <item> SQLOutput </item>
+      <item> SQLPermission </item>
+      <item> SQLWarning </item>
+      <item> SSLContext </item>
+      <item> SSLContextSpi </item>
+      <item> SSLException </item>
+      <item> SSLHandshakeException </item>
+      <item> SSLKeyException </item>
+      <item> SSLPeerUnverifiedException </item>
+      <item> SSLPermission </item>
+      <item> SSLProtocolException </item>
+      <item> SSLServerSocket </item>
+      <item> SSLServerSocketFactory </item>
+      <item> SSLSession </item>
+      <item> SSLSessionBindingEvent </item>
+      <item> SSLSessionBindingListener </item>
+      <item> SSLSessionContext </item>
+      <item> SSLSocket </item>
+      <item> SSLSocketFactory </item>
+      <item> STRING </item>
+      <item> SUCCESSFUL </item>
+      <item> SYNC_WITH_TRANSPORT </item>
+      <item> SYSTEM_EXCEPTION </item>
+      <item> SampleModel </item>
+      <item> Savepoint </item>
+      <item> ScatteringByteChannel </item>
+      <item> SchemaViolationException </item>
+      <item> ScrollBarUI </item>
+      <item> ScrollPane </item>
+      <item> ScrollPaneAdjustable </item>
+      <item> ScrollPaneBorder </item>
+      <item> ScrollPaneConstants </item>
+      <item> ScrollPaneLayout </item>
+      <item> ScrollPaneUI </item>
+      <item> Scrollable </item>
+      <item> Scrollbar </item>
+      <item> SealedObject </item>
+      <item> SearchControls </item>
+      <item> SearchResult </item>
+      <item> SecretKey </item>
+      <item> SecretKeyFactory </item>
+      <item> SecretKeyFactorySpi </item>
+      <item> SecretKeySpec </item>
+      <item> SecureClassLoader </item>
+      <item> SecureRandom </item>
+      <item> SecureRandomSpi </item>
+      <item> Security </item>
+      <item> SecurityException </item>
+      <item> SecurityManager </item>
+      <item> SecurityPermission </item>
+      <item> Segment </item>
+      <item> SelectableChannel </item>
+      <item> SelectionKey </item>
+      <item> Selector </item>
+      <item> SelectorProvider </item>
+      <item> Separator </item>
+      <item> Separator </item>
+      <item> SeparatorUI </item>
+      <item> Sequence </item>
+      <item> SequenceInputStream </item>
+      <item> Sequencer </item>
+      <item> Serializable </item>
+      <item> SerializablePermission </item>
+      <item> Servant </item>
+      <item> ServantActivator </item>
+      <item> ServantActivatorHelper </item>
+      <item> ServantActivatorOperations </item>
+      <item> ServantActivatorPOA </item>
+      <item> ServantAlreadyActive </item>
+      <item> ServantAlreadyActiveHelper </item>
+      <item> ServantLocator </item>
+      <item> ServantLocatorHelper </item>
+      <item> ServantLocatorOperations </item>
+      <item> ServantLocatorPOA </item>
+      <item> ServantManager </item>
+      <item> ServantManagerOperations </item>
+      <item> ServantNotActive </item>
+      <item> ServantNotActiveHelper </item>
+      <item> ServantObject </item>
+      <item> ServantRetentionPolicy </item>
+      <item> ServantRetentionPolicyOperations </item>
+      <item> ServantRetentionPolicyValue </item>
+      <item> ServerCloneException </item>
+      <item> ServerError </item>
+      <item> ServerException </item>
+      <item> ServerNotActiveException </item>
+      <item> ServerRef </item>
+      <item> ServerRequest </item>
+      <item> ServerRequestInfo </item>
+      <item> ServerRequestInfoOperations </item>
+      <item> ServerRequestInterceptor </item>
+      <item> ServerRequestInterceptorOperations </item>
+      <item> ServerRuntimeException </item>
+      <item> ServerSocket </item>
+      <item> ServerSocketChannel </item>
+      <item> ServerSocketFactory </item>
+      <item> ServiceContext </item>
+      <item> ServiceContextHelper </item>
+      <item> ServiceContextHolder </item>
+      <item> ServiceContextListHelper </item>
+      <item> ServiceContextListHolder </item>
+      <item> ServiceDetail </item>
+      <item> ServiceDetailHelper </item>
+      <item> ServiceIdHelper </item>
+      <item> ServiceInformation </item>
+      <item> ServiceInformationHelper </item>
+      <item> ServiceInformationHolder </item>
+      <item> ServicePermission </item>
+      <item> ServiceRegistry </item>
+      <item> ServiceUI </item>
+      <item> ServiceUIFactory </item>
+      <item> ServiceUnavailableException </item>
+      <item> Set </item>
+      <item> SetOfIntegerSyntax </item>
+      <item> SetOverrideType </item>
+      <item> SetOverrideTypeHelper </item>
+      <item> Severity </item>
+      <item> Shape </item>
+      <item> ShapeGraphicAttribute </item>
+      <item> SheetCollate </item>
+      <item> Short </item>
+      <item> ShortBuffer </item>
+      <item> ShortBufferException </item>
+      <item> ShortHolder </item>
+      <item> ShortLookupTable </item>
+      <item> ShortMessage </item>
+      <item> ShortSeqHelper </item>
+      <item> ShortSeqHolder </item>
+      <item> Sides </item>
+      <item> SidesType </item>
+      <item> Signature </item>
+      <item> SignatureException </item>
+      <item> SignatureSpi </item>
+      <item> SignedObject </item>
+      <item> Signer </item>
+      <item> SimpleAttributeSet </item>
+      <item> SimpleBeanInfo </item>
+      <item> SimpleDateFormat </item>
+      <item> SimpleDoc </item>
+      <item> SimpleFormatter </item>
+      <item> SimpleTimeZone </item>
+      <item> SinglePixelPackedSampleModel </item>
+      <item> SingleSelectionModel </item>
+      <item> SinkChannel </item>
+      <item> Size2DSyntax </item>
+      <item> SizeLimitExceededException </item>
+      <item> SizeRequirements </item>
+      <item> SizeSequence </item>
+      <item> Skeleton </item>
+      <item> SkeletonMismatchException </item>
+      <item> SkeletonNotFoundException </item>
+      <item> SliderUI </item>
+      <item> Socket </item>
+      <item> SocketAddress </item>
+      <item> SocketChannel </item>
+      <item> SocketException </item>
+      <item> SocketFactory </item>
+      <item> SocketHandler </item>
+      <item> SocketImpl </item>
+      <item> SocketImplFactory </item>
+      <item> SocketOptions </item>
+      <item> SocketPermission </item>
+      <item> SocketSecurityException </item>
+      <item> SocketTimeoutException </item>
+      <item> SoftBevelBorder </item>
+      <item> SoftReference </item>
+      <item> SortedMap </item>
+      <item> SortedSet </item>
+      <item> SortingFocusTraversalPolicy </item>
+      <item> Soundbank </item>
+      <item> SoundbankReader </item>
+      <item> SoundbankResource </item>
+      <item> Source </item>
+      <item> SourceChannel </item>
+      <item> SourceDataLine </item>
+      <item> SourceLocator </item>
+      <item> SpinnerDateModel </item>
+      <item> SpinnerListModel </item>
+      <item> SpinnerModel </item>
+      <item> SpinnerNumberModel </item>
+      <item> SpinnerUI </item>
+      <item> SplitPaneBorder </item>
+      <item> SplitPaneUI </item>
+      <item> Spring </item>
+      <item> SpringLayout </item>
+      <item> Stack </item>
+      <item> StackOverflowError </item>
+      <item> StackTraceElement </item>
+      <item> StartTlsRequest </item>
+      <item> StartTlsResponse </item>
+      <item> State </item>
+      <item> StateEdit </item>
+      <item> StateEditable </item>
+      <item> StateFactory </item>
+      <item> Statement </item>
+      <item> Statement </item>
+      <item> StreamCorruptedException </item>
+      <item> StreamHandler </item>
+      <item> StreamPrintService </item>
+      <item> StreamPrintServiceFactory </item>
+      <item> StreamResult </item>
+      <item> StreamSource </item>
+      <item> StreamTokenizer </item>
+      <item> Streamable </item>
+      <item> StreamableValue </item>
+      <item> StrictMath </item>
+      <item> String </item>
+      <item> StringBuffer </item>
+      <item> StringBufferInputStream </item>
+      <item> StringCharacterIterator </item>
+      <item> StringContent </item>
+      <item> StringHolder </item>
+      <item> StringIndexOutOfBoundsException </item>
+      <item> StringNameHelper </item>
+      <item> StringReader </item>
+      <item> StringRefAddr </item>
+      <item> StringSelection </item>
+      <item> StringSeqHelper </item>
+      <item> StringSeqHolder </item>
+      <item> StringTokenizer </item>
+      <item> StringValueHelper </item>
+      <item> StringWriter </item>
+      <item> Stroke </item>
+      <item> Struct </item>
+      <item> StructMember </item>
+      <item> StructMemberHelper </item>
+      <item> Stub </item>
+      <item> StubDelegate </item>
+      <item> StubNotFoundException </item>
+      <item> Style </item>
+      <item> StyleConstants </item>
+      <item> StyleContext </item>
+      <item> StyleSheet </item>
+      <item> StyledDocument </item>
+      <item> StyledEditorKit </item>
+      <item> StyledTextAction </item>
+      <item> Subject </item>
+      <item> SubjectDomainCombiner </item>
+      <item> Subset </item>
+      <item> SupportedValuesAttribute </item>
+      <item> SwingConstants </item>
+      <item> SwingPropertyChangeSupport </item>
+      <item> SwingUtilities </item>
+      <item> SyncFailedException </item>
+      <item> SyncMode </item>
+      <item> SyncScopeHelper </item>
+      <item> Synthesizer </item>
+      <item> SysexMessage </item>
+      <item> System </item>
+      <item> SystemColor </item>
+      <item> SystemException </item>
+      <item> SystemFlavorMap </item>
+      <item> TAG_ALTERNATE_IIOP_ADDRESS </item>
+      <item> TAG_CODE_SETS </item>
+      <item> TAG_INTERNET_IOP </item>
+      <item> TAG_JAVA_CODEBASE </item>
+      <item> TAG_MULTIPLE_COMPONENTS </item>
+      <item> TAG_ORB_TYPE </item>
+      <item> TAG_POLICIES </item>
+      <item> TCKind </item>
+      <item> THREAD_POLICY_ID </item>
+      <item> TRANSACTION_REQUIRED </item>
+      <item> TRANSACTION_ROLLEDBACK </item>
+      <item> TRANSIENT </item>
+      <item> TRANSPORT_RETRY </item>
+      <item> TabExpander </item>
+      <item> TabSet </item>
+      <item> TabStop </item>
+      <item> TabableView </item>
+      <item> TabbedPaneUI </item>
+      <item> TableCellEditor </item>
+      <item> TableCellRenderer </item>
+      <item> TableColumn </item>
+      <item> TableColumnModel </item>
+      <item> TableColumnModelEvent </item>
+      <item> TableColumnModelListener </item>
+      <item> TableHeaderBorder </item>
+      <item> TableHeaderUI </item>
+      <item> TableModel </item>
+      <item> TableModelEvent </item>
+      <item> TableModelListener </item>
+      <item> TableUI </item>
+      <item> TableView </item>
+      <item> Tag </item>
+      <item> TagElement </item>
+      <item> TaggedComponent </item>
+      <item> TaggedComponentHelper </item>
+      <item> TaggedComponentHolder </item>
+      <item> TaggedProfile </item>
+      <item> TaggedProfileHelper </item>
+      <item> TaggedProfileHolder </item>
+      <item> TargetDataLine </item>
+      <item> Templates </item>
+      <item> TemplatesHandler </item>
+      <item> Text </item>
+      <item> TextAction </item>
+      <item> TextArea </item>
+      <item> TextAttribute </item>
+      <item> TextComponent </item>
+      <item> TextEvent </item>
+      <item> TextField </item>
+      <item> TextFieldBorder </item>
+      <item> TextHitInfo </item>
+      <item> TextInputCallback </item>
+      <item> TextLayout </item>
+      <item> TextListener </item>
+      <item> TextMeasurer </item>
+      <item> TextOutputCallback </item>
+      <item> TextSyntax </item>
+      <item> TextUI </item>
+      <item> TexturePaint </item>
+      <item> Thread </item>
+      <item> ThreadDeath </item>
+      <item> ThreadGroup </item>
+      <item> ThreadLocal </item>
+      <item> ThreadPolicy </item>
+      <item> ThreadPolicyOperations </item>
+      <item> ThreadPolicyValue </item>
+      <item> Throwable </item>
+      <item> Tie </item>
+      <item> TileObserver </item>
+      <item> Time </item>
+      <item> TimeLimitExceededException </item>
+      <item> TimeZone </item>
+      <item> Timer </item>
+      <item> Timer </item>
+      <item> TimerTask </item>
+      <item> Timestamp </item>
+      <item> TitledBorder </item>
+      <item> TitledBorderUIResource </item>
+      <item> ToggleButtonBorder </item>
+      <item> ToggleButtonBorder </item>
+      <item> ToggleButtonModel </item>
+      <item> TooManyListenersException </item>
+      <item> ToolBarBorder </item>
+      <item> ToolBarUI </item>
+      <item> ToolTipManager </item>
+      <item> ToolTipUI </item>
+      <item> Toolkit </item>
+      <item> Track </item>
+      <item> TransactionRequiredException </item>
+      <item> TransactionRolledbackException </item>
+      <item> TransactionService </item>
+      <item> TransferHandler </item>
+      <item> Transferable </item>
+      <item> TransformAttribute </item>
+      <item> Transformer </item>
+      <item> TransformerConfigurationException </item>
+      <item> TransformerException </item>
+      <item> TransformerFactory </item>
+      <item> TransformerFactoryConfigurationError </item>
+      <item> TransformerHandler </item>
+      <item> Transmitter </item>
+      <item> Transparency </item>
+      <item> TreeCellEditor </item>
+      <item> TreeCellRenderer </item>
+      <item> TreeControlIcon </item>
+      <item> TreeExpansionEvent </item>
+      <item> TreeExpansionListener </item>
+      <item> TreeFolderIcon </item>
+      <item> TreeLeafIcon </item>
+      <item> TreeMap </item>
+      <item> TreeModel </item>
+      <item> TreeModelEvent </item>
+      <item> TreeModelListener </item>
+      <item> TreeNode </item>
+      <item> TreePath </item>
+      <item> TreeSelectionEvent </item>
+      <item> TreeSelectionListener </item>
+      <item> TreeSelectionModel </item>
+      <item> TreeSet </item>
+      <item> TreeUI </item>
+      <item> TreeWillExpandListener </item>
+      <item> TrustAnchor </item>
+      <item> TrustManager </item>
+      <item> TrustManagerFactory </item>
+      <item> TrustManagerFactorySpi </item>
+      <item> Type </item>
+      <item> Type </item>
+      <item> Type </item>
+      <item> Type </item>
+      <item> Type </item>
+      <item> Type </item>
+      <item> Type </item>
+      <item> TypeCode </item>
+      <item> TypeCodeHolder </item>
+      <item> TypeMismatch </item>
+      <item> TypeMismatch </item>
+      <item> TypeMismatch </item>
+      <item> TypeMismatchHelper </item>
+      <item> TypeMismatchHelper </item>
+      <item> Types </item>
+      <item> UID </item>
+      <item> UIDefaults </item>
+      <item> UIManager </item>
+      <item> UIResource </item>
+      <item> UIResource </item>
+      <item> UIResource </item>
+      <item> UIResource </item>
+      <item> UIResource </item>
+      <item> UIResource </item>
+      <item> UIResource </item>
+      <item> ULongLongSeqHelper </item>
+      <item> ULongLongSeqHolder </item>
+      <item> ULongSeqHelper </item>
+      <item> ULongSeqHolder </item>
+      <item> UNKNOWN </item>
+      <item> UNSUPPORTED_POLICY </item>
+      <item> UNSUPPORTED_POLICY_VALUE </item>
+      <item> URI </item>
+      <item> URIException </item>
+      <item> URIResolver </item>
+      <item> URISyntax </item>
+      <item> URISyntaxException </item>
+      <item> URL </item>
+      <item> URL </item>
+      <item> URLClassLoader </item>
+      <item> URLConnection </item>
+      <item> URLDecoder </item>
+      <item> URLEncoder </item>
+      <item> URLStreamHandler </item>
+      <item> URLStreamHandlerFactory </item>
+      <item> URLStringHelper </item>
+      <item> USER_EXCEPTION </item>
+      <item> UShortSeqHelper </item>
+      <item> UShortSeqHolder </item>
+      <item> UTFDataFormatException </item>
+      <item> UndeclaredThrowableException </item>
+      <item> UnderlineAction </item>
+      <item> UndoManager </item>
+      <item> UndoableEdit </item>
+      <item> UndoableEditEvent </item>
+      <item> UndoableEditListener </item>
+      <item> UndoableEditSupport </item>
+      <item> UnexpectedException </item>
+      <item> UnicastRemoteObject </item>
+      <item> UnicodeBlock </item>
+      <item> UnionMember </item>
+      <item> UnionMemberHelper </item>
+      <item> UnknownEncoding </item>
+      <item> UnknownEncodingHelper </item>
+      <item> UnknownError </item>
+      <item> UnknownException </item>
+      <item> UnknownGroupException </item>
+      <item> UnknownHostException </item>
+      <item> UnknownHostException </item>
+      <item> UnknownObjectException </item>
+      <item> UnknownServiceException </item>
+      <item> UnknownTag </item>
+      <item> UnknownUserException </item>
+      <item> UnknownUserExceptionHelper </item>
+      <item> UnknownUserExceptionHolder </item>
+      <item> UnmappableCharacterException </item>
+      <item> UnmarshalException </item>
+      <item> UnmodifiableSetException </item>
+      <item> UnrecoverableKeyException </item>
+      <item> Unreferenced </item>
+      <item> UnresolvedAddressException </item>
+      <item> UnresolvedPermission </item>
+      <item> UnsatisfiedLinkError </item>
+      <item> UnsolicitedNotification </item>
+      <item> UnsolicitedNotificationEvent </item>
+      <item> UnsolicitedNotificationListener </item>
+      <item> UnsupportedAddressTypeException </item>
+      <item> UnsupportedAudioFileException </item>
+      <item> UnsupportedCallbackException </item>
+      <item> UnsupportedCharsetException </item>
+      <item> UnsupportedClassVersionError </item>
+      <item> UnsupportedEncodingException </item>
+      <item> UnsupportedFlavorException </item>
+      <item> UnsupportedLookAndFeelException </item>
+      <item> UnsupportedOperationException </item>
+      <item> UserException </item>
+      <item> Util </item>
+      <item> UtilDelegate </item>
+      <item> Utilities </item>
+      <item> VMID </item>
+      <item> VM_ABSTRACT </item>
+      <item> VM_CUSTOM </item>
+      <item> VM_NONE </item>
+      <item> VM_TRUNCATABLE </item>
+      <item> ValueBase </item>
+      <item> ValueBaseHelper </item>
+      <item> ValueBaseHolder </item>
+      <item> ValueFactory </item>
+      <item> ValueHandler </item>
+      <item> ValueMember </item>
+      <item> ValueMemberHelper </item>
+      <item> VariableHeightLayoutCache </item>
+      <item> Vector </item>
+      <item> VerifyError </item>
+      <item> VersionSpecHelper </item>
+      <item> VetoableChangeListener </item>
+      <item> VetoableChangeListenerProxy </item>
+      <item> VetoableChangeSupport </item>
+      <item> View </item>
+      <item> ViewFactory </item>
+      <item> ViewportLayout </item>
+      <item> ViewportUI </item>
+      <item> VirtualMachineError </item>
+      <item> Visibility </item>
+      <item> VisibilityHelper </item>
+      <item> VoiceStatus </item>
+      <item> Void </item>
+      <item> VolatileImage </item>
+      <item> WCharSeqHelper </item>
+      <item> WCharSeqHolder </item>
+      <item> WStringSeqHelper </item>
+      <item> WStringSeqHolder </item>
+      <item> WStringValueHelper </item>
+      <item> WeakHashMap </item>
+      <item> WeakReference </item>
+      <item> Window </item>
+      <item> WindowAdapter </item>
+      <item> WindowConstants </item>
+      <item> WindowEvent </item>
+      <item> WindowFocusListener </item>
+      <item> WindowListener </item>
+      <item> WindowStateListener </item>
+      <item> WrappedPlainView </item>
+      <item> WritableByteChannel </item>
+      <item> WritableRaster </item>
+      <item> WritableRenderedImage </item>
+      <item> WriteAbortedException </item>
+      <item> Writer </item>
+      <item> WrongAdapter </item>
+      <item> WrongAdapterHelper </item>
+      <item> WrongPolicy </item>
+      <item> WrongPolicyHelper </item>
+      <item> WrongTransaction </item>
+      <item> WrongTransactionHelper </item>
+      <item> WrongTransactionHolder </item>
+      <item> X500Principal </item>
+      <item> X500PrivateCredential </item>
+      <item> X509CRL </item>
+      <item> X509CRLEntry </item>
+      <item> X509CRLSelector </item>
+      <item> X509CertSelector </item>
+      <item> X509Certificate </item>
+      <item> X509Certificate </item>
+      <item> X509EncodedKeySpec </item>
+      <item> X509Extension </item>
+      <item> X509KeyManager </item>
+      <item> X509TrustManager </item>
+      <item> XAConnection </item>
+      <item> XADataSource </item>
+      <item> XAException </item>
+      <item> XAResource </item>
+      <item> XMLDecoder </item>
+      <item> XMLEncoder </item>
+      <item> XMLFilter </item>
+      <item> XMLFilterImpl </item>
+      <item> XMLFormatter </item>
+      <item> XMLReader </item>
+      <item> XMLReaderAdapter </item>
+      <item> XMLReaderFactory </item>
+      <item> Xid </item>
+      <item> ZipEntry </item>
+      <item> ZipException </item>
+      <item> ZipFile </item>
+      <item> ZipInputStream </item>
+      <item> ZipOutputStream </item>
+      <item> ZoneView </item>
+      <item> _BindingIteratorImplBase </item>
+      <item> _BindingIteratorStub </item>
+      <item> _DynAnyFactoryStub </item>
+      <item> _DynAnyStub </item>
+      <item> _DynArrayStub </item>
+      <item> _DynEnumStub </item>
+      <item> _DynFixedStub </item>
+      <item> _DynSequenceStub </item>
+      <item> _DynStructStub </item>
+      <item> _DynUnionStub </item>
+      <item> _DynValueStub </item>
+      <item> _IDLTypeStub </item>
+      <item> _NamingContextExtStub </item>
+      <item> _NamingContextImplBase </item>
+      <item> _NamingContextStub </item>
+      <item> _PolicyStub </item>
+      <item> _Remote_Stub </item>
+      <item> _ServantActivatorStub </item>
+      <item> _ServantLocatorStub </item>
+    </list>
+
+    <list name="java-1.4.2-keywords">
+      <item> abstract </item>
+      <item> assert </item>
+      <item> break </item>
+      <item> case </item>
+      <item> catch </item>
+      <item> class </item>
+      <item> continue </item>
+      <item> default </item>
+      <item> do </item>
+      <item> else </item>
+      <item> extends </item>
+      <item> false </item>
+      <item> finally </item>
+      <item> for </item>
+      <item> goto </item>
+      <item> if </item>
+      <item> implements </item>
+      <item> import </item>
+      <item> instanceof </item>
+      <item> interface </item>
+      <item> native </item>
+      <item> new </item>
+      <item> null </item>
+      <item> package </item>
+      <item> private </item>
+      <item> protected </item>
+      <item> public </item>
+      <item> return </item>
+      <item> super </item>
+      <item> strictfp </item>
+      <item> switch </item>
+      <item> synchronized </item>
+      <item> this </item>
+      <item> throws </item>
+      <item> throw </item>
+      <item> transient </item>
+      <item> true </item>
+      <item> try </item>
+      <item> volatile </item>
+      <item> while </item>
+    </list>
+
+    <list name="java-1.4.2-types">
+      <item> boolean </item>
+      <item> byte </item>
+      <item> char </item>
+      <item> const </item>
+      <item> double </item>
+      <item> final </item>
+      <item> float </item>
+      <item> int </item>
+      <item> long </item>
+      <item> short </item>
+      <item> static </item>
+      <item> void </item>
+    </list>
+
+    <list name="jsp-reserved-words">
+      <item> and </item>
+      <item> eq </item>
+      <item> gt </item>
+      <item> true </item>
+      <item> instanceof </item>
+      <item> or </item>
+      <item> ne </item>
+      <item> le </item>
+      <item> false </item>
+      <item> empty </item>
+      <item> not </item>
+      <item> lt </item>
+      <item> ge </item>
+      <item> null </item>
+      <item> div </item>
+      <item> mod </item>
+    </list>
+
+    <contexts>
+        <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr String="&lt;%@\s*[a-zA-Z0-9_\.]*" attribute="Jsp Directive" context="Jsp Standard Directive"/>
+        <RegExpr String="&lt;\s*jsp:(declaration|expression|scriptlet)\s*&gt;" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <RegExpr String="&lt;\s*\/?s*jsp:[a-zA-Z0-9_\.]*" attribute="Jsp Directive" context="Jsp Xml Directive"/>
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <StringDetect String="&lt;!--" attribute="Html Comment" context="Html Comment"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+        <RegExpr String="&lt;\s*\/?\s*\$?[a-zA-Z0-9_]*:\$?[a-zA-Z0-9_]*" attribute="Keyword" context="Jsp Custom Tag"/>
+        <StringDetect String="&lt;![CDATA[" attribute="Normal Text" context="#stay"/>
+        <StringDetect String="]]&gt;" attribute="Normal Text" context="#stay"/>
+        <RegExpr String="&lt;\s*\/?\s*[a-zA-Z0-9_]*" attribute="Normal Text" context="Html Attribute"/>
+      </context>
+
+      <context name="Jsp Standard Directive" attribute="Jsp Param Name" lineEndContext="#stay">
+        <Detect2Chars char="%" char1="&gt;" attribute="Jsp Directive" context="#pop"/>
+        <RegExpr String="\s*=\s*" attribute="Normal Text" context="Jsp Standard Directive Value"/>
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+        <RegExpr String="&lt;\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>
+      </context>
+
+      <context name="Jsp Xml Directive" attribute="Jsp Param Name" lineEndContext="#stay">
+        <RegExpr String="\s*\/?\s*&gt;" attribute="Jsp Directive" context="#pop"/>
+        <RegExpr String="\s*=\s*" attribute="Normal Text" context="Jsp Xml Directive Value"/>
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+      </context>
+
+      <context name="Jsp Comment" attribute="Jsp Comment" lineEndContext="#stay">
+        <StringDetect String="--%&gt;" attribute="Jsp Comment" context="#pop"/>
+      </context>
+
+      <context name="Jsp Custom Tag" attribute="Identifier" lineEndContext="#stay">
+        <RegExpr String="\/?&gt;" attribute="Keyword" context="#pop"/>
+        <RegExpr String="\s*=\s*" attribute="Normal Text" context="Jsp Custom Tag Value"/>
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+      </context>
+
+      <context name="Jsp Standard Directive Value" attribute="Jsp Param Value" lineEndContext="#stay">
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+        <DetectChar char="&quot;" attribute="Jsp Param Value" context="Jsp Double Quoted Param Value"/>
+        <DetectChar char="'" attribute="Jsp Param Value" context="Jsp Single Quoted Param Value"/>
+        <Detect2Chars char="%" char1="&gt;" attribute="Jsp Directive" context="#pop#pop"/>
+      </context>
+
+      <context name="Jsp Xml Directive Value" attribute="Jsp Param Value" lineEndContext="#stay">
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+        <DetectChar char="&quot;" attribute="Jsp Param Value" context="Jsp Double Quoted Param Value"/>
+        <DetectChar char="'" attribute="Jsp Param Value" context="Jsp Single Quoted Param Value"/>
+        <RegExpr String="\s*\/?\s*&gt;" attribute="Jsp Directive" context="#pop#pop"/>
+      </context>
+
+      <context name="Jsp Custom Tag Value" attribute="Normal Text" lineEndContext="#stay">
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+        <DetectChar char="&quot;" attribute="Types" context="Jsp Double Quoted Custom Tag Value"/>
+        <DetectChar char="'" attribute="Types" context="Jsp Single Quoted Custom Tag Value"/>
+        <RegExpr String="\/?&gt;" attribute="Normal Text" context="#pop#pop"/>
+      </context>
+
+      <context name="Jsp Double Quoted Param Value" attribute="Jsp Param Value" lineEndContext="#stay">
+        <DetectChar char="&quot;" attribute="Jsp Param Value" context="#pop#pop"/>
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+      </context>
+
+      <context name="Jsp Single Quoted Param Value" attribute="Jsp Param Value" lineEndContext="#stay">
+        <DetectChar char="'" attribute="Jsp Param Value" context="#pop#pop"/>
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+      </context>
+
+      <context name="Jsp Double Quoted Custom Tag Value" attribute="Types" lineEndContext="#stay">
+        <DetectChar char="&quot;" attribute="Types" context="#pop#pop"/>
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+      </context>
+
+      <context name="Jsp Single Quoted Custom Tag Value" attribute="Types" lineEndContext="#stay">
+        <DetectChar char="'" attribute="Types" context="#pop#pop"/>
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+      </context>
+
+      <context name="Jsp Scriptlet" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars char="%" char1="&gt;" attribute="Jsp Scriptlet" context="#pop"/>
+        <RegExpr String="&lt;\s*jsp:(declaration|expression|scriptlet)\s*&gt;" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <keyword String="java-1.4.2-keywords" attribute="Keyword" context="#stay"/>
+        <keyword String="jsp-reserved-words" attribute="Keyword" context="#stay"/>
+        <keyword String="java-1.4.2-types" attribute="Types" context="#stay"/>
+        <keyword String="java-1.4.2-classes" attribute="Java 1.4.2 Classes" context="#stay"/>
+        <Float attribute="Float" context="#stay">
+          <AnyChar String="fF" attribute="Float" context="#stay"/>
+        </Float>
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Int attribute="Decimal" context="#stay">
+          <StringDetect String="ULL" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="LUL" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="LLU" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="UL" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="LU" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="LL" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="U" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="L" attribute="Decimal" context="#stay" insensitive="true"/>
+        </Int>
+        <HlCChar attribute="Char" context="#stay"/>
+        <RegExpr String="//\s*BEGIN.*$" attribute="Decimal" context="#stay" beginRegion="Region1" firstNonSpace="true"/>
+        <RegExpr String="//\s*END.*$" attribute="Decimal" context="#stay" endRegion="Region1" firstNonSpace="true"/>
+        <DetectChar char="&quot;" attribute="String" context="Java String"/>
+        <DetectChar char="{" attribute="Normal Text" context="#stay" beginRegion="Brace1"/>
+        <DetectChar char="}" attribute="Normal Text" context="#stay" endRegion="Brace1"/>
+        <AnyChar String="!%&amp;()+,-&lt;=&gt;?[]^{|}~" attribute="Symbol" context="#stay"/>
+        <Detect2Chars char="/" char1="/" attribute="Java Comment" context="Java Single-Line Comment"/>
+        <Detect2Chars char="/" char1="*" attribute="Java Comment" context="Java Multi-Line Comment"/>
+      </context>
+
+      <context name="Jsp Expression" attribute="Normal Text" lineEndContext="#stay">
+        <StringDetect String="'${'" attribute="Normal Text" context="#stay"/>
+        <DetectChar char="}" attribute="Jsp Scriptlet" context="#pop"/>
+        <keyword String="java-1.4.2-keywords" attribute="Keyword" context="#stay"/>
+        <keyword String="jsp-reserved-words" attribute="Keyword" context="#stay"/>
+        <keyword String="java-1.4.2-types" attribute="Types" context="#stay"/>
+        <keyword String="java-1.4.2-classes" attribute="Java 1.4.2 Classes" context="#stay"/>
+        <Float attribute="Float" context="#stay">
+          <AnyChar String="fF" attribute="Float" context="#stay"/>
+        </Float>
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Int attribute="Decimal" context="#stay">
+          <StringDetect String="ULL" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="LUL" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="LLU" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="UL" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="LU" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="LL" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="U" attribute="Decimal" context="#stay" insensitive="true"/>
+          <StringDetect String="L" attribute="Decimal" context="#stay" insensitive="true"/>
+        </Int>
+        <HlCChar attribute="Char" context="#stay"/>
+        <DetectChar char="&quot;" attribute="String" context="Java String"/>
+        <AnyChar String="!%&amp;()+,-&lt;=&gt;?[]^{|}~" attribute="Symbol" context="#stay"/>
+      </context>
+
+      <context name="Java Single-Line Comment" attribute="Java Comment" lineEndContext="#pop"/>
+
+      <context name="Java Multi-Line Comment" attribute="Java Comment" lineEndContext="#stay">
+        <Detect2Chars char="*" char1="/" attribute="Java Comment" context="#pop"/>
+      </context>
+
+      <context name="Java String" attribute="String" lineEndContext="#stay">
+        <Detect2Chars char="\" char1="&quot;" attribute="String" context="#stay"/>
+        <DetectChar char="&quot;" attribute="String" context="#pop"/>
+      </context>
+
+      <context name="Html Attribute" attribute="Identifier" lineEndContext="#stay">
+        <RegExpr String="\/?&gt;" attribute="Normal Text" context="#pop"/>
+        <RegExpr String="\s*=\s*" attribute="Normal Text" context="Html Value"/>
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+      </context>
+
+      <context name="Html Value" attribute="Types" lineEndContext="#stay">
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+        <RegExpr String="&lt;\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>
+        <RegExpr String="(&quot;|&amp;quot;|&amp;#34;)" attribute="Types" context="Html Double Quoted Value"/>
+        <RegExpr String="('|&amp;#39;)" attribute="Types" context="Html Single Quoted Value"/>
+        <RegExpr String="\s*#?-?_?\.?[a-zA-Z0-9]*" attribute="Types" context="Html Unquoted Value"/>
+        <RegExpr String="\/?&gt;" attribute="Normal Text" context="#pop#pop"/>
+      </context>
+
+      <context name="Html Double Quoted Value" attribute="Types" lineEndContext="#stay">
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+        <RegExpr String="&lt;\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>
+        <RegExpr String="(&quot;|&amp;quot;|&amp;#34;)" attribute="Types" context="#pop#pop"/>
+      </context>
+
+      <context name="Html Single Quoted Value" attribute="Types" lineEndContext="#stay">
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+        <RegExpr String="&lt;\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>
+        <RegExpr String="('|&amp;#39;)" attribute="Types" context="#pop#pop"/>
+      </context>
+
+      <context name="Html Unquoted Value" attribute="Types" lineEndContext="#stay">
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+        <RegExpr String="&lt;\s*\/?\s*\$?\w*:\$?\w*" attribute="Keyword" context="Jsp Custom Tag"/>
+        <RegExpr String="\/?&gt;" attribute="Normal Text" context="#pop#pop#pop"/>
+        <RegExpr String="\s+" attribute="Types" context="#pop#pop"/>
+      </context>
+
+      <context name="Html Comment" attribute="Html Comment" lineEndContext="#stay">
+        <StringDetect String="&lt;%--" attribute="Jsp Comment" context="Jsp Comment"/>
+        <RegExpr String="&lt;%(!|=)?" attribute="Jsp Scriptlet" context="Jsp Scriptlet"/>
+        <Detect2Chars char="$" char1="{" attribute="Jsp Expression" context="Jsp Expression"/>
+        <RegExpr String="\/*--&gt;" attribute="Html Comment" context="#pop"/>
+      </context>
+
+    </contexts>
+
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Keyword" defStyleNum="dsKeyword"/>
+      <itemData name="Identifier" defStyleNum="dsOthers"/>
+      <itemData name="Types" defStyleNum="dsDataType"/>
+      <itemData name="String" defStyleNum="dsString"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+
+      <itemData name="Html Comment" defStyleNum="dsComment"/>
+
+      <itemData name="Decimal" defStyleNum="dsDecVal"/>
+      <itemData name="Octal" defStyleNum="dsBaseN"/>
+      <itemData name="Hex" defStyleNum="dsBaseN"/>
+      <itemData name="Float" defStyleNum="dsFloat"/>
+      <itemData name="Char" defStyleNum="dsChar"/>
+      <itemData name="String Char" defStyleNum="dsChar"/>
+      <itemData name="Symbol" defStyleNum="dsNormal"/>
+      <itemData name="Java 1.4.2 Classes" defStyleNum="dsNormal" color="#0095FF" selColor="#FFFFFF" bold="1" italic="0"/>
+
+      <itemData name="Jsp Directive" defStyleNum="dsNormal" color="#0000ff" selColor="#00ff00" bold="true" italic="true"/>
+      <itemData name="Jsp Scriptlet" defStyleNum="dsNormal" color="#000000" selColor="#ffffff" bold="true" italic="false"/>
+      <itemData name="Jsp Expression" defStyleNum="dsNormal" color="#000000" selColor="#ffffff" bold="true" italic="false"/>
+      <itemData name="Jsp Comment" defStyleNum="dsComment"/>
+
+      <itemData name="Jsp Param Name" defStyleNum="dsOthers"/>
+      <itemData name="Jsp Param Value" defStyleNum="dsString"/>
+
+      <itemData name="Java Comment" defStyleNum="dsComment"/>
+    </itemDatas>
+  </highlighting>
+
+  <general>
+    <comments>
+      <comment name="multiLine" start="&lt;%-- " end=" --%&gt;" />
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
diff --git a/xml/julia.xml b/xml/julia.xml
new file mode 100644
--- /dev/null
+++ b/xml/julia.xml
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ====================================================================
+  Julia syntax highlighting file for the KDE editors Kate and Kwrite
+  ====================================================================
+
+  This was adapted from the Matlab syntax highlighting file
+
+  Most of this XML file is straightforward. Only the character ' (&apos;)
+  needs nontrivial treatment, since it is both a postfix operator indicating
+  complex conjugate transpose (adjoint) and a character delimiter. It is an
+  adjoint operator in the following positions:
+  1) immediately after an identifier (variable, function, but not keyword)
+  2) immediately after a number literal
+  3) immediately after the closing parenthesis ), ] and }
+  4) immediately after a simple transpose operator .'
+  5) immediately after another adjoint operator '
+  Otherwise it is a character delimiter.
+
+  This is implemented using look-ahead regexps. If one of the entities in the
+  above cases 1-4 (identifier, number literal, ...) matches and look-ahead
+  shows that it is followed by a ', the entity is highlighted and control is
+  passed to the special context _adjoint, whose sole purpose is to correctly
+  highlight a series of ' (thus covering case 5 as well). _adjoint immediately
+  returns to the default context _normal.
+
+  Author: Timothy E. Holy, Washington University in St. Louis
+-->
+
+<!DOCTYPE language SYSTEM "language.dtd">
+
+<language name="Julia" section="Sources" version="1" kateversion="2.4" extensions="*.jl" casesensitive="1" priority="5" license="MIT">
+
+  <highlighting>
+    <list name="block_begin">
+      <item> begin </item>
+      <item> do </item>
+      <item> for </item>
+      <item> function </item>
+      <item> if </item>
+      <item> let </item>
+      <item> quote </item>
+      <item> try </item>
+      <item> type </item>
+      <item> while </item>
+    </list>
+    <list name="block_eb">
+      <item> catch </item>
+      <item> else </item>
+      <item> elseif </item>
+    </list>
+    <list name="block_end">
+      <item> end </item>
+    </list>
+    <list name="keywords">
+      <item> abstract </item>
+      <item> bitstype </item>
+      <item> break </item>
+      <item> ccall </item>
+      <item> const </item>
+      <item> continue </item>
+      <item> export </item>
+      <item> global </item>
+      <item> import </item>
+      <item> in </item>
+      <item> local </item>
+      <item> macro </item>
+      <item> module </item>
+      <item> return </item>
+      <item> typealias </item>
+    </list>
+    <list name="types">
+      <item> AbstractArray </item>
+      <item> AbstractMatrix </item>
+      <item> AbstractVector </item>
+      <item> Any </item>
+      <item> Array </item>
+      <item> ASCIIString </item>
+      <item> Associative </item>
+      <item> Bool </item>
+      <item> ByteString </item>
+      <item> Char </item>
+      <item> Complex </item>
+      <item> Complex64 </item>
+      <item> Complex128 </item>
+      <item> ComplexPair </item>
+      <item> DArray </item>
+      <item> Dict </item>
+      <item> Exception </item>
+      <item> Expr </item>
+      <item> Float </item>
+      <item> Float32 </item>
+      <item> Float64 </item>
+      <item> Function </item>
+      <item> ObjectIdDict </item>
+      <item> Int </item>
+      <item> Int8 </item>
+      <item> Int16 </item>
+      <item> Int32 </item>
+      <item> Int64 </item>
+      <item> Integer </item>
+      <item> IntSet </item>
+      <item> IO </item>
+      <item> IOStream </item>
+      <item> Matrix </item>
+      <item> Nothing </item>
+      <item> None </item>
+      <item> NTuple </item>
+      <item> Number </item>
+      <item> Ptr </item>
+      <item> Range </item>
+      <item> Range1 </item>
+      <item> Ranges </item>
+      <item> Rational </item>
+      <item> Real </item>
+      <item> Regex </item>
+      <item> RegexMatch </item>
+      <item> Set </item>
+      <item> Signed </item>
+      <item> StridedArray </item>
+      <item> StridedMatrix </item>
+      <item> StridedVecOrMat </item>
+      <item> StridedVector </item>
+      <item> String </item>
+      <item> SubArray </item>
+      <item> SubString </item>
+      <item> Symbol </item>
+      <item> Task </item>
+      <item> Tuple </item>
+      <item> Type </item>
+      <item> Uint </item>
+      <item> Uint8 </item>
+      <item> Uint16 </item>
+      <item> Uint32 </item>
+      <item> Uint64 </item>
+      <item> Union </item>
+      <item> Unsigned </item>
+      <item> UTF8String </item>
+      <item> VecOrMat </item>
+      <item> Vector </item>
+      <item> Void </item>
+      <item> WeakRef </item>
+    </list>
+    <contexts>
+
+      <context name="_normal" attribute="Normal Text" lineEndContext="#stay">
+
+	<DetectSpaces />
+
+        <!-- Blocks -->
+        <keyword context="#stay" attribute="Keyword" String="block_begin" 
+beginRegion="block" />
+        <keyword context="#stay" attribute="Keyword" String="block_eb" 
+endRegion="block" beginRegion="block" />
+        <keyword context="#stay" attribute="Keyword" String="block_end" 
+endRegion="block" />
+        <StringDetect String="#BEGIN" context="region_marker" attribute="FoldingComment" beginRegion="user_region" />
+        <StringDetect String="#END" context="region_marker" attribute="FoldingComment" endRegion="user_region" />
+
+        <!-- Keywords, types, and comments -->
+        <keyword context="#stay" attribute="Keyword" String="keywords" />
+        <keyword context="#stay" attribute="Data Type" String="types" />
+        <DetectChar char="#" context="1-comment" attribute="Comment"/>
+
+	<!-- Lists and arrays -->
+        <!-- <DetectChar char="(" context="nested" beginRegion="nested" attribute="Delimiter" />
+        <DetectChar char="[" context="squared" beginRegion="squared" attribute="Delimiter" />
+        <DetectChar char="{" context="curly" beginRegion="curly" attribute="Delimiter" /> -->
+
+        <!-- Strings -->
+	<DetectChar attribute="String" context="String" char="&quot;"/>
+
+        <!-- Multi-character operators -->
+        <StringDetect context="#stay" attribute="Operator" String="..."/>
+        <StringDetect context="#stay" attribute="Operator" String="::"/>
+        <StringDetect context="#stay" attribute="Operator" String="&gt;&gt;&gt;"/>
+        <StringDetect context="#stay" attribute="Operator" String="&gt;&gt;"/>
+        <StringDetect context="#stay" attribute="Operator" String="&lt;&lt;"/>
+        <StringDetect context="#stay" attribute="Operator" String="=="/>
+        <StringDetect context="#stay" attribute="Operator" String="!="/>
+        <StringDetect context="#stay" attribute="Operator" String="&lt;="/>
+        <StringDetect context="#stay" attribute="Operator" String="&gt;="/>
+        <StringDetect context="#stay" attribute="Operator" String="&amp;&amp;"/>
+        <StringDetect context="#stay" attribute="Operator" String="||"/>
+        <StringDetect context="#stay" attribute="Operator" String=".*"/>
+        <StringDetect context="#stay" attribute="Operator" String=".^"/>
+        <StringDetect context="#stay" attribute="Operator" String="./"/>
+        <StringDetect context="#stay" attribute="Operator" String=".'"/>
+        <StringDetect context="#stay" attribute="Operator" String="+="/>
+        <StringDetect context="#stay" attribute="Operator" String="-="/>
+        <StringDetect context="#stay" attribute="Operator" String="*="/>
+        <StringDetect context="#stay" attribute="Operator" String="/="/>
+        <StringDetect context="#stay" attribute="Operator" String="&amp;="/>
+        <StringDetect context="#stay" attribute="Operator" String="|="/>
+        <StringDetect context="#stay" attribute="Operator" String="$="/>
+        <StringDetect context="#stay" attribute="Operator" String="&gt;&gt;&gt;="/>
+        <StringDetect context="#stay" attribute="Operator" String="&gt;&gt;="/>
+        <StringDetect context="#stay" attribute="Operator" String="&lt;&lt;="/>
+
+        <!-- Look-ahead for adjoint ' after variable, number literal, closing braces and .' -->
+        <RegExpr context="_adjoint" attribute="Variable" String="[a-zA-Z]\w*(?=')" />
+        <RegExpr context="_adjoint" attribute="Float" String="(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?(im)?(?=')" />
+        <RegExpr context="_adjoint" attribute="Delimiter" String="[\)\]}](?=')" />
+        <RegExpr context="_adjoint" attribute="Operator" String="\.'(?=')" />
+
+        <!-- If ' is not the adjoint operator, it starts a character or an unterminated char -->
+        <RegExpr context="#stay" attribute="Char" String="'[^']*(''[^']*)*'(?=[^']|$)" />
+        <RegExpr context="#stay" attribute="Incomplete Char" String="'[^']*(''[^']*)*" />
+
+        <!-- Identifiers, numbers and braces -->
+        <!-- We can't use HlCHex, Int, and Float because we need to allow the "im" at the end of complex numbers -->
+        <DetectIdentifier context="#stay" attribute="Variable" />
+        <RegExpr context="#stay" attribute="Hex" String="0x[0-9a-fA-F]+(im)?" />
+        <RegExpr context="#stay" attribute="Float" String="(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?(im)?" />
+        <AnyChar context="#stay" attribute="Delimiter" String="()[]{}"/>
+
+        <!-- Single-character operators -->
+        <AnyChar context="#stay" attribute="Operator" String="*+-/\&amp;|&lt;&gt;~$!^=,;:@"/>
+
+      </context>
+
+      <!-- Context for user block (#BEGIN...#END) -->
+      <context name="region_marker" lineEndContext="#pop" attribute="FoldingComment" >
+        <IncludeRules context="1-comment" />
+      </context>
+
+      <!-- Contexts entered after beginning a list or array -->
+      <context name="nested" attribute="Normal text" lineEndContext="#stay">
+        <DetectChar char=")" context="#pop" endRegion="nested" attribute="Delimiter" />
+      </context>
+      <context name="squared" attribute="Normal text" lineEndContext="#stay">
+        <DetectChar char="]" context="#pop" endRegion="squared" attribute="Delimiter" />
+      </context>
+      <context name="curly" attribute="Normal text" lineEndContext="#stay">
+        <DetectChar char="}" context="#pop" endRegion="curly" attribute="Delimiter" />
+      </context>
+
+      <!-- Context entered after encountering an ' adjoint operator -->
+      <context name="_adjoint" attribute="Operator" lineEndContext="#pop">
+        <RegExpr context="#pop" attribute="Operator" String="'+" />
+      </context>
+
+      <!-- Context entered after encountering an " (string) -->
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <DetectSpaces />
+        <DetectIdentifier />
+        <LineContinue attribute="String" context="#stay"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+
+      <!-- 1-line comment: #pop@EOL  -->
+      <context name="1-comment" lineEndContext="#pop" attribute="Comment">
+        <DetectSpaces />
+        <DetectIdentifier />
+      </context>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="Variable" defStyleNum="dsNormal" />
+      <itemData name="Operator" defStyleNum="dsNormal"/>
+      <itemData name="Decimal" defStyleNum="dsDecVal" />
+      <itemData name="Float" defStyleNum="dsFloat" />
+      <itemData name="Hex" defStyleNum="dsBaseN" />
+      <itemData name="Delimiter" defStyleNum="dsNormal" />
+      <itemData name="String" defStyleNum="dsString"/>
+      <itemData name="Char" defStyleNum="dsChar"/>
+      <itemData name="Incomplete Char" defStyleNum="dsChar"/>
+      <itemData name="System" defStyleNum="dsBaseN"/>
+      <itemData name="Keyword" defStyleNum="dsKeyword"/>
+      <itemData name="Data Type" defStyleNum="dsDataType"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="FoldingComment" defStyleNum="dsComment" />
+    </itemDatas>
+
+  </highlighting>
+
+  <general>
+    <comments>
+      <comment name="singleLine" start="#" />
+    </comments>
+    <keywords casesensitive="1" weakDeliminator=""/>
+  </general>
+
+</language>
+
+<!-- It's recommended to put the following line in the Variables field under Settings->Configure Kate->Open/Save->Modes&Filetypes -->
+<!-- kate: space-indent on; indent-width 4; mixed-indent off; indent-mode cstyle; -->
diff --git a/xml/kotlin.xml b/xml/kotlin.xml
new file mode 100644
--- /dev/null
+++ b/xml/kotlin.xml
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- kotlin language syntax http://kotlinlang.org -->
+<language name="Kotlin" version="2" kateversion="5.0" section="Sources" extensions="*.kt;*.kts" license="LGPLv2+" author="Sergey Mashkov (sergey.mashkov@jetbrains.com)" style="cstyle" indenter="cstyle">
+    <highlighting>
+        <list name="keywords">
+            <item>package</item>
+            <item>import</item>
+
+            <item>sealed</item>
+            <item>data</item>
+            <item>class</item>
+            <item>enum</item>
+            <item>interface</item>
+            <item>companion</item>
+            <item>object</item>
+
+            <item>private</item>
+            <item>public</item>
+            <item>protected</item>
+            <item>internal</item>
+            <item>open</item>
+            <item>final</item>
+
+            <item>get</item>
+            <item>set</item>
+            <item>fun</item>
+            <item>var</item>
+            <item>val</item>
+            <item>constructor</item>
+
+            <item>inline</item>
+            <item>reified</item>
+            <item>crossinline</item>
+            <item>tailrec</item>
+
+            <item>in</item>
+            <item>out</item>
+            <item>is</item>
+            <item>as</item>
+            <item>by</item>
+            <item>where</item>
+
+            <item>vararg</item>
+            <item>get</item>
+            <item>set</item>
+
+            <item>return</item>
+            <item>throw</item>
+
+            <item>typealias</item>
+            <item>typeof</item>
+            <item>override</item>
+            <item>infix</item>
+            <item>operator</item>
+        </list>
+        <list name="controlFlowKeyword">
+            <item>if</item>
+            <item>else</item>
+            <item>when</item>
+
+            <item>for</item>
+            <item>while</item>
+            <item>do</item>
+
+            <item>try</item>
+            <item>catch</item>
+            <item>finally</item>
+
+            <item>continue</item>
+            <item>break</item>
+            <item>yield</item>
+        </list>
+        <list name="predeclared">
+            <item>this</item>
+            <item>super</item>
+            <item>null</item>
+            <item>true</item>
+            <item>false</item>
+        </list>
+        <list name="types">
+            <item>Unit</item>
+            <item>Nothing</item>
+
+            <item>String</item>
+            <item>Char</item>
+
+            <item>Int</item>
+            <item>Long</item>
+            <item>Byte</item>
+            <item>Short</item>
+            <item>Float</item>
+            <item>Double</item>
+
+            <item>Boolean</item>
+        </list>
+
+        <contexts>
+            <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+                <RegExpr attribute="Keyword" context="Imports" String="\b(package|import)\b"/>
+                <RegExpr attribute="Keyword" context="FunctionDeclaration" String="\bfun\b"/>
+                <RegExpr attribute="Keyword" context="TypeDeclaration" String="\b(object|class|interface)\b"/>
+                <RegExpr attribute="Keyword" context="VariableDeclaration" String="\b(val|var)\b"/>
+
+                <keyword attribute="Keyword" context="#stay" String="predeclared"/>
+                <keyword attribute="Keyword" context="#stay" String="keywords"/>
+                <keyword attribute="ControlFlowKeyword" context="#stay" String="controlFlowKeyword"/>
+                <keyword attribute="Keyword" context="#stay" String="types"/>
+
+                <StringDetect attribute="String" String="&quot;&quot;&quot;" context="MultiLineDoubleString" beginRegion="MultiLineString"/>
+                <DetectChar attribute="String" context="String" char="&quot;"/>
+                <DetectChar attribute="Char" context="Char" char="'"/>
+
+                <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>
+                <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>
+
+                <Float attribute="Float" context="#stay">
+                    <AnyChar String="fF" attribute="Float" context="#stay"/>
+                </Float>
+                <Int attribute="Decimal" context="#stay">
+                    <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
+                </Int>
+
+                <RegExpr attribute="Annotation" context="#stay" String="@[_\w][_\w\d]*"/>
+                <RegExpr attribute="TODO" context="#stay" String="TODO\s*\([^)]*\)" />
+                <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+                <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+                <Detect2Chars attribute="Comment" context="CommentSingleLine" char="#" char1="!" />
+            </context>
+
+            <context attribute="Normal Text" lineEndContext="#pop" name="Imports">
+                <DetectChar attribute="Symbol" context="#pop" char=";" />
+                <StringDetect attribute="Keyword" context="TypeName" String="as" />
+
+                <RegExpr attribute="Imports" context="#stay" String="\b[_\w][_\w\d]*(\.[_\w][_\w\d]*)*(\.\*)?"/>
+            </context>
+
+            <context name="VariableDeclaration" lineEndContext="#stay" attribute="Normal Text">
+                <DetectIdentifier attribute="Variable" context="#pop" />
+            </context>
+
+            <context name="TypeDeclaration" lineEndContext="#stay" attribute="Normal Text">
+                <keyword attribute="Keyword" context="#stay" String="keywords"/>
+
+                <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />
+                <DetectChar attribute="Symbol" context="Parameters" char="(" />
+                <DetectChar attribute="Symbol" context="SuperTypes" char=":" />
+                <DetectChar attribute="Symbol" context="#pop" char="{" lookAhead="true" />
+            </context>
+
+            <context name="SuperTypes" lineEndContext="#stay" attribute="Normal Text">
+                <keyword attribute="Keyword" context="#pop#pop" String="keywords" lookAhead="true" />
+
+                <DetectChar attribute="Symbol" context="#stay" char="," />
+                <DetectChar attribute="Symbol" context="#pop" char="{" lookAhead="true" />
+                <DetectChar attribute="Symbol" context="Parameters" char="(" />
+                <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />
+
+                <RegExpr attribute="Data Type" context="#stay" String="[_\w][_\w\d]*" />
+            </context>
+
+            <context name="FunctionDeclaration" lineEndContext="#stay" attribute="Normal Text">
+                <keyword attribute="Keyword" context="#stay" String="keywords"/>
+                <DetectChar attribute="Symbol" context="#stay" char="." />
+                <DetectChar attribute="Symbol" context="Parameters" char="(" />
+                <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />
+                <DetectChar attribute="Symbol" context="TypeName" char=":" />
+
+                <AnyChar attribute="Symbol" context="#pop" String="{=" lookAhead="true" />
+
+                <RegExpr attribute="Function" context="#stay" String="[_\w][_\w\d]*" />
+            </context>
+
+            <context name="TypeParameters" lineEndContext="#stay" attribute="Normal Text">
+                <keyword attribute="Keyword" context="#stay" String="keywords"/>
+
+                <DetectChar attribute="Symbol" context="TypeName" char=":" />
+                <DetectChar attribute="Symbol" context="#stay" char="*" />
+
+                <DetectChar attribute="Symbol" context="#pop" char="&gt;" />
+                <DetectChar attribute="Symbol" context="TypeParameters" char="&lt;" />
+
+                <RegExpr attribute="Data Type" context="#stay" String="[_\w][_\w\d]*[?]?" />
+            </context>
+
+            <context name="Parameters" lineEndContext="#stay" attribute="Normal Text">
+                <keyword attribute="Keyword" context="#stay" String="keywords" />
+                <DetectChar attribute="Symbol" context="#pop" char=")" />
+                <DetectChar attribute="Symbol" context="TypeName" char=":" />
+                <DetectChar attribute="Symbol" context="Expression" char="=" />
+                <RegExpr attribute="Variable" context="#stay" String="[_\w][_\w\d]*" />
+            </context>
+
+            <context name="TypeName" lineEndContext="#stay" attribute="Normal Text">
+                <DetectChar attribute="Symbol" context="#pop" char="*" />
+                <DetectChar attribute="Symbol" context="FunctionType" char="(" />
+                <StringDetect attribute="Symbol" context="#stay" String="-&gt;" />
+                <RegExpr attribute="Data Type" context="#pop" String="[_\w][_\w\d]*[?]?" />
+            </context>
+
+            <context name="FunctionType" lineEndContext="#stay" attribute="Normal Text">
+                <DetectChar attribute="Symbol" context="#pop" char=")" />
+                <RegExpr attribute="Data Type" context="#stay" String="[_\w][_\w\d]*[?]?" />
+                <StringDetect attribute="Symbol" context="#stay" String="-&gt;" />
+                <StringDetect attribute="Symbol" context="#stay" String="," />
+            </context>
+
+            <context name="Expression" lineEndContext="#stay" attribute="Normal Text">
+                <DetectChar attribute="Symbol" context="ExpressionInner" char="(" />
+                <DetectChar attribute="Symbol" context="#pop" char=")" lookAhead="true" />
+
+                <DetectChar attribute="Symbol" context="ExpressionInner" char="{" />
+                <DetectChar attribute="Symbol" context="#pop" char="}" lookAhead="true" />
+
+                <RegExpr attribute="Symbol" context="TypeParameters" String="&lt;\w+" lookAhead="true" />
+
+                <DetectChar attribute="Char" context="Char" char="'"/>
+                <StringDetect attribute="String" String="&quot;&quot;&quot;" context="MultiLineDoubleString" beginRegion="MultiLineString"/>
+                <DetectChar attribute="String" context="String" char="&quot;"/>
+
+                <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>
+                <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>
+
+                <DetectChar attribute="Symbol" context="#pop" char=","/>
+            </context>
+
+            <context name="ExpressionInner" lineEndContext="#stay" attribute="Normal Text">
+                <DetectChar attribute="Symbol" context="ExpressionInner" char="(" />
+                <DetectChar attribute="Symbol" context="#pop" char=")" />
+
+                <DetectChar attribute="Symbol" context="ExpressionInner" char="{" />
+                <DetectChar attribute="Symbol" context="#pop" char="}" />
+
+                <RegExpr attribute="Symbol" context="TypeParameters" String="&lt;\w+" lookAhead="true" />
+
+                <DetectChar attribute="Char" context="Char" char="'"/>
+                <StringDetect attribute="String" String="&quot;&quot;&quot;" context="MultiLineDoubleString" beginRegion="MultiLineString"/>
+                <DetectChar attribute="String" context="String" char="&quot;"/>
+
+                <Detect2Chars attribute="Comment" context="CommentSingleLine" char="/" char1="/"/>
+                <Detect2Chars attribute="Comment" context="CommentMultiline" char="/" char1="*" beginRegion="Comment"/>
+            </context>
+
+            <context attribute="Char" lineEndContext="#pop" name="Char">
+                <RegExpr attribute="String Char" context="#stay" String="\\u[0-9a-fA-F]{4}"/>
+                <DetectChar attribute="Char" context="#pop" char="'"/>
+            </context>
+            <context attribute="String" lineEndContext="#pop" name="String">
+                <LineContinue attribute="String" context="#stay"/>
+                <HlCStringChar attribute="String Char" context="#stay"/>
+                <RegExpr attribute="String Char" context="#stay" String="\\u[0-9a-fA-F]{4}"/>
+                <DetectChar attribute="String" context="#pop" char="&quot;"/>
+            </context>
+            <context attribute="String" lineEndContext="#stay" name="MultiLineDoubleString">
+                <StringDetect attribute="String" context="#pop" String="&quot;&quot;&quot;" endRegion="MultiLineString"/>
+            </context>
+
+            <context attribute="Comment" lineEndContext="#pop" name="CommentSingleLine">
+                <StringDetect attribute="TODO" context="#stay" String="TODO" />
+            </context>
+            <context attribute="Comment" lineEndContext="#stay" name="CommentMultiline">
+                <StringDetect attribute="TODO" context="#stay" String="TODO" />
+                <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+            </context>
+
+            <context attribute="Symbol" lineEndContext="#stay" name="symbols">
+                <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;+,-/.*&lt;=&gt;?[]|~^&#59;" />
+            </context>
+        </contexts>
+
+        <itemDatas>
+            <itemData name="Normal Text"  defStyleNum="dsNormal"/>
+            <itemData name="Keyword"      defStyleNum="dsKeyword"/>
+            <itemData name="ControlFlowKeyword" defStyleNum="dsControlFlow" />
+            <itemData name="Function"     defStyleNum="dsFunction"/>
+            <itemData name="Variable"     defStyleNum="dsVariable"/>
+            <itemData name="Imports"      defStyleNum="dsImport"/>
+            <itemData name="Annotation"   defStyleNum="dsAttribute"/>
+            <itemData name="Data Type"    defStyleNum="dsDataType" bold="true" />
+            <itemData name="Decimal"      defStyleNum="dsDecVal"/>
+            <itemData name="Hex"          defStyleNum="dsBaseN"/>
+            <itemData name="Float"        defStyleNum="dsFloat"/>
+            <itemData name="Char"         defStyleNum="dsChar"/>
+            <itemData name="String"       defStyleNum="dsString"/>
+            <itemData name="String Char"  defStyleNum="dsSpecialChar"/>
+            <itemData name="Comment"      defStyleNum="dsComment"/>
+            <itemData name="Symbol"       defStyleNum="dsNormal"/>
+            <itemData name="TODO"         defStyleNum="dsAlert" />
+    </itemDatas>
+    </highlighting>
+    <general>
+        <comments>
+            <comment name="singleLine" start="//"/>
+            <comment name="multiLine" start="/*" end="*/"/>
+        </comments>
+        <keywords casesensitive="1"/>
+    </general>
+</language>
diff --git a/xml/language.dtd b/xml/language.dtd
new file mode 100644
--- /dev/null
+++ b/xml/language.dtd
@@ -0,0 +1,556 @@
+<!--
+        Copyright (c) 2001 Joseph Wenninger <jowenn@kde.org>
+        modified (c) 2002 Anders Lund <anders@alweb.dk>
+        modified (c) 2003 Simon Huerlimann <simon.huerlimann@access.unizh.ch>
+        modified (c) 2005 Dominik Haumann <dhdev@gmx.de>
+        modified (c) 2008 Wilbert Berendsen <info@wilbertberendsen.nl>
+
+        This file describes the XML format used for syntax highlight descriptions
+        for the Kate text editor (http://kate.kde.org), which is part of the KDE
+        desktop environment (http://www.kde.org).
+        You'll find the "Writing a Kate Highlighting XML File HOWTO" at
+        http://kate.kde.org/doc/hlhowto.php
+
+        This format is identified using the SYSTEM identifier
+        SYSTEM "language.dtd"
+
+        Files using this format should include a DOCTYPE declaration like this:
+        <!DOCTYPE language SYSTEM "language.dtd">
+
+        You can validate your syntax files using checkXML from the development
+        package of kdelibs:
+         checkXML yourSyntax.xml
+        If you see any 'validity error' lines, you should fix them. If you get
+        a lot of 'No template matches' lines, everything's just fine. You've
+        produced a valid syntax file!
+
+        It's also possible to use the (much faster) xmllint which comes with the
+        GNOME (oops:-) XML Library libxml2:
+
+         xmllint - -dtdvalid language.dtd yourSyntax.xml
+	 (don't use a space between the two - That's just because XML
+         comments don't allow that:-(
+
+        To use your syntax file, copy it to .kde/share/apps/katepart/syntax/ in
+        your home directory. You have to open a new instance of kwrite/kate to use
+        the new syntax file.
+
+TODO
+  - find a more readable way for the - -dtdvalid stuff, it's just annoying
+    xml comments don't allow it.
+-->
+
+<!-- Entity declarations
+  You can use '&per;' instead of '.'. This seems to be useful in <item> elements.
+
+TODO
+  - Are there any more such pre-defined entities?
+-->
+<!ENTITY per "." >
+
+<!-- Boolean type
+  Attributes that are of type boolean allow the following values:
+  'true', 'TRUE' and '1' all meaning true,
+  'false', FALSE' and '0' all meaning false.
+
+  It is encouraged to use 'true' and 'false' instead of the alternatives.
+-->
+<!ENTITY % boolean "true|false|TRUE|FALSE|0|1">
+
+<!-- Default Styles
+  Allowed predefined default styles for itemData, available are:
+    - dsNormal,   used for normal text
+    - dsKeyword,  used for keywords
+    - dsDataType, used for data types
+    - dsDecVal,   used for decimal values
+    - dsBaseN,    used for values with a base other than 10
+    - dsFloat,    used for float values
+    - dsChar,     used for a character
+    - dsString,   used for strings
+    - dsComment,  used for comments
+    - dsOthers,   used for 'other' things
+    - dsAlert,    used for warning messages
+    - dsFunction, used for function calls
+    - dsRegionMarker, used for region markers
+    - dsError,    used for error highlighting.
+-->
+<!ENTITY % defStyles "dsNormal|dsKeyword|dsDataType|dsDecVal|dsBaseN|dsFloat|dsChar|dsString|dsComment|dsOthers|dsAlert|dsFunction|dsRegionMarker|dsError">
+
+<!-- Language specification
+  name:        The name of this syntax description. Used in the Highlightning Mode menu
+  section:     The logical group to which this syntax description belongs. Used for sub menus
+  extensions:  A file glob or pattern to decide for which documents to use this syntax description
+  style:       Attribute style that this highlighter provides to kate scripts [optional]
+  mimetype:    A list of mimetypes to decide for which documents to use this syntax description [optional]
+  version:     Version number of this syntax description [optional]
+  kateversion: Kate version required for using this file [optional]
+  casesensitive: Whether text is matched case sensitive. [boolean, optional, default=true] FIXME: This is not implemented yet
+  priority:    Priority of this language, if more than one are usable for the file [optional]
+  author:      Name of author of this hl file [optional]
+  license:     License for this hl file [optional]
+  indenter:    Name of the Indenter to use for this highlighting mode per default, like "cstyle" [optional]
+  hidden:      Should it be hidden in menu [boolean, optional, default=false]
+
+TODO
+  - Which matches are affected by casesensitive? keyword, RegExpr, StringDetect, WordDetect...?
+
+WARNING: due to helper scripts, the language opening tag must be on a
+*single line* and *cannot* be split in multiple lines.
+
+-->
+<!ELEMENT language (highlighting, general?, spellchecking?)>
+<!ATTLIST language
+  name          CDATA       #REQUIRED
+  section       NMTOKEN     #REQUIRED
+  extensions    CDATA       #REQUIRED
+  version       CDATA       #REQUIRED
+  kateversion   CDATA       #REQUIRED
+  style         CDATA       #IMPLIED
+  mimetype      CDATA       #IMPLIED
+  casesensitive (%boolean;) #IMPLIED
+  priority      CDATA       #IMPLIED
+  author        CDATA       #IMPLIED
+  license       CDATA       #IMPLIED
+  indenter      CDATA       #IMPLIED
+  hidden        (%boolean;) #IMPLIED
+>
+
+<!-- General options -->
+<!ELEMENT general (folding|comments|keywords|indentation|emptyLines)*>
+
+<!-- List of folding
+  indentationsensitive: If true, the code folding is indentation based.
+-->
+<!ELEMENT folding EMPTY>
+<!ATTLIST folding
+  indentationsensitive (%boolean;) #IMPLIED
+>
+
+<!-- List of comments -->
+<!ELEMENT comments (comment)+>
+
+<!-- Comment specification
+  name:         Type of this comment. Allowed are 'singleLine' and 'multiLine'
+  start:        The comment starts with this string
+  end:          The comment ends with this string [optional]
+  region:       The region name of the foldable multiline comment. If you have
+                beginRegion="Comment" ... endRegion="Comment" you should use
+                region="Comment". This way uncomment works even if you do not
+                select all the text of the multiline comment.
+  position:     only availalbe for type singleLine. Default is column0, to insert
+                the single line comment characters after the whitespaces
+                (= before the first non space) set position to "afterwhitespace"
+-->
+<!ELEMENT comment EMPTY>
+<!ATTLIST comment
+  name      (singleLine|multiLine)  #REQUIRED
+  start     CDATA                   #REQUIRED
+  end       CDATA                   #IMPLIED
+  region    CDATA                   #IMPLIED
+  position  (afterwhitespace)       #IMPLIED
+>
+
+<!-- Keyword options
+  casesensitive:        Whether keywords are matched case sensitive. [boolean, optional, default=true]
+  weakDeliminator:      Add weak deliminators [optional, default: ""]
+  additionalDeliminator: Add deliminators [optional]
+  wordWrapDeliminator:  characters that are used to wrap long lines [optional]
+
+-->
+<!ELEMENT keywords EMPTY>
+<!ATTLIST keywords
+  casesensitive         (%boolean;) #IMPLIED
+  weakDeliminator       CDATA       #IMPLIED
+  additionalDeliminator CDATA       #IMPLIED
+  wordWrapDeliminator   CDATA       #IMPLIED
+>
+
+<!-- Indentation options
+  mode:        indentation mode to use
+
+TODO
+  - Explain (weak) deliminators
+-->
+<!ELEMENT indentation EMPTY>
+<!ATTLIST indentation
+  mode         CDATA   #IMPLIED
+>
+
+<!-- Treat lines that match a given regular expression as empty line. This is
+  needed for example in Python for comments (#...), as then the indentation
+  based folding should ignore the line.
+  This is only implemented for indentation based folding. If the folding
+  is not indentation based, the emptyLines are not used.
+-->
+<!ELEMENT emptyLines (emptyLine*)>
+
+<!-- One empty line regular expression.
+  regexpr:       The regular expression, example from python: ^\s*#.*$
+  casesensitive: Sets, whether the regular expression match is performed case sesitive
+-->
+<!ELEMENT emptyLine EMPTY>
+<!ATTLIST emptyLine
+  regexpr       CDATA       #REQUIRED
+  casesensitive (%boolean;) #IMPLIED
+>
+
+
+<!-- Highlighting specification -->
+<!ELEMENT highlighting (list*, contexts, itemDatas)>
+<!ATTLIST highlighting
+>
+
+<!-- List of items
+  name:     Name of this list
+-->
+<!ELEMENT list (item)*>
+<!ATTLIST list
+  name  CDATA   #REQUIRED
+>
+
+<!-- List item
+  contains string used in <keyword>
+-->
+<!ELEMENT item (#PCDATA)>
+
+<!-- List of contexts -->
+<!ELEMENT contexts (context)+>
+
+<!-- context specification
+  name:             The name of this context specification. Used in '*Context' attributes [optional]
+  attribute:        The name of the ItemData to be used for matching text
+  lineEndContext:   Next context if end of line is encountered
+  lineBeginContext: Next context if begin of line is encountered [optional]
+  fallthrough:      Use a fallthrough context [optional]
+  fallthroughContext: Fall through to this context [optional]
+  dynamic:          Dynamic context [boolean, optional]
+  noIndentationBasedFolding: Python uses indentation based folding. However, Python has parts where
+                    it does not use indentation based folding (e.g. for """ strings). In this case
+		    switch to an own context and set this attribute to true. Then the indentation
+		    based folding will ignore this parts and not change folding markers. [optional]
+
+TODO:
+  - Explain fallthrough.
+  - Do we need fallthrough at all? It could be true, if fallthroughContext is set, false otherwise.
+  - Make lineEndContext optional, defaults to '#stay'. Reasonable?
+-->
+<!ELEMENT context (keyword | Float | HlCOct | HlCHex | HlCFloat | Int | DetectChar | Detect2Chars | AnyChar | StringDetect | WordDetect | RegExpr | LineContinue | HlCStringChar | RangeDetect | HlCChar | IncludeRules | DetectSpaces | DetectIdentifier)*>
+<!ATTLIST context
+  name              CDATA       #IMPLIED
+  attribute         CDATA       #REQUIRED
+  lineEndContext    CDATA       #REQUIRED
+  lineBeginContext  CDATA       #IMPLIED
+  fallthrough       (%boolean;) #IMPLIED
+  fallthroughContext CDATA      #IMPLIED
+  dynamic           (%boolean;) #IMPLIED
+  noIndentationBasedFolding (%boolean;) #IMPLIED
+>
+
+<!-- Common attributes
+  attribute:    The name of the ItemData to be used for matching text
+  context:      The name of the context to go to when this rule matches
+  beginRegion:  Begin a region of type beginRegion [optional]
+  endRegion:    End a region of type endRegion [optional]
+  firstNonSpace: should this rule only match at first non-space char in line?
+  column: should this rule only match at given column in line (column == count of chars in front)
+-->
+<!ENTITY % commonAttributes
+ "attribute     CDATA       #IMPLIED
+  context       CDATA       #IMPLIED
+  beginRegion   CDATA       #IMPLIED
+  endRegion     CDATA       #IMPLIED
+  lookAhead     (%boolean;) #IMPLIED
+  firstNonSpace (%boolean;) #IMPLIED
+  column        CDATA       #IMPLIED"
+>
+
+<!-- Detect members of a keyword list
+  commonAttributes: Common attributes
+  insensitive:      Is this list case-insensitive? [boolean, optional, see note]
+  String:           Name of the list
+  weakDelimiter:    Use weak deliminator
+
+  By default, case sensitivity is determined from <keywords casesensitive> in
+  <general> (default=true), but can be overridden per-list with 'insensitive'.
+
+TODO:
+  - Should be weakDeliminator
+  - Explain deliminator
+  - Doesn't seem to be supported in highligh.cpp
+-->
+<!ELEMENT keyword EMPTY>
+<!ATTLIST keyword
+  %commonAttributes;
+  insensitive   CDATA #IMPLIED
+  String        CDATA #REQUIRED
+  weakDelimiter CDATA #IMPLIED
+>
+
+<!-- Detect a floating point number
+  commonAttributes: Common attributes
+  AnyChar is allowed as a child rule. TODO: The source code allows
+  *all* rules to be child rules, shall we change the DTD in some way?
+-->
+<!ELEMENT Float (AnyChar)*>
+<!ATTLIST Float
+  %commonAttributes;
+>
+
+<!-- Detect an octal number
+  commonAttributes: Common attributes
+-->
+<!ELEMENT HlCOct EMPTY>
+<!ATTLIST HlCOct
+  %commonAttributes;
+>
+
+<!-- Detect a hexadecimal number
+  commonAttributes: Common attributes
+-->
+<!ELEMENT HlCHex EMPTY>
+<!ATTLIST HlCHex
+  %commonAttributes;
+>
+
+<!-- Detect a C-style floating point number
+  commonAttributes: Common attributes
+-->
+<!ELEMENT HlCFloat EMPTY>
+<!ATTLIST HlCFloat
+  %commonAttributes;
+>
+
+<!-- Detect C-style character
+  commonAttributes: Common attributes
+
+TODO
+  - Did I get this right?
+-->
+<!ELEMENT HlCChar EMPTY>
+<!ATTLIST HlCChar
+  %commonAttributes;
+>
+
+<!-- Detect an integer number
+  commonAttributes: Common attributes
+  StringDetect is allowed as a child rule. TODO: The source code allows
+  *all* rules to be child rules, shall we change the DTD in some way?
+-->
+<!ELEMENT Int (StringDetect)*>
+<!ATTLIST Int
+  %commonAttributes;
+>
+
+<!-- Detect a single character
+  commonAttributes: Common attributes
+  char:             The character to look for
+  dynamic:          Uses 0 ... 9 as placeholders for dynamic arguments (in fact, first char of arg...) [boolean, optional, default=false]
+-->
+<!ELEMENT DetectChar EMPTY>
+<!ATTLIST DetectChar
+  %commonAttributes;
+  char          CDATA   #REQUIRED
+  dynamic       (%boolean;) #IMPLIED
+>
+
+<!-- Detect two characters
+  commonAttributes: Common attributes
+  char:             The first character
+  char1:            The second character
+  dynamic:          Uses 0 ... 9 as placeholders for dynamic arguments (in fact, first char of arg...) [boolean, optional, default=false]
+-->
+<!ELEMENT Detect2Chars EMPTY>
+<!ATTLIST Detect2Chars
+  %commonAttributes;
+  char          CDATA   #REQUIRED
+  char1         CDATA   #REQUIRED
+  dynamic       (%boolean;) #IMPLIED
+>
+
+<!-- Detect any group of characters
+  commonAttributes: Common attributes
+  String:           A string representing the characters to look for
+
+TODO
+  - Description is not descriptive enough, I'm not sure what it exactly does:-(
+-->
+<!ELEMENT AnyChar EMPTY>
+<!ATTLIST AnyChar
+  %commonAttributes;
+  String        CDATA   #REQUIRED
+>
+
+<!-- Detect a string
+  commonAttributes: Common attributes
+  String:           The string to look for
+  insensitive:      Whether the string is matched case INsensitive. [boolean, optional, default=false]
+  dynamic:          Uses %0 ... %9 as placeholders for dynamic arguments [boolean, optional, default=false]
+
+TODO
+  - What's default of insensitive? I'm not sure...
+-->
+<!ELEMENT StringDetect EMPTY>
+<!ATTLIST StringDetect
+  %commonAttributes;
+  String        CDATA       #REQUIRED
+  insensitive   (%boolean;)  #IMPLIED
+  dynamic       (%boolean;) #IMPLIED
+>
+
+<!-- Detect a word, i.e. a string at word boundaries
+  commonAttributes: Common attributes
+  String:           The string to look for
+  insensitive:      Whether the string is matched case INsensitive. [boolean, optional, default=false]
+  dynamic:          Uses %0 ... %9 as placeholders for dynamic arguments [boolean, optional, default=false]
+
+TODO
+  - What's default of insensitive? I'm not sure...
+-->
+<!ELEMENT WordDetect EMPTY>
+<!ATTLIST WordDetect
+  %commonAttributes;
+  String        CDATA       #REQUIRED
+  insensitive   (%boolean;)  #IMPLIED
+  dynamic       (%boolean;) #IMPLIED
+>
+
+<!-- Detect a match of a regular expression
+  commonAttributes: Common attributes
+  String:           The regular expression pattern
+  insensitive:      Whether the text is matched case INsensitive. [boolean, optional, default=false]
+  minimal:          Wheather to use minimal matching for wild cards in the pattern [boolean, optional, default='false']
+  dynamic:          Uses %0 ... %9 as placeholders for dynamic arguments [boolean, optional, default=false]
+-->
+<!ELEMENT RegExpr EMPTY>
+<!ATTLIST RegExpr
+  %commonAttributes;
+  String        CDATA       #REQUIRED
+  insensitive   (%boolean;) #IMPLIED
+  minimal       (%boolean;) #IMPLIED
+  dynamic       (%boolean;) #IMPLIED
+>
+
+<!-- Detect a line continuation
+  commonAttributes: Common attributes
+-->
+<!ELEMENT LineContinue EMPTY>
+<!ATTLIST LineContinue
+  %commonAttributes;
+>
+
+<!-- Detect a C-style escaped character
+  commonAttributes: Common attributes
+
+TODO:
+  - Did I get this right? Only one character, or a string?
+-->
+<!ELEMENT HlCStringChar EMPTY>
+<!ATTLIST HlCStringChar
+  %commonAttributes;
+>
+
+<!-- Detect a range of characters
+  commonAttributes: Common attributes
+  char:             The character starting the range
+  char1:            The character terminating the range
+-->
+<!ELEMENT RangeDetect EMPTY>
+<!ATTLIST RangeDetect
+  %commonAttributes;
+  char          CDATA   #REQUIRED
+  char1         CDATA   #REQUIRED
+>
+
+<!-- Include Rules of another context
+  context:             The name of the context to include
+  includeAttrib:       If this is true, the host context of the IncludeRules
+                       will be given the attribute of the source context
+-->
+<!ELEMENT IncludeRules EMPTY>
+<!ATTLIST IncludeRules
+  context       CDATA   #REQUIRED
+  includeAttrib (%boolean;) #IMPLIED
+>
+
+<!-- Detect all following Spaces
+-->
+<!ELEMENT DetectSpaces EMPTY>
+<!ATTLIST DetectSpaces
+          %commonAttributes;
+>
+
+<!-- Detect an Identifier ( == LETTER(LETTER|NUMBER|_)*)
+     -->
+<!ELEMENT DetectIdentifier EMPTY>
+<!ATTLIST DetectIdentifier
+          %commonAttributes;
+>
+
+<!-- List of attributes -->
+<!ELEMENT itemDatas (itemData)+>
+<!ATTLIST itemDatas
+>
+
+<!-- Attribute specification
+  name          CDATA   #REQUIRED       The name of this attribute
+  defStyleNum   CDATA   #REQUIRED       The index of the default style to use
+  color         CDATA   #IMPLIED        Color for this style, either a hex triplet, a name or some other format recognized by Qt [optional]
+  selColor      CDATA   #IMPLIED        The color for this style when text is selected [optional]
+  italic        CDATA   #IMPLIED        Whether this attribute should be rendered using an italic typeface [optional, boolean, default=false]
+  bold          CDATA   #IMPLIED        Whether this attribute should be renederd using a bold typeface [optional, boolean, default=false]
+  underline     CDATA   #IMPLIED        Whether this attribute should be underlined [optional, boolean, default=false]
+  strikeOut     CDATA   #IMPLIED        Whether this attribute should be striked out [optional, boolean, default=false]
+  backgroundColor    CDATA #IMPLIED     The background color for this style [optional]
+  selBackgroundColor CDATA #IMPLIED     The background color for this style when text is selected [optional]
+  spellChecking      CDATA #IMPLIED     Whether this attribute should be spell checked [optional, boolean, default=true]
+-->
+<!ELEMENT itemData EMPTY>
+<!ATTLIST itemData
+  name          CDATA   #REQUIRED
+  defStyleNum   (%defStyles;) #REQUIRED
+  color         CDATA   #IMPLIED
+  selColor      CDATA   #IMPLIED
+  italic        (%boolean;) #IMPLIED
+  bold          (%boolean;) #IMPLIED
+  underline     (%boolean;) #IMPLIED
+  strikeOut     (%boolean;) #IMPLIED
+  backgroundColor    CDATA  #IMPLIED
+  selBackgroundColor CDATA  #IMPLIED
+  spellChecking (%boolean;) #IMPLIED
+>
+
+<!-- encodingPolicy type
+  Attributes that are of type 'encodingPolicy' allow the following values:
+  'EncodeAlways', 'EncodeWhenPresent' and 'EncodeNever'
+-->
+<!ENTITY % encodingPolicy "EncodeAlways|EncodeWhenPresent|EncodeNever">
+
+<!-- Spellchecking specification -->
+<!ELEMENT spellchecking (configuration?, encodings?)>
+<!ATTLIST spellchecking
+>
+
+<!-- List of character encodings -->
+<!ELEMENT encodings (encoding)+>
+<!ATTLIST encodings
+>
+
+<!-- Encoding specification
+  sequence       CDATA        #REQUIRED  Character sequence of the encoding; must not contain new-line characters, i.e. \n or \r
+  character      CDATA        #IMPLIED   Encoded character; must be of length 1
+  ignored        (%boolean;)  #IMPLIED   If true, then the encoding sequence is ignored for spellchecking
+-->
+<!ELEMENT encoding EMPTY>
+<!ATTLIST encoding
+  string         CDATA        #REQUIRED
+  char           CDATA        #IMPLIED
+  ignored        (%boolean;)  #IMPLIED
+>
+
+<!-- Spellchecking configuration
+  encodingReplacementPolicy       (%encodingPolicy;)     #IMPLIED  Policy for replacing encoded characters in replacements for misspelled words
+-->
+<!ELEMENT configuration EMPTY>
+<!ATTLIST configuration
+  encodingReplacementPolicy   (%encodingPolicy;)   #IMPLIED
+>
diff --git a/xml/latex.xml b/xml/latex.xml
new file mode 100644
--- /dev/null
+++ b/xml/latex.xml
@@ -0,0 +1,700 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="LaTeX" version="2" section="Markup" kateversion="5.0" priority="10" extensions="*.tex;*.ltx;*.dtx;*.sty;*.cls;*.bbx;*.cbx;*.lbx;*.tikz" mimetype="text/x-tex" casesensitive="1" author="Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net)+Holger Danielsson (holger.danielsson@versanet.de)+Michel Ludwig (michel.ludwig@kdemail.net)+Thomas Braun (thomas.braun@virtuell-zuhause.de)" license="LGPL" >
+  <highlighting>
+    <contexts>
+      <!-- Normal text -->
+      <context name="Normal Text" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr String="\\begin(?=[^a-zA-Z])" attribute="Structure" context="FindBeginEnvironment" beginRegion="block" />
+        <RegExpr String="\\end(?=[^a-zA-Z])" attribute="Structure" context="FindEndEnvironment" />
+        <RegExpr String="\\(cite|citet|citep|parencite|autocite|Autocite|citetitle)\*(?=[^a-zA-Z])" attribute="Structure" context="Label"/>
+        <RegExpr String="\\(documentclass|includegraphics|include|usepackage|bibliography|bibliographystyle)(?=[^a-zA-Z])" attribute="Builtin Macro" context="FancyLabel"/>
+        <RegExpr String="\\(cites|Cites|parencites|Parencites|autocites|Autocites|supercites|footcites|Footcites)(?=[^a-zA-Z])" attribute="Structure" context="FancyLabel"/>
+        <RegExpr String="\\(cite|citet|citep|nocite|Cite|parencite|Parencite|footcite|Footcite|textcite|Textcite|supercite|autocite|Autocite|citeauthor|Citeauthor|citetitle|citeyear|citeurl|nocite|fullcite|footfullcite)(?=[^a-zA-Z])" attribute="Structure" context="Label"/>
+        <RegExpr String="\\(subref\*?|cref\*?|label|pageref|autoref|ref|vpageref|vref|pagecite|eqref)(?=[^a-zA-Z])" attribute="Structure" context="Label"/>
+        <RegExpr String="\\(part|chapter|section|subsection|subsubsection|paragraph|subparagraph)\*?\s*(?=[\{\[])" attribute="Structure" context="Sectioning"/>
+        <RegExpr String="\\(input|hspace|hspace\*|vspace|vspace\*|rule|special|setlength|newboolean|setboolean|setcounter|geometry|textcolor|definecolor|column)(?=[^a-zA-Z])" attribute="Macro" context="SpecialCommand"/>
+        <RegExpr String="\\(footnote)\*?\s*(?=[\{\[])" attribute="Macro" context="Footnoting"/>
+        <RegExpr String="\\(renewcommand|providenewcommand|newcommand)\*?(?=[^a-zA-Z])" attribute="Macro" context="NewCommand"/>
+        <RegExpr String="\\(e|g|x)?def(?=[^a-zA-Z])" attribute="Macro" context="DefCommand"/>
+        <RegExpr String="&lt;&lt;.*&gt;&gt;=" attribute="Normal Text" context="NoWeb" />
+        <StringDetect String="\(" attribute="Math" context="MathMode" />
+        <StringDetect String="\[" attribute="Math" context="MathModeEquation" beginRegion="mathMode" />
+        <StringDetect String="\iffalse" attribute="Comment" context="Multiline Comment"/>
+        <StringDetect String="\ensuremath{" attribute="Math" context="MathModeEnsure"/>
+        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
+        <StringDetect String="$$" attribute="Math" context="MathModeDisplay" beginRegion="mathMode" />
+        <DetectChar char="$" attribute="Math" context="MathMode" />
+        <RegExpr String="%\s*BEGIN.*$" attribute="Region Marker" context="#stay" beginRegion="regionMarker" firstNonSpace="true" />
+        <RegExpr String="%\s*END.*$" attribute="Region Marker" context="#stay" endRegion="regionMarker" firstNonSpace="true" />
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+      </context>
+
+        <!-- NoWeb -->
+      <context name="NoWeb" attribute="Normal Text" lineEndContext="#stay" >
+        <RegExpr String="^\s*@\s*" attribute="Normal Text" context="#pop" />
+      </context>
+
+      <!-- LaTeX sectioning commands -->
+      <context name="Sectioning" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\[[^\]]*\]" attribute="Normal Text" context="#stay"/>
+        <DetectChar char=" " attribute="Normal Text" context="#stay"/>
+        <DetectChar char="{" attribute="Normal Text" context="SectioningInside"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+      </context>
+      <context name="SectioningInside" attribute="Sectioning Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" context="SectioningInside"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <StringDetect String="\(" attribute="Sectioning Math" context="SectioningMathMode" />
+        <DetectChar char="\" attribute="Sectioning Macro" context="SectioningContrSeq"/>
+        <DetectChar char="$" attribute="Sectioning Math" context="SectioningMathMode" />
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+      </context>
+      <context name="SectioningContrSeq" attribute="Macro" lineEndContext="#pop">
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z]+(\+?|\*{0,3})" attribute="Sectioning Macro" context="#pop"/>
+        <RegExpr String="[^a-zA-Z]" attribute="Sectioning Macro" context="#pop" />
+      </context>
+      <context name="SectioningMathMode" attribute="Sectioning Math" lineEndContext="#stay">
+        <StringDetect String="$$" attribute="Error" context="#stay" />
+        <DetectChar char="$" attribute="Sectioning Math" context="#pop" />
+        <Detect2Chars char="\" char1=")" attribute="Sectioning Math" context="#pop" />
+        <Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
+        <DetectChar char="\" attribute="Sectioning Macro Mathmode" context="SectioningMathContrSeq"/>
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+      </context>
+      <context name="SectioningMathContrSeq" attribute="Sectioning Macro Mathmode" lineEndContext="#pop">
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z]+\*?" attribute="Sectioning Macro Mathmode" context="#pop"/>
+        <RegExpr String="[^a-zA-Z]" attribute="Sectioning Macro Mathmode" context="#pop" />
+      </context>
+
+      <!-- LaTeX Footnote commands -->
+      <context name="Footnoting" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\[[^\]]*\]" attribute="Normal Text" context="#stay"/>
+        <DetectChar char=" " attribute="Normal Text" context="#stay"/>
+        <DetectChar char="{" attribute="Normal Text" context="FootnotingInside"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+      </context>
+      <context name="FootnotingInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" context="FootnotingInside"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <StringDetect String="\(" attribute="Math" context="FootnotingMathMode" />
+        <DetectChar char="$" attribute="Math" context="FootnotingMathMode" />
+        <IncludeRules context="Normal Text" />
+      </context>
+      <context name="FootnotingMathMode" attribute="Math" lineEndContext="#stay">
+        <StringDetect String="$$" attribute="Error" context="#stay" />
+        <DetectChar char="$" attribute="Math" context="#pop" />
+        <Detect2Chars char="\" char1=")" attribute="Math" context="#pop" />
+        <Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
+        <IncludeRules context="MathMode" />
+      </context>
+
+      <!-- LaTeX commands \newcommand and \renewcommand -->
+      <context name="NewCommand" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+          <RegExpr String="\s*\{\s*" attribute="Normal Text" context="LabelParameter"/>
+          <RegExpr String="\s*(\[\d\](\[[^\]]*\])?)?\{" attribute="Normal Text" context="LabelParameter"/>
+        <DetectChar char="}" attribute="Error" context="#pop"/>
+      </context>
+
+      <!-- LaTeX command \def -->
+      <context name="DefCommand" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\s*\\[a-zA-Z]+[^\{]*\{" attribute="Normal Text" context="CommandParameterStart"/>
+        <DetectChar char="}" attribute="Error" context="#pop"/>
+      </context>
+
+      <!-- parse command argument -->
+      <context name="CommandParameterStart" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" context="CommandParameter"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop"/>
+        <RegExpr String="\\." attribute="Normal Text" context="#stay" />
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+      </context>
+      <context name="CommandParameter" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" context="CommandParameter"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <RegExpr String="\\." attribute="Normal Text" context="#stay" />
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+      </context>
+
+      <!-- LaTeX command in text mode -->
+      <context name="ContrSeq" attribute="Macro" lineEndContext="#pop">
+        <StringDetect String="verb*" attribute="Macro" context="Verb"/>
+        <RegExpr String="(Verb|verb)(?=[^a-zA-Z])" attribute="Macro" context="Verb"/>
+        <RegExpr String="(lstinline)(?=[^a-zA-Z])" attribute="Macro" context="Lstinline"/>
+        <RegExpr String="mint(?=[^a-zA-Z])" attribute="Macro" context="MintParam"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z@]+(\+?|\*{0,3})" attribute="Macro" context="#pop"/>
+        <RegExpr String="[^a-zA-Z]" attribute="Macro" context="#pop" />
+      </context>
+      <context name="ToEndOfLine" attribute="Normal Text" lineEndContext="#pop">
+      </context>
+
+      <!-- \mint command with parameter-->
+      <context name="MintParam" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars char="}" char1="[" attribute="Normal Text" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="Verb"/>
+        <DetectChar char="]" attribute="Normal Text" context="Verb"/>
+      </context>
+
+      <!-- verb command -->
+      <context name="Verb" attribute="Verbatim" lineEndContext="#pop#pop" >
+        <RegExpr String="(.)" attribute="Normal Text" dynamic="true" context="VerbEnd" />
+      </context>
+      <context name="VerbEnd" attribute="Verbatim" lineEndContext="#pop#pop#pop" dynamic="true" >
+        <StringDetect String="%1" attribute="Normal Text" context="#pop#pop#pop" dynamic="true" />
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[^%1\xd7]*" attribute="Verbatim" context="#stay" dynamic="true" />
+      </context>
+
+      <!-- lstinline command, different from verb as it takes options -->
+      <context name="Lstinline" attribute="Verbatim" lineEndContext="#pop#pop" >
+        <RegExpr String="\s*\[\s*" attribute="Normal Text" context="FancyLabelOption"/>
+        <RegExpr String="\s*\{\s*" attribute="Normal Text" context="LstinlineParameter"/>
+        <RegExpr String="(.)" attribute="Normal Text" dynamic="true" context="LstinlineEnd" />
+      </context>
+      <context name="LstinlineEnd" attribute="Verbatim" lineEndContext="#pop#pop#pop" dynamic="true" >
+        <StringDetect String="%1" attribute="Normal Text" context="#pop#pop#pop" dynamic="true" />
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[^%1\xd7]*" attribute="Verbatim" context="#stay" dynamic="true" />
+      </context>
+      <context name="LstinlineParameter" attribute="Verbatim" lineEndContext="#stay">
+        <RegExpr String="\s*\}\s*" attribute="Normal Text" context="#pop#pop#pop"/>
+      </context>
+
+      <!-- label -->
+      <context name="Label" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr String="\s*\{\s*" attribute="Normal Text" context="LabelParameter"/>
+        <RegExpr String="\s*\[\s*" attribute="Normal Text" context="LabelOption"/>
+        <RegExpr String="[^\[\{]+" attribute="Error" context="#stay"/>
+      </context>
+
+      <context name="LabelOption" attribute="Normal Text" lineEndContext="#stay">
+        <StringDetect String="\(" attribute="Math" context="MathMode" />
+        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
+        <DetectChar char="$" attribute="Math" context="MathMode" />
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\s*\]\s*" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <context name="LabelParameter" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\s*\}\s*" attribute="Normal Text" context="#pop#pop"/>
+      </context>
+
+      <!-- labels from biblatex commands -->
+      <context name="FancyLabel" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+              <RegExpr String="\s*\{\s*" attribute="Normal Text" context="FancyLabelParameter"/>
+              <RegExpr String="\s*\[\s*" attribute="Normal Text" context="FancyLabelOption"/>
+              <RegExpr String="\s*\(\s*" attribute="Normal Text" context="FancyLabelRoundBrackets"/>
+      </context>
+
+      <context name="FancyLabelParameter" attribute="Environment" lineEndContext="#stay">
+        <StringDetect String="\(" attribute="Math" context="MathMode" />
+        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
+        <DetectChar char="$" attribute="Math" context="MathMode" />
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\s*\}\s*" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <context name="FancyLabelOption" attribute="Option Text" lineEndContext="#stay">
+        <StringDetect String="\(" attribute="Math" context="MathMode" />
+        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
+        <DetectChar char="$" attribute="Math" context="MathMode" />
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\s*\]\s*" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <context name="FancyLabelRoundBrackets" attribute="Normal Text" lineEndContext="#stay">
+              <StringDetect String="\(" attribute="Math" context="MathMode" />
+              <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
+              <DetectChar char="$" attribute="Math" context="MathMode" />
+              <DetectChar char="%" attribute="Comment" context="Comment"/>
+              <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+              <RegExpr String="\s*\)\s*" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <!-- Special commands -->
+      <context name="SpecialCommand" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+              <RegExpr String="\s*\{\s*" attribute="Normal Text" context="SpecialCommandParameterOption"/>
+      </context>
+
+      <context name="SpecialCommandParameterOption" attribute="Option Text" lineEndContext="#stay">
+        <StringDetect String="\(" attribute="Math" context="MathMode" />
+        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
+        <DetectChar char="$" attribute="Math" context="MathMode" />
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\s*\}\s*" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <!-- end of an environment -->
+      <context name="FindEndEnvironment" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" context="EndEnvironment"/>
+        <RegExpr String="\S" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <context name="EndEnvironment" attribute="Environment" lineEndContext="#stay">
+        <RegExpr String="[a-zA-Z]" attribute="Environment" context="EndLatexEnv"/>
+        <RegExpr String="\s+" attribute="Error" context="#pop"/>
+        <RegExpr String="[^a-zA-Z]" attribute="Error" context="#pop"/>
+      </context>
+
+       <context name="EndLatexEnv" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" endRegion="block" context="#pop#pop#pop"/>
+        <RegExpr String="[a-zA-Z]+(\*)?" attribute="Environment" context="#stay"/>
+        <RegExpr String="\s+" attribute="Error" context="#stay"/>
+        <RegExpr String="[a-zA-Z]" attribute="Error" context="#pop#pop#pop"/>
+      </context>
+
+      <!-- start of an environment -->
+      <context name="FindBeginEnvironment" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" context="BeginEnvironment"/>
+        <RegExpr String="\S" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <!-- filter the environment name and check the type -->
+      <context name="BeginEnvironment" attribute="Environment" lineEndContext="#stay">
+        <StringDetect String="lstlisting" attribute="Environment" context="ListingsEnvParam"/>
+        <StringDetect String="minted" attribute="Environment" context="MintedEnvParam"/>
+        <RegExpr String="((B|L)?Verbatim)" attribute="Environment" context="VerbatimEnvParam"/>
+        <RegExpr String="(verbatim|boxedverbatim)" attribute="Environment" context="VerbatimEnv"/>
+        <RegExpr String="comment" attribute="Environment" context="CommentEnv"/>
+        <RegExpr String="(alignat|xalignat|xxalignat)" attribute="Environment" context="MathEnvParam"/>
+        <RegExpr String="(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign|IEEEeqnarray|IEEEeqnarraybox|smallmatrix|pmatrix|bmatrix|Bmatrix|vmatrix|Vmatrix|cases)" attribute="Environment" context="MathEnv"/>
+        <RegExpr String="(tabularx|tabular|supertabular|mpsupertabular|xtabular|mpxtabular|longtable)" attribute="Environment" context="TabEnv"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z]" attribute="Environment" context="LatexEnv"/>
+        <RegExpr String="\s+" attribute="Error" context="#pop"/>
+        <RegExpr String="[^a-zA-Z\xd7]" attribute="Error" context="#pop"/>
+      </context>
+
+      <!-- environment type 1: normal -->
+      <context name="LatexEnv" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop"/>
+        <RegExpr String="[a-zA-Z]+" attribute="Environment" context="#stay"/>
+        <RegExpr String="\s+" attribute="Error" context="#stay"/>
+       <IncludeRules context="EnvCommon" />
+      </context>
+
+      <!-- environment type 2: verbatim without parameter -->
+      <context name="VerbatimEnv" attribute="Environment" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="Verbatim"/>
+        <RegExpr String="[a-zA-Z]" attribute="Environment" lookAhead="true" context="#pop"/>
+        <IncludeRules context="EnvCommon" />
+       </context>
+
+      <!-- environment type 3: verbatim with optional parameter -->
+      <context name="VerbatimEnvParam" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars char="}" char1="[" attribute="Normal Text" context="#stay" />
+        <DetectChar char="}" attribute="Normal Text" context="Verbatim"/>
+        <DetectChar char="]" attribute="Normal Text" context="Verbatim"/>
+      </context>
+
+      <!-- environment type 4: listings environment with optional parameter and HL switching-->
+      <context name="ListingsEnvParam" attribute="Normal Text" fallthrough="true" fallthroughContext="Verbatim" lineEndContext="#stay">
+        <Detect2Chars char="}" char1="[" attribute="Normal Text" context="#stay" />
+        <RegExpr String="language\s*=\s*(?=[^,]+)" minimal="true" attribute="Normal Text" context="HighlightningSelector"/>
+        <DetectChar char="}" attribute="Normal Text" context="Verbatim"/>
+        <DetectChar char="]" attribute="Normal Text" context="Verbatim"/>
+      </context>
+
+      <!-- environment type 5: minted environment with optional and HL switching -->
+      <context name="MintedEnvParam" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars char="}" char1="[" attribute="Normal Text" context="#stay" />
+        <Detect2Chars char="}" char1="{" attribute="Normal Text" context="HighlightningSelector"/>
+        <Detect2Chars char="]" char1="{" attribute="Normal Text" context="HighlightningSelector"/>
+        <DetectChar char="}" attribute="Normal Text" context="Verbatim"/>
+      </context>
+
+      <!-- Selector for different highlightning schemes, in case the language is not implemented we pop and thus fallback to verbatim -->
+      <context name="HighlightningSelector" attribute="Normal Text" lineEndContext="#stay">
+        <StringDetect String="C++" insensitive="true" context="HighlightningBeginC++"/>
+        <StringDetect String="Python" insensitive="true" context="HighlightningBeginPython"/>
+        <RegExpr String=".*(?=\}|\])" context="#pop"/>
+      </context>
+
+      <context name="HighlightningCommon" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr String="\\end\s*\{(lstlisting|minted)\*?\}" attribute="Structure" lookAhead="true" context="#pop#pop#pop#pop#pop#pop"/>
+      </context>
+
+      <context name="HighlightningBeginC++" attribute="Normal Text" lineEndContext="#stay">
+       <!-- Eat the trailing characters including } or ] after the language specification -->
+        <RegExpr String=".*(\}|\])" context="HighlightningC++"/>
+      </context>
+
+      <context name="HighlightningC++" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightningCommon"/>
+        <IncludeRules context="##C++" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightningBeginPython" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr String=".*(\}|\])" context="HighlightningPython"/>
+      </context>
+
+      <context name="HighlightningPython" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightningCommon"/>
+        <IncludeRules context="##Python"/>
+      </context>
+
+      <!-- parse verbatim text -->
+      <context name="Verbatim" attribute="Verbatim" lineEndContext="#stay">
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\\end(?=\s*\{(verbatim|lstlisting|boxedverbatim|(B|L)?Verbatim|minted)\*?\})" attribute="Structure"  context="VerbFindEnd"/>
+      </context>
+
+      <!-- end of verbatim environment -->
+      <context name="VerbFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\s*\{" attribute="Normal Text" context="#stay"/>
+        <RegExpr String="(verbatim|lstlisting|boxedverbatim|(B|L)?Verbatim|minted)\*?" attribute="Environment" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/>
+      </context>
+
+      <!-- begin comment environment  -->
+      <context name="CommentEnv" attribute="Environment" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="BlockComment"/>
+        <RegExpr String="[a-zA-Z]" attribute="Environment" lookAhead="true" context="#pop"/>
+        <IncludeRules context="EnvCommon" />
+       </context>
+
+      <!-- parse comment text -->
+      <context name="BlockComment" attribute="Comment" lineEndContext="#stay">
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\\end(?=\s*\{comment\*?\})" attribute="Structure" context="CommFindEnd"/>
+      </context>
+
+      <!-- end of comment environment -->
+      <context name="CommFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\s*\{" attribute="Normal Text" context="#stay"/>
+        <RegExpr String="comment\*?" attribute="Environment" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/>
+      </context>
+
+      <!-- environment type 4: math environment with its own mathmode -->
+      <context name="MathEnv" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" context="MathModeEnv"/>
+        <RegExpr String="[a-zA-Z]" attribute="Environment" lookAhead="true" context="#pop"/>
+        <IncludeRules context="EnvCommon" />
+      </context>
+
+      <!-- environment type 5: math environment with its own mathmode and parameter -->
+      <context name="MathEnvParam" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr String="\}\{[^\}]*\}" attribute="Normal Text" context="MathModeEnv"/>
+        <DetectChar char="}" attribute="Normal Text" context="MathModeEnv"/>
+        <RegExpr String="[a-zA-Z]" attribute="Environment" lookAhead="true" context="#pop"/>
+        <IncludeRules context="EnvCommon" />
+      </context>
+
+      <!-- environment common -->
+      <context name="EnvCommon" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\*(?=\})" attribute="Environment" context="#stay"/>
+        <RegExpr String="\*[^\}]*" attribute="Error" context="#pop#pop#pop"/>
+        <RegExpr String="[^a-zA-Z\xd7][^\}]*" attribute="Error" context="#pop#pop#pop"/>
+      </context>
+
+      <!-- parse math environment -->
+      <context name="MathModeEnv" attribute="Math" lineEndContext="#stay">
+        <RegExpr String="\\begin(?=[^a-zA-Z])" attribute="Structure" context="FindBeginEnvironment" beginRegion="block"/>
+        <RegExpr String="\\end(?=[^a-zA-Z])" attribute="Structure" context="MathFindEnd" endRegion="block"/>
+        <StringDetect String="\(" attribute="Error" context="#stay" />
+        <StringDetect String="\[" attribute="Error" context="#stay" />
+        <StringDetect String="\)" attribute="Error" context="#stay" />
+        <StringDetect String="\]" attribute="Error" context="#stay" />
+        <RegExpr String="\\(text|intertext|mbox)\s*(?=\{)" attribute="Macro Mathmode" context="MathModeText" />
+        <DetectChar char="\" attribute="Macro Mathmode" context="MathContrSeq"/>
+        <StringDetect String="$$" attribute="Error" context="#stay" />
+        <DetectChar char="$" attribute="Error" context="#stay" />
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="%\s*BEGIN.*$" attribute="Region Marker" context="#stay" beginRegion="regionMarker" firstNonSpace="true"/>
+        <RegExpr String="%\s*END.*$" attribute="Region Marker" context="#stay" endRegion="regionMarker" firstNonSpace="true"/>
+      </context>
+
+      <!-- end of math environment -->
+      <context name="MathFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\s*\{" attribute="Normal Text" context="#stay"/>
+        <RegExpr String="(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign|alignat|xalignat|xxalignat|IEEEeqnarray|IEEEeqnarraybox|smallmatrix|pmatrix|bmatrix|Bmatrix|vmatrix|Vmatrix|cases)\*?" attribute="Environment" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop"  endRegion="block"/>
+      </context>
+
+          <!-- environment type 9: tabular -->
+      <context name="TabEnv" attribute="Environment" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="Tab"/>
+        <RegExpr String="[a-zA-Z]" attribute="Environment" lookAhead="true" context="#pop"/>
+        <IncludeRules context="EnvCommon" />
+       </context>
+
+      <!-- parse tabular text -->
+      <context name="Tab" attribute="Tab" lineEndContext="#stay">
+        <DetectChar char="&amp;" attribute="Ampersand" context="#stay"/>
+        <StringDetect String="@{" attribute="Column Separator" context="Column Separator"/>
+        <RegExpr String="\\end(?=\s*\{(tabularx|tabular|supertabular|mpsupertabular|xtabular|mpxtabular|longtable)\*?\})" attribute="Structure"  context="TabFindEnd"/>
+        <IncludeRules context="Normal Text" />
+      </context>
+
+      <context name="Column Separator" attribute="Column Separator" lineEndContext="#stay">
+              <DetectChar char="{" attribute="Column Separator" context="Column Separator"/>
+              <DetectChar char="}" attribute="Column Separator" context="#pop"/>
+              <RegExpr String="." attribute="Column Separator"  context="#stay"/>
+<!--          the last regexp is very stupid. Suggestions are welcome! Fallthrough did not help-->
+      </context>
+
+      <!-- end of tabular environment -->
+      <context name="TabFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\s*\{" attribute="Normal Text" context="#stay"/>
+        <RegExpr String="(tabularx|tabular|supertabular|mpsupertabular|xtabular|mpxtabular|longtable)\*?" attribute="Environment" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/>
+      </context>
+
+      <!-- math mode: starting with $ or \( -->
+      <context name="MathMode" attribute="Math" lineEndContext="#stay">
+        <StringDetect String="$$" attribute="Error" context="#stay" />
+        <DetectChar char="$" attribute="Math" context="#pop" />
+        <Detect2Chars char="\" char1=")" attribute="Math" context="#pop" />
+        <Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
+        <IncludeRules context="MathModeCommon" />
+      </context>
+
+      <!-- math mode: starting with $$ -->
+      <context name="MathModeDisplay" attribute="Math" lineEndContext="#stay">
+        <StringDetect String="$$" attribute="Math" context="#pop" endRegion="mathMode" />
+        <DetectChar char="$" attribute="Error" context="#stay" />
+        <Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
+        <Detect2Chars char="\" char1=")" attribute="Error" context="#stay" />
+        <IncludeRules context="MathModeCommon" />
+      </context>
+
+      <!-- math mode: starting with \[ -->
+      <context name="MathModeEquation" attribute="Math" lineEndContext="#stay">
+        <Detect2Chars char="\" char1="]" attribute="Math" context="#pop" endRegion="mathMode" />
+        <StringDetect String="$$" attribute="Error" context="#stay" />
+        <DetectChar char="$" attribute="Error" context="#stay" />
+        <Detect2Chars char="\" char1=")" attribute="Error" context="#stay" />
+        <IncludeRules context="MathModeCommon" />
+      </context>
+
+      <!-- math mode: \ensuremath{...} !-->
+      <context name="MathModeEnsure" attribute="Math" lineEndContext="#stay">
+              <DetectChar char="{" attribute="Math" context="MathModeEnsure" />
+              <DetectChar char="}" attribute="Math" context="#pop" />
+              <IncludeRules context="MathModeCommon" />
+      </context>
+
+      <!-- math mode common -->
+      <context name="MathModeCommon" attribute="Math" lineEndContext="#stay">
+        <RegExpr String="\\(begin|end)\s*\{(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign|alignat|xalignat|xxalignat|IEEEeqnarray)\*?\}" attribute="Error" context="#stay"/>
+        <RegExpr String="\\begin(?=[^a-zA-Z])" attribute="Macro Mathmode" context="#stay" beginRegion="block" />
+        <RegExpr String="\\end(?=[^a-zA-Z])" attribute="Macro Mathmode" context="#stay" endRegion="block" />
+        <RegExpr String="\\(text|intertext|mbox)\s*(?=\{)" attribute="Macro Mathmode" context="MathModeText" />
+        <DetectChar char="\" attribute="Macro Mathmode" context="MathContrSeq"/>
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <RegExpr String="%\s*BEGIN.*$" attribute="Region Marker" context="#stay" beginRegion="regionMarker" firstNonSpace="true"/>
+        <RegExpr String="%\s*END.*$" attribute="Region Marker" context="#stay" endRegion="regionMarker" firstNonSpace="true"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+      </context>
+
+      <!-- command in mathmode -->
+      <context name="MathContrSeq" attribute="Macro Mathmode" lineEndContext="#pop">
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z]+\*?" attribute="Macro Mathmode" context="#pop"/>
+        <RegExpr String="[^a-zA-Z]" attribute="Macro Mathmode" context="#pop" />
+      </context>
+
+      <!-- text in mathmode -->
+      <context name="MathModeText" attribute="Normal Text" lineEndContext="#stay" >
+         <DetectChar char="{" attribute="Normal Text" context="MathModeTextParameterStart"/>
+      </context>
+
+      <context name="MathModeTextParameterStart" attribute="Normal Text" lineEndContext="#stay" >
+        <RegExpr String="\\." attribute="Normal Text" context="#stay"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\$.*\$" minimal="true" attribute="Math" context="#stay"/>
+        <DetectChar char="{" attribute="Normal Text" context="MathModeTextParameter"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop"/>
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+      </context>
+
+      <context name="MathModeTextParameter" attribute="Normal Text" lineEndContext="#stay" >
+        <RegExpr String="\\." attribute="Normal Text" context="#stay"/>
+        <DetectChar char="{" attribute="Normal Text" context="MathModeTextParameter"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+      </context>
+
+     <!--    iffalse aka multiline comment    -->
+        <context name="Multiline Comment" attribute="Comment" lineEndContext="#stay">
+                <StringDetect String="\fi" attribute="Comment" context="#pop"/>
+                <StringDetect String="\else" attribute="Comment" context="#pop"/>
+        </context>
+
+     <!-- comment -->
+      <context name="Comment" attribute="Comment" lineEndContext="#pop">
+              <RegExpr String="(FIXME|TODO):?" attribute="Alert" context="#stay"/>
+        <StringDetect String="\KileResetHL" attribute="Comment" context="Normal Text"/>
+        <StringDetect String="\KateResetHL" attribute="Comment" context="Normal Text"/>
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Option Text" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Macro" defStyleNum="dsFunction" spellChecking="false"/>
+      <itemData name="Comment" defStyleNum="dsComment" spellChecking="false"/>
+      <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
+      <itemData name="Math" defStyleNum="dsSpecialString" spellChecking="false"/>
+      <!-- begin/end -->
+      <itemData name="Structure" defStyleNum="dsKeyword" spellChecking="false"/>
+      <itemData name="Builtin Macro" defStyleNum="dsBuiltIn" spellChecking="false"/>
+      <itemData name="Macro Mathmode" defStyleNum="dsSpecialChar" spellChecking="false"/>
+      <itemData name="Environment" defStyleNum="dsExtension" spellChecking="false"/>
+      <itemData name="Verbatim" defStyleNum="dsVerbatimString" spellChecking="false"/>
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
+      <itemData name="Bullet" defStyleNum="dsInformation" spellChecking="false"/>
+      <itemData name="Ampersand" defStyleNum="dsOperator" bold="1" spellChecking="false"/>
+      <itemData name="Column Separator" defStyleNum="dsChar" spellChecking="false"/>
+      <itemData name="Alert" defStyleNum="dsAlert" spellChecking="false"/>
+      <!-- in section headers -->
+      <itemData name="Sectioning Text" defStyleNum="dsNormal" bold="1"/>
+      <itemData name="Sectioning Macro" defStyleNum="dsFunction" bold="1" spellChecking="false"/>
+      <itemData name="Sectioning Math" defStyleNum="dsSpecialString" bold="1"/>
+      <itemData name="Sectioning Macro Mathmode" defStyleNum="dsSpecialChar" bold="1" spellChecking="false"/>
+    </itemDatas>
+  </highlighting>
+
+  <general>
+    <keywords weakDeliminator="\" wordWrapDeliminator=",{}[]"/>
+    <comments>
+      <comment name="singleLine" start="%" />
+    </comments>
+  </general>
+
+  <spellchecking>
+    <configuration encodingReplacementPolicy="EncodeWhenPresent"/>
+    <encodings>
+      <encoding char="&#192;" string="\`{A}" />
+      <encoding char="&#192;" string="\`A" />
+      <encoding char="&#193;" string="\'{A}" />
+      <encoding char="&#193;" string="\'A" />
+      <encoding char="&#194;" string="\^{A}" />
+      <encoding char="&#194;" string="\^A" />
+      <encoding char="&#195;" string="\~{A}" />
+      <encoding char="&#195;" string="\~A" />
+      <encoding char="&#196;" string="\&#34;{A}" />
+      <encoding char="&#196;" string="\&#34;A" />
+      <encoding char="&#197;" string="\AA{}" />
+      <encoding char="&#198;" string="\AE{}" />
+      <encoding char="&#199;" string="\c{C}" />
+      <encoding char="&#200;" string="\`{E}" />
+      <encoding char="&#200;" string="\`E" />
+      <encoding char="&#201;" string="\'{E}" />
+      <encoding char="&#201;" string="\'E" />
+      <encoding char="&#202;" string="\^{E}" />
+      <encoding char="&#202;" string="\^E" />
+      <encoding char="&#203;" string="\&#34;{E}" />
+      <encoding char="&#203;" string="\&#34;E" />
+      <encoding char="&#204;" string="\`{I}" />
+      <encoding char="&#204;" string="\`I" />
+      <encoding char="&#205;" string="\'{I}" />
+      <encoding char="&#205;" string="\'I" />
+      <encoding char="&#206;" string="\^{I}" />
+      <encoding char="&#206;" string="\^I" />
+      <encoding char="&#207;" string="\&#34;{I}" />
+      <encoding char="&#207;" string="\&#34;I" />
+      <encoding char="&#208;" string="\DH{}" />
+      <encoding char="&#209;" string="\~{N}" />
+      <encoding char="&#209;" string="\~N" />
+      <encoding char="&#210;" string="\`{O}" />
+      <encoding char="&#210;" string="\`O" />
+      <encoding char="&#211;" string="\'{O}" />
+      <encoding char="&#211;" string="\'O" />
+      <encoding char="&#212;" string="\^{O}" />
+      <encoding char="&#212;" string="\^O" />
+      <encoding char="&#213;" string="\~{O}" />
+      <encoding char="&#213;" string="\~O" />
+      <encoding char="&#214;" string="\&#34;{O}" />
+      <encoding char="&#214;" string="\&#34;O" />
+      <encoding char="&#216;" string="\O{}" />
+      <encoding char="&#217;" string="\`{U}" />
+      <encoding char="&#217;" string="\`U" />
+      <encoding char="&#218;" string="\'{U}" />
+      <encoding char="&#218;" string="\'U" />
+      <encoding char="&#219;" string="\^{U}" />
+      <encoding char="&#219;" string="\^U" />
+      <encoding char="&#220;" string="\&#34;{U}" />
+      <encoding char="&#220;" string="\&#34;U" />
+      <encoding char="&#221;" string="\'{Y}" />
+      <encoding char="&#221;" string="\'Y" />
+      <encoding char="&#222;" string="\TH{}" />
+      <encoding char="&#223;" string="\ss{}" />
+      <encoding char="&#224;" string="\`{a}" />
+      <encoding char="&#224;" string="\`a" />
+      <encoding char="&#225;" string="\'{a}" />
+      <encoding char="&#225;" string="\'a" />
+      <encoding char="&#226;" string="\^{a}" />
+      <encoding char="&#226;" string="\^a" />
+      <encoding char="&#227;" string="\~{a}" />
+      <encoding char="&#227;" string="\~a" />
+      <encoding char="&#228;" string="\&#34;{a}" />
+      <encoding char="&#228;" string="\&#34;a" />
+      <encoding char="&#229;" string="\aa{}" />
+      <encoding char="&#230;" string="\ae{}" />
+      <encoding char="&#231;" string="\c{c}" />
+      <encoding char="&#232;" string="\`{e}" />
+      <encoding char="&#232;" string="\`e" />
+      <encoding char="&#233;" string="\'{e}" />
+      <encoding char="&#233;" string="\'e" />
+      <encoding char="&#234;" string="\^{e}" />
+      <encoding char="&#234;" string="\^e" />
+      <encoding char="&#235;" string="\&#34;{e}" />
+      <encoding char="&#235;" string="\&#34;e" />
+      <encoding char="&#236;" string="\`{i}" />
+      <encoding char="&#236;" string="\`i" />
+      <encoding char="&#237;" string="\'{i}" />
+      <encoding char="&#237;" string="\'i" />
+      <encoding char="&#238;" string="\^{i}" />
+      <encoding char="&#238;" string="\^i" />
+      <encoding char="&#239;" string="\&#34;{i}" />
+      <encoding char="&#239;" string="\&#34;i" />
+      <encoding char="&#240;" string="\dh{}" />
+      <encoding char="&#241;" string="\~{n}" />
+      <encoding char="&#241;" string="\~n" />
+      <encoding char="&#242;" string="\`{o}" />
+      <encoding char="&#242;" string="\`o" />
+      <encoding char="&#243;" string="\'{o}" />
+      <encoding char="&#243;" string="\'o" />
+      <encoding char="&#244;" string="\^{o}" />
+      <encoding char="&#244;" string="\^o" />
+      <encoding char="&#245;" string="\~{o}" />
+      <encoding char="&#245;" string="\~o" />
+      <encoding char="&#246;" string="\&#34;{o}" />
+      <encoding char="&#246;" string="\&#34;o" />
+      <encoding char="&#248;" string="\o{}" />
+      <encoding char="&#249;" string="\`{u}" />
+      <encoding char="&#249;" string="\`u" />
+      <encoding char="&#250;" string="\'{u}" />
+      <encoding char="&#250;" string="\'u" />
+      <encoding char="&#251;" string="\^{u}" />
+      <encoding char="&#251;" string="\^u" />
+      <encoding char="&#252;" string="\&#34;{u}" />
+      <encoding char="&#252;" string="\&#34;u" />
+      <encoding char="&#253;" string="\'{y}" />
+      <encoding char="&#253;" string="\'y" />
+      <encoding char="&#254;" string="\th{}" />
+      <encoding char="&#255;" string="\&#34;{y}" />
+      <encoding char="&#255;" string="\&#34;y" />
+      <encoding string="''" ignored="true" />
+      <encoding string="\-" ignored="true" />
+    </encodings>
+  </spellchecking>
+</language>
diff --git a/xml/lex.xml b/xml/lex.xml
new file mode 100644
--- /dev/null
+++ b/xml/lex.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  ========================================================================
+
+  LEX.XML supports syntax highlighting for Lex/Flex source under Kate.
+
+  Copyright (C) 2004 - Jan Villat <jan.villat@net2000.ch>
+  This code is released under the LGPL as part of kdelibs/kate.
+
+  ========================================================================
+
+  Updates for LEX.XML can be obtained from http://kate.kde.org/hl/
+
+  UPDATE HISTORY:-
+  2004.05.25 - LEX.XML 1.00        - First released.
+
+  TODO:-
+  - Add a mime type (cannot find it !?)
+  
+  ========================================================================
+-->
+<language name="Lex/Flex" version="2" kateversion="2.4" section="Sources" extensions="*.l;*.lex;*.flex" author="Jan Villat (jan.villat@net2000.ch)" license="LGPL">
+
+<highlighting>
+<contexts>
+  <context name="Pre Start" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="Normal Text" context="Definitions" String="." lookAhead="true" beginRegion="definitions" />
+  </context>
+  <context name="Definitions" attribute="Normal Text" lineEndContext="#stay">
+    <IncludeRules context="Detect C" />
+    <Detect2Chars attribute="Content-Type Delimiter" context="Rules" char="%" char1="%" beginRegion="rules" endRegion="definitions" />
+    <DetectChar attribute="Directive" context="Percent Command" char="%" />
+    <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" column="0"/>
+    <RegExpr attribute="Definition" context="Definition RegExpr" String="[A-Za-z_]\w*\s+" column="0"/>
+  </context>
+  <context name="Rules" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="Rule RegExpr">
+    <IncludeRules context="Detect C" />
+    <Detect2Chars attribute="Content-Type Delimiter" context="User Code" char="%" char1="%" beginRegion="code" endRegion="rules" />
+  </context>
+  <context name="User Code" attribute="Normal Text" lineEndContext="#stay">
+    <IncludeRules context="##C++" />
+  </context>
+  
+  <context name="Percent Command" attribute="Directive" lineEndContext="#pop">
+  </context>
+  <context name="Comment" attribute="Comment" lineEndContext="#stay">
+    <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
+  </context>
+
+  <context name="Definition RegExpr" attribute="RegExpr" lineEndContext="#pop">
+    <IncludeRules context="RegExpr Base" />
+    <RegExpr attribute="RegExpr" context="#stay" String="\S" />  
+    <RegExpr attribute="Alert" context="#stay" String=".*" />  
+  </context>
+  <context name="Rule RegExpr" attribute="RegExpr" lineEndContext="#pop">
+    <RegExpr attribute="Content-Type Delimiter" context="Start Conditions Scope" String="\{$" beginRegion="SCscope" />  
+    <IncludeRules context="RegExpr Base" />
+    <RegExpr attribute="RegExpr" context="#stay" String="\S" />  
+    <RegExpr attribute="Normal Text" context="Action" String="\s+" />  
+  </context>
+  <context name="RegExpr (" attribute="RegExpr" lineEndContext="#stay">
+    <IncludeRules context="RegExpr Base" />
+    <DetectChar attribute="RegExpr" context="#pop" char=")" />  
+    <RegExpr attribute="RegExpr" context="#stay" String="." />
+  </context>
+  <context name="RegExpr [" attribute="RegExpr" lineEndContext="#stay">
+    <RegExpr attribute="Backslash Code" context="#stay" String="\\." />
+    <DetectChar attribute="RegExpr" context="#pop" char="]" />  
+    <RegExpr attribute="RegExpr" context="#stay" String="." />
+  </context>
+  <context name="RegExpr {" attribute="RegExpr" lineEndContext="#stay">
+    <RegExpr attribute="Backslash Code" context="#stay" String="\\." />
+    <DetectChar attribute="RegExpr" context="#pop" char="}" />  
+    <RegExpr attribute="RegExpr" context="#stay" String="." />
+  </context>
+  <context name="RegExpr Q" attribute="RegExpr" lineEndContext="#stay">
+    <RegExpr attribute="Backslash Code" context="#stay" String="\\." />
+    <DetectChar attribute="RegExpr" context="#pop" char="&quot;" />  
+    <RegExpr attribute="RegExpr" context="#stay" String="." />
+  </context>
+  <context name="RegExpr Base" attribute="RegExpr" lineEndContext="#stay">
+    <RegExpr attribute="Backslash Code" context="#stay" String="\\." />
+    <DetectChar attribute="RegExpr" context="RegExpr (" char="(" />  
+    <DetectChar attribute="RegExpr" context="RegExpr [" char="[" />  
+    <DetectChar attribute="RegExpr" context="RegExpr {" char="{" />  
+    <DetectChar attribute="RegExpr" context="RegExpr Q" char="&quot;" />  
+  </context>
+  
+  <context name="Start Conditions Scope" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="Rule RegExpr">
+    <RegExpr attribute="Content-Type Delimiter" context="#pop" String="\s*\}" endRegion="SCscope" />
+    <RegExpr attribute="Normal Text" context="Rule RegExpr" String="\s*" />
+  </context>
+  
+  <context name="Action" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="Action C">
+    <RegExpr attribute="Directive" context="#stay" String="\|\s*$" />
+    <Detect2Chars attribute="Content-Type Delimiter" context="Lex Rule C Bloc" char="%" char1="{" beginRegion="lexCbloc" />
+  </context>
+  
+  <context name="Detect C" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="Normal Text" context="Indented C" String="^\s" />
+    <Detect2Chars attribute="Content-Type Delimiter" context="Lex C Bloc" char="%" char1="{" beginRegion="lexCbloc" column="0"/>
+  </context>
+  <context name="Indented C" attribute="Normal Text" lineEndContext="#pop">
+    <IncludeRules context="##C++" />
+  </context>
+  <context name="Lex C Bloc" attribute="Normal Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Content-Type Delimiter" context="#pop" char="%" char1="}" endRegion="lexCbloc" column="0"/>
+    <IncludeRules context="##C++" />
+  </context>
+  <context name="Lex Rule C Bloc" attribute="Normal Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Content-Type Delimiter" context="#pop" char="%" char1="}" endRegion="lexCbloc" />
+    <IncludeRules context="##C++" />
+  </context>
+  <context name="Normal C Bloc" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Normal Text" context="Normal C Bloc" char="{" beginRegion="bloc" />  
+    <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="bloc" />  
+    <IncludeRules context="##C++" />
+  </context>
+  <context name="Action C" attribute="Normal Text" lineEndContext="#pop">
+    <DetectChar attribute="Normal Text" context="Normal C Bloc" char="{" beginRegion="bloc" />  
+    <DetectChar attribute="Alert" context="#stay" char="}" />  
+    <IncludeRules context="##C++" />
+  </context>
+</contexts>
+
+<itemDatas>
+  <itemData name="Normal Text" defStyleNum="dsNormal" />
+  <itemData name="Definition" defStyleNum="dsDataType" />
+  <itemData name="Comment" defStyleNum="dsComment" />
+  <itemData name="Content-Type Delimiter" defStyleNum="dsBaseN" bold="1" />
+  <itemData name="Directive" defStyleNum="dsKeyword"/>
+  <itemData name="RegExpr" defStyleNum="dsString" />
+  <itemData name="Backslash Code" defStyleNum="dsString" bold="1" />
+  <itemData name="Alert" defStyleNum="dsAlert" />
+</itemDatas>
+
+</highlighting>
+<general>
+  <comments>
+    <comment name="multiLine" start="/*" end="*/" />
+  </comments>
+</general>
+</language>
diff --git a/xml/lilypond.xml b/xml/lilypond.xml
new file mode 100644
--- /dev/null
+++ b/xml/lilypond.xml
@@ -0,0 +1,1199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd" [
+  <!ENTITY b "(?![A-Za-z])">
+  <!ENTITY rest "\b[srR]&b;">
+  <!ENTITY pitch "\b([a-h]((iss){1,2}|(ess){1,2}|(is){1,2}|(es){1,2}|(sharp){1,2}|(flat){1,2}|ss?|ff?)?|(do|re|mi|fa|sol|la|si)(dd?|bb?|ss?|kk?)?|q)('+|,+|&b;)">
+  <!ENTITY duration "(\\(longa|breve)\b|(1|2|4|8|16|32|64|128|256|512|1024|2048)(?!\d))(\s*\.+)?(\s*\*\s*\d+(/\d+)?)*">
+  <!ENTITY dynamics "p{1,5}|mp|mf|f{1,5}|s?fp|sff?|spp?|[sr]?fz|cresc|decresc|dim">
+  <!ENTITY scripts "\d+|accent|marcato|staccat(issim)?o|espressivo|tenuto|portato|(up|down)(bow|mordent|prall)|flageolet|thumb|[lr](heel|toe)|open|stopped|turn|reverseturn|trill|mordent|prall(prall|mordent|down|up)?|lineprall|signumcongruentiae|(short|long|verylong)?fermata|segno|(var)?coda|snappizzicato|halfopen">
+  <!ENTITY keywords "accepts|alias|consists|defaultchild|denies|description|grobdescriptions|include|invalid|language|name|objectid|once|remove|sequential|simultaneous|type|version|score|book|bookpart">
+  <!ENTITY deprecatedkeywords "consistsend">
+
+  <!-- predefined commands, grouped, TODO: unravel other commands -->
+  <!ENTITY commands-heads "(aiken|funk|sacredHarp|southernHarmony|walker)Heads(Minor)?">
+  <!ENTITY commands-other1 "acciaccatura|addQuote|afterGrace|allowPageTurn|alternative|apply(Context|Music|Output)|appoggiatura|arpeggio(Arrow(Down|Up)|Bracket|Normal|Parenthesis)?|(a|de)scendens|auctum|augmentum|autoBeamO(ff|n)|autochange|balloon(Grob)?Text|bar|barNumberCheck|bendAfter|breathe|break|cadenzaO(ff|n)|cavum|clef(\s+(treble|violin|G|alto|C|tenor|(sub)?bass|F|french|(mezzo)?soprano|(var)?baritone|percussion|tab))?|(end)?(de)?cr|cresc(TextCresc|Hairpin)">
+  <!ENTITY commands-other2 "(cue|transposedCue)During|default|deminutum|dim(Text(Decresc|Decr|Dim)|Hairpin)|display(Lily)?Music|divisio(Maior|Maxima|Minima)|(dynamic|dots|phrasingSlur|slur|stem|tie|tuplet)(Down|Neutral|Up)|(balloon|text)LengthO(ff|n)|featherDurations|figure(mode|s)|finalis|flexa|(french|german|italian|semiGerman)Chords|glissando|grace|harmonic|(unH|h)ideNotes|(hide|show)StaffSwitch|inclinatum|(keep|remove)WithTag|key(\s+&pitch;)?|killCues">
+  <!ENTITY commands-other3 "label|laissezVibrer|linea|makeClusters|mark|maxima|melisma(End)?|mergeDifferently(Head|Dott)edO(ff|n)|newSpacingSection|no(Beam|Break|PageBreak|PageTurn)|normalsize|numericTimeSignature|octaveCheck|oneVoice|oriscus|ottava|page(-ref|Break|Turn)|parallelMusic|parenthesize|partcombine|partial(\s*&duration;)?|pes|pitchedTrill">
+  <!ENTITY commands-other4 "pointAndClickO(ff|n)|quilisma|quoteDuring|relative(\s+&pitch;)?|RemoveEmptyStaffContext|repeat(\s+(unfold|volta|tremolo|percent)(\s+\d+)?)?|repeatTie|resetRelativeOctave|rest|scaleDurations|scoreTweak|easyHeadsO(ff|n)|shift(Durations|Off|On{1,3})|(slur|tie)(Both|Dashed|Dotted|Solid)|small|spacingTweaks">
+  <!ENTITY commands-other5 "(start|stop)(Group|(Text|Trill)Span|Staff)|stemBoth|stropha|super|(sustain|sostenuto)O(ff|n)|table-of-contents|tag|times?(\s*\d+/\d+)?|tiny|tocItem">
+  <!ENTITY commands-other6 "transpose(\s+&pitch;\s*&pitch;)?|transposition(\s+&pitch;)">
+  <!ENTITY commands-other7 "tweak|unfoldRepeats|virg(ul)?a|voice(One|Two|Three|Four)|withMusicProperty|cm|mm|in|pt|major|minor|ionian|locrian|aeolian|mixolydian|lydian|phrygian|dorian">
+
+  <!ENTITY deprecatedcommands "arpeggio(Up|Down|Neutral)|newpage|script(Up|Down|Both)|(empty|fat)Text|setEasyHeads|(default|voice|modernVoice|piano|forget)Accidentals|(modern(Voice)?|piano)Cautionaries|noResetKey|compressMusic|octave|(sustain|sostenuto)(Down|Up)|set(Hairpin|Text)(Cresc|Decresc|Dim)|setTextDecr">
+  <!ENTITY markupnotextargs "arrow-head|beam|char|(semi|sesqui|double)?(flat|sharp)|draw-(circle|line)|epsfile|eyeglasses|filled-box|fret-diagram(-terse|-verbose)?|fromproperty|harp-pedal|(justify|wordwrap)-(field|string)|left-brace|lookup|markalphabet|markletter|musicglyph|natural|note-by-number|note|null|path|right-brace|simple|(back)?slashed-digit|stencil|strut|tied-lyric|triangle|verbatim-file">
+  <!ENTITY markupwithtextargs "markup|bold|(rounded-)?box|bracket|caps|(center|general|left|right)-align|circle|((center|dir|left|right)-)?column|combine|concat|dynamic|fill-line|finger|fontCaps|(abs-)?fontsize|fraction|halign|hbracket|hcenter-in|hcenter|hspace|huge|italic|justify|larger?|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|roman|rotate|sans|small(er)?|smallCaps|sub|super|teeny|text|tiny|translate(-scaled)?|transparent|typewriter|underline|upright|vcenter|whiteout|with-(color|dimensions|url)|wordwrap|(markup|column-|justified-|override-|wordwrap-)lines|wordwrap-(string-)?internal">
+  <!ENTITY deprecatedmarkup "bigger|h?center">
+  <!ENTITY headervars "dedication|(sub){,2}title|poet|composer|meter|opus|arranger|instrument|piece|breakbefore|copyright|tagline|mutopia(title|composer|poet|opus|instrument)|date|enteredby|source|style|maintainer(Email|Web)?|moreInfo|lastupdated|texidoc|footer">
+
+  <!-- The '-new' entities are for for LilyPond 2.13.4 and higher, and '-old' for LilyPond up to 2.12 -->
+  <!ENTITY paper-margin "(top|bottom|left|right)-margin|(foot|head)-separation|indent|short-indent|paper-(height|width)|horizontal-shift|line-width">
+  <!ENTITY paper-margin-new "(inner|outer)-margin|two-sided|binding-offset">
+  <!ENTITY paper-spacing-old "(after|before|between)-title-space|between-system-(space|padding)|page-top-space|page-breaking-between-system-padding">
+  <!ENTITY paper-spacing-new "(after|before|between)-title-spacing|between-(scores-)?system-spacing|bottom-system-spacing|top-title-spacing|top-system-spacing|page-breaking-between-system-spacing">
+  <!ENTITY paper-systems "system-count">
+  <!ENTITY paper-systems-new "(min-|max-)?systems-per-page">
+  <!ENTITY paper-other "annotate-spacing|auto-first-page-number|blank-(last-)?page-force|first-page-number|page-count|page-limit-inter-system-space|page-limit-inter-system-space-factor|page-spacing-weight|print-all-headers|print-first-page-number|print-page-number|ragged-(bottom|right)|ragged-last(-bottom)?|system-separator-markup|force-assignment|input-encoding|output-scale">
+  <!ENTITY paper-markup "((even|odd)(Footer|Header)|(book|score|toc)Title|tocItem)Markup">
+  <!ENTITY papervars "&paper-margin;|&paper-margin-new;|&paper-spacing-old;|&paper-spacing-new;|&paper-systems;|&paper-systems-new;|&paper-other;|&paper-markup;">
+
+  <!ENTITY layoutvars "system-count|(short-)?indent">
+  <!ENTITY toplevelvars "dash(Hat|Plus|Dash|Bar|Larger|Dot|Underscore)|fermataMarkup|pipeSymbol|slashSeparator">
+  <!ENTITY performer "Beam|Control_track|Drum_note|Dynamic|Key|Lyric|Note|Piano_pedal|Slur|Staff|Swallow|Tempo|Tie|Time_signature">
+  <!ENTITY translator "Note_swallow|Rest_swallow|Skip_event_swallow|Timing">
+  <!ENTITY engraver0 "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|Dynami_align|Dynamic|Episema|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">
+  <!ENTITY engraver1 "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_dynamic|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|Scheme|Script_column|Script|Script_row">
+  <!ENTITY engraver2 "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|Trill_spanner|Tuplet|Tweak|Vaticana_ligature|Vertical_align|Vertically_spaced_contexts|Volta">
+  <!ENTITY engravers00 "(&engraver0;)_engraver">
+  <!ENTITY engravers01 "(&engraver1;)_engraver">
+  <!ENTITY engravers02 "(&engraver2;)_engraver">
+  <!ENTITY engravers1 "(&performer;)_performer">
+  <!ENTITY engravers2 "(&translator;)_translator">
+
+  <!ENTITY schemename "[a-zA-Z#][^\s(){}[\];$&quot;]*">
+  <!ENTITY schemefunc0 "\b(define|defined\?|define\*(-public)?|define-(\*|builtin-markup-(list-)?command|class|(extra-)?display-method|fonts?|grob-property|ly-syntax(-loc|-simple)?|macro(-public)?|markup-(list-)command|method|module|music-function|post-event-display-method|public(-macro|-toplevel)?|safe-public|span-event-display-method)|defmacro(\*(-public)?)?|lambda\*?|and|or|if|cond|case|let\*?|letrec|begin|do|delay|set!|else|(quasi)?quote|unquote(-splicing)?|(define|let|letrec)-syntax|syntax-rules)(?=($|\s|\)))">
+  <!ENTITY schemefunc1 "\b(not|boolean\?|eq\?|eqv\?|equal\?|pair\?|cons|set-c[ad]r!|c[ad]{1,4}r|null\?|list\?|list|length|append|reverse|list-ref|mem[qv]|member|ass[qv]|assoc|symbol\?|symbol-&gt;string|string-&gt;symbol|number\?|complex\?|real\?|rational\?|integer\?|exact\?|inexact\?|zero\?|positive\?|negative\?|odd\?|even\?|max|min|abs|quotient|remainder|modulo|gcd|lcm|numerator|denominator|floor|ceiling|truncate|round|rationalize|exp|log|sin|cos|tan|asin|acos|atan|sqrt|expt|make-rectangular|make-polar|real-part|imag-part|magnitude|angle|exact-&gt;inexact|inexact-&gt;exact|number-&gt;string|string-&gt;number)(?=($|\s|\)))">
+  <!ENTITY schemefunc2 "\b(char((-ci)?(=\?|&lt;\?|&gt;\?|&lt;=\?|&gt;=\?)|-alphabetic\?|\?|-numeric\?|-whitespace\?|-upper-case\?|-lower-case\?|-&gt;integer|-upcase|-downcase|-ready\?)|integer-&gt;char|make-string|string(\?|-copy|-fill!|-length|-ref|-set!|(-ci)?(=\?|&lt;\?|&gt;\?|&lt;=\?|&gt;=\?)|-append)|substring|make-vector|vector(\?|-length|-ref|-set!|-fill!)?|procedure\?|apply|map|for-each|force|call-with-(current-continuation|(in|out)put-file)|(in|out)put-port\?|current-(in|out)put-port|open-(in|out)put-file|close-(in|out)put-port|eof-object\?|read|(read|peek)-char|write(-char)?|display|newline|call/cc|list-tail|string-&gt;list|list-&gt;string|vector-&gt;list|list-&gt;vector|with-input-from-file|with-output-to-file|load|transcript-(on|off)|eval|dynamic-wind|port\?|values|call-with-values|(scheme-report-|null-|interaction-)environment)(?=($|\s|\)))">
+]>
+<language name="LilyPond" section="Other"
+          style="lilypond" indenter="lilypond"
+          version="4" kateversion="3.3"
+          extensions="*.ly;*.LY;*.ily;*.ILY;*.lyi;*.LYI"
+          mimetype="text/x-lilypond"
+          author="Wilbert Berendsen (info@wilbertberendsen.nl)" license="LGPL">
+
+  <!--
+
+    Fall 2010
+    Minor updates by Wilbert Berendsen
+
+    Changes:
+    - add some new commands (\path, \eyeglasses, etc), contexts and grobs for LilyPond 2.14
+    - cleaned up papervars mess by using nested entities categorizing different variables
+
+    November, 2009
+    Minor updates by Wilbert Berendsen
+
+    Changes:
+    - add makeClusters
+    - fix chords in drummode
+
+    October, 2008
+    Minor updates by Wilbert Berendsen
+
+    Changes:
+    - More new LilyPond commands (2.12) and some more deprecated words
+    - Match deprecated properties after header vars
+    - Special case \tempo command
+
+    January, 2008
+    Fully rewritten by Wilbert Berendsen (info@wilbertberendsen.nl)
+
+    Changes:
+    - correctly parse pitches, chords, durations, etc. marking often made mistakes as invalid
+    - speed up by shortening contexts, e.g. branch out on a \, instead of RegExpr'ing all \commands
+    - recognize some contexts like \layout, \with, \header to colorcode variables, engravers, etc. only there
+    - recognize lilypond words like ChoirStaff etc. only in sections and after \set, \override etc.
+    - highlight some standard Scheme function names
+    - add \figuremode recognition
+    - all Scheme stuff has a nice, very light background, to show where Lilypond is in Scheme mode.
+    - mark some deprecated (pre 2.12) LilyPond commands and properties
+
+    October, 2007
+    New version by Wilbert Berendsen (info@wilbertberendsen.nl)
+
+    Changes:
+    - better recognition of being inside lyrics, drums, notes, chords and markup sections
+    - detect block comments %{  %}
+    - links to ##Alerts in comments (e.g. TODO, FIXME)
+    - detect lilypond inside scheme #{ #}
+    - detect \score inside \markup, etc.
+    - helps with some often made errors like forgetting spaces around lyric extenders and hyphens
+    - more scheme improvements: strings, numbers, $substitutions, lilypond objects
+    - highlights many variables, commands, lilypond objects, properties, engravers, etc.
+    - by using entities for many regexps the main syntax checking parts remain legible, and the file more maintainable.
+
+    I borrowed some colors and the drum names from Andrea Primiani's first version (August, 2004).
+
+  -->
+
+  <highlighting>
+    <list name="contexts">
+      <item> ChoirStaff </item>
+      <item> ChordNames </item>
+      <item> CueVoice </item>
+      <item> Devnull </item>
+      <item> DrumStaff </item>
+      <item> DrumVoice </item>
+      <item> Dynamics </item>
+      <item> FiguredBass </item>
+      <item> FretBoards </item>
+      <item> Global </item>
+      <item> GrandStaff </item>
+      <item> GregorianTranscriptionStaff </item>
+      <item> GregorianTranscriptionVoice </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> Timing </item>
+      <item> VaticanaStaff </item>
+      <item> VaticanaVoice </item>
+      <item> Voice </item>
+    </list>
+    <list name="deprecatedcontexts">
+      <item> InnerChoirStaff </item>
+      <item> InnerStaffGroup </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> Episema </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> StaffGrouper </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> allowBeamBreak </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> baseMoment </item>
+      <item> bassFigureFormatFunction </item>
+      <item> bassStaffProperties </item>
+      <item> beamExceptions </item>
+      <item> beatGrouping </item>
+      <item> beatLength </item>
+      <item> beatStructure </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> doubleRepeatType </item>
+      <item> drumPitchTable </item>
+      <item> drumStyleTable </item>
+      <item> dynamicAbsoluteVolumeFunction </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> lyricMelismaAlignment </item>
+      <item> majorSevenSymbol </item>
+      <item> markFormatter </item>
+      <item> maximumFretStretch </item>
+      <item> measureLength </item>
+      <item> measurePosition </item>
+      <item> melismaBusyProperties </item>
+      <item> metronomeMarkFormatter </item>
+      <item> middleCClefPosition </item>
+      <item> middleCOffset </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> scriptDefinitions </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> topLevelAlignment </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> <!-- gone in 2.12 and 2.13 -->
+      <item> voltaSpannerDuration </item>
+      <item> whichBar </item>
+    </list>
+    <list name="deprecatedproperties">
+      <item> barNumberAlignSymbol </item>
+      <item> centralCPosition </item>
+      <item> extraVerticalExtent </item>
+      <item> fingerHorizontalDirection </item>
+      <item> instr </item>
+      <item> instrument </item>
+      <item> keyAccidentalOrder </item>
+      <item> minimumVerticalExtent </item>
+      <item> rehearsalMarkAlignSymbol </item>
+      <item> soloADue </item>
+      <item> tupletNumberFormatFunction </item>
+      <item> vocNam </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>
+    <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>
+    <contexts>
+      <!-- Entry point -->
+      <context name="lilypond" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="music"/>
+        <RegExpr String="\b[a-z]+\s*=" insensitive="true" lookAhead="true" context="assignment"/>
+      </context>
+
+      <!-- Music expressions -->
+      <context name="music" attribute="Normal Text" lineEndContext="#stay">
+        <AnyChar String="()~" attribute="Slur"/>
+        <AnyChar String="[]" attribute="Beam"/>
+        <AnyChar String="-_^" context="connect"/>
+        <DetectChar char="\" context="musiccommand" lookAhead="true"/>
+        <IncludeRules context="default"/>
+        <DetectChar char="&lt;" attribute="Chord" context="chord"/>
+        <DetectChar char="&gt;" attribute="Invalid"/><!-- chord terminator outsite chord -->
+        <RegExpr String="[a-z]+\d+\.*[,']+" attribute="Invalid"/><!-- pitch-dur-octave i.s.o. pitch-oct-dur -->
+        <RegExpr String="(&rest;|&pitch;)" context="pitch"/>
+        <RegExpr String=":\d*" attribute="Tremolo"/>
+      </context>
+
+      <!-- Default Lilypond code to be recognized e.g. also inside lyrics -->
+      <context name="default" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars char="&lt;" char1="&lt;" attribute="Keyword" beginRegion="simultaneous"/>
+        <Detect2Chars char="&gt;" char1="&gt;" attribute="Keyword" endRegion="simultaneous"/>
+        <DetectChar char="{" attribute="Keyword" beginRegion="sequential"/>
+        <DetectChar char="}" attribute="Keyword" endRegion="sequential"/>
+        <DetectChar char="|" attribute="Check"/>
+        <DetectChar char="\" context="command" lookAhead="true"/>
+        <IncludeRules context="basic"/>
+      </context>
+
+      <!-- Basic Lilypond syntax that also works inside markup -->
+      <context name="basic" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars char="%" char1="{" context="commentblock" beginRegion="comment"/>
+        <DetectChar char="%" context="commentline"/>
+        <DetectChar char="&quot;" context="string"/>
+        <DetectChar char="#" context="scheme"/>
+        <DetectChar char="$" context="schemesub"/>
+      </context>
+
+      <context name="musiccommand" attribute="Normal Text" lineEndContext="#pop"
+               fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\\(&dynamics;)&b;" attribute="Dynamic"/>
+        <RegExpr String="\\[&lt;!&gt;]" attribute="Dynamic"/>
+        <RegExpr String="\\(&scripts;)&b;" attribute="Articulation"/>
+        <RegExpr String="\\[()]" attribute="Slur"/>
+        <RegExpr String="\\[][]" attribute="Beam"/>
+        <IncludeRules context="command"/>
+      </context>
+
+      <context name="command" attribute="Normal Text" lineEndContext="#pop"
+               fallthrough="true" fallthroughContext="#pop">
+        <Detect2Chars char="\" char1="\" attribute="Keyword"/>
+        <RegExpr String="\\note(mode|s)&b;" context="notemode"/>
+        <RegExpr String="\\drum(mode|s)&b;" context="drummode"/>
+        <RegExpr String="\\chord(mode|s)&b;" context="chordmode"/>
+        <RegExpr String="\\figure(mode|s)&b;" context="figuremode"/>
+        <RegExpr String="\\(lyric(mode|s)|addlyrics)&b;" context="lyricmode"/>
+        <RegExpr String="\\lyricsto&b;" context="lyricsto"/>
+        <RegExpr String="\\markup(lines)?&b;" attribute="Markup" context="markup"/>
+        <RegExpr String="\\(header|paper|layout|midi|with)\b" context="section"/>
+        <RegExpr String="\\(new|context|change)\b" attribute="Keyword" context="context"/>
+        <RegExpr String="\\(un)?set\b" attribute="Keyword" context="set"/>
+        <RegExpr String="\\(override(Property)?|revert)&b;" attribute="Keyword" context="override"/>
+        <RegExpr String="\\skip&b;" attribute="Command" context="duration"/>
+        <RegExpr String="\\tempo&b;" attribute="Command" context="tempo"/>
+        <RegExpr String="\\(&keywords;)&b;" attribute="Keyword"/>
+        <RegExpr String="\\(&commands-heads;)&b;" attribute="Command"/>
+        <RegExpr String="\\(&commands-other1;)&b;" attribute="Command"/>
+        <RegExpr String="\\(&commands-other2;)&b;" attribute="Command"/>
+        <RegExpr String="\\(&commands-other3;)&b;" attribute="Command"/>
+        <RegExpr String="\\(&commands-other4;)&b;" attribute="Command"/>
+        <RegExpr String="\\(&commands-other5;)&b;" attribute="Command"/>
+        <RegExpr String="\\(&commands-other6;)&b;" attribute="Command"/>
+        <RegExpr String="\\(&commands-other7;)&b;" attribute="Command"/>
+        <RegExpr String="\\(&toplevelvars;)&b;" attribute="Variable"/>
+        <RegExpr String="\\(&deprecatedkeywords;)&b;" attribute="Deprecated Keyword"/>
+        <RegExpr String="\\(&deprecatedcommands;)&b;" attribute="Deprecated Command"/>
+        <RegExpr String="\\(translator|newcontext)\b" attribute="Deprecated Keyword" context="context"/>
+        <RegExpr String="\\property&b;" attribute="Deprecated Keyword" context="override"/>
+        <RegExpr String="\\[A-Za-z]+" attribute="User Command"/>
+        <DetectChar char="\" attribute="Invalid"/>
+      </context>
+
+      <context name="assignment" attribute="Normal Text" lineEndContext="#pop">
+        <RegExpr String="\b(&toplevelvars;)\b" attribute="Variable" context="#pop"/>
+        <RegExpr String="[a-z]+" insensitive="true" attribute="User Command" context="#pop"/>
+      </context>
+
+      <context name="pitch" attribute="Pitch" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="=\s*('+|,+)?" attribute="Check"/>
+        <AnyChar String="!?"/>
+        <IncludeRules context="duration"/>
+      </context>
+
+      <context name="duration" attribute="Normal Text" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectSpaces attribute="Normal Text"/>
+        <RegExpr String="&duration;" attribute="Duration" context="#pop"/>
+        <RegExpr String="\d+" attribute="Invalid" context="#pop"/><!-- uncaught (wrong) durations -->
+      </context>
+
+      <context name="chord" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="&gt;" context="chordend"/>
+        <RegExpr String="&pitch;" context="chordpitch"/>
+        <AnyChar String="&lt;{}srR" attribute="Invalid"/><!-- no rests in chord allowed -->
+        <IncludeRules context="music"/>
+      </context>
+
+      <context name="chordpitch" attribute="Pitch" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectSpaces attribute="Normal Text"/>
+        <RegExpr String="=\s*('+|,+)?" attribute="Check"/>
+        <RegExpr String="&duration;" attribute="Invalid" context="#pop"/><!-- no duration in chord allowed -->
+        <RegExpr String="\d+" attribute="Invalid" context="#pop"/><!-- catch other (wrong) durations as well -->
+      </context>
+
+      <context name="chordend" attribute="Chord" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop#pop">
+        <DetectSpaces attribute="Normal Text"/>
+        <RegExpr String="&duration;" attribute="Duration" context="#pop#pop"/>
+      </context>
+
+      <context name="commentline" attribute="Comment" lineEndContext="#pop">
+        <IncludeRules context="##Alerts"/>
+      </context>
+
+      <context name="commentblock" attribute="Comment" lineEndContext="#stay">
+        <Detect2Chars char="%" char1="}" attribute="Comment" context="#pop" endRegion="comment"/>
+        <IncludeRules context="##Alerts"/>
+      </context>
+
+      <context name="string" attribute="Quoted Text" lineEndContext="#stay">
+        <DetectChar char="&quot;" attribute="Quoted Text" context="#pop"/>
+        <Detect2Chars char="\" char1="\"/>
+        <Detect2Chars char="\" char1="&quot;"/>
+      </context>
+
+      <context name="connect" attribute="Articulation" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <AnyChar String=".-+|&gt;^_12345" attribute="Articulation" context="#pop"/>
+      </context>
+
+      <!-- Scheme -->
+      <context name="scheme" attribute="Scheme" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="scheme2">
+        <DetectSpaces/>
+      </context>
+
+      <context name="scheme2" attribute="Scheme" lineEndContext="#pop#pop">
+        <DetectChar char="(" attribute="Scheme Keyword" context="scheme3" beginRegion="scheme"/>
+        <IncludeRules context="schemerules"/>
+        <DetectSpaces lookAhead="true" context="#pop#pop"/>
+      </context>
+
+      <context name="scheme3" attribute="Scheme" lineEndContext="#stay">
+        <DetectChar char=")" attribute="Scheme Keyword" context="#pop#pop#pop" endRegion="scheme"/>
+        <IncludeRules context="schemerules"/>
+      </context>
+
+      <context name="schemerules" attribute="Scheme" lineEndContext="#stay">
+        <DetectChar char="(" context="schemerules" beginRegion="scheme"/>
+        <DetectChar char=")" context="#pop" endRegion="scheme"/>
+        <DetectChar char="&quot;" context="schemestring"/>
+        <DetectChar char=";" context="schemecommentline"/>
+        <DetectChar char="$" context="schemesub"/>
+        <DetectChar char="'" context="schemequote"/>
+        <Detect2Chars char="#" char1="!" context="schemecommentblock" beginRegion="schemecomment"/>
+        <Detect2Chars char="#" char1="{" attribute="Scheme Keyword" context="schemelily" beginRegion="schemelily"/>
+        <keyword String="musicexpressions" attribute="Scheme Keyword"/>
+        <keyword String="contexts" attribute="Scheme Keyword"/>
+        <keyword String="layoutobjects" attribute="Scheme Keyword"/>
+        <RegExpr String="[-+]?(\d+(\.\d+)?|\.\d+)" attribute="Scheme Value"/>
+        <RegExpr String="#(t|f|b[-+]?[01.]+|o[-+]?[0-7.]+|d[-+]?[0-9.]+|x[-+]?[0-9a-f.]+)"
+                 insensitive="true" attribute="Scheme Value"/>
+        <RegExpr String="[+-](inf|nan)\.0" attribute="Scheme Value"/>
+        <RegExpr String="&schemefunc0;" attribute="Scheme Keyword"/>
+        <RegExpr String="&schemefunc1;" attribute="Scheme Keyword"/>
+        <RegExpr String="&schemefunc2;" attribute="Scheme Keyword"/>
+        <RegExpr String="&schemename;"/>
+      </context>
+
+      <context name="schemequote" attribute="Scheme" lineEndContext="#pop"
+               fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="&schemefunc0;"/>
+        <RegExpr String="&schemefunc1;"/>
+        <RegExpr String="&schemefunc2;"/>
+      </context>
+
+      <context name="schemelily" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars char="#" char1="}" attribute="Scheme Keyword" context="#pop" endRegion="schemelily"/>
+        <IncludeRules context="lilypond"/>
+      </context>
+
+      <context name="schemecommentline" attribute="Scheme Comment" lineEndContext="#pop">
+        <IncludeRules context="##Alerts"/>
+      </context>
+
+      <context name="schemecommentblock" attribute="Scheme Comment" lineEndContext="#stay">
+        <Detect2Chars char="!" char1="#" attribute="Scheme Comment" context="#pop" endRegion="schemecomment"/>
+        <IncludeRules context="##Alerts"/>
+      </context>
+
+      <context name="schemesub" attribute="Scheme Subst" lineEndContext="#pop"
+                fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="&schemename;" attribute="Scheme Subst" context="#pop"/>
+      </context>
+
+      <context name="schemestring" attribute="Scheme String" lineEndContext="#stay">
+        <DetectChar char="&quot;" attribute="Scheme String" context="#pop"/>
+        <RegExpr String="\\[0fnrtav\\&quot;]"/>
+      </context>
+
+      <!-- NoteMode -->
+      <context name="notemode" attribute="Other Mode" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectChar char="{" attribute="Keyword" context="notemode2" beginRegion="sequential"/>
+        <DetectSpaces/>
+      </context>
+
+      <context name="notemode2" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/>
+        <IncludeRules context="noterules"/>
+      </context>
+
+      <context name="noterules" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Keyword" context="noterules" beginRegion="sequential"/>
+        <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/>
+        <IncludeRules context="music"/>
+      </context>
+
+      <!-- Drummode -->
+      <context name="drummode" attribute="Other Mode" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectChar char="{" attribute="Keyword" context="drummode2" beginRegion="sequential"/>
+        <DetectSpaces/>
+      </context>
+
+      <context name="drummode2" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/>
+        <IncludeRules context="drumrules"/>
+      </context>
+
+      <context name="drumrules" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Keyword" context="drumrules" beginRegion="sequential"/>
+        <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/>
+        <RegExpr String="&lt;(?!&lt;)" attribute="Chord" context="drumchord"/>
+        <keyword attribute="Other Text" String="drumpitchnames" context="duration"/>
+        <IncludeRules context="music"/>
+      </context>
+
+      <context name="drumchord" attribute="Normal Text" lineEndContext="#stay">
+        <keyword attribute="Other Text" String="drumpitchnames"/>
+        <IncludeRules context="chord"/>
+      </context>
+
+      <!-- Chordmode -->
+      <context name="chordmode" attribute="Other Mode" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectChar char="{" attribute="Keyword" context="chordmode2" beginRegion="sequential"/>
+        <DetectSpaces/>
+      </context>
+
+      <context name="chordmode2" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/>
+        <IncludeRules context="chordrules"/>
+      </context>
+
+      <context name="chordrules" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Keyword" context="chordrules" beginRegion="sequential"/>
+        <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/>
+        <RegExpr attribute="Other Text" String=":?([\.^]?\d+[-+]?|(m|dim|aug|maj|sus)&b;)*(/\+?&pitch;)?"/>
+        <IncludeRules context="music"/>
+      </context>
+
+      <!-- Figuremode -->
+      <context name="figuremode" attribute="Other Mode" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectChar char="{" attribute="Keyword" context="figuremode2" beginRegion="sequential"/>
+        <DetectSpaces/>
+      </context>
+
+      <context name="figuremode2" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/>
+        <IncludeRules context="figurerules"/>
+      </context>
+
+      <context name="figurerules" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Keyword" context="figurerules" beginRegion="sequential"/>
+        <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/>
+        <DetectChar char="&lt;" attribute="Chord" context="figure"/>
+        <RegExpr String="&rest;" attribute="Pitch" context="duration"/>
+        <IncludeRules context="default"/>
+      </context>
+
+      <context name="figure" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="&gt;" attribute="Chord" context="chordend"/>
+        <IncludeRules context="basic"/>
+        <RegExpr String="\\markup(lines)?&b;" attribute="Markup" context="markup"/>
+        <RegExpr String="\\skip&b;" attribute="Command" context="duration"/>
+      </context>
+
+      <!-- Lyrics -->
+      <context name="lyricmode" attribute="Lyricmode" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectChar char="{" attribute="Keyword" context="lyricmode2" beginRegion="sequential"/>
+        <DetectSpaces/>
+      </context>
+
+      <context name="lyricmode2" attribute="Lyric Text" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="sequential"/>
+        <IncludeRules context="lyricrules"/>
+      </context>
+
+      <!-- LyricsTo has extra parameter -->
+      <context name="lyricsto" attribute="Lyricmode" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="&quot;(\\[&quot;\\]|[^&quot;\\])+&quot;" attribute="Quoted Text" context="lyricsto2"/>
+        <RegExpr String="[A-Za-z]+" attribute="Normal Text" context="lyricsto2"/>
+        <DetectSpaces/>
+      </context>
+
+      <context name="lyricsto2" attribute="Normal Text" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop#pop">
+        <DetectChar char="{" attribute="Keyword" context="lyricsto3" beginRegion="sequential"/>
+        <DetectSpaces/>
+      </context>
+
+      <context name="lyricsto3" attribute="Lyric Text" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Keyword" context="#pop#pop#pop" endRegion="sequential"/>
+        <IncludeRules context="lyricrules"/>
+      </context>
+
+      <context name="lyricrules" attribute="Lyric Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Keyword" context="lyricrules" beginRegion="sequential"/>
+        <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="sequential"/>
+        <RegExpr String="(\w+-{2,}|\w+_{2,}|-{2,}\w+|_{2,}\w+)" attribute="Invalid"/><!-- two hyphens or underscores run together with a word -->
+        <RegExpr String="&duration;" attribute="Duration"/>
+        <RegExpr String="(--|__|_)" attribute="Lyricmode"/>
+        <IncludeRules context="default"/>
+        <RegExpr String="\S+\}" attribute="Invalid" context="#pop" endRegion="sequential"/>
+      </context>
+
+      <!-- Markup -->
+      <context name="markup" attribute="Normal Text" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectChar char="{" attribute="Keyword" context="markup2" beginRegion="markup"/>
+        <DetectSpaces/>
+        <RegExpr String="\\score\b" attribute="Markup" context="notemode"/>
+        <RegExpr String="\\(&markupwithtextargs;)&b;" attribute="Markup"/>
+        <RegExpr String="\\(&markupnotextargs;)&b;" attribute="Markup" context="#pop"/>
+        <DetectChar char="#" context="scheme"/>
+        <RegExpr String="[^&quot;\s\\#%{}$]+" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <context name="markup2" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="markup"/>
+        <IncludeRules context="markuprules"/>
+      </context>
+
+      <context name="markuprules" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="markup"/>
+        <DetectChar char="{" attribute="Keyword" context="markuprules" beginRegion="markup"/>
+        <RegExpr String="\\score\b" attribute="Markup" context="notemode"/>
+        <RegExpr String="\\(&markupnotextargs;|&markupwithtextargs;)&b;" attribute="Markup"/>
+        <RegExpr String="\\(&deprecatedmarkup;)&b;" attribute="Deprecated Markup"/>
+        <RegExpr String="\\[A-Za-z]+(-[A-Za-z]+)*" attribute="User Command"/>
+        <IncludeRules context="basic"/>
+      </context>
+
+      <!-- \paper, \layout, \midi, \header, \with -->
+      <context name="section" attribute="Keyword" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectChar char="{" attribute="Keyword" context="section2" beginRegion="section"/>
+        <DetectSpaces/>
+      </context>
+
+      <context name="section2" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Keyword" context="#pop#pop" endRegion="section"/>
+        <IncludeRules context="sectionrules"/>
+      </context>
+
+      <context name="sectionrules" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Keyword" context="#pop" endRegion="section"/>
+        <DetectChar char="{" attribute="Keyword" context="sectionrules" beginRegion="section"/>
+        <keyword String="contexts" attribute="Context"/>
+        <keyword String="deprecatedcontexts" attribute="Deprecated Context"/>
+        <RegExpr String="(&quot;?)\b(&engravers00;)\b\1" attribute="Engraver"/>
+        <RegExpr String="(&quot;?)\b(&engravers01;)\b\1" attribute="Engraver"/>
+        <RegExpr String="(&quot;?)\b(&engravers02;)\b\1" attribute="Engraver"/>
+        <RegExpr String="(&quot;?)\b(&engravers1;)\b\1" attribute="Engraver"/>
+        <RegExpr String="(&quot;?)\b(&engravers2;)\b\1" attribute="Engraver"/>
+        <keyword String="layoutobjects" attribute="Layout Object"/>
+        <keyword String="properties" attribute="Property"/>
+        <RegExpr String="\b(&headervars;|&papervars;|&layoutvars;)\b" attribute="Variable"/>
+        <keyword String="deprecatedproperties" attribute="Deprecated Property"/>
+        <IncludeRules context="default"/>
+      </context>
+
+      <!-- \new, \context, \change -->
+      <context name="context" attribute="Normal Text" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <keyword String="contexts" attribute="Context" context="context2"/>
+        <keyword String="deprecatedcontexts" attribute="Deprecated Context" context="context2"/>
+        <RegExpr String="[A-Za-z]+" attribute="User Command" context="context2"/>
+        <DetectChar char="{" attribute="Keyword" context="section2" beginRegion="section"/>
+      </context>
+
+      <context name="context2" attribute="Normal Text" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop#pop">
+        <DetectSpaces/>
+        <RegExpr String="=(\s*[A-Za-z]+)?" attribute="Normal Text" context="#pop#pop"/>
+      </context>
+
+      <!-- \set, \unset -->
+      <context name="set" attribute="Normal Text" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <keyword String="contexts" attribute="Context"/>
+        <keyword String="deprecatedcontexts" attribute="Deprecated Context"/>
+        <DetectChar char="."/>
+        <keyword String="properties" attribute="Property" context="#pop"/>
+        <keyword String="deprecatedproperties" attribute="Deprecated Property" context="#pop"/>
+        <RegExpr String="[A-Za-z]+" attribute="User Command" context="#pop"/>
+      </context>
+
+      <!-- \override, \overrideProperty, \revert -->
+      <context name="override" attribute="Normal Text" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <keyword String="contexts" attribute="Context"/>
+        <keyword String="deprecatedcontexts" attribute="Deprecated Context"/>
+        <DetectChar char="."/>
+        <keyword String="layoutobjects" attribute="Layout Object" context="#pop"/>
+        <RegExpr String="[A-Za-z]+(?=\s*\.)" attribute="User Command"/>
+        <RegExpr String="[A-Za-z]+" attribute="User Command" context="#pop"/>
+      </context>
+
+      <!-- special cases for individual commands -->
+      <!-- \tempo -->
+      <context name="tempo" attribute="Normal Text" lineEndContext="#stay"
+               fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\\markup(lines)?&b;" attribute="Markup" context="markup"/>
+        <RegExpr String="\d+\.*\s*=\s*\d+" attribute="Command" context="#pop"/>
+        <DetectSpaces/>
+        <IncludeRules context="basic"/>
+      </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Pitch" defStyleNum="dsNormal"/>
+      <itemData name="Duration" defStyleNum="dsDataType"/>
+      <itemData name="Slur" defStyleNum="dsChar" bold="true"/>
+      <itemData name="Dynamic" defStyleNum="dsString" color="#ee5000" 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="Check" defStyleNum="dsDecVal"/>
+      <itemData name="Repeat" defStyleNum="dsDataType" italic="true"/>
+      <itemData name="Keyword" defStyleNum="dsKeyword"/>
+      <itemData name="Command" defStyleNum="dsFunction" bold="true"/>
+      <itemData name="User Command" defStyleNum="dsFunction"/>
+      <itemData name="Context" defStyleNum="dsDataType" bold="true"/>
+      <itemData name="Layout Object" defStyleNum="dsDataType"/>
+      <itemData name="Property" defStyleNum="dsDataType"/>
+      <itemData name="Variable" defStyleNum="dsDataType"/>
+      <itemData name="Engraver" defStyleNum="dsDataType"/>
+      <itemData name="Markup" defStyleNum="dsBaseN" color="#009817"/>
+      <itemData name="Lyricmode" defStyleNum="dsKeyword" color="#007010"/>
+      <itemData name="Lyric Text" defStyleNum="dsNormal" color="#007010"/>
+      <itemData name="Other Mode" defStyleNum="dsKeyword" color="#0094e4"/>
+      <itemData name="Other Text" defStyleNum="dsNormal" color="#0094e4"/>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Quoted Text" defStyleNum="dsString"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="Scheme" defStyleNum="dsFloat" backgroundColor="#fff6ff"/>
+      <itemData name="Scheme Keyword" defStyleNum="dsFloat" bold="true" backgroundColor="#fff6ff"/>
+      <itemData name="Scheme Subst" defStyleNum="dsDecVal" bold="true" backgroundColor="#fff6ff"/>
+      <itemData name="Scheme Value" defStyleNum="dsDecVal" backgroundColor="#fff6ff"/>
+      <itemData name="Scheme String" defStyleNum="dsString" backgroundColor="#fff6ff"/>
+      <itemData name="Scheme Comment" defStyleNum="dsComment" backgroundColor="#fff6ff"/>
+      <itemData name="Deprecated Keyword" defStyleNum="dsKeyword" backgroundColor="#fcc"/>
+      <itemData name="Deprecated Command" defStyleNum="dsFunction" backgroundColor="#fcc"/>
+      <itemData name="Deprecated Property" defStyleNum="dsDataType" backgroundColor="#fcc"/>
+      <itemData name="Deprecated Context" defStyleNum="dsDataType" bold="true" backgroundColor="#fcc"/>
+      <itemData name="Deprecated Markup" defStyleNum="dsBaseN" color="#009817" backgroundColor="#fcc"/>
+      <itemData name="Invalid" defStyleNum="dsError"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="%"/>
+      <comment name="multiLine" start="%{" end="%}" region="comment"/>
+    </comments>
+    <keywords casesensitive="true" additionalDeliminator="'_0123456789"/>
+  </general>
+</language>
+<!--
+  kate: space-indent on; indent-width 2; replace-tabs on;
+-->
diff --git a/xml/literate-curry.xml b/xml/literate-curry.xml
new file mode 100644
--- /dev/null
+++ b/xml/literate-curry.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Literate Curry" version="1" kateversion="3.4"
+          section="Sources" extensions="*.lcurry" mimetype="text/x-curry"
+          author="Björn Peemöller (bjp@informatik.uni-kiel.de)" license="LGPL"
+          indenter="haskell">
+  <highlighting>
+  <contexts>
+
+    <context attribute="Text" lineEndContext="#stay" name="Text">
+      <!-- Bird Tracks -->
+      <DetectChar attribute="BirdTrack" context="Code" char="&gt;" column="0"/>
+      <DetectChar attribute="BirdTrack" context="Code" char="&lt;" column="0"/>
+      <!-- \begin{code} and \begin{spec} -->
+      <StringDetect attribute="Text" context="normals" String="&#92;begin&#123;code&#125;"/>
+      <StringDetect attribute="Text" context="normals" String="&#92;begin&#123;spec&#125;"/>
+    </context>
+
+    <context attribute="Normal" lineEndContext="#pop" name="Code">
+      <RegExpr attribute="Comment" context="multiline" String="\{-[^#]" />
+      <IncludeRules context="##Curry" />
+    </context>
+
+    <context attribute="Normal" lineEndContext="#stay" name="normals">
+      <StringDetect attribute="Normal" context="#pop" String="&#92;end&#123;code&#125;"/>
+      <StringDetect attribute="Normal" context="#pop" String="&#92;end&#123;spec&#125;"/>
+      <IncludeRules context="##Curry" />
+    </context>
+
+    <!-- Handle comments in presence of bird tracks -->
+    <context attribute="Comment" lineEndContext="lineend" name="multiline" >
+      <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
+    </context>
+
+    <context attribute="Text" lineEndContext="#stay" name="lineend">
+      <DetectChar attribute="BirdTrack" context="restart" char="&gt;" column="0"/>
+      <DetectChar attribute="BirdTrack" context="restart" char="&lt;" column="0"/>
+    </context>
+
+    <context attribute="Comment" lineEndContext="#pop" name="restart">
+      <Detect2Chars attribute="Comment" context="#pop#pop#pop" char="-" char1="}" />
+    </context>
+  </contexts>
+  <itemDatas>
+    <itemData name="Text"      defStyleNum="dsNormal"  spellChecking="true"  />
+    <itemData name="BirdTrack" defStyleNum="dsOthers"  spellChecking="false" />
+    <itemData name="Comment"   defStyleNum="dsComment" />
+  </itemDatas>
+  </highlighting>
+</language>
diff --git a/xml/literate-haskell.xml b/xml/literate-haskell.xml
new file mode 100644
--- /dev/null
+++ b/xml/literate-haskell.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Literate Haskell" version="3" kateversion="3.4" section="Sources" extensions="*.lhs" mimetype="text/x-haskell" author="Nicolas Wu (zenzike@gmail.com)" license="LGPL">
+  <highlighting>
+  <contexts>
+    <context attribute="Text" lineEndContext="#stay" name="text">
+      <DetectChar attribute="BirdTrack" context="normal" char="&gt;" column="0"/>
+      <DetectChar attribute="BirdTrack" context="normal" char="&lt;" column="0"/>
+      <StringDetect attribute="Text" context="normals" String="&#92;begin&#123;code&#125;"/>
+      <StringDetect attribute="Text" context="normals" String="&#92;begin&#123;spec&#125;"/>
+    </context>
+    <context attribute="Normal" lineEndContext="#pop" name="normal">
+      <RegExpr attribute="Comment" context="comments'" String="\{-[^#]" />
+      <IncludeRules context="##Haskell" />
+    </context>
+    <context attribute="Normal" lineEndContext="#stay" name="normals">
+      <StringDetect attribute="Normal" context="#pop" String="&#92;end&#123;code&#125;"/>
+      <StringDetect attribute="Normal" context="#pop" String="&#92;end&#123;spec&#125;"/>
+      <IncludeRules context="##Haskell" />
+    </context>
+    <context attribute="Comment" lineEndContext="uncomments" name="comments'" >
+      <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
+    </context>
+    <context attribute="Text" lineEndContext="#stay" name="uncomments">
+      <DetectChar attribute="BirdTrack" context="recomments" char="&gt;" column="0"/>
+      <DetectChar attribute="BirdTrack" context="recomments" char="&lt;" column="0"/>
+    </context>
+    <context attribute="Comment" lineEndContext="#pop" name="recomments">
+      <Detect2Chars attribute="Comment" context="#pop#pop#pop" char="-" char1="}" />
+    </context>
+  </contexts>
+  <itemDatas>
+    <itemData name="Text"             defStyleNum="dsNormal" spellChecking="true" />
+    <itemData name="BirdTrack"        defStyleNum="dsOthers"  spellChecking="false" />
+    <itemData name="Comment"          defStyleNum="dsComment" />
+  </itemDatas>
+  </highlighting>
+</language>
diff --git a/xml/llvm.xml b/xml/llvm.xml
new file mode 100644
--- /dev/null
+++ b/xml/llvm.xml
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="LLVM" section="Sources"
+          version="1.00" kateversion="3.4.4"
+          extensions="*.ll"
+          mimetype=""
+          author="LLVM Team"
+          license="LLVM Release License">
+  <highlighting>
+    <list name="keywords">
+      <item> begin </item>
+      <item> end </item>
+      <item> true </item>
+      <item> false </item>
+      <item> declare </item>
+      <item> define </item>
+      <item> global </item>
+      <item> constant </item>
+      <item> gc </item>
+      <item> module </item>
+      <item> asm </item>
+      <item> target </item>
+      <item> datalayout </item>
+      <item> null </item>
+      <item> undef </item>
+      <item> blockaddress </item>
+      <item> sideeffect </item>
+      <item> alignstack </item>
+      <item> to </item>
+      <item> unwind </item>
+      <item> nuw </item>
+      <item> nsw </item>
+      <item> inbounds </item>
+      <item> tail </item>
+      <item> triple </item>
+      <item> type </item>
+      <item> align </item>
+      <item> alias </item>
+    </list>
+    <list name="linkage-types">
+      <item> private </item>
+      <item> internal </item>
+      <item> available_externally </item>
+      <item> linkonce </item>
+      <item> weak </item>
+      <item> common </item>
+      <item> appending </item>
+      <item> extern_weak </item>
+      <item> linkonce_odr </item>
+      <item> weak_odr </item>
+      <item> dllimport </item>
+      <item> dllexport </item>
+    </list>
+    <list name="calling-conventions">
+      <item> ccc </item>
+      <item> fastcc </item>
+      <item> coldcc </item>
+      <item> cc </item>
+    </list>
+    <list name="visibility-styles">
+      <item> default </item>
+      <item> hidden </item>
+      <item> protected </item>
+    </list>
+    <list name="parameter-attributes">
+      <item> zeroext </item>
+      <item> signext </item>
+      <item> inreg </item>
+      <item> byval </item>
+      <item> sret </item>
+      <item> noalias </item>
+      <item> nocapture </item>
+      <item> nest </item>
+    </list>
+    <list name="function-attributes">
+      <item> alignstack </item>
+      <item> alwaysinline </item>
+      <item> inlinehint </item>
+      <item> naked </item>
+      <item> noimplicitfloat </item>
+      <item> noinline </item>
+      <item> noredzone </item>
+      <item> noreturn </item>
+      <item> nounwind </item>
+      <item> optnone </item>
+      <item> optsize </item>
+      <item> readnone </item>
+      <item> readonly </item>
+      <item> ssp </item>
+      <item> sspreq </item>
+      <item> sspstrong </item>
+    </list>
+    <list name="types">
+      <item> float </item>
+      <item> double </item>
+      <item> fp128 </item>
+      <item> x86_fp80 </item>
+      <item> ppc_fp128 </item>
+      <item> x86mmx </item>
+      <item> void </item>
+      <item> label </item>
+      <item> metadata </item>
+      <item> opaque </item>
+    </list>
+    <list name="intrinsic-global-variables">
+      <item> llvm.used </item>
+      <item> llvm.compiler.used </item>
+      <item> llvm.global_ctors </item>
+      <item> llvm.global_dtors </item>
+    </list>
+    <list name="instructions">
+      <item> ret </item>
+      <item> br </item>
+      <item> switch </item>
+      <item> indirectbr </item>
+      <item> invoke </item>
+      <item> unwind </item>
+      <item> unreachable </item>
+      <item> add </item>
+      <item> fadd </item>
+      <item> sub </item>
+      <item> fsub </item>
+      <item> mul </item>
+      <item> fmul </item>
+      <item> udiv </item>
+      <item> sdiv </item>
+      <item> fdiv </item>
+      <item> urem </item>
+      <item> srem </item>
+      <item> frem </item>
+      <item> shl </item>
+      <item> lshr </item>
+      <item> ashr </item>
+      <item> and </item>
+      <item> or </item>
+      <item> xor </item>
+      <item> extractelement </item>
+      <item> insertelement </item>
+      <item> shufflevector </item>
+      <item> extractvalue </item>
+      <item> insertvalue </item>
+      <item> alloca </item>
+      <item> load </item>
+      <item> store </item>
+      <item> getelementptr </item>
+      <item> trunc </item>
+      <item> zext </item>
+      <item> sext </item>
+      <item> fptrunc </item>
+      <item> fpext </item>
+      <item> fptoui </item>
+      <item> fptosi </item>
+      <item> uitofp </item>
+      <item> sitofp </item>
+      <item> ptrtoint </item>
+      <item> inttoptr </item>
+      <item> bitcast </item>
+      <item> addrspacecast </item>
+      <item> icmp </item>
+      <item> fcmp </item>
+      <item> phi </item>
+      <item> select </item>
+      <item> call </item>
+      <item> va_arg </item>
+    </list>
+    <list name="conditions">
+      <item> eq </item>
+      <item> ne </item>
+      <item> ugt </item>
+      <item> uge </item>
+      <item> ult </item>
+      <item> ule </item>
+      <item> sgt </item>
+      <item> sge </item>
+      <item> slt </item>
+      <item> sle </item>
+      <item> oeq </item>
+      <item> ogt </item>
+      <item> oge </item>
+      <item> olt </item>
+      <item> ole </item>
+      <item> one </item>
+      <item> ord </item>
+      <item> ueq </item>
+      <item> une </item>
+      <item> uno </item>
+    </list>
+    <contexts>
+      <context name="llvm" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces />
+        <AnyChar String="@%" attribute="Symbol" context="symbol" />
+
+        <DetectChar char="{" beginRegion="Brace1" />
+        <DetectChar char="}" endRegion="Brace1" />
+        <DetectChar char=";" attribute="Comment" context="comment" />
+        <DetectChar attribute="String" context="string" char="&quot;" />
+        <RegExpr String="i[0-9]+" attribute="Data Type" context="#stay" />
+        <RegExpr attribute="Symbol" String="[-a-zA-Z$._][-a-zA-Z$._0-9]*:" context="#stay" />
+        <Int attribute="Int" context="#stay" />
+
+        <keyword attribute="Keyword"   String="keywords" />
+        <keyword attribute="Keyword"   String="linkage-types" />
+        <keyword attribute="Keyword"   String="calling-conventions" />
+        <keyword attribute="Keyword"   String="visibility-styles" />
+        <keyword attribute="Keyword"   String="parameter-attributes" />
+        <keyword attribute="Keyword"   String="function-attributes" />
+        <keyword attribute="Data Type" String="types" />
+        <keyword attribute="Keyword"   String="intrinsic-global-variables" />
+        <keyword attribute="Keyword"   String="instructions" />
+        <keyword attribute="Keyword"   String="conditions" />
+      </context>
+
+      <context name="symbol" attribute="Symbol" lineEndContext="#pop">
+        <DetectChar attribute="Symbol" context="symbol-string" char="&quot;" />
+        <RegExpr attribute="Symbol" String="([-a-zA-Z$._][-a-zA-Z$._0-9]*|[0-9]+)" context="#pop" />
+      </context>
+
+      <context name="symbol-string" attribute="Symbol" lineEndContext="#stay">
+        <DetectChar attribute="Symbol" context="#pop#pop" char="&quot;" />
+      </context>
+
+      <context name="string" attribute="String" lineEndContext="#stay">
+        <DetectChar attribute="String" context="#pop" char="&quot;" />
+      </context>
+
+      <context name="comment" attribute="Comment" lineEndContext="#pop">
+        <DetectSpaces />
+        <!-- TODO: Add FileCheck syntax highlighting -->
+        <IncludeRules context="##Alerts" />
+        <DetectIdentifier />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="Keyword" defStyleNum="dsKeyword" />
+      <itemData name="Data Type" defStyleNum="dsDataType" />
+      <itemData name="Int" defStyleNum="dsDecVal" />
+      <itemData name="Hex" defStyleNum="dsBaseN" />
+      <itemData name="Float" defStyleNum="dsFloat" />
+      <itemData name="String" defStyleNum="dsString" />
+      <itemData name="Comment" defStyleNum="dsComment" />
+      <itemData name="Function" defStyleNum="dsFunction" />
+      <itemData name="Symbol" defStyleNum="dsFunction" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start=";" />
+    </comments>
+    <keywords casesensitive="1" weakDeliminator="." />
+  </general>
+</language>
+<!--
+// kate: space-indent on; indent-width 2; replace-tabs on;
+-->
diff --git a/xml/lua.xml b/xml/lua.xml
new file mode 100644
--- /dev/null
+++ b/xml/lua.xml
@@ -0,0 +1,300 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+    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="2" indenter="lua" kateversion="3.4" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
+  <highlighting>
+    <list name="keywords">
+      <item> and </item>
+      <item> function </item>
+      <item> in </item>
+      <item> local </item>
+      <item> not </item>
+      <item> or </item>
+    </list>
+    <list name="control">
+      <item> break </item>
+      <item> do </item>
+      <item> else </item>
+      <item> elseif </item>
+      <item> end </item>
+      <item> for </item>
+      <item> if </item>
+      <item> repeat </item>
+      <item> return </item>
+      <item> then </item>
+      <item> until </item>
+      <item> while </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.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 name="Normal"        attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="##DoxygenLua" />
+        <keyword      attribute="Error"  context="#stay" String="deprecated" />
+        <DetectSpaces />
+        <RegExpr      attribute="Comment"  context="Block Comment" beginRegion="block comment"  String="--\[(=*)\[" dynamic="true" />
+        <Detect2Chars attribute="Comment"  context="Comment"       char="-" char1="-"/>
+        <RegExpr      attribute="Strings"  context="String_block"  String="\[(=*)\[" dynamic="true" />
+        <DetectChar   attribute="Strings"  context="String_single" char="'"/>
+        <DetectChar   attribute="Strings"  context="String_double" char="&quot;"/>
+        <keyword      attribute="BFunc"    context="#stay"         String="basefunc"/>
+
+        <RegExpr      attribute="Keyword"  context="#stay" beginRegion="chunk" String="\bfunction\b" />
+        <keyword      attribute="Keyword"  context="#stay" String="keywords" />
+        <keyword      attribute="Keyword"  context="#stay"  String="pseudo-variables" />
+        <RegExpr      attribute="Control"  context="#stay" endRegion="chunk"   beginRegion="chunk" String="\belse\b" />
+        <RegExpr      attribute="Control"  context="#stay" endRegion="chunk"   beginRegion="chunk" String="\belseif\b" />
+        <RegExpr      attribute="Control"  context="#stay" beginRegion="chunk" String="\bdo\b" />
+        <RegExpr      attribute="Control"  context="#stay" beginRegion="chunk" String="\bif\b" />
+        <RegExpr      attribute="Control"  context="#stay" endRegion="chunk"   String="\bend\b" />
+        <keyword      attribute="Control"  context="#stay" String="control" />
+
+        <DetectChar   attribute="Symbols"  context="#stay" beginRegion="table" char="{" />
+        <DetectChar   attribute="Symbols"  context="#stay" endRegion="table"   char="}" />
+
+        <RegExpr      attribute="Numbers"  context="#stay"  String="\b\d*\.?\d*(e|e\-|e\+)?\d+\b"/>
+        <RegExpr      attribute="Numbers"  context="#stay"  String="\b-?0[xX][0-9a-fA-F]+\b"/>
+
+        <RegExpr      attribute="Normal Text" context="#stay" String="\b[a-zA-Z_][a-zA-Z0-9_]*(?=\s*([({'&quot;]|\[\[))\b" />
+        <RegExpr      attribute="Constant" context="#stay" String="\b[A-Z_][A-Z0-9_]*\b" />
+        <RegExpr      attribute="Variable" context="#stay" String="\b[a-zA-Z_][a-zA-Z0-9_]*\b" />
+
+        <Detect2Chars attribute="Error"    context="#stay" char="!" char1="="/>
+        <Detect2Chars attribute="Error"    context="#stay" char="-" char1="="/>
+        <Detect2Chars attribute="Error"    context="#stay" char="+" char1="="/>
+        <Detect2Chars attribute="Error"    context="#stay" char="+" char1="+"/>
+        <Detect2Chars attribute="Error"    context="#stay" char="." char1="="/>
+        <AnyChar      attribute="Symbols"  context="#stay" String="[]().,=~+-*/^&gt;&lt;#;" />
+      </context>
+      <context name="Comment"       attribute="Comment"     lineEndContext="#pop">
+        <Detect2Chars attribute="Alerts"   context="#stay" char="-" char1="-" />
+        <keyword      attribute="Alerts"   context="#stay" String="attention"/>
+      </context>
+      <context name="Block Comment" attribute="Comment"     lineEndContext="#stay" dynamic="true" >
+        <RegExpr attribute="Comment"  context="#pop"  endRegion="block comment" String="\]%1\]" dynamic="true" />
+        <Detect2Chars attribute="Alerts"   context="#stay" char="-" char1="-" />
+        <keyword      attribute="Alerts"   context="#stay" String="attention" />
+      </context>
+      <context name="String_single" attribute="Strings"     lineEndContext="Error">
+        <RegExpr      attribute="Symbols"  context="#stay" String="\\(a|b|f|n|r|t|v|\\|&quot;|\'|[|])" />
+        <DetectChar   attribute="Strings"  context="#pop"  char="'"/>
+      </context>
+      <context name="String_double" attribute="Strings"     lineEndContext="Error">
+        <RegExpr      attribute="Symbols"  context="#stay" String="\\[abfnrtv'&quot;\\\[\]]" />
+        <DetectChar   attribute="Strings"  context="#pop"  char="&quot;"/>
+      </context>
+      <context name="String_block"  attribute="Strings"     lineEndContext="#stay" dynamic="true">
+        <RegExpr      attribute="Symbols"  context="#stay" String="\\(a|b|f|n|r|t|v|\\|&quot;|\'|[|])" />
+        <RegExpr      attribute="Strings"  context="#pop"  String="\]%1\]" dynamic="true" />
+      </context>
+      <context name="Error"         attribute="Error"       lineEndContext="#stay">
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"     defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Alerts"          defStyleNum="dsAlert" spellChecking="false"/>
+      <itemData name="BFunc"           defStyleNum="dsFunction" spellChecking="false"/>
+      <itemData name="Comment"         defStyleNum="dsComment"/>
+      <itemData name="Constant"        defStyleNum="dsNormal" /> <!-- JGM -->
+      <itemData name="Control"         defStyleNum="dsKeyword" color="#A1A100" selColor="#ffffff" bold="0" italic="0" spellChecking="false"/>
+      <itemData name="Error"           defStyleNum="dsError" spellChecking="false"/>
+      <itemData name="Keyword"         defStyleNum="dsKeyword" spellChecking="false"/>
+      <itemData name="Numbers"         defStyleNum="dsDecVal" spellChecking="false"/>
+      <itemData name="Strings"         defStyleNum="dsString"/>
+      <itemData name="Symbols"         defStyleNum="dsOthers" spellChecking="false"/>
+      <itemData name="Variable"        defStyleNum="dsNormal" /> <!-- JGM -->
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="--" />
+      <comment name="multiLine" start="--[[" end="]]" />
+    </comments>
+    <keywords casesensitive="1" weakDeliminator="&#46;" additionalDeliminator="&quot;"/>
+  </general>
+</language>
diff --git a/xml/m4.xml b/xml/m4.xml
new file mode 100644
--- /dev/null
+++ b/xml/m4.xml
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+
+  GNU M4 syntax highlightning.
+  Corresponds to GNU M4 version 1.4.16.
+
+  For KatePart (Kate, KWrite etc) copy this file to
+    ~/.kde/share/apps/katepart/syntax/
+
+  For Qt Creator copy this file to
+    ~/.config/Nokia/qtcreator/generic-highlighter/
+
+
+  Copyright (c) 2011, Cybernetica AS ( http://www.cyber.ee/ )
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions are met:
+      * Redistributions of source code must retain the above copyright
+        notice, this list of conditions and the following disclaimer.
+      * Redistributions in binary form must reproduce the above copyright
+        notice, this list of conditions and the following disclaimer in the
+        documentation and/or other materials provided with the distribution.
+      * Neither the name of Cybernetica AS nor the names of its contributors
+        may be used to endorse or promote products derived from this software
+        without specific prior written permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+  DISCLAIMED. IN NO EVENT SHALL  Cybernetica AS  BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-->
+<language name="GNU M4" version="2" section="Sources" kateversion="3.0" extensions="*.m4;" author="Jaak Ristioja" license="New BSD License">
+  <highlighting>
+    <list name="optbuiltins">
+      <item> __gnu__ </item>
+      <item> __os2__ </item>
+      <item> os2 </item>
+      <item> __unix__ </item>
+      <item> unix </item>
+      <item> __windows__ </item>
+      <item> windows </item>
+    </list>
+    <list name="m4_optbuiltins">
+      <item> m4___gnu__ </item>
+      <item> m4___os2__ </item>
+      <item> m4_os2 </item>
+      <item> m4___unix__ </item>
+      <item> m4_unix </item>
+      <item> m4___windows__ </item>
+      <item> m4_windows </item>
+    </list>
+    <list name="builtins">
+      <item> __file__ </item>
+      <item> __line__ </item>
+      <item> __program__ </item>
+      <item> builtin </item>
+      <item> changecom </item>
+      <item> changequote </item>
+      <item> changeword </item>
+      <item> debugfile </item>
+      <item> debugmode </item>
+      <item> decr </item>
+      <item> define </item>
+      <item> defn </item>
+      <item> divert </item>
+      <item> divnum </item>
+      <item> dnl </item>
+      <item> dumpdef </item>
+      <item> errprint </item>
+      <item> esyscmd </item>
+      <item> eval </item>
+      <item> format </item>
+      <item> ifdef </item>
+      <item> ifelse </item>
+      <item> include </item>
+      <item> incr </item>
+      <item> index </item>
+      <item> indir </item>
+      <item> len </item>
+      <item> m4exit </item>
+      <item> m4wrap </item>
+      <item> maketemp </item>
+      <item> mkstemp </item>
+      <item> patsubst </item>
+      <item> popdef </item>
+      <item> pushdef </item>
+      <item> regexp </item>
+      <item> shift </item>
+      <item> sinclude </item>
+      <item> substr </item>
+      <item> syscmd </item>
+      <item> sysval </item>
+      <item> traceon </item>
+      <item> traceoff </item>
+      <item> translit </item>
+      <item> undefine </item>
+      <item> undivert </item>
+    </list>
+    <list name="m4_builtins">
+      <item> m4___file__ </item>
+      <item> m4___line__ </item>
+      <item> m4___program__ </item>
+      <item> m4_builtin </item>
+      <item> m4_changecom </item>
+      <item> m4_changequote </item>
+      <item> m4_changeword </item>
+      <item> m4_debugfile </item>
+      <item> m4_debugmode </item>
+      <item> m4_decr </item>
+      <item> m4_define </item>
+      <item> m4_defn </item>
+      <item> m4_divert </item>
+      <item> m4_divnum </item>
+      <item> m4_dnl </item>
+      <item> m4_dumpdef </item>
+      <item> m4_errprint </item>
+      <item> m4_esyscmd </item>
+      <item> m4_eval </item>
+      <item> m4_format </item>
+      <item> m4_ifdef </item>
+      <item> m4_ifelse </item>
+      <item> m4_include </item>
+      <item> m4_incr </item>
+      <item> m4_index </item>
+      <item> m4_indir </item>
+      <item> m4_len </item>
+      <item> m4_m4exit </item>
+      <item> m4_m4wrap </item>
+      <item> m4_maketemp </item>
+      <item> m4_mkstemp </item>
+      <item> m4_patsubst </item>
+      <item> m4_popdef </item>
+      <item> m4_pushdef </item>
+      <item> m4_regexp </item>
+      <item> m4_shift </item>
+      <item> m4_sinclude </item>
+      <item> m4_substr </item>
+      <item> m4_syscmd </item>
+      <item> m4_sysval </item>
+      <item> m4_traceon </item>
+      <item> m4_traceoff </item>
+      <item> m4_translit </item>
+      <item> m4_undefine </item>
+      <item> m4_undivert </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text">
+        <keyword attribute="Builtins" String="builtins" context="#stay"/>
+        <keyword attribute="Builtins (prefixed with m4_)" String="m4_builtins" context="#stay"/>
+        <keyword attribute="Optional builtins" String="optbuiltins" context="#stay"/>
+        <keyword attribute="Optional builtins (prefixed with m4_)" String="m4_optbuiltins" context="#stay"/>
+        <RegExpr attribute="Normal Text" String="[a-zA-Z_]\w+" context="#stay"/>
+        <RegExpr attribute="Special arguments to macros" String="\$([1-9]\d*|0|\#|\*|\@|\{([1-9]\d*|0)\})" context="#stay"/>
+        <RegExpr attribute="Int" String="([1-9]\d*|0|0x[0-9abcdefABCDEF]+)" context="#stay"/>
+        <RegExpr attribute="Comment" String="#.*$" context="#stay"/>
+        <DetectChar attribute="Commas" char="," context="#stay"/>
+        <DetectChar attribute="Operators" char="(" context="inparenthesis" beginRegion="parenthesis"/>
+        <DetectChar attribute="Operators" char=")" context="#pop" endRegion="parenthesis"/>
+        <RegExpr attribute="Operators" String="[+*/%\|=\!&lt;&gt;!^&amp;~-]" context="#stay"/>
+      </context>
+      <context name="inparenthesis" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
+        <IncludeRules context="Normal Text" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Builtins" defStyleNum="dsKeyword"/>
+      <itemData name="Builtins (prefixed with m4_)" defStyleNum="dsKeyword"/>
+      <itemData name="Optional builtins" defStyleNum="dsKeyword"/>
+      <itemData name="Optional builtins (prefixed with m4_)" defStyleNum="dsKeyword"/>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Special arguments to macros" defStyleNum="dsChar"/>
+      <itemData name="Int" defStyleNum="dsDecVal"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="Commas" defStyleNum="dsChar"/>
+      <itemData name="Operators" defStyleNum="dsChar"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <folding indentationsensitive="1" />
+    <comments>
+      <comment name="singleLine" start="#" position="afterwhitespace"/>
+    </comments>
+  </general>
+</language>
diff --git a/xml/makefile.xml b/xml/makefile.xml
new file mode 100644
--- /dev/null
+++ b/xml/makefile.xml
@@ -0,0 +1,504 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- Makefile syntaxfile v0.9 by Per Wigren <wigren@home.se> -->
+<!-- Modified by Joseph Wenninger <jowenn@kde.org> -->
+<!-- Modified by Rui Santana <santana.rui@gmail.com> -->
+<!-- v2.0 by Andreas Nordal <andreas.nordal@gmail.com> -->
+<!-- small priority to allow for example Makefile.cpp to be detected as cpp file -->
+<!-- v2.1 by Alex Turbov <i.zaufi@gmail.com>
+     improve comments handling -->
+<!-- v4 by Alex Richardson <arichardson.kde@gmail.com>
+     added bmake support -->
+<language name="Makefile" section="Other"
+          version="4" kateversion="3.4"
+          extensions="GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*;*.mk"
+          mimetype="text/x-makefile"
+          author="Per Wigren (wigren@home.se)" license="">
+  <highlighting>
+    <list name = "keywords" >
+      <item> include </item>
+      <item> -include </item>
+      <item> define </item>
+      <item> endef </item>
+    </list>
+    <!-- https://www.gnu.org/software/make/manual/html_node/Conditional-Syntax.html -->
+    <list name="gmake_if_keywords">
+      <item>if</item>
+      <item>ifeq</item>
+      <item>ifneq</item>
+      <item>ifdef</item>
+      <item>ifndef</item>
+    </list>
+    <list name="gmake_else_keywords"><item>else</item></list>
+    <list name="gmake_endif_keywords"><item>endif</item></list>
+    <!-- bmake statements: https://www.freebsd.org/cgi/man.cgi?make(1)#INCLUDE_STATEMENTS,_CONDITIONALS_AND_FOR_LOOPS -->
+    <list name="bmake_if_keywords">
+      <item> .if </item>
+      <item> .ifdef </item>
+      <item> .ifndef </item>
+      <item> .ifmake </item>
+      <item> .ifnmake </item>
+    </list>
+    <list name="bmake_else_keywords">
+      <item> .elif </item>
+      <item> .elifdef </item>
+      <item> .elifndef </item>
+      <item> .elifmake </item>
+      <item> .elifnmake </item>
+      <item> .else </item> <!-- TODO: anything following .else should be highlighted as an error -->
+    </list>
+    <list name="bmake_endif_keywords"><item>.endif</item></list>
+
+    <list name="bmake_expressions">
+      <item>defined</item>
+      <item>empty</item>
+      <item>exists</item>
+      <item>target</item>
+      <item>commands</item>
+    </list>
+
+    <list name="bmake_include_stmt">
+      <item>.include</item>
+      <item>.-include</item>
+      <item>.sinclude</item>
+      <!-- For compat bmake also handles include but this is already highlighted. <item>include</item> -->
+    </list>
+    <list name="bmake_message_stmt">
+      <item> .info </item>
+      <item> .warning </item>
+      <item> .error </item>
+    </list>
+    <!-- Use single element list here so that .for/.endfor also shows up in code completion -->
+    <list name="bmake_for_stmt"><item>.for</item></list>
+    <list name="bmake_endfor_stmt"><item>.endfor</item></list>
+
+    <!-- https://www.freebsd.org/cgi/man.cgi?make(1)#SPECIAL_TARGETS -->
+    <list name="bmake_special_targets">
+      <item> .BEGIN </item>
+      <item> .DEFAULT </item>
+      <item> .END </item>
+      <item> .ERROR </item>
+      <item> .IGNORE </item>
+      <item> .INTERRUPT </item>
+      <item> .MAIN </item>
+      <item> .MAKEFLAGS </item>
+      <item> .NOPATH </item>
+      <item> .NOTPARALLEL </item>
+      <item> .NO_PARALLEL </item>
+      <item> .OBJDIR </item>
+      <item> .ORDER </item>
+      <item> .PATH </item>
+      <item> .PHONY </item>
+      <item> .PRECIOUS </item>
+      <item> .SHELL </item>
+      <item> .SILENT </item>
+      <item> .STALE </item>
+      <item> .SUFFIXES </item>
+    </list>
+    <!-- https://www.freebsd.org/cgi/man.cgi?make(1)#SPECIAL_SOURCES_(ATTRIBUTES) -->
+    <list name="bmake_special_sources">
+      <item> .EXEC </item>
+      <item> .IGNORE </item>
+      <item> .MADE </item>
+      <item> .MAKE </item>
+      <item> .META </item>
+      <item> .NOMETA </item>
+      <item> .NOMETA_CMP </item>
+      <item> .NOPATH </item>
+      <item> .NOTMAIN </item>
+      <item> .OPTIONAL </item>
+      <item> .PHONY </item>
+      <item> .PRECIOUS </item>
+      <item> .RECURSIVE </item>
+      <item> .SILENT </item>
+      <item> .USE </item>
+      <item> .USEBEFORE </item>
+      <item> .WAIT </item>
+    </list>
+
+    <list name="bmake_other_stmts">
+      <item> .unexport-env </item>
+      <item> .unexport </item>
+      <item> .undef </item>
+      <item> .export-env </item>
+      <item> .export </item>
+    </list>
+
+    <list name = "functions">
+      <item> call </item>
+      <item> subst </item>
+      <item> patsubst </item>
+      <item> strip </item>
+      <item> findstring </item>
+      <item> filter </item>
+      <item> filter-out </item>
+      <item> sort </item>
+      <item> word </item>
+      <item> wordlist </item>
+      <item> words </item>
+      <item> firstword </item>
+      <item> lastword </item>
+      <item> dir </item>
+      <item> notdir </item>
+      <item> suffix </item>
+      <item> basename </item>
+      <item> addsuffix </item>
+      <item> addprefix </item>
+      <item> join </item>
+      <item> wildcard </item>
+      <item> realpath </item>
+      <item> abspath </item>
+      <item> if </item>
+      <item> or </item>
+      <item> and </item>
+      <item> foreach </item>
+      <item> value </item>
+      <item> eval </item>
+      <item> origin </item>
+      <item> flavor </item>
+      <item> shell </item>
+      <item> error </item>
+      <item> warning </item>
+      <item> info </item>
+    </list>
+    <contexts>
+      <context name="normal" attribute="Normal" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar attribute="Comment" context="Comment" char="#"/>
+        <keyword attribute="ControlFlow" String="bmake_if_keywords" context="bmake_conditional" beginRegion="bmake_if" firstNonSpace="true"/>
+        <!--TODO: trailing non-space after .else should be highlighted as an error -->
+        <keyword attribute="ControlFlow" String="bmake_else_keywords" context="bmake_conditional" endRegion="bmake_if" beginRegion="bmake_if" firstNonSpace="true"/>
+        <keyword attribute="ControlFlow" String="bmake_endif_keywords" context="#stay" endRegion="bmake_if"/>
+
+        <keyword attribute="ControlFlow" String="gmake_if_keywords" context="#stay" beginRegion="gmake_if" firstNonSpace="true"/>
+        <!--TODO: trailing non-space after .else should be highlighted as an error -->
+        <keyword attribute="ControlFlow" String="gmake_else_keywords" context="gmake_else" endRegion="gmake_if" beginRegion="gmake_if" firstNonSpace="true"/>
+        <keyword attribute="ControlFlow" String="gmake_endif_keywords" context="#stay" endRegion="gmake_if"/>
+
+        <keyword attribute="Keyword"  context="#stay" String="keywords"/>
+        <keyword attribute="Keyword"  context="bmake_other_stmts" String="bmake_other_stmts" firstNonSpace="true"/>
+        <RegExpr attribute="Variable" context="assign" String="[^\s:?]*\s*(?=:=|=|\+=|\?=)"/>
+        <keyword attribute="SpecialTarget" context="bmake_special_target" String="bmake_special_targets" firstNonSpace="true"/>
+        <RegExpr attribute="SpecialTarget" context="prereq" String="\.PATH\.[^:]*:" firstNonSpace="true"/>
+        <keyword attribute="Keyword" context="bmake_include" String="bmake_include_stmt" firstNonSpace="true"/>
+        <keyword attribute="Keyword" context="bmake_message" String="bmake_message_stmt" firstNonSpace="true"/>
+        <keyword attribute="Keyword" context="bmake_for_loop" String="bmake_for_stmt" firstNonSpace="true" beginRegion="for"/>
+        <keyword attribute="Keyword" context="#stay" String="bmake_endfor_stmt" firstNonSpace="true" endRegion="for"/>
+
+        <RegExpr attribute="Section"  context="prereq" String="^\.[^.][^:]*:"/>
+        <RegExpr attribute="Target"   context="prereq" String="^[^:]*:"/>
+        <DetectIdentifier/>
+        <DetectChar attribute="String" context="string&quot;" char="&quot;"/>
+        <DetectChar attribute="String" context="string'" char="'"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
+        <Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
+        <AnyChar attribute="Operator" context="silent" String="@-" firstNonSpace="1"/>
+      </context>
+
+      <context name="strings_and_vars" attribute="Normal" lineEndContext="#pop">
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <DetectChar attribute="String" context="string&quot;" char="&quot;"/>
+        <DetectChar attribute="String" context="string'" char="'"/>
+        <DetectChar attribute="Comment" context="Comment" char="#"/>
+      </context>
+
+      <context name="gmake_else" attribute="Error" lineEndContext="#pop">
+        <DetectSpaces attribute="Normal"/>
+        <keyword attribute="ControlFlow" String="gmake_if_keywords" context="#stay"/>
+        <IncludeRules context="strings_and_vars"/>
+      </context>
+
+      <context name="bmake_include" attribute="Normal" lineEndContext="#pop">
+        <DetectSpaces />
+        <RangeDetect char="&lt;"  char1="&gt;" context="#stay" attribute="Include" />
+        <RangeDetect char="&quot;"  char1="&quot;" context="#stay" attribute="Include" />
+      </context>
+
+
+      <context name="bmake_conditional" attribute="Normal" lineEndContext="#pop">
+        <DetectSpaces/>
+        <IncludeRules context="strings_and_vars"/>
+        <keyword attribute="Builtin"  context="bmake_expression" String="bmake_expressions"/>
+        <Detect2Chars attribute="RealOperator" context="#stay" char="&amp;" char1="&amp;"/>
+        <Detect2Chars attribute="RealOperator" context="#stay" char="|" char1="|"/>
+        <Detect2Chars attribute="RealOperator" context="#stay" char="!" char1="="/>
+        <Detect2Chars attribute="RealOperator" context="#stay" char="=" char1="="/>
+        <DetectChar attribute="RealOperator" context="#stay" char="!"/>
+        <HlCHex attribute="Number" context="#stay"/>
+        <Int attribute="Number" context="#stay"/>
+        <DetectIdentifier attribute="Variable" context="#stay"/>
+        <LineContinue attribute="Operator" context="#stay"/>
+      </context>
+
+      <context name="bmake_for_loop" attribute="Variable" lineEndContext="#pop">
+        <DetectSpaces/>
+        <IncludeRules context="strings_and_vars"/>
+        <WordDetect attribute="RealOperator" context="#stay" String="in" />
+      </context>
+
+      <context name="bmake_other_stmts" attribute="Variable" lineEndContext="#pop">
+        <DetectSpaces/>
+        <IncludeRules context="strings_and_vars"/>
+      </context>
+
+      <context name="bmake_expression" attribute="Variable" lineEndContext="#pop">
+        <DetectSpaces/>
+        <IncludeRules context="strings_and_vars"/>
+        <DetectChar attribute="Normal" context="#stay" char="("/>
+        <DetectChar attribute="Normal" context="#pop" char=")"/>
+        <DetectIdentifier attribute="Variable"/>
+      </context>
+
+      <context name="bmake_special_target" attribute="Error" lineEndContext="rule">
+        <!-- anything but spaces before the : should be an error -->
+        <DetectSpaces attribute="Normal" />
+        <DetectChar attribute="SpecialTarget" context="#pop!prereq" char=":"/>
+      </context>
+
+      <context name="bmake_message" attribute="String" lineEndContext="#pop">
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+      </context>
+
+      <context name="prereq" attribute="Prereq" lineEndContext="rule">
+        <DetectSpaces/>
+        <keyword attribute="SpecialPrereq" context="#stay" String="bmake_special_sources"/>
+        <DetectIdentifier/>
+        <LineContinue attribute="Operator" context="#stay"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
+        <Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
+        <DetectChar attribute="Comment" context="Comment" char="#"/>
+      </context>
+
+      <context name="rule" attribute="Normal" lineEndContext="#stay">
+        <LineContinue attribute="Operator" context="#stay"/>
+        <!-- pop if there is a leading non-tab,
+        and in particular, mark leading spaces as errors -->
+        <RegExpr attribute="Error" context="#pop#pop#pop" String="^ +" firstNonSpace="1"/>
+        <RegExpr context="#pop#pop#pop" String="^[^\t]" lookAhead="1" firstNonSpace="1"/>
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar attribute="String" context="string&quot;" char="&quot;"/>
+        <DetectChar attribute="String" context="string'" char="'"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
+        <Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
+        <AnyChar attribute="Operator" context="silent" String="@-" firstNonSpace="1"/>
+        <DetectChar attribute="Comment" context="Comment" char="#"/>
+      </context>
+
+      <context name="silent" attribute="Silent" lineEndContext="#pop">
+        <LineContinue attribute="Operator" context="#stay"/>
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar attribute="String" context="string&quot;" char="&quot;"/>
+        <DetectChar attribute="String" context="string'" char="'"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
+        <Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
+        <DetectChar attribute="Comment" context="Comment" char="#"/>
+      </context>
+
+      <context name="string&quot;" attribute="String" lineEndContext="#pop">
+        <LineContinue attribute="Operator" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+      </context>
+
+      <context name="string'" attribute="String" lineEndContext="#pop">
+        <LineContinue attribute="String" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="'"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+      </context>
+
+      <context name="assign" attribute="Operator" lineEndContext="#pop">
+        <DetectChar attribute="Operator" context="value" char="="/>
+      </context>
+
+      <context name="value" attribute="String" lineEndContext="#pop#pop">
+        <LineContinue attribute="Operator"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <RegExpr attribute="Special" context="#pop#pop" String="@[-_\d\w]*@"/>
+        <DetectChar attribute="Operator" char=";" context="#pop#pop"/>
+      </context>
+
+      <context name="dollar" attribute="Operator" lineEndContext="#pop">
+        <DetectChar attribute="Operator" context="call(" char="("/>
+        <DetectChar attribute="Operator" context="call{" char="{"/>
+        <RegExpr attribute="Operator" context="#pop" String="."/>
+      </context>
+
+      <context name="call(" attribute="Variable" lineEndContext="#stay" fallthroughContext="callVar(" fallthrough="1">
+        <keyword attribute="Keyword" context="callFunc(" String="functions"/>
+      </context>
+
+      <context name="call{" attribute="Variable" lineEndContext="#stay" fallthroughContext="callVar{" fallthrough="1">
+        <keyword attribute="Keyword" context="callFunc{" String="functions"/>
+      </context>
+
+      <context name="callVar(" attribute="Variable" lineEndContext="#stay">
+        <DetectChar attribute="Operator" char=")" context="#pop#pop#pop"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <DetectSpaces attribute="Error" context="#stay"/>
+        <AnyChar attribute="Error" context="#stay" String="=#:"/>
+      </context>
+
+      <context name="callVar{" attribute="Variable" lineEndContext="#stay">
+        <DetectChar attribute="Operator" char="}" context="#pop#pop#pop"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <DetectSpaces attribute="Error" context="#stay"/>
+        <!-- Handle bmake Variable modifiers: ${variable[:modifier[:...]]} -->
+        <Detect2Chars context="#stay" char="\" char1=":"/>
+        <!-- modifiers without arguments-->
+        <keyword attribute="Keyword"  context="#pop!expect}" String="bmake_var_modifiers_noarg"/>
+        <!-- with arguments -->
+        <keyword attribute="Keyword"  context="#pop!bmake_var_modifier_arg" String="bmake_var_modifiers_with_arg"/>
+        <!-- other modifiers -->
+        <DetectChar attribute="RealOperator" context="bmake_var_modifier" char=":"/>
+        <AnyChar attribute="Error" context="#stay" String="=#"/>
+      </context>
+
+      <context name="bmake_var_modifier_arg" attribute="VarModifier" lineEndContext="#pop">
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <Detect2Chars context="#stay" char="\" char1="}"/>
+        <DetectChar attribute="Operator" char="}" context="#pop#pop#pop#pop"/>
+        <Detect2Chars context="#stay" char="\" char1=":"/>
+        <DetectChar attribute="RealOperator" context="#pop!bmake_var_modifier" char=":"/>
+      </context>
+
+      <!-- TODO: once all modifiers are properly handled change fallthroughContext to "expect}" -->
+      <context name="bmake_var_modifier" attribute="VarModifier" lineEndContext="#pop" fallthroughContext="#pop!bmake_var_modifier_arg" fallthrough="true">
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+
+                    <!--
+          TODO :?true_string:false_string
+          TODO :old_string=new_string This is the AT&T System V UNIX style variable substitution.
+          TODO :@temp@string@ This is the loop expansion mechanism from the OSF Development Environment (ODE) make.
+          TODO :!cmd! The output of running cmd is the value.
+          TODO :[range]
+        -->
+        <!--  Modifiers without arguments:-->
+        <!--
+          :E Replaces each word in the variable with its suffix.
+          :H Replaces each word in the variable with everything but the last component.
+          :O   Order every word in variable alphabetically.
+          :Q   Quotes every shell meta-character in the variable
+          :R   Replaces each word in the variable with everything but its suffix.
+          :T   Replaces each word in the variable with its last component.
+          :u   Remove adjacent duplicate words (like uniq(1)).
+          :L The name of the variable is the value.
+          :P The path of the node which has the same name as the variable is the value.
+        -->
+        <AnyChar    attribute="Builtin" context="#pop!expect}" String="EHOQRTuLP"/>
+        <!-- :sh  If the variable is non-empty it is run as a command and the output becomes the new value. -->
+        <Detect2Chars attribute="Builtin" context="#pop!expect}" char="s" char1="h"/>
+        <!-- :Ox  Randomize words in variable. -->
+        <Detect2Chars attribute="Builtin" context="#pop!expect}" char="O" char1="x"/>
+        <!-- :tA  Attempt to convert variable to an absolute path using realpath(3),-->
+        <Detect2Chars attribute="Builtin" context="#pop!expect}" char="t" char1="A"/>
+        <!-- :tl  Converts variable to lower-case letters.-->
+        <Detect2Chars attribute="Builtin" context="#pop!expect}" char="t" char1="L"/>
+        <!--  :gmtime The value is a format string for strftime(3), using the current gmtime(3). -->
+        <StringDetect attribute="Builtin" String="gmtime" context="#pop!expect}" />
+        <!-- :hash Compute a 32bit hash of the value and encode it as hex digits. -->
+        <StringDetect attribute="Builtin" String="hash" context="#pop!expect}" />
+        <!-- :localtime The value is a format string for strftime(3), using the current localtime(3). -->
+        <StringDetect attribute="Builtin" String="localtime" context="#pop!expect}" />
+        <!--Now the modifiers with arguments:-->
+        <!--
+          :Mpattern Select only those words that match pattern.
+          :Npattern This is identical to `:M', but selects all words which do not match pattern.
+          :Dnewval If the variable is defined newval is the value.
+          :Unewval If the variable is undefined newval is the value.
+        -->
+        <AnyChar    attribute="Builtin" context="#pop!bmake_var_modifier_arg" String="MNDU"/>
+        <!-- TODO: add new context to highligh old_string and new_string differently
+          :S/old_string/new_string/[1gW]
+          :C/pattern/replacement/[1gW]
+        -->
+        <AnyChar attribute="Builtin" context="#pop!bmake_var_modifier_arg" String="SC"/>
+        <!-- ::=str The variable is assigned the value str after substitution. -->
+        <Detect2Chars attribute="Builtin" context="#pop!bmake_var_modifier_arg" char=":" char1="="/>
+        <!-- ::?=str As for ::= but only if the variable does not already have a value. -->
+        <StringDetect attribute="Builtin" String=":?=" context="#pop!bmake_var_modifier_arg" />
+        <!-- ::+=str Append str to the variable. -->
+        <StringDetect attribute="Builtin" String=":+=" context="#pop!bmake_var_modifier_arg" />
+        <!-- ::!=cmd Assign the output of cmd to the variable. -->
+        <StringDetect attribute="Builtin" String=":!=" context="#pop!bmake_var_modifier_arg" />
+        <!-- :tu  Converts variable to upper-case letters. -->
+        <Detect2Chars attribute="Builtin" context="#pop!bmake_var_modifier_arg" char="t" char1="u"/>
+        <!-- :tW  Causes the value to be treated as a single word.  See also `:[*]'. -->
+        <Detect2Chars attribute="Builtin" context="#pop!bmake_var_modifier_arg" char="t" char1="W"/>
+        <!-- :tw  Causes the value to be treated as a sequence of words delimited by white space.  See also `:[@]'.-->
+        <Detect2Chars attribute="Builtin" context="#pop!bmake_var_modifier_arg" char="t" char1="w"/>
+        <!-- :tsc Words in the variable are normally separated by a space on
+          expansion.  This modifier sets the separator to the character c.  If
+          c is omitted, then no separator is used.  The common escapes
+          (including octal numeric codes), work as expected. -->
+        <Detect2Chars attribute="Builtin" context="#pop!bmake_var_modifier_arg" char="t" char1="s"/>
+        <RegExpr String=""/>
+
+
+        <IncludeRules context="bmake_var_modifier_arg"/>
+      </context>
+
+      <context name="expect}" attribute="Error" lineEndContext="#pop#pop#pop#pop">
+        <Detect2Chars context="#stay" char="\" char1="}"/>
+        <DetectChar attribute="Operator" char="}" context="#pop#pop#pop#pop"/>
+      </context>
+
+      <context name="callFunc(" attribute="FuncParam" lineEndContext="#stay">
+        <DetectChar attribute="Operator" char=")" context="#pop#pop#pop"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <DetectChar attribute="Keyword" context="#stay" char=","/>
+        <DetectChar attribute="String" context="string'" char="'"/>
+      </context>
+
+      <context name="callFunc{" attribute="FuncParam" lineEndContext="#stay">
+        <DetectChar attribute="Operator" char="}" context="#pop#pop#pop"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
+        <DetectChar attribute="Keyword" context="#stay" char=","/>
+        <DetectChar attribute="String" context="string'" char="'"/>
+      </context>
+
+      <context attribute="Comment" lineEndContext="#pop" name="Comment">
+        <LineContinue attribute="Comment" context="#stay" />
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+      </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal"    defStyleNum="dsNormal" spellChecking="0"/>
+      <itemData name="Keyword"   defStyleNum="dsKeyword" spellChecking="0"/>
+      <itemData name="Comment"   defStyleNum="dsComment"/>
+      <itemData name="String"    defStyleNum="dsString" spellChecking="0"/>
+      <itemData name="Variable"  defStyleNum="dsDataType" spellChecking="0"/>
+      <itemData name="Target"    defStyleNum="dsDecVal" spellChecking="0"/>
+      <itemData name="Section"   defStyleNum="dsOthers" spellChecking="0"/>
+      <itemData name="Prereq"    defStyleNum="dsDataType" spellChecking="0"/>
+      <itemData name="FuncParam" defStyleNum="dsString" spellChecking="0"/>
+      <itemData name="Operator"  defStyleNum="dsChar" spellChecking="0"/>
+      <itemData name="Silent"    defStyleNum="dsFunction" spellChecking="0"/>
+      <itemData name="Special"   defStyleNum="dsFloat" spellChecking="0"/>
+      <itemData name="Error"     defStyleNum="dsError" spellChecking="0"/>
+      <itemData name="Builtin"   defStyleNum="dsBuiltIn" spellChecking="0"/>
+      <itemData name="Number"    defStyleNum="dsDecVal" spellChecking="0"/>
+      <itemData name="Include"   defStyleNum="dsImport" spellChecking="0"/>
+      <itemData name="ControlFlow" defStyleNum="dsControlFlow" spellChecking="0"/>
+      <itemData name="VarModifier" defStyleNum="dsSpecialString" spellChecking="0"/>
+      <itemData name="RealOperator" defStyleNum="dsKeyword" spellChecking="0"/>
+      <itemData name="SpecialTarget" defStyleNum="dsOthers" spellChecking="0" bold="1"/>
+      <itemData name="SpecialPrereq" defStyleNum="dsDataType" spellChecking="0" bold="1"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name = "singleLine" start = "#"/>
+    </comments>
+    <!-- '-' is not a deliminator in function filter-out -->
+    <keywords casesensitive="1" weakDeliminator = ".-"/>
+  </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/mandoc.xml b/xml/mandoc.xml
new file mode 100644
--- /dev/null
+++ b/xml/mandoc.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Troff Mandoc" section="Markup" version="1" kateversion="2.4" extensions="*.1;*.2;*.3;*.4;*.5;*.6;*.7;*.8;*.1m;*.3x;*.tmac" mimetype="" author="Matthew Woehlke (mw_triad@users.sourceforge.net)" license="GPL">
+
+  <highlighting>
+
+    <list name="headings">
+      <item>SH</item>
+      <item>SS</item>
+      <item>TH</item>
+    </list>
+
+    <list name="paragraph">
+      <item>HP</item>
+      <item>IP</item>
+      <item>LP</item>
+      <item>P</item>
+      <item>PD</item>
+      <item>PP</item>
+      <item>RE</item>
+      <item>RS</item>
+      <item>TP</item>
+    </list>
+
+    <list name="formatting">
+      <item>B</item>
+      <item>BI</item>
+      <item>BR</item>
+      <item>I</item>
+      <item>IB</item>
+      <item>IR</item>
+      <item>RB</item>
+      <item>RI</item>
+      <item>SM</item>
+      <item>SB</item>
+    </list>
+
+    <list name="others">
+      <item>DT</item>
+    </list>
+
+    <contexts>
+
+      <!-- root context -->
+      <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="DetectComments##Roff"/>
+        <DetectChar attribute="Macros" context="DetectDirective" char="." column="0"/>
+        <IncludeRules context="DetectOthers##Roff"/>
+      </context>
+
+      <!-- directive start -->
+      <context name="DetectDirective" attribute="Macros" lineEndContext="#pop">
+        <keyword attribute="Headings" context="Directive" String="headings"/>
+        <keyword attribute="Paragraphs" context="Directive" String="paragraph"/>
+        <keyword attribute="Formatting" context="Directive" String="formatting"/>
+        <keyword attribute="Other Macros" context="Directive" String="others"/>
+        <IncludeRules context="DetectDirective##Roff"/>
+      </context>
+
+      <context name="Directive" attribute="Identifier" lineEndContext="#pop">
+        <IncludeRules context="Directive##Roff"/>
+      </context>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text"    defStyleNum="dsNormal"/>
+      <itemData name="Comment"        defStyleNum="dsComment"/>
+      <itemData name="Macros"         defStyleNum="dsFunction"/>
+      <itemData name="Headings"       defStyleNum="dsKeyword"/>
+      <itemData name="Paragraphs"     defStyleNum="dsDataType"/>
+      <itemData name="Formatting"     defStyleNum="dsKeyword"/>
+      <itemData name="Other Macros"   defStyleNum="dsFunction"/>
+      <itemData name="Identifier"     defStyleNum="dsString"/>
+    </itemDatas>
+
+  </highlighting>
+
+  <general>
+
+    <comments>
+      <comment name="singleLine" start=".\&quot;" />
+    </comments>
+
+    <keywords casesensitive="1"/>
+
+  </general>
+
+</language>
diff --git a/xml/markdown.xml b/xml/markdown.xml
new file mode 100644
--- /dev/null
+++ b/xml/markdown.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Kate syntax highlight filter for Markdown/MultiMarkdown documents.
+
+    Copyright 2008 Darrin Yeager. http://www.dyeager.org/
+    Dual-Licensed under both GPL and BSD licenses.
+
+    Extended 2009 Claes Holmerson. http://github.com/claes/kate-markdown/
+-->
+<!--
+    The [^\s]{1} is in the regex to avoid interfering with bullet list which
+    starts "* item". Thus emphasis/strong MUST be formed like *words here*
+    with the asterisks next to the beginning of the first word.
+
+    Match space or newline, followed by "*", followed by one non-space,
+    followed by anything non-asterisk, followed by "*", followed by
+    space, end-of-sentence punctuation, or the end of the line.
+-->
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+<!ENTITY strongemphasisregex "(\s|^)[\*_]{3}[^\*_]+[\*_]{3}(\s|\.|,|;|:|\-|\?|$)">
+<!ENTITY strongregex "(\s|^)[\*_]{2}[^\s]{1}[^\*_]+[\*_]{2}(\s|\.|,|;|:|\-|\?|$)">
+<!ENTITY emphasisregex "(\s|^)[\*_]{1}[^\s]{1}[^\*_]+[\*_]{1}(\s|\.|,|;|:|\-|\?|$)">
+<!ENTITY reflinkregex '\[[^\]\^]+\]\s*\[[^\]]*\]\s*(\s+\"[^\"]*\"){0,1}'>
+<!ENTITY reflinktargetregex '\[[^\]\^]+\]\:\s+[^\s]+(\s+\"[^\"]*\"){0,1}'>
+<!ENTITY footnoteregex "\[\^[^\]]+\]">
+<!ENTITY inlinelinkregex "\[[^\]\^]+\]\s*\([^\(]*\)">
+<!ENTITY inlineimageregex "\!\[[^\]\^]+\]\([^\(]*\)">
+<!ENTITY refimageregex "\!\[[^\]\^]+\]\[[^\[]*\]">
+<!ENTITY autolinkregex '&lt;(https?|ftp):[^\"&gt;\s]+&gt;'>
+<!ENTITY mailtolinkregex "&lt;(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)&gt;">
+<!ENTITY rulerregex "\s*([\*\-_]\s?){3,}\s*">
+<!-- two spaces at end of line generates linebreak -->
+<!ENTITY linebreakregex "  $">
+<!ENTITY strikeoutregex "[~]{2}[^~].*[^~][~]{2}">
+<!-- pandoc style -->
+]>
+<language name="Markdown" version="2" kateversion="3.8" section="Markup" extensions="*.md;*.mmd;*.markdown" priority="15" author="Darrin Yeager, Claes Holmerson" license="GPL,BSD">
+  <highlighting>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text">
+        <DetectChar context="blockquote" char="&gt;" column="0"/>
+        <RegExpr attribute="h1" String="^#\s.*[#]?$"/>
+        <RegExpr attribute="h2" String="^##\s.*[#]?$"/>
+        <RegExpr attribute="h3" String="^###\s.*[#]?$"/>
+        <RegExpr attribute="h4" String="^####\s.*[#]?$"/>
+        <RegExpr attribute="h5" String="^#####\s.*[#]?$"/>
+        <RegExpr attribute="h6" String="^######\s.*[#]?$"/>
+        <RegExpr attribute="ruler" String="&rulerregex;"/>
+        <RegExpr attribute="strong" String="&strongregex;"/>
+        <RegExpr attribute="emphasis" String="&emphasisregex;"/>
+        <RegExpr attribute="strongemphasis" String="&strongemphasisregex;"/>
+        <RegExpr attribute="code" String="^([\s]{4,}|\t+).*$"/>
+        <RegExpr context="bullet" String="^[\*\+\-]\s"/>
+        <RegExpr context="numlist" String="^[\d]+\.\s"/>
+        <RegExpr attribute="meta" String="^(Title|Author|Date|Copyright|Revision|CSS|LaTeX\ XSLT|Categories|Tags|BaseName|Excerpt):(.*)+$"/>
+        <IncludeRules context="inc"/>
+      </context>
+      <context attribute="blockquote" lineEndContext="#stay" lineEmptyContext="#pop" name="blockquote">
+        <RegExpr attribute="bq-strong" String="&strongregex;"/>
+        <RegExpr attribute="bq-emphasis" String="&emphasisregex;"/>
+        <IncludeRules context="inc"/>
+      </context>
+      <context attribute="bullet" lineEndContext="#stay" lineEmptyContext="#pop" name="bullet">
+        <RegExpr attribute="bl-strong" String="&strongregex;"/>
+        <RegExpr attribute="bl-emphasis" String="&emphasisregex;"/>
+        <IncludeRules context="inc"/>
+      </context>
+      <context attribute="numlist" lineEndContext="#stay" lineEmptyContext="#pop" name="numlist">
+        <RegExpr attribute="nl-strong" String="&strongregex;"/>
+        <RegExpr attribute="nl-emphasis" String="&emphasisregex;"/>
+        <IncludeRules context="inc"/>
+      </context>
+      <context attribute="comment" lineEndContext="#stay" name="comment">
+        <RegExpr String="--&gt;" attribute="comment" context="#pop" endRegion="comment"/>
+      </context>
+      <context attribute="common" name="inc" lineEndContext="#stay">
+        <RegExpr attribute="code" String="`[^`]+`"/>
+        <RegExpr context="comment" String="&lt;!--" beginRegion="comment"/>
+        <RegExpr attribute="reflink" String="&reflinkregex;"/>
+        <RegExpr attribute="footnote" String="&footnoteregex;"/>
+        <RegExpr attribute="inlinelink" String="&inlinelinkregex;"/>
+        <RegExpr attribute="reflinktarget" String="&reflinktargetregex;"/>
+        <RegExpr attribute="inlineimage" String="&inlineimageregex;"/>
+        <RegExpr attribute="refimage" String="&refimageregex;"/>
+        <RegExpr attribute="autolink" String="&autolinkregex;"/>
+        <RegExpr attribute="mailtolink" String="&mailtolinkregex;"/>
+        <RegExpr attribute="strikeout" minimal="true" String="&strikeoutregex;"/>
+        <RegExpr attribute="linebreak" minimal="true" String="&linebreakregex;"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="common" defStyleNum="dsNormal"/>
+      <itemData name="strongemphasis" defStyleNum="dsNormal" italic="true" bold="true"/>
+      <itemData name="emphasis" defStyleNum="dsNormal" italic="true"/>
+      <itemData name="strong" defStyleNum="dsNormal" bold="true"/>
+      <itemData name="ruler" defStyleNum="dsNormal" bold="true"/>
+      <itemData name="strikeout" defStyleNum="dsNormal" strikeOut="true"/>
+      <itemData name="linebreak" defStyleNum="dsNormal" underline="true" color="#999999"/>
+      <itemData name="h1" defStyleNum="dsFunction" bold="true"/>
+      <itemData name="h2" defStyleNum="dsFunction" bold="true"/>
+      <itemData name="h3" defStyleNum="dsFunction" bold="true"/>
+      <itemData name="h4" defStyleNum="dsFunction" bold="true"/>
+      <itemData name="h5" defStyleNum="dsFunction" bold="true"/>
+      <itemData name="h6" defStyleNum="dsFunction" bold="true"/>
+      <itemData name="blockquote" defStyleNum="dsDataType"/>
+      <itemData name="bq-emphasis" defStyleNum="dsDataType" italic="true"/>
+      <itemData name="bq-strong" defStyleNum="dsDataType" bold="true"/>
+      <itemData name="bullet" defStyleNum="dsFloat"/>
+      <itemData name="bl-emphasis" defStyleNum="dsFloat" italic="true"/>
+      <itemData name="bl-strong" defStyleNum="dsFloat" bold="true"/>
+      <itemData name="numlist" defStyleNum="dsFloat"/>
+      <itemData name="nl-emphasis" defStyleNum="dsFloat" italic="true"/>
+      <itemData name="nl-strong" defStyleNum="dsFloat" bold="true"/>
+      <itemData name="comment" defStyleNum="dsComment"/>
+      <itemData name="code" defStyleNum="dsBaseN"/>
+      <itemData name="reflink" defStyleNum="dsOthers" underline="true"/>
+      <itemData name="inlinelink" defStyleNum="dsOthers" underline="true"/>
+      <itemData name="autolink" defStyleNum="dsOthers" underline="true"/>
+      <itemData name="mailtolink" defStyleNum="dsOthers" underline="true"/>
+      <itemData name="footnote" defStyleNum="dsOthers" italic="true"/>
+      <itemData name="meta" defStyleNum="dsComment"/>
+      <itemData name="reflinktarget" defStyleNum="dsOthers" italic="false" bold="false"/>
+      <itemData name="inlineimage" defStyleNum="dsAlert" italic="false" bold="false"/>
+      <itemData name="refimage" defStyleNum="dsAlert" italic="false" bold="false"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="multiLine" start="&lt;!--" end="--&gt;" region="comment"/>
+    </comments>
+  </general>
+</language>
diff --git a/xml/mathematica.xml b/xml/mathematica.xml
new file mode 100644
--- /dev/null
+++ b/xml/mathematica.xml
@@ -0,0 +1,3229 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Mathematica" version="9" kateversion="3.4" section="Scientific" extensions="*.nb" indenter="cstyle"
+          author="Sven Brauch (svenbrauch@gmail.com)" license="LGPL" priority="3">
+  <highlighting>
+    <list name="functions">
+      <item>A</item>
+      <item>AbelianGroup</item>
+      <item>All</item>
+      <item>ArcSinh</item>
+      <item>Abort</item>
+      <item>AllowGroupClose</item>
+      <item>ArcTan</item>
+      <item>AbortKernels</item>
+      <item>AllowReverseGroupClose</item>
+      <item>ArcTanh</item>
+      <item>AbortProtect</item>
+      <item>AlphaChannel</item>
+      <item>Arg</item>
+      <item>Abs</item>
+      <item>AlternatingGroup</item>
+      <item>ArgMax</item>
+      <item>AbsoluteCurrentValue</item>
+      <item>AlternativeHypothesis</item>
+      <item>ArgMin</item>
+      <item>AbsoluteDashing</item>
+      <item>Alternatives</item>
+      <item>ArithmeticGeometricMean</item>
+      <item>AbsoluteFileName</item>
+      <item>AnchoredSearch</item>
+      <item>Array</item>
+      <item>AbsoluteOptions</item>
+      <item>And</item>
+      <item>ArrayComponents</item>
+      <item>AbsolutePointSize</item>
+      <item>AndersonDarlingTest</item>
+      <item>ArrayDepth</item>
+      <item>AbsoluteThickness</item>
+      <item>AngerJ</item>
+      <item>ArrayFlatten</item>
+      <item>AbsoluteTime</item>
+      <item>AngleBracket</item>
+      <item>ArrayPad</item>
+      <item>AbsoluteTiming</item>
+      <item>Animate</item>
+      <item>ArrayPlot</item>
+      <item>AccountingForm</item>
+      <item>AnimationDirection</item>
+      <item>ArrayQ</item>
+      <item>Accumulate</item>
+      <item>AnimationDisplayTime</item>
+      <item>ArrayRules</item>
+      <item>Accuracy</item>
+      <item>AnimationRate</item>
+      <item>Arrow</item>
+      <item>AccuracyGoal</item>
+      <item>AnimationRepetitions</item>
+      <item>Arrowheads</item>
+      <item>ActionMenu</item>
+      <item>AnimationRunning</item>
+      <item>AspectRatio</item>
+      <item>ActiveStyle</item>
+      <item>Animator</item>
+      <item>Assert</item>
+      <item>AcyclicGraphQ</item>
+      <item>Annotation</item>
+      <item>Assuming</item>
+      <item>AddTo</item>
+      <item>Annuity</item>
+      <item>Assumptions</item>
+      <item>AdjacencyGraph</item>
+      <item>AnnuityDue</item>
+      <item>AstronomicalData</item>
+      <item>AdjacencyMatrix</item>
+      <item>Antialiasing</item>
+      <item>Asynchronous</item>
+      <item>AdjustmentBox</item>
+      <item>Apart</item>
+      <item>AtomQ</item>
+      <item>AffineTransform</item>
+      <item>ApartSquareFree</item>
+      <item>Attributes</item>
+      <item>AiryAi</item>
+      <item>Appearance</item>
+      <item>AugmentedSymmetricPolynomial</item>
+      <item>AiryAiPrime</item>
+      <item>AppearanceElements</item>
+      <item>AutoAction</item>
+      <item>AiryAiZero</item>
+      <item>AppellF1</item>
+      <item>AutoIndent</item>
+      <item>AiryBi</item>
+      <item>Append</item>
+      <item>AutoItalicWords</item>
+      <item>AiryBiPrime</item>
+      <item>AppendTo</item>
+      <item>Automatic</item>
+      <item>AiryBiZero</item>
+      <item>Apply</item>
+      <item>AutoMultiplicationSymbol</item>
+      <item>AlgebraicIntegerQ</item>
+      <item>ArcCos</item>
+      <item>AutorunSequencing</item>
+      <item>AlgebraicNumber</item>
+      <item>ArcCosh</item>
+      <item>AutoScroll</item>
+      <item>AlgebraicNumberDenominator</item>
+      <item>ArcCot</item>
+      <item>AutoSpacing</item>
+      <item>AlgebraicNumberNorm</item>
+      <item>ArcCoth</item>
+      <item>Axes</item>
+      <item>AlgebraicNumberPolynomial</item>
+      <item>ArcCsc</item>
+      <item>AxesEdge</item>
+      <item>AlgebraicNumberTrace</item>
+      <item>ArcCsch</item>
+      <item>AxesLabel</item>
+      <item>Algebraics</item>
+      <item>ArcSec</item>
+      <item>AxesOrigin</item>
+      <item>AlgebraicUnitQ</item>
+      <item>ArcSech</item>
+      <item>AxesStyle</item>
+      <item>Alignment</item>
+      <item>ArcSin</item>
+      <item>Axis</item>
+      <item>AlignmentPoint</item>
+      <item>ArcSinDistribution</item>
+      <item>B</item>
+      <item>BabyMonsterGroupB</item>
+      <item>BetaRegularized</item>
+      <item>BooleanGraph</item>
+      <item>Back</item>
+      <item>BetweennessCentrality</item>
+      <item>BooleanMaxterms</item>
+      <item>Background</item>
+      <item>BezierCurve</item>
+      <item>BooleanMinimize</item>
+      <item>Backslash</item>
+      <item>BezierFunction</item>
+      <item>BooleanMinterms</item>
+      <item>Backward</item>
+      <item>BilateralFilter</item>
+      <item>Booleans</item>
+      <item>Band</item>
+      <item>Binarize</item>
+      <item>BooleanTable</item>
+      <item>BarabasiAlbertGraphDistribution</item>
+      <item>BinaryFormat</item>
+      <item>BooleanVariables</item>
+      <item>BarChart</item>
+      <item>BinaryImageQ</item>
+      <item>BorderDimensions</item>
+      <item>BarChart3D</item>
+      <item>BinaryRead</item>
+      <item>BorelTannerDistribution</item>
+      <item>BarnesG</item>
+      <item>BinaryReadList</item>
+      <item>Bottom</item>
+      <item>BarOrigin</item>
+      <item>BinaryWrite</item>
+      <item>BottomHatTransform</item>
+      <item>BarSpacing</item>
+      <item>BinCounts</item>
+      <item>BoundaryStyle</item>
+      <item>BaseForm</item>
+      <item>BinLists</item>
+      <item>BoxData</item>
+      <item>Baseline</item>
+      <item>Binomial</item>
+      <item>Boxed</item>
+      <item>BaselinePosition</item>
+      <item>BinomialDistribution</item>
+      <item>BoxMatrix</item>
+      <item>BaseStyle</item>
+      <item>BinormalDistribution</item>
+      <item>BoxRatios</item>
+      <item>BatesDistribution</item>
+      <item>BiorthogonalSplineWavelet</item>
+      <item>BoxStyle</item>
+      <item>BattleLemarieWavelet</item>
+      <item>BipartiteGraphQ</item>
+      <item>BoxWhiskerChart</item>
+      <item>Because</item>
+      <item>BirnbaumSaundersDistribution</item>
+      <item>BracketingBar</item>
+      <item>BeckmannDistribution</item>
+      <item>BitAnd</item>
+      <item>BrayCurtisDistance</item>
+      <item>Beep</item>
+      <item>BitClear</item>
+      <item>BreadthFirstScan</item>
+      <item>Begin</item>
+      <item>BitGet</item>
+      <item>Break</item>
+      <item>BeginDialogPacket</item>
+      <item>BitLength</item>
+      <item>Brown</item>
+      <item>BeginPackage</item>
+      <item>BitNot</item>
+      <item>BrownForsytheTest</item>
+      <item>BellB</item>
+      <item>BitOr</item>
+      <item>BSplineBasis</item>
+      <item>BellY</item>
+      <item>BitSet</item>
+      <item>BSplineCurve</item>
+      <item>BenfordDistribution</item>
+      <item>BitShiftLeft</item>
+      <item>BSplineFunction</item>
+      <item>BeniniDistribution</item>
+      <item>BitShiftRight</item>
+      <item>BSplineSurface</item>
+      <item>BenktanderGibratDistribution</item>
+      <item>BitXor</item>
+      <item>BubbleChart</item>
+      <item>BenktanderWeibullDistribution</item>
+      <item>Black</item>
+      <item>BubbleChart3D</item>
+      <item>BernoulliB</item>
+      <item>Blank</item>
+      <item>BubbleScale</item>
+      <item>BernoulliDistribution</item>
+      <item>BlankNullSequence</item>
+      <item>BubbleSizes</item>
+      <item>BernoulliGraphDistribution</item>
+      <item>BlankSequence</item>
+      <item>ButterflyGraph</item>
+      <item>BernsteinBasis</item>
+      <item>Blend</item>
+      <item>Button</item>
+      <item>BesselI</item>
+      <item>Block</item>
+      <item>ButtonBar</item>
+      <item>BesselJ</item>
+      <item>BlockRandom</item>
+      <item>ButtonBox</item>
+      <item>BesselJZero</item>
+      <item>Blue</item>
+      <item>ButtonData</item>
+      <item>BesselK</item>
+      <item>Blur</item>
+      <item>ButtonFrame</item>
+      <item>BesselY</item>
+      <item>BodePlot</item>
+      <item>ButtonFunction</item>
+      <item>BesselYZero</item>
+      <item>Bold</item>
+      <item>ButtonMinHeight</item>
+      <item>Beta</item>
+      <item>Bookmarks</item>
+      <item>ButtonNotebook</item>
+      <item>BetaBinomialDistribution</item>
+      <item>Boole</item>
+      <item>ButtonSource</item>
+      <item>BetaDistribution</item>
+      <item>BooleanConvert</item>
+      <item>Byte</item>
+      <item>BetaNegativeBinomialDistribution</item>
+      <item>BooleanCountingFunction</item>
+      <item>ByteCount</item>
+      <item>BetaPrimeDistribution</item>
+      <item>BooleanFunction</item>
+      <item>ByteOrdering</item>
+      <item>C</item>
+      <item>C</item>
+      <item>CityData</item>
+      <item>ContinuousAction</item>
+      <item>CallPacket</item>
+      <item>Clear</item>
+      <item>ContinuousTimeModelQ</item>
+      <item>CanberraDistance</item>
+      <item>ClearAll</item>
+      <item>ContinuousWaveletData</item>
+      <item>Cancel</item>
+      <item>ClearAttributes</item>
+      <item>ContinuousWaveletTransform</item>
+      <item>CancelButton</item>
+      <item>ClearSystemCache</item>
+      <item>ContourDetect</item>
+      <item>CandlestickChart</item>
+      <item>ClebschGordan</item>
+      <item>ContourLabels</item>
+      <item>Cap</item>
+      <item>ClickPane</item>
+      <item>ContourPlot</item>
+      <item>CapForm</item>
+      <item>Clip</item>
+      <item>ContourPlot3D</item>
+      <item>CapitalDifferentialD</item>
+      <item>ClippingStyle</item>
+      <item>Contours</item>
+      <item>CarmichaelLambda</item>
+      <item>Clock</item>
+      <item>ContourShading</item>
+      <item>Cases</item>
+      <item>Close</item>
+      <item>ContourStyle</item>
+      <item>Cashflow</item>
+      <item>CloseKernels</item>
+      <item>ContraharmonicMean</item>
+      <item>Casoratian</item>
+      <item>ClosenessCentrality</item>
+      <item>Control</item>
+      <item>Catalan</item>
+      <item>Closing</item>
+      <item>ControlActive</item>
+      <item>CatalanNumber</item>
+      <item>ClusteringComponents</item>
+      <item>ControllabilityGramian</item>
+      <item>Catch</item>
+      <item>CMYKColor</item>
+      <item>ControllabilityMatrix</item>
+      <item>CauchyDistribution</item>
+      <item>Coefficient</item>
+      <item>ControllableDecomposition</item>
+      <item>CayleyGraph</item>
+      <item>CoefficientArrays</item>
+      <item>ControllableModelQ</item>
+      <item>CDF</item>
+      <item>CoefficientList</item>
+      <item>ControllerInformation</item>
+      <item>CDFWavelet</item>
+      <item>CoefficientRules</item>
+      <item>ControllerLinking</item>
+      <item>Ceiling</item>
+      <item>CoifletWavelet</item>
+      <item>ControllerManipulate</item>
+      <item>Cell</item>
+      <item>Collect</item>
+      <item>ControllerMethod</item>
+      <item>CellAutoOverwrite</item>
+      <item>Colon</item>
+      <item>ControllerPath</item>
+      <item>CellBaseline</item>
+      <item>ColorCombine</item>
+      <item>ControllerState</item>
+      <item>CellChangeTimes</item>
+      <item>ColorConvert</item>
+      <item>ControlPlacement</item>
+      <item>CellContext</item>
+      <item>ColorData</item>
+      <item>ControlsRendering</item>
+      <item>CellDingbat</item>
+      <item>ColorDataFunction</item>
+      <item>ControlType</item>
+      <item>CellDynamicExpression</item>
+      <item>ColorFunction</item>
+      <item>Convergents</item>
+      <item>CellEditDuplicate</item>
+      <item>ColorFunctionScaling</item>
+      <item>ConversionRules</item>
+      <item>CellEpilog</item>
+      <item>Colorize</item>
+      <item>Convolve</item>
+      <item>CellEvaluationDuplicate</item>
+      <item>ColorNegate</item>
+      <item>ConwayGroupCo1</item>
+      <item>CellEvaluationFunction</item>
+      <item>ColorQuantize</item>
+      <item>ConwayGroupCo2</item>
+      <item>CellEventActions</item>
+      <item>ColorRules</item>
+      <item>ConwayGroupCo3</item>
+      <item>CellFrame</item>
+      <item>ColorSeparate</item>
+      <item>CoordinatesToolOptions</item>
+      <item>CellFrameMargins</item>
+      <item>ColorSetter</item>
+      <item>CoprimeQ</item>
+      <item>CellGroup</item>
+      <item>ColorSlider</item>
+      <item>Coproduct</item>
+      <item>CellGroupData</item>
+      <item>ColorSpace</item>
+      <item>CopulaDistribution</item>
+      <item>CellGrouping</item>
+      <item>Column</item>
+      <item>Copyable</item>
+      <item>CellLabel</item>
+      <item>ColumnAlignments</item>
+      <item>CopyDirectory</item>
+      <item>CellLabelAutoDelete</item>
+      <item>ColumnLines</item>
+      <item>CopyFile</item>
+      <item>CellMargins</item>
+      <item>ColumnsEqual</item>
+      <item>CopyToClipboard</item>
+      <item>CellOpen</item>
+      <item>ColumnSpacings</item>
+      <item>CornerFilter</item>
+      <item>CellPrint</item>
+      <item>ColumnWidths</item>
+      <item>CornerNeighbors</item>
+      <item>CellProlog</item>
+      <item>Commonest</item>
+      <item>Correlation</item>
+      <item>CellTags</item>
+      <item>CommonestFilter</item>
+      <item>CorrelationDistance</item>
+      <item>CellularAutomaton</item>
+      <item>CompilationOptions</item>
+      <item>Cos</item>
+      <item>CensoredDistribution</item>
+      <item>CompilationTarget</item>
+      <item>Cosh</item>
+      <item>Censoring</item>
+      <item>Compile</item>
+      <item>CoshIntegral</item>
+      <item>Center</item>
+      <item>Compiled</item>
+      <item>CosineDistance</item>
+      <item>CenterDot</item>
+      <item>CompiledFunction</item>
+      <item>CosIntegral</item>
+      <item>CentralMoment</item>
+      <item>Complement</item>
+      <item>Cot</item>
+      <item>CentralMomentGeneratingFunction</item>
+      <item>CompleteGraph</item>
+      <item>Coth</item>
+      <item>CForm</item>
+      <item>CompleteGraphQ</item>
+      <item>Count</item>
+      <item>ChampernowneNumber</item>
+      <item>CompleteKaryTree</item>
+      <item>CountRoots</item>
+      <item>ChanVeseBinarize</item>
+      <item>Complex</item>
+      <item>CountryData</item>
+      <item>Character</item>
+      <item>Complexes</item>
+      <item>Covariance</item>
+      <item>CharacterEncoding</item>
+      <item>ComplexExpand</item>
+      <item>CovarianceEstimatorFunction</item>
+      <item>CharacteristicFunction</item>
+      <item>ComplexInfinity</item>
+      <item>CramerVonMisesTest</item>
+      <item>CharacteristicPolynomial</item>
+      <item>ComplexityFunction</item>
+      <item>CreateArchive</item>
+      <item>CharacterRange</item>
+      <item>ComponentMeasurements</item>
+      <item>CreateDialog</item>
+      <item>Characters</item>
+      <item>ComposeList</item>
+      <item>CreateDirectory</item>
+      <item>ChartBaseStyle</item>
+      <item>ComposeSeries</item>
+      <item>CreateDocument</item>
+      <item>ChartElementFunction</item>
+      <item>Composition</item>
+      <item>CreateIntermediateDirectories</item>
+      <item>ChartElements</item>
+      <item>CompoundExpression</item>
+      <item>CreatePalette</item>
+      <item>ChartLabels</item>
+      <item>Compress</item>
+      <item>CreateScheduledTask</item>
+      <item>ChartLayout</item>
+      <item>Condition</item>
+      <item>CreateWindow</item>
+      <item>ChartLegends</item>
+      <item>ConditionalExpression</item>
+      <item>CriticalSection</item>
+      <item>ChartStyle</item>
+      <item>Conditioned</item>
+      <item>Cross</item>
+      <item>ChebyshevT</item>
+      <item>Cone</item>
+      <item>CrossingDetect</item>
+      <item>ChebyshevU</item>
+      <item>ConfidenceLevel</item>
+      <item>CrossMatrix</item>
+      <item>Check</item>
+      <item>Congruent</item>
+      <item>Csc</item>
+      <item>CheckAbort</item>
+      <item>Conjugate</item>
+      <item>Csch</item>
+      <item>Checkbox</item>
+      <item>ConjugateTranspose</item>
+      <item>Cubics</item>
+      <item>CheckboxBar</item>
+      <item>Conjunction</item>
+      <item>Cuboid</item>
+      <item>ChemicalData</item>
+      <item>ConnectedComponents</item>
+      <item>Cumulant</item>
+      <item>ChessboardDistance</item>
+      <item>ConnectedGraphQ</item>
+      <item>CumulantGeneratingFunction</item>
+      <item>ChiDistribution</item>
+      <item>ConoverTest</item>
+      <item>Cup</item>
+      <item>ChineseRemainder</item>
+      <item>Constant</item>
+      <item>CupCap</item>
+      <item>ChiSquareDistribution</item>
+      <item>ConstantArray</item>
+      <item>CurrentImage</item>
+      <item>ChoiceButtons</item>
+      <item>Constants</item>
+      <item>CurrentValue</item>
+      <item>ChoiceDialog</item>
+      <item>ContentPadding</item>
+      <item>CurvatureFlowFilter</item>
+      <item>CholeskyDecomposition</item>
+      <item>ContentSelectable</item>
+      <item>CurveClosed</item>
+      <item>Chop</item>
+      <item>ContentSize</item>
+      <item>Cyan</item>
+      <item>Circle</item>
+      <item>Context</item>
+      <item>CycleGraph</item>
+      <item>CircleDot</item>
+      <item>Contexts</item>
+      <item>Cycles</item>
+      <item>CircleMinus</item>
+      <item>ContextToFileName</item>
+      <item>CyclicGroup</item>
+      <item>CirclePlus</item>
+      <item>Continue</item>
+      <item>Cyclotomic</item>
+      <item>CircleTimes</item>
+      <item>ContinuedFraction</item>
+      <item>Cylinder</item>
+      <item>CirculantGraph</item>
+      <item>ContinuedFractionK</item>
+      <item>CylindricalDecomposition</item>
+      <item>D</item>
+      <item>D</item>
+      <item>DepthFirstScan</item>
+      <item>DiskMatrix</item>
+      <item>DagumDistribution</item>
+      <item>Derivative</item>
+      <item>Dispatch</item>
+      <item>DamerauLevenshteinDistance</item>
+      <item>DerivativeFilter</item>
+      <item>DispersionEstimatorFunction</item>
+      <item>Darker</item>
+      <item>DesignMatrix</item>
+      <item>DisplayAllSteps</item>
+      <item>Dashed</item>
+      <item>Det</item>
+      <item>DisplayEndPacket</item>
+      <item>Dashing</item>
+      <item>DGaussianWavelet</item>
+      <item>DisplayForm</item>
+      <item>DataDistribution</item>
+      <item>Diagonal</item>
+      <item>DisplayFunction</item>
+      <item>DataRange</item>
+      <item>DiagonalMatrix</item>
+      <item>DisplayPacket</item>
+      <item>DataReversed</item>
+      <item>Dialog</item>
+      <item>DistanceFunction</item>
+      <item>DateDifference</item>
+      <item>DialogInput</item>
+      <item>DistanceTransform</item>
+      <item>DateFunction</item>
+      <item>DialogNotebook</item>
+      <item>Distribute</item>
+      <item>DateList</item>
+      <item>DialogProlog</item>
+      <item>Distributed</item>
+      <item>DateListLogPlot</item>
+      <item>DialogReturn</item>
+      <item>DistributedContexts</item>
+      <item>DateListPlot</item>
+      <item>DialogSymbols</item>
+      <item>DistributeDefinitions</item>
+      <item>DatePattern</item>
+      <item>Diamond</item>
+      <item>DistributionChart</item>
+      <item>DatePlus</item>
+      <item>DiamondMatrix</item>
+      <item>DistributionFitTest</item>
+      <item>DateString</item>
+      <item>DiceDissimilarity</item>
+      <item>DistributionParameterAssumptions</item>
+      <item>DateTicksFormat</item>
+      <item>DictionaryLookup</item>
+      <item>DistributionParameterQ</item>
+      <item>DaubechiesWavelet</item>
+      <item>DifferenceDelta</item>
+      <item>Divide</item>
+      <item>DavisDistribution</item>
+      <item>DifferenceRoot</item>
+      <item>DivideBy</item>
+      <item>DawsonF</item>
+      <item>DifferenceRootReduce</item>
+      <item>Dividers</item>
+      <item>DeBruijnGraph</item>
+      <item>Differences</item>
+      <item>Divisible</item>
+      <item>DeclarePackage</item>
+      <item>DifferentialD</item>
+      <item>Divisors</item>
+      <item>Decompose</item>
+      <item>DifferentialRoot</item>
+      <item>DivisorSigma</item>
+      <item>Decrement</item>
+      <item>DifferentialRootReduce</item>
+      <item>DivisorSum</item>
+      <item>DedekindEta</item>
+      <item>DigitBlock</item>
+      <item>DMSList</item>
+      <item>Default</item>
+      <item>DigitCharacter</item>
+      <item>DMSString</item>
+      <item>DefaultAxesStyle</item>
+      <item>DigitCount</item>
+      <item>Do</item>
+      <item>DefaultBaseStyle</item>
+      <item>DigitQ</item>
+      <item>DockedCells</item>
+      <item>DefaultBoxStyle</item>
+      <item>DihedralGroup</item>
+      <item>DocumentNotebook</item>
+      <item>DefaultButton</item>
+      <item>Dilation</item>
+      <item>Dot</item>
+      <item>DefaultDuplicateCellStyle</item>
+      <item>Dimensions</item>
+      <item>DotDashed</item>
+      <item>DefaultDuration</item>
+      <item>DiracComb</item>
+      <item>DotEqual</item>
+      <item>DefaultElement</item>
+      <item>DiracDelta</item>
+      <item>Dotted</item>
+      <item>DefaultFaceGridsStyle</item>
+      <item>DirectedEdge</item>
+      <item>DoubleBracketingBar</item>
+      <item>DefaultFieldHintStyle</item>
+      <item>DirectedEdges</item>
+      <item>DoubleDownArrow</item>
+      <item>DefaultFrameStyle</item>
+      <item>DirectedGraph</item>
+      <item>DoubleLeftArrow</item>
+      <item>DefaultFrameTicksStyle</item>
+      <item>DirectedGraphQ</item>
+      <item>DoubleLeftRightArrow</item>
+      <item>DefaultGridLinesStyle</item>
+      <item>DirectedInfinity</item>
+      <item>DoubleLongLeftArrow</item>
+      <item>DefaultLabelStyle</item>
+      <item>Direction</item>
+      <item>DoubleLongLeftRightArrow</item>
+      <item>DefaultMenuStyle</item>
+      <item>Directive</item>
+      <item>DoubleLongRightArrow</item>
+      <item>DefaultNewCellStyle</item>
+      <item>Directory</item>
+      <item>DoubleRightArrow</item>
+      <item>DefaultOptions</item>
+      <item>DirectoryName</item>
+      <item>DoubleUpArrow</item>
+      <item>DefaultTicksStyle</item>
+      <item>DirectoryQ</item>
+      <item>DoubleUpDownArrow</item>
+      <item>Defer</item>
+      <item>DirectoryStack</item>
+      <item>DoubleVerticalBar</item>
+      <item>Definition</item>
+      <item>DirichletCharacter</item>
+      <item>DownArrow</item>
+      <item>Degree</item>
+      <item>DirichletConvolve</item>
+      <item>DownArrowBar</item>
+      <item>DegreeCentrality</item>
+      <item>DirichletDistribution</item>
+      <item>DownArrowUpArrow</item>
+      <item>DegreeGraphDistribution</item>
+      <item>DirichletL</item>
+      <item>DownLeftRightVector</item>
+      <item>Deinitialization</item>
+      <item>DirichletTransform</item>
+      <item>DownLeftTeeVector</item>
+      <item>Del</item>
+      <item>DiscreteConvolve</item>
+      <item>DownLeftVector</item>
+      <item>Deletable</item>
+      <item>DiscreteDelta</item>
+      <item>DownLeftVectorBar</item>
+      <item>Delete</item>
+      <item>DiscreteIndicator</item>
+      <item>DownRightTeeVector</item>
+      <item>DeleteBorderComponents</item>
+      <item>DiscreteLQEstimatorGains</item>
+      <item>DownRightVector</item>
+      <item>DeleteCases</item>
+      <item>DiscreteLQRegulatorGains</item>
+      <item>DownRightVectorBar</item>
+      <item>DeleteContents</item>
+      <item>DiscreteLyapunovSolve</item>
+      <item>DownTeeArrow</item>
+      <item>DeleteDirectory</item>
+      <item>DiscretePlot</item>
+      <item>DownValues</item>
+      <item>DeleteDuplicates</item>
+      <item>DiscretePlot3D</item>
+      <item>DragAndDrop</item>
+      <item>DeleteFile</item>
+      <item>DiscreteRatio</item>
+      <item>Drop</item>
+      <item>DeleteSmallComponents</item>
+      <item>DiscreteRiccatiSolve</item>
+      <item>DSolve</item>
+      <item>Delimiter</item>
+      <item>DiscreteShift</item>
+      <item>Dt</item>
+      <item>DelimiterFlashTime</item>
+      <item>DiscreteTimeModelQ</item>
+      <item>DualSystemsModel</item>
+      <item>Denominator</item>
+      <item>DiscreteUniformDistribution</item>
+      <item>DumpSave</item>
+      <item>DensityHistogram</item>
+      <item>DiscreteWaveletData</item>
+      <item>Dynamic</item>
+      <item>DensityPlot</item>
+      <item>DiscreteWaveletPacketTransform</item>
+      <item>DynamicEvaluationTimeout</item>
+      <item>DependentVariables</item>
+      <item>DiscreteWaveletTransform</item>
+      <item>DynamicModule</item>
+      <item>Deploy</item>
+      <item>Discriminant</item>
+      <item>DynamicModuleValues</item>
+      <item>Deployed</item>
+      <item>Disjunction</item>
+      <item>DynamicSetting</item>
+      <item>Depth</item>
+      <item>Disk</item>
+      <item>DynamicWrapper</item>
+      <item>E</item>
+      <item>E</item>
+      <item>End</item>
+      <item>ExactNumberQ</item>
+      <item>EdgeAdd</item>
+      <item>EndDialogPacket</item>
+      <item>ExampleData</item>
+      <item>EdgeCount</item>
+      <item>EndOfFile</item>
+      <item>Except</item>
+      <item>EdgeCoverQ</item>
+      <item>EndOfLine</item>
+      <item>ExcludedForms</item>
+      <item>EdgeDelete</item>
+      <item>EndOfString</item>
+      <item>ExcludePods</item>
+      <item>EdgeDetect</item>
+      <item>EndPackage</item>
+      <item>Exclusions</item>
+      <item>EdgeForm</item>
+      <item>EngineeringForm</item>
+      <item>ExclusionsStyle</item>
+      <item>EdgeIndex</item>
+      <item>EnterExpressionPacket</item>
+      <item>Exists</item>
+      <item>EdgeLabeling</item>
+      <item>EnterTextPacket</item>
+      <item>Exit</item>
+      <item>EdgeLabels</item>
+      <item>Entropy</item>
+      <item>Exp</item>
+      <item>EdgeList</item>
+      <item>EntropyFilter</item>
+      <item>Expand</item>
+      <item>EdgeQ</item>
+      <item>Environment</item>
+      <item>ExpandAll</item>
+      <item>EdgeRenderingFunction</item>
+      <item>Epilog</item>
+      <item>ExpandDenominator</item>
+      <item>EdgeRules</item>
+      <item>Equal</item>
+      <item>ExpandFileName</item>
+      <item>EdgeShapeFunction</item>
+      <item>EqualTilde</item>
+      <item>ExpandNumerator</item>
+      <item>EdgeStyle</item>
+      <item>Equilibrium</item>
+      <item>Expectation</item>
+      <item>EdgeWeight</item>
+      <item>Equivalent</item>
+      <item>ExpGammaDistribution</item>
+      <item>Editable</item>
+      <item>Erf</item>
+      <item>ExpIntegralE</item>
+      <item>EditDistance</item>
+      <item>Erfc</item>
+      <item>ExpIntegralEi</item>
+      <item>EffectiveInterest</item>
+      <item>Erfi</item>
+      <item>Exponent</item>
+      <item>Eigensystem</item>
+      <item>ErlangDistribution</item>
+      <item>ExponentFunction</item>
+      <item>Eigenvalues</item>
+      <item>Erosion</item>
+      <item>ExponentialDistribution</item>
+      <item>EigenvectorCentrality</item>
+      <item>ErrorBox</item>
+      <item>ExponentialFamily</item>
+      <item>Eigenvectors</item>
+      <item>EstimatedDistribution</item>
+      <item>ExponentialGeneratingFunction</item>
+      <item>Element</item>
+      <item>EstimatorGains</item>
+      <item>ExponentialMovingAverage</item>
+      <item>ElementData</item>
+      <item>EstimatorRegulator</item>
+      <item>ExponentialPowerDistribution</item>
+      <item>Eliminate</item>
+      <item>EuclideanDistance</item>
+      <item>ExponentStep</item>
+      <item>EllipticE</item>
+      <item>EulerE</item>
+      <item>Export</item>
+      <item>EllipticExp</item>
+      <item>EulerGamma</item>
+      <item>ExportString</item>
+      <item>EllipticExpPrime</item>
+      <item>EulerianGraphQ</item>
+      <item>Expression</item>
+      <item>EllipticF</item>
+      <item>EulerPhi</item>
+      <item>ExpressionCell</item>
+      <item>EllipticK</item>
+      <item>Evaluatable</item>
+      <item>ExpToTrig</item>
+      <item>EllipticLog</item>
+      <item>Evaluate</item>
+      <item>ExtendedGCD</item>
+      <item>EllipticNomeQ</item>
+      <item>EvaluatePacket</item>
+      <item>Extension</item>
+      <item>EllipticPi</item>
+      <item>EvaluationElements</item>
+      <item>ExtentElementFunction</item>
+      <item>EllipticTheta</item>
+      <item>EvaluationMonitor</item>
+      <item>ExtentMarkers</item>
+      <item>EllipticThetaPrime</item>
+      <item>EvaluationNotebook</item>
+      <item>ExtentSize</item>
+      <item>EmitSound</item>
+      <item>EvaluationObject</item>
+      <item>Extract</item>
+      <item>EmpiricalDistribution</item>
+      <item>Evaluator</item>
+      <item>ExtractArchive</item>
+      <item>EmptyGraphQ</item>
+      <item>EvenQ</item>
+      <item>ExtremeValueDistribution</item>
+      <item>Enabled</item>
+      <item>EventHandler</item>
+      <item>Encode</item>
+      <item>EventLabels</item>
+      <item>F</item>
+      <item>FaceForm</item>
+      <item>FindFit</item>
+      <item>FormBox</item>
+      <item>FaceGrids</item>
+      <item>FindGeneratingFunction</item>
+      <item>FortranForm</item>
+      <item>FaceGridsStyle</item>
+      <item>FindGeoLocation</item>
+      <item>Forward</item>
+      <item>Factor</item>
+      <item>FindGeometricTransform</item>
+      <item>ForwardBackward</item>
+      <item>Factorial</item>
+      <item>FindGraphIsomorphism</item>
+      <item>Fourier</item>
+      <item>Factorial2</item>
+      <item>FindHamiltonianCycle</item>
+      <item>FourierCoefficient</item>
+      <item>FactorialMoment</item>
+      <item>FindIndependentEdgeSet</item>
+      <item>FourierCosCoefficient</item>
+      <item>FactorialMomentGeneratingFunction</item>
+      <item>FindIndependentVertexSet</item>
+      <item>FourierCosSeries</item>
+      <item>FactorialPower</item>
+      <item>FindInstance</item>
+      <item>FourierCosTransform</item>
+      <item>FactorInteger</item>
+      <item>FindIntegerNullVector</item>
+      <item>FourierDCT</item>
+      <item>FactorList</item>
+      <item>FindLibrary</item>
+      <item>FourierDST</item>
+      <item>FactorSquareFree</item>
+      <item>FindLinearRecurrence</item>
+      <item>FourierParameters</item>
+      <item>FactorSquareFreeList</item>
+      <item>FindList</item>
+      <item>FourierSequenceTransform</item>
+      <item>FactorTerms</item>
+      <item>FindMaximum</item>
+      <item>FourierSeries</item>
+      <item>FactorTermsList</item>
+      <item>FindMaxValue</item>
+      <item>FourierSinCoefficient</item>
+      <item>False</item>
+      <item>FindMinimum</item>
+      <item>FourierSinSeries</item>
+      <item>FeedbackType</item>
+      <item>FindMinValue</item>
+      <item>FourierSinTransform</item>
+      <item>Fibonacci</item>
+      <item>FindPermutation</item>
+      <item>FourierTransform</item>
+      <item>FieldHint</item>
+      <item>FindRoot</item>
+      <item>FourierTrigSeries</item>
+      <item>FieldHintStyle</item>
+      <item>FindSequenceFunction</item>
+      <item>FractionalPart</item>
+      <item>FieldMasked</item>
+      <item>FindShortestPath</item>
+      <item>FractionBox</item>
+      <item>FieldSize</item>
+      <item>FindShortestTour</item>
+      <item>Frame</item>
+      <item>FileBaseName</item>
+      <item>FindThreshold</item>
+      <item>FrameBox</item>
+      <item>FileByteCount</item>
+      <item>FindVertexCover</item>
+      <item>Framed</item>
+      <item>FileDate</item>
+      <item>FinishDynamic</item>
+      <item>FrameLabel</item>
+      <item>FileExistsQ</item>
+      <item>FiniteAbelianGroupCount</item>
+      <item>FrameMargins</item>
+      <item>FileExtension</item>
+      <item>FiniteGroupCount</item>
+      <item>FrameStyle</item>
+      <item>FileFormat</item>
+      <item>FiniteGroupData</item>
+      <item>FrameTicks</item>
+      <item>FileHash</item>
+      <item>First</item>
+      <item>FrameTicksStyle</item>
+      <item>FileNameDepth</item>
+      <item>FischerGroupFi22</item>
+      <item>FRatioDistribution</item>
+      <item>FileNameDrop</item>
+      <item>FischerGroupFi23</item>
+      <item>FrechetDistribution</item>
+      <item>FileNameJoin</item>
+      <item>FischerGroupFi24Prime</item>
+      <item>FreeQ</item>
+      <item>FileNames</item>
+      <item>FisherHypergeometricDistribution</item>
+      <item>FresnelC</item>
+      <item>FileNameSetter</item>
+      <item>FisherRatioTest</item>
+      <item>FresnelS</item>
+      <item>FileNameSplit</item>
+      <item>FisherZDistribution</item>
+      <item>FrobeniusNumber</item>
+      <item>FileNameTake</item>
+      <item>Fit</item>
+      <item>FrobeniusSolve</item>
+      <item>FilePrint</item>
+      <item>FittedModel</item>
+      <item>FromCharacterCode</item>
+      <item>FileType</item>
+      <item>FixedPoint</item>
+      <item>FromCoefficientRules</item>
+      <item>FilledCurve</item>
+      <item>FixedPointList</item>
+      <item>FromContinuedFraction</item>
+      <item>Filling</item>
+      <item>Flat</item>
+      <item>FromDigits</item>
+      <item>FillingStyle</item>
+      <item>Flatten</item>
+      <item>FromDMS</item>
+      <item>FillingTransform</item>
+      <item>FlattenAt</item>
+      <item>Front</item>
+      <item>FilterRules</item>
+      <item>FlipView</item>
+      <item>FrontEndDynamicExpression</item>
+      <item>FinancialBond</item>
+      <item>Floor</item>
+      <item>FrontEndEventActions</item>
+      <item>FinancialData</item>
+      <item>Fold</item>
+      <item>FrontEndExecute</item>
+      <item>FinancialDerivative</item>
+      <item>FoldList</item>
+      <item>FrontEndToken</item>
+      <item>FinancialIndicator</item>
+      <item>FontColor</item>
+      <item>FrontEndTokenExecute</item>
+      <item>Find</item>
+      <item>FontFamily</item>
+      <item>Full</item>
+      <item>FindArgMax</item>
+      <item>FontSize</item>
+      <item>FullDefinition</item>
+      <item>FindArgMin</item>
+      <item>FontSlant</item>
+      <item>FullForm</item>
+      <item>FindClique</item>
+      <item>FontSubstitutions</item>
+      <item>FullGraphics</item>
+      <item>FindClusters</item>
+      <item>FontTracking</item>
+      <item>FullSimplify</item>
+      <item>FindCurvePath</item>
+      <item>FontVariations</item>
+      <item>Function</item>
+      <item>FindDistributionParameters</item>
+      <item>FontWeight</item>
+      <item>FunctionExpand</item>
+      <item>FindDivisions</item>
+      <item>For</item>
+      <item>FunctionInterpolation</item>
+      <item>FindEdgeCover</item>
+      <item>ForAll</item>
+      <item>FunctionSpace</item>
+      <item>FindEulerianCycle</item>
+      <item>Format</item>
+      <item>FindFile</item>
+      <item>FormatType</item>
+      <item>G</item>
+      <item>GaborWavelet</item>
+      <item>GeoPositionXYZ</item>
+      <item>GraphStyle</item>
+      <item>GainMargins</item>
+      <item>GeoProjectionData</item>
+      <item>GraphUnion</item>
+      <item>GainPhaseMargins</item>
+      <item>Get</item>
+      <item>Gray</item>
+      <item>Gamma</item>
+      <item>Glaisher</item>
+      <item>GrayLevel</item>
+      <item>GammaDistribution</item>
+      <item>Glow</item>
+      <item>Greater</item>
+      <item>GammaRegularized</item>
+      <item>GoldenRatio</item>
+      <item>GreaterEqual</item>
+      <item>GapPenalty</item>
+      <item>GompertzMakehamDistribution</item>
+      <item>GreaterEqualLess</item>
+      <item>Gather</item>
+      <item>Goto</item>
+      <item>GreaterFullEqual</item>
+      <item>GatherBy</item>
+      <item>Gradient</item>
+      <item>GreaterGreater</item>
+      <item>GaussianFilter</item>
+      <item>GradientFilter</item>
+      <item>GreaterLess</item>
+      <item>GaussianIntegers</item>
+      <item>Graph</item>
+      <item>GreaterSlantEqual</item>
+      <item>GaussianMatrix</item>
+      <item>GraphCenter</item>
+      <item>GreaterTilde</item>
+      <item>GCD</item>
+      <item>GraphComplement</item>
+      <item>Green</item>
+      <item>GegenbauerC</item>
+      <item>GraphData</item>
+      <item>Grid</item>
+      <item>General</item>
+      <item>GraphDiameter</item>
+      <item>GridBox</item>
+      <item>GeneralizedLinearModelFit</item>
+      <item>GraphDifference</item>
+      <item>GridDefaultElement</item>
+      <item>GenerateConditions</item>
+      <item>GraphDisjointUnion</item>
+      <item>GridGraph</item>
+      <item>GeneratedCell</item>
+      <item>GraphDistance</item>
+      <item>GridLines</item>
+      <item>GeneratedParameters</item>
+      <item>GraphDistanceMatrix</item>
+      <item>GridLinesStyle</item>
+      <item>GeneratingFunction</item>
+      <item>GraphHighlight</item>
+      <item>GroebnerBasis</item>
+      <item>GenericCylindricalDecomposition</item>
+      <item>GraphHighlightStyle</item>
+      <item>GroupActionBase</item>
+      <item>GenomeData</item>
+      <item>Graphics</item>
+      <item>GroupCentralizer</item>
+      <item>GenomeLookup</item>
+      <item>Graphics3D</item>
+      <item>GroupElementPosition</item>
+      <item>GeodesicDilation</item>
+      <item>GraphicsColumn</item>
+      <item>GroupElementQ</item>
+      <item>GeodesicErosion</item>
+      <item>GraphicsComplex</item>
+      <item>GroupElements</item>
+      <item>GeoDestination</item>
+      <item>GraphicsGrid</item>
+      <item>GroupGenerators</item>
+      <item>GeodesyData</item>
+      <item>GraphicsGroup</item>
+      <item>GroupMultiplicationTable</item>
+      <item>GeoDirection</item>
+      <item>GraphicsRow</item>
+      <item>GroupOrbits</item>
+      <item>GeoDistance</item>
+      <item>GraphIntersection</item>
+      <item>GroupOrder</item>
+      <item>GeoGridPosition</item>
+      <item>GraphLayout</item>
+      <item>GroupPageBreakWithin</item>
+      <item>GeometricDistribution</item>
+      <item>GraphPeriphery</item>
+      <item>GroupSetwiseStabilizer</item>
+      <item>GeometricMean</item>
+      <item>GraphPlot</item>
+      <item>GroupStabilizer</item>
+      <item>GeometricMeanFilter</item>
+      <item>GraphPlot3D</item>
+      <item>GroupStabilizerChain</item>
+      <item>GeometricTransformation</item>
+      <item>GraphPower</item>
+      <item>Gudermannian</item>
+      <item>GeoPosition</item>
+      <item>GraphQ</item>
+      <item>GumbelDistribution</item>
+      <item>GeoPositionENU</item>
+      <item>GraphRadius</item>
+      <item>H</item>
+      <item>HaarWavelet</item>
+      <item>HermitianMatrixQ</item>
+      <item>Hue</item>
+      <item>HalfNormalDistribution</item>
+      <item>HessenbergDecomposition</item>
+      <item>HumpDownHump</item>
+      <item>HamiltonianGraphQ</item>
+      <item>HexadecimalCharacter</item>
+      <item>HumpEqual</item>
+      <item>HammingDistance</item>
+      <item>HighlightGraph</item>
+      <item>HurwitzLerchPhi</item>
+      <item>HankelH1</item>
+      <item>HigmanSimsGroupHS</item>
+      <item>HurwitzZeta</item>
+      <item>HankelH2</item>
+      <item>HilbertMatrix</item>
+      <item>HyperbolicDistribution</item>
+      <item>HankelMatrix</item>
+      <item>Histogram</item>
+      <item>HypercubeGraph</item>
+      <item>HaradaNortonGroupHN</item>
+      <item>Histogram3D</item>
+      <item>Hyperfactorial</item>
+      <item>HararyGraph</item>
+      <item>HistogramDistribution</item>
+      <item>Hypergeometric0F1</item>
+      <item>HarmonicMean</item>
+      <item>HistogramList</item>
+      <item>Hypergeometric0F1Regularized</item>
+      <item>HarmonicMeanFilter</item>
+      <item>HitMissTransform</item>
+      <item>Hypergeometric1F1</item>
+      <item>HarmonicNumber</item>
+      <item>HITSCentrality</item>
+      <item>Hypergeometric1F1Regularized</item>
+      <item>Hash</item>
+      <item>Hold</item>
+      <item>Hypergeometric2F1</item>
+      <item>Haversine</item>
+      <item>HoldAll</item>
+      <item>Hypergeometric2F1Regularized</item>
+      <item>HazardFunction</item>
+      <item>HoldAllComplete</item>
+      <item>HypergeometricDistribution</item>
+      <item>Head</item>
+      <item>HoldComplete</item>
+      <item>HypergeometricPFQ</item>
+      <item>Heads</item>
+      <item>HoldFirst</item>
+      <item>HypergeometricPFQRegularized</item>
+      <item>HeavisideLambda</item>
+      <item>HoldForm</item>
+      <item>HypergeometricU</item>
+      <item>HeavisidePi</item>
+      <item>HoldPattern</item>
+      <item>Hyperlink</item>
+      <item>HeavisideTheta</item>
+      <item>HoldRest</item>
+      <item>Hyphenation</item>
+      <item>HeldGroupHe</item>
+      <item>HornerForm</item>
+      <item>HypothesisTestData</item>
+      <item>HermiteDecomposition</item>
+      <item>HotellingTSquareDistribution</item>
+      <item>HermiteH</item>
+      <item>HoytDistribution</item>
+      <item>I</item>
+      <item>I</item>
+      <item>ImportString</item>
+      <item>Interrupt</item>
+      <item>Identity</item>
+      <item>In</item>
+      <item>Intersection</item>
+      <item>IdentityMatrix</item>
+      <item>IncidenceGraph</item>
+      <item>Interval</item>
+      <item>If</item>
+      <item>IncidenceMatrix</item>
+      <item>IntervalIntersection</item>
+      <item>IgnoreCase</item>
+      <item>IncludeConstantBasis</item>
+      <item>IntervalMemberQ</item>
+      <item>Im</item>
+      <item>IncludePods</item>
+      <item>IntervalUnion</item>
+      <item>Image</item>
+      <item>Increment</item>
+      <item>Inverse</item>
+      <item>ImageAdd</item>
+      <item>IndependentEdgeSetQ</item>
+      <item>InverseBetaRegularized</item>
+      <item>ImageAdjust</item>
+      <item>IndependentVertexSetQ</item>
+      <item>InverseCDF</item>
+      <item>ImageAlign</item>
+      <item>Indeterminate</item>
+      <item>InverseChiSquareDistribution</item>
+      <item>ImageApply</item>
+      <item>IndexGraph</item>
+      <item>InverseContinuousWaveletTransform</item>
+      <item>ImageAspectRatio</item>
+      <item>InexactNumberQ</item>
+      <item>InverseDistanceTransform</item>
+      <item>ImageAssemble</item>
+      <item>Infinity</item>
+      <item>InverseEllipticNomeQ</item>
+      <item>ImageCapture</item>
+      <item>Infix</item>
+      <item>InverseErf</item>
+      <item>ImageChannels</item>
+      <item>Information</item>
+      <item>InverseErfc</item>
+      <item>ImageClip</item>
+      <item>Inherited</item>
+      <item>InverseFourier</item>
+      <item>ImageColorSpace</item>
+      <item>Initialization</item>
+      <item>InverseFourierCosTransform</item>
+      <item>ImageCompose</item>
+      <item>InitializationCell</item>
+      <item>InverseFourierSequenceTransform</item>
+      <item>ImageConvolve</item>
+      <item>Inner</item>
+      <item>InverseFourierSinTransform</item>
+      <item>ImageCooccurrence</item>
+      <item>Inpaint</item>
+      <item>InverseFourierTransform</item>
+      <item>ImageCorrelate</item>
+      <item>Input</item>
+      <item>InverseFunction</item>
+      <item>ImageCorrespondingPoints</item>
+      <item>InputAliases</item>
+      <item>InverseFunctions</item>
+      <item>ImageCrop</item>
+      <item>InputAssumptions</item>
+      <item>InverseGammaDistribution</item>
+      <item>ImageData</item>
+      <item>InputAutoReplacements</item>
+      <item>InverseGammaRegularized</item>
+      <item>ImageDeconvolve</item>
+      <item>InputField</item>
+      <item>InverseGaussianDistribution</item>
+      <item>ImageDifference</item>
+      <item>InputForm</item>
+      <item>InverseGudermannian</item>
+      <item>ImageDimensions</item>
+      <item>InputNamePacket</item>
+      <item>InverseHaversine</item>
+      <item>ImageEffect</item>
+      <item>InputNotebook</item>
+      <item>InverseJacobiCD</item>
+      <item>ImageFilter</item>
+      <item>InputPacket</item>
+      <item>InverseJacobiCN</item>
+      <item>ImageForestingComponents</item>
+      <item>InputStream</item>
+      <item>InverseJacobiCS</item>
+      <item>ImageForwardTransformation</item>
+      <item>InputString</item>
+      <item>InverseJacobiDC</item>
+      <item>ImageHistogram</item>
+      <item>InputStringPacket</item>
+      <item>InverseJacobiDN</item>
+      <item>ImageKeypoints</item>
+      <item>Insert</item>
+      <item>InverseJacobiDS</item>
+      <item>ImageLevels</item>
+      <item>InsertResults</item>
+      <item>InverseJacobiNC</item>
+      <item>ImageLines</item>
+      <item>Inset</item>
+      <item>InverseJacobiND</item>
+      <item>ImageMargins</item>
+      <item>Install</item>
+      <item>InverseJacobiNS</item>
+      <item>ImageMultiply</item>
+      <item>InstallService</item>
+      <item>InverseJacobiSC</item>
+      <item>ImagePad</item>
+      <item>InString</item>
+      <item>InverseJacobiSD</item>
+      <item>ImagePadding</item>
+      <item>Integer</item>
+      <item>InverseJacobiSN</item>
+      <item>ImagePartition</item>
+      <item>IntegerDigits</item>
+      <item>InverseLaplaceTransform</item>
+      <item>ImagePerspectiveTransformation</item>
+      <item>IntegerExponent</item>
+      <item>InversePermutation</item>
+      <item>ImageQ</item>
+      <item>IntegerLength</item>
+      <item>InverseRadon</item>
+      <item>ImageReflect</item>
+      <item>IntegerPart</item>
+      <item>InverseSeries</item>
+      <item>ImageResize</item>
+      <item>IntegerPartitions</item>
+      <item>InverseSurvivalFunction</item>
+      <item>ImageResolution</item>
+      <item>IntegerQ</item>
+      <item>InverseWaveletTransform</item>
+      <item>ImageRotate</item>
+      <item>Integers</item>
+      <item>InverseWeierstrassP</item>
+      <item>ImageScaled</item>
+      <item>IntegerString</item>
+      <item>InverseZTransform</item>
+      <item>ImageSize</item>
+      <item>Integrate</item>
+      <item>Invisible</item>
+      <item>ImageSizeAction</item>
+      <item>InteractiveTradingChart</item>
+      <item>IrreduciblePolynomialQ</item>
+      <item>ImageSizeMultipliers</item>
+      <item>Interleaving</item>
+      <item>IsolatingInterval</item>
+      <item>ImageSubtract</item>
+      <item>InternallyBalancedDecomposition</item>
+      <item>IsomorphicGraphQ</item>
+      <item>ImageTake</item>
+      <item>InterpolatingFunction</item>
+      <item>IsotopeData</item>
+      <item>ImageTransformation</item>
+      <item>InterpolatingPolynomial</item>
+      <item>Italic</item>
+      <item>ImageTrim</item>
+      <item>Interpolation</item>
+      <item>Item</item>
+      <item>ImageType</item>
+      <item>InterpolationOrder</item>
+      <item>ItemAspectRatio</item>
+      <item>ImageValue</item>
+      <item>Interpretation</item>
+      <item>ItemSize</item>
+      <item>Implies</item>
+      <item>InterpretationBox</item>
+      <item>ItemStyle</item>
+      <item>Import</item>
+      <item>InterquartileRange</item>
+      <item>J</item>
+      <item>JaccardDissimilarity</item>
+      <item>JacobiNS</item>
+      <item>JankoGroupJ4</item>
+      <item>JacobiAmplitude</item>
+      <item>JacobiP</item>
+      <item>JarqueBeraALMTest</item>
+      <item>JacobiCD</item>
+      <item>JacobiSC</item>
+      <item>JohnsonDistribution</item>
+      <item>JacobiCN</item>
+      <item>JacobiSD</item>
+      <item>Join</item>
+      <item>JacobiCS</item>
+      <item>JacobiSN</item>
+      <item>Joined</item>
+      <item>JacobiDC</item>
+      <item>JacobiSymbol</item>
+      <item>JoinedCurve</item>
+      <item>JacobiDN</item>
+      <item>JacobiZeta</item>
+      <item>JoinForm</item>
+      <item>JacobiDS</item>
+      <item>JankoGroupJ1</item>
+      <item>JordanDecomposition</item>
+      <item>JacobiNC</item>
+      <item>JankoGroupJ2</item>
+      <item>JordanModelDecomposition</item>
+      <item>JacobiND</item>
+      <item>JankoGroupJ3</item>
+      <item>K</item>
+      <item>KagiChart</item>
+      <item>KelvinKer</item>
+      <item>KolmogorovSmirnovTest</item>
+      <item>KalmanEstimator</item>
+      <item>KernelMixtureDistribution</item>
+      <item>KroneckerDelta</item>
+      <item>KarhunenLoeveDecomposition</item>
+      <item>KernelObject</item>
+      <item>KroneckerProduct</item>
+      <item>KaryTree</item>
+      <item>Kernels</item>
+      <item>KroneckerSymbol</item>
+      <item>KatzCentrality</item>
+      <item>Khinchin</item>
+      <item>KuiperTest</item>
+      <item>KCoreComponents</item>
+      <item>KirchhoffGraph</item>
+      <item>KumaraswamyDistribution</item>
+      <item>KDistribution</item>
+      <item>KirchhoffMatrix</item>
+      <item>Kurtosis</item>
+      <item>KelvinBei</item>
+      <item>KleinInvariantJ</item>
+      <item>KuwaharaFilter</item>
+      <item>KelvinBer</item>
+      <item>KnightTourGraph</item>
+      <item>KelvinKei</item>
+      <item>KnotData</item>
+      <item>L</item>
+      <item>Label</item>
+      <item>LibraryFunction</item>
+      <item>ListDensityPlot</item>
+      <item>Labeled</item>
+      <item>LibraryFunctionError</item>
+      <item>ListInterpolation</item>
+      <item>LabelingFunction</item>
+      <item>LibraryFunctionInformation</item>
+      <item>ListLineIntegralConvolutionPlot</item>
+      <item>LabelStyle</item>
+      <item>LibraryFunctionLoad</item>
+      <item>ListLinePlot</item>
+      <item>LaguerreL</item>
+      <item>LibraryFunctionUnload</item>
+      <item>ListLogLinearPlot</item>
+      <item>LandauDistribution</item>
+      <item>LibraryLoad</item>
+      <item>ListLogLogPlot</item>
+      <item>LanguageCategory</item>
+      <item>LibraryUnload</item>
+      <item>ListLogPlot</item>
+      <item>LaplaceDistribution</item>
+      <item>LiftingFilterData</item>
+      <item>ListPlay</item>
+      <item>LaplaceTransform</item>
+      <item>LiftingWaveletTransform</item>
+      <item>ListPlot</item>
+      <item>LaplacianFilter</item>
+      <item>LightBlue</item>
+      <item>ListPlot3D</item>
+      <item>LaplacianGaussianFilter</item>
+      <item>LightBrown</item>
+      <item>ListPointPlot3D</item>
+      <item>Large</item>
+      <item>LightCyan</item>
+      <item>ListPolarPlot</item>
+      <item>Larger</item>
+      <item>Lighter</item>
+      <item>ListStreamDensityPlot</item>
+      <item>Last</item>
+      <item>LightGray</item>
+      <item>ListStreamPlot</item>
+      <item>Latitude</item>
+      <item>LightGreen</item>
+      <item>ListSurfacePlot3D</item>
+      <item>LatitudeLongitude</item>
+      <item>Lighting</item>
+      <item>ListVectorDensityPlot</item>
+      <item>LatticeData</item>
+      <item>LightingAngle</item>
+      <item>ListVectorPlot</item>
+      <item>LatticeReduce</item>
+      <item>LightMagenta</item>
+      <item>ListVectorPlot3D</item>
+      <item>LaunchKernels</item>
+      <item>LightOrange</item>
+      <item>LocalizeVariables</item>
+      <item>LayeredGraphPlot</item>
+      <item>LightPink</item>
+      <item>LocationEquivalenceTest</item>
+      <item>LayerSizeFunction</item>
+      <item>LightPurple</item>
+      <item>LocationTest</item>
+      <item>LCM</item>
+      <item>LightRed</item>
+      <item>Locator</item>
+      <item>LeafCount</item>
+      <item>LightYellow</item>
+      <item>LocatorAutoCreate</item>
+      <item>LeastSquares</item>
+      <item>Likelihood</item>
+      <item>LocatorPane</item>
+      <item>Left</item>
+      <item>Limit</item>
+      <item>LocatorRegion</item>
+      <item>LeftArrow</item>
+      <item>LimitsPositioning</item>
+      <item>Locked</item>
+      <item>LeftArrowBar</item>
+      <item>LindleyDistribution</item>
+      <item>Log</item>
+      <item>LeftArrowRightArrow</item>
+      <item>Line</item>
+      <item>Log10</item>
+      <item>LeftDownTeeVector</item>
+      <item>LinearFractionalTransform</item>
+      <item>Log2</item>
+      <item>LeftDownVector</item>
+      <item>LinearModelFit</item>
+      <item>LogBarnesG</item>
+      <item>LeftDownVectorBar</item>
+      <item>LinearOffsetFunction</item>
+      <item>LogGamma</item>
+      <item>LeftRightArrow</item>
+      <item>LinearProgramming</item>
+      <item>LogGammaDistribution</item>
+      <item>LeftRightVector</item>
+      <item>LinearRecurrence</item>
+      <item>LogicalExpand</item>
+      <item>LeftTeeArrow</item>
+      <item>LinearSolve</item>
+      <item>LogIntegral</item>
+      <item>LeftTeeVector</item>
+      <item>LinearSolveFunction</item>
+      <item>LogisticDistribution</item>
+      <item>LeftTriangle</item>
+      <item>LineBreakChart</item>
+      <item>LogitModelFit</item>
+      <item>LeftTriangleBar</item>
+      <item>LineGraph</item>
+      <item>LogLikelihood</item>
+      <item>LeftTriangleEqual</item>
+      <item>LineIndent</item>
+      <item>LogLinearPlot</item>
+      <item>LeftUpDownVector</item>
+      <item>LineIndentMaxFraction</item>
+      <item>LogLogisticDistribution</item>
+      <item>LeftUpTeeVector</item>
+      <item>LineIntegralConvolutionPlot</item>
+      <item>LogLogPlot</item>
+      <item>LeftUpVector</item>
+      <item>LineIntegralConvolutionScale</item>
+      <item>LogNormalDistribution</item>
+      <item>LeftUpVectorBar</item>
+      <item>LineSpacing</item>
+      <item>LogPlot</item>
+      <item>LeftVector</item>
+      <item>LinkClose</item>
+      <item>LogSeriesDistribution</item>
+      <item>LeftVectorBar</item>
+      <item>LinkConnect</item>
+      <item>Longest</item>
+      <item>LegendAppearance</item>
+      <item>LinkCreate</item>
+      <item>LongestCommonSequence</item>
+      <item>Legended</item>
+      <item>LinkFunction</item>
+      <item>LongestCommonSubsequence</item>
+      <item>LegendreP</item>
+      <item>LinkInterrupt</item>
+      <item>Longitude</item>
+      <item>LegendreQ</item>
+      <item>LinkLaunch</item>
+      <item>LongLeftArrow</item>
+      <item>Length</item>
+      <item>LinkObject</item>
+      <item>LongLeftRightArrow</item>
+      <item>LengthWhile</item>
+      <item>LinkPatterns</item>
+      <item>LongRightArrow</item>
+      <item>LerchPhi</item>
+      <item>LinkProtocol</item>
+      <item>LoopFreeGraphQ</item>
+      <item>Less</item>
+      <item>LinkRead</item>
+      <item>LowerCaseQ</item>
+      <item>LessEqual</item>
+      <item>LinkReadyQ</item>
+      <item>LowerLeftArrow</item>
+      <item>LessEqualGreater</item>
+      <item>Links</item>
+      <item>LowerRightArrow</item>
+      <item>LessFullEqual</item>
+      <item>LinkWrite</item>
+      <item>LowerTriangularize</item>
+      <item>LessGreater</item>
+      <item>LiouvilleLambda</item>
+      <item>LQEstimatorGains</item>
+      <item>LessLess</item>
+      <item>List</item>
+      <item>LQGRegulator</item>
+      <item>LessSlantEqual</item>
+      <item>Listable</item>
+      <item>LQOutputRegulatorGains</item>
+      <item>LessTilde</item>
+      <item>ListAnimate</item>
+      <item>LQRegulatorGains</item>
+      <item>LetterCharacter</item>
+      <item>ListContourPlot</item>
+      <item>LucasL</item>
+      <item>LetterQ</item>
+      <item>ListContourPlot3D</item>
+      <item>LUDecomposition</item>
+      <item>Level</item>
+      <item>ListConvolve</item>
+      <item>LyapunovSolve</item>
+      <item>LeveneTest</item>
+      <item>ListCorrelate</item>
+      <item>LyonsGroupLy</item>
+      <item>LeviCivitaTensor</item>
+      <item>ListCurvePathPlot</item>
+      <item>LevyDistribution</item>
+      <item>ListDeconvolve</item>
+      <item>M</item>
+      <item>MachineNumberQ</item>
+      <item>MaxDetect</item>
+      <item>MinDetect</item>
+      <item>MachinePrecision</item>
+      <item>MaxExtraBandwidths</item>
+      <item>MinFilter</item>
+      <item>Magenta</item>
+      <item>MaxExtraConditions</item>
+      <item>MinimalPolynomial</item>
+      <item>Magnification</item>
+      <item>MaxFilter</item>
+      <item>MinimalStateSpaceModel</item>
+      <item>Magnify</item>
+      <item>Maximize</item>
+      <item>Minimize</item>
+      <item>Majority</item>
+      <item>MaxIterations</item>
+      <item>Minors</item>
+      <item>MakeBoxes</item>
+      <item>MaxMemoryUsed</item>
+      <item>MinStableDistribution</item>
+      <item>MakeExpression</item>
+      <item>MaxMixtureKernels</item>
+      <item>Minus</item>
+      <item>MangoldtLambda</item>
+      <item>MaxPlotPoints</item>
+      <item>MinusPlus</item>
+      <item>ManhattanDistance</item>
+      <item>MaxRecursion</item>
+      <item>MinValue</item>
+      <item>Manipulate</item>
+      <item>MaxStableDistribution</item>
+      <item>Missing</item>
+      <item>Manipulator</item>
+      <item>MaxStepFraction</item>
+      <item>MixtureDistribution</item>
+      <item>MannWhitneyTest</item>
+      <item>MaxSteps</item>
+      <item>Mod</item>
+      <item>MantissaExponent</item>
+      <item>MaxStepSize</item>
+      <item>Modal</item>
+      <item>Manual</item>
+      <item>MaxValue</item>
+      <item>ModularLambda</item>
+      <item>Map</item>
+      <item>MaxwellDistribution</item>
+      <item>Module</item>
+      <item>MapAll</item>
+      <item>McLaughlinGroupMcL</item>
+      <item>Modulus</item>
+      <item>MapAt</item>
+      <item>Mean</item>
+      <item>MoebiusMu</item>
+      <item>MapIndexed</item>
+      <item>MeanDeviation</item>
+      <item>Moment</item>
+      <item>MapThread</item>
+      <item>MeanFilter</item>
+      <item>MomentConvert</item>
+      <item>MarcumQ</item>
+      <item>MeanShift</item>
+      <item>MomentEvaluate</item>
+      <item>MardiaCombinedTest</item>
+      <item>MeanShiftFilter</item>
+      <item>MomentGeneratingFunction</item>
+      <item>MardiaKurtosisTest</item>
+      <item>Median</item>
+      <item>Monitor</item>
+      <item>MardiaSkewnessTest</item>
+      <item>MedianDeviation</item>
+      <item>MonomialList</item>
+      <item>MarginalDistribution</item>
+      <item>MedianFilter</item>
+      <item>MonsterGroupM</item>
+      <item>Masking</item>
+      <item>Medium</item>
+      <item>MorletWavelet</item>
+      <item>MatchingDissimilarity</item>
+      <item>MeijerG</item>
+      <item>MorphologicalBinarize</item>
+      <item>MatchLocalNames</item>
+      <item>MemberQ</item>
+      <item>MorphologicalBranchPoints</item>
+      <item>MatchQ</item>
+      <item>MemoryConstrained</item>
+      <item>MorphologicalComponents</item>
+      <item>MathieuC</item>
+      <item>MemoryInUse</item>
+      <item>MorphologicalEulerNumber</item>
+      <item>MathieuCharacteristicA</item>
+      <item>MenuCommandKey</item>
+      <item>MorphologicalGraph</item>
+      <item>MathieuCharacteristicB</item>
+      <item>MenuPacket</item>
+      <item>MorphologicalPerimeter</item>
+      <item>MathieuCharacteristicExponent</item>
+      <item>MenuSortingValue</item>
+      <item>MorphologicalTransform</item>
+      <item>MathieuCPrime</item>
+      <item>MenuStyle</item>
+      <item>Most</item>
+      <item>MathieuGroupM11</item>
+      <item>MenuView</item>
+      <item>MouseAnnotation</item>
+      <item>MathieuGroupM12</item>
+      <item>Mesh</item>
+      <item>MouseAppearance</item>
+      <item>MathieuGroupM22</item>
+      <item>MeshFunctions</item>
+      <item>Mouseover</item>
+      <item>MathieuGroupM23</item>
+      <item>MeshShading</item>
+      <item>MousePosition</item>
+      <item>MathieuGroupM24</item>
+      <item>MeshStyle</item>
+      <item>MovingAverage</item>
+      <item>MathieuS</item>
+      <item>Message</item>
+      <item>MovingMedian</item>
+      <item>MathieuSPrime</item>
+      <item>MessageDialog</item>
+      <item>MoyalDistribution</item>
+      <item>MathMLForm</item>
+      <item>MessageList</item>
+      <item>MultiedgeStyle</item>
+      <item>MatrixExp</item>
+      <item>MessageName</item>
+      <item>Multinomial</item>
+      <item>MatrixForm</item>
+      <item>MessagePacket</item>
+      <item>MultinomialDistribution</item>
+      <item>MatrixPlot</item>
+      <item>Messages</item>
+      <item>MultinormalDistribution</item>
+      <item>MatrixPower</item>
+      <item>Method</item>
+      <item>MultiplicativeOrder</item>
+      <item>MatrixQ</item>
+      <item>MexicanHatWavelet</item>
+      <item>MultivariateHypergeometricDistribution</item>
+      <item>MatrixRank</item>
+      <item>MeyerWavelet</item>
+      <item>MultivariatePoissonDistribution</item>
+      <item>Max</item>
+      <item>Min</item>
+      <item>MultivariateTDistribution</item>
+      <item>N</item>
+      <item>N</item>
+      <item>NormalizedSquaredEuclideanDistance</item>
+      <item>NotPrecedesSlantEqual</item>
+      <item>NakagamiDistribution</item>
+      <item>NormalsFunction</item>
+      <item>NotPrecedesTilde</item>
+      <item>NameQ</item>
+      <item>NormFunction</item>
+      <item>NotReverseElement</item>
+      <item>Names</item>
+      <item>Not</item>
+      <item>NotRightTriangle</item>
+      <item>Nand</item>
+      <item>NotCongruent</item>
+      <item>NotRightTriangleBar</item>
+      <item>NArgMax</item>
+      <item>NotCupCap</item>
+      <item>NotRightTriangleEqual</item>
+      <item>NArgMin</item>
+      <item>NotDoubleVerticalBar</item>
+      <item>NotSquareSubset</item>
+      <item>NCache</item>
+      <item>Notebook</item>
+      <item>NotSquareSubsetEqual</item>
+      <item>NDSolve</item>
+      <item>NotebookApply</item>
+      <item>NotSquareSuperset</item>
+      <item>Nearest</item>
+      <item>NotebookAutoSave</item>
+      <item>NotSquareSupersetEqual</item>
+      <item>NearestFunction</item>
+      <item>NotebookClose</item>
+      <item>NotSubset</item>
+      <item>NeedlemanWunschSimilarity</item>
+      <item>NotebookDelete</item>
+      <item>NotSubsetEqual</item>
+      <item>Needs</item>
+      <item>NotebookDirectory</item>
+      <item>NotSucceeds</item>
+      <item>Negative</item>
+      <item>NotebookDynamicExpression</item>
+      <item>NotSucceedsEqual</item>
+      <item>NegativeBinomialDistribution</item>
+      <item>NotebookEvaluate</item>
+      <item>NotSucceedsSlantEqual</item>
+      <item>NegativeMultinomialDistribution</item>
+      <item>NotebookEventActions</item>
+      <item>NotSucceedsTilde</item>
+      <item>NeighborhoodGraph</item>
+      <item>NotebookFileName</item>
+      <item>NotSuperset</item>
+      <item>Nest</item>
+      <item>NotebookFind</item>
+      <item>NotSupersetEqual</item>
+      <item>NestedGreaterGreater</item>
+      <item>NotebookGet</item>
+      <item>NotTilde</item>
+      <item>NestedLessLess</item>
+      <item>NotebookInformation</item>
+      <item>NotTildeEqual</item>
+      <item>NestList</item>
+      <item>NotebookLocate</item>
+      <item>NotTildeFullEqual</item>
+      <item>NestWhile</item>
+      <item>NotebookObject</item>
+      <item>NotTildeTilde</item>
+      <item>NestWhileList</item>
+      <item>NotebookOpen</item>
+      <item>NotVerticalBar</item>
+      <item>NevilleThetaC</item>
+      <item>NotebookPrint</item>
+      <item>NProbability</item>
+      <item>NevilleThetaD</item>
+      <item>NotebookPut</item>
+      <item>NProduct</item>
+      <item>NevilleThetaN</item>
+      <item>NotebookRead</item>
+      <item>NRoots</item>
+      <item>NevilleThetaS</item>
+      <item>Notebooks</item>
+      <item>NSolve</item>
+      <item>NExpectation</item>
+      <item>NotebookSave</item>
+      <item>NSum</item>
+      <item>NextPrime</item>
+      <item>NotebookSelection</item>
+      <item>Null</item>
+      <item>NHoldAll</item>
+      <item>NotebookWrite</item>
+      <item>NullRecords</item>
+      <item>NHoldFirst</item>
+      <item>NotElement</item>
+      <item>NullSpace</item>
+      <item>NHoldRest</item>
+      <item>NotEqualTilde</item>
+      <item>NullWords</item>
+      <item>NicholsGridLines</item>
+      <item>NotExists</item>
+      <item>Number</item>
+      <item>NicholsPlot</item>
+      <item>NotGreater</item>
+      <item>NumberFieldClassNumber</item>
+      <item>NIntegrate</item>
+      <item>NotGreaterEqual</item>
+      <item>NumberFieldDiscriminant</item>
+      <item>NMaximize</item>
+      <item>NotGreaterFullEqual</item>
+      <item>NumberFieldFundamentalUnits</item>
+      <item>NMaxValue</item>
+      <item>NotGreaterGreater</item>
+      <item>NumberFieldIntegralBasis</item>
+      <item>NMinimize</item>
+      <item>NotGreaterLess</item>
+      <item>NumberFieldNormRepresentatives</item>
+      <item>NMinValue</item>
+      <item>NotGreaterSlantEqual</item>
+      <item>NumberFieldRegulator</item>
+      <item>NominalVariables</item>
+      <item>NotGreaterTilde</item>
+      <item>NumberFieldRootsOfUnity</item>
+      <item>NoncentralBetaDistribution</item>
+      <item>NotHumpDownHump</item>
+      <item>NumberFieldSignature</item>
+      <item>NoncentralChiSquareDistribution</item>
+      <item>NotHumpEqual</item>
+      <item>NumberForm</item>
+      <item>NoncentralFRatioDistribution</item>
+      <item>NotLeftTriangle</item>
+      <item>NumberFormat</item>
+      <item>NoncentralStudentTDistribution</item>
+      <item>NotLeftTriangleBar</item>
+      <item>NumberMarks</item>
+      <item>NonCommutativeMultiply</item>
+      <item>NotLeftTriangleEqual</item>
+      <item>NumberMultiplier</item>
+      <item>NonConstants</item>
+      <item>NotLess</item>
+      <item>NumberPadding</item>
+      <item>None</item>
+      <item>NotLessEqual</item>
+      <item>NumberPoint</item>
+      <item>NonlinearModelFit</item>
+      <item>NotLessFullEqual</item>
+      <item>NumberQ</item>
+      <item>NonNegative</item>
+      <item>NotLessGreater</item>
+      <item>NumberSeparator</item>
+      <item>NonPositive</item>
+      <item>NotLessLess</item>
+      <item>NumberSigns</item>
+      <item>Nor</item>
+      <item>NotLessSlantEqual</item>
+      <item>NumberString</item>
+      <item>NorlundB</item>
+      <item>NotLessTilde</item>
+      <item>Numerator</item>
+      <item>Norm</item>
+      <item>NotNestedGreaterGreater</item>
+      <item>NumericFunction</item>
+      <item>Normal</item>
+      <item>NotNestedLessLess</item>
+      <item>NumericQ</item>
+      <item>NormalDistribution</item>
+      <item>NotPrecedes</item>
+      <item>NyquistGridLines</item>
+      <item>Normalize</item>
+      <item>NotPrecedesEqual</item>
+      <item>NyquistPlot</item>
+      <item>O</item>
+      <item>O</item>
+      <item>Operate</item>
+      <item>OutputForm</item>
+      <item>ObservabilityGramian</item>
+      <item>OperatingSystem</item>
+      <item>OutputNamePacket</item>
+      <item>ObservabilityMatrix</item>
+      <item>Optional</item>
+      <item>OutputResponse</item>
+      <item>ObservableDecomposition</item>
+      <item>Options</item>
+      <item>OutputSizeLimit</item>
+      <item>ObservableModelQ</item>
+      <item>OptionsPattern</item>
+      <item>OutputStream</item>
+      <item>OddQ</item>
+      <item>OptionValue</item>
+      <item>OverBar</item>
+      <item>Off</item>
+      <item>Or</item>
+      <item>OverDot</item>
+      <item>Offset</item>
+      <item>Orange</item>
+      <item>Overflow</item>
+      <item>On</item>
+      <item>Order</item>
+      <item>OverHat</item>
+      <item>ONanGroupON</item>
+      <item>OrderDistribution</item>
+      <item>Overlaps</item>
+      <item>OneIdentity</item>
+      <item>OrderedQ</item>
+      <item>Overlay</item>
+      <item>Opacity</item>
+      <item>Ordering</item>
+      <item>Overscript</item>
+      <item>OpenAppend</item>
+      <item>Orderless</item>
+      <item>OverscriptBox</item>
+      <item>Opener</item>
+      <item>Orthogonalize</item>
+      <item>OverTilde</item>
+      <item>OpenerView</item>
+      <item>Out</item>
+      <item>OverVector</item>
+      <item>Opening</item>
+      <item>Outer</item>
+      <item>OwenT</item>
+      <item>OpenRead</item>
+      <item>OutputControllabilityMatrix</item>
+      <item>OwnValues</item>
+      <item>OpenWrite</item>
+      <item>OutputControllableModelQ</item>
+      <item>P</item>
+      <item>PackingMethod</item>
+      <item>PermutationList</item>
+      <item>PopupMenu</item>
+      <item>PaddedForm</item>
+      <item>PermutationListQ</item>
+      <item>PopupView</item>
+      <item>Padding</item>
+      <item>PermutationMax</item>
+      <item>PopupWindow</item>
+      <item>PadeApproximant</item>
+      <item>PermutationMin</item>
+      <item>Position</item>
+      <item>PadLeft</item>
+      <item>PermutationOrder</item>
+      <item>Positive</item>
+      <item>PadRight</item>
+      <item>PermutationPower</item>
+      <item>PositiveDefiniteMatrixQ</item>
+      <item>PageBreakAbove</item>
+      <item>PermutationProduct</item>
+      <item>PossibleZeroQ</item>
+      <item>PageBreakBelow</item>
+      <item>PermutationReplace</item>
+      <item>Postfix</item>
+      <item>PageBreakWithin</item>
+      <item>Permutations</item>
+      <item>Power</item>
+      <item>PageFooters</item>
+      <item>PermutationSupport</item>
+      <item>PowerDistribution</item>
+      <item>PageHeaders</item>
+      <item>Permute</item>
+      <item>PowerExpand</item>
+      <item>PageRankCentrality</item>
+      <item>PeronaMalikFilter</item>
+      <item>PowerMod</item>
+      <item>PageWidth</item>
+      <item>PERTDistribution</item>
+      <item>PowerModList</item>
+      <item>PairedBarChart</item>
+      <item>PetersenGraph</item>
+      <item>PowersRepresentations</item>
+      <item>PairedHistogram</item>
+      <item>PhaseMargins</item>
+      <item>PowerSymmetricPolynomial</item>
+      <item>PairedTTest</item>
+      <item>Pi</item>
+      <item>PrecedenceForm</item>
+      <item>PairedZTest</item>
+      <item>Pick</item>
+      <item>Precedes</item>
+      <item>PaletteNotebook</item>
+      <item>Piecewise</item>
+      <item>PrecedesEqual</item>
+      <item>Pane</item>
+      <item>PiecewiseExpand</item>
+      <item>PrecedesSlantEqual</item>
+      <item>Panel</item>
+      <item>PieChart</item>
+      <item>PrecedesTilde</item>
+      <item>Paneled</item>
+      <item>PieChart3D</item>
+      <item>Precision</item>
+      <item>PaneSelector</item>
+      <item>Pink</item>
+      <item>PrecisionGoal</item>
+      <item>ParabolicCylinderD</item>
+      <item>PixelConstrained</item>
+      <item>PreDecrement</item>
+      <item>ParagraphIndent</item>
+      <item>PixelValue</item>
+      <item>PreemptProtect</item>
+      <item>ParagraphSpacing</item>
+      <item>Placed</item>
+      <item>Prefix</item>
+      <item>ParallelArray</item>
+      <item>Placeholder</item>
+      <item>PreIncrement</item>
+      <item>ParallelCombine</item>
+      <item>PlaceholderReplace</item>
+      <item>Prepend</item>
+      <item>ParallelDo</item>
+      <item>Plain</item>
+      <item>PrependTo</item>
+      <item>ParallelEvaluate</item>
+      <item>Play</item>
+      <item>PreserveImageOptions</item>
+      <item>Parallelization</item>
+      <item>PlayRange</item>
+      <item>PriceGraphDistribution</item>
+      <item>Parallelize</item>
+      <item>Plot</item>
+      <item>Prime</item>
+      <item>ParallelMap</item>
+      <item>Plot3D</item>
+      <item>PrimeNu</item>
+      <item>ParallelNeeds</item>
+      <item>PlotLabel</item>
+      <item>PrimeOmega</item>
+      <item>ParallelProduct</item>
+      <item>PlotLayout</item>
+      <item>PrimePi</item>
+      <item>ParallelSubmit</item>
+      <item>PlotMarkers</item>
+      <item>PrimePowerQ</item>
+      <item>ParallelSum</item>
+      <item>PlotPoints</item>
+      <item>PrimeQ</item>
+      <item>ParallelTable</item>
+      <item>PlotRange</item>
+      <item>Primes</item>
+      <item>ParallelTry</item>
+      <item>PlotRangeClipping</item>
+      <item>PrimeZetaP</item>
+      <item>ParameterEstimator</item>
+      <item>PlotRangePadding</item>
+      <item>PrimitiveRoot</item>
+      <item>ParameterMixtureDistribution</item>
+      <item>PlotRegion</item>
+      <item>PrincipalComponents</item>
+      <item>ParametricPlot</item>
+      <item>PlotStyle</item>
+      <item>PrincipalValue</item>
+      <item>ParametricPlot3D</item>
+      <item>Plus</item>
+      <item>Print</item>
+      <item>ParentDirectory</item>
+      <item>PlusMinus</item>
+      <item>PrintingStyleEnvironment</item>
+      <item>ParetoDistribution</item>
+      <item>Pochhammer</item>
+      <item>PrintTemporary</item>
+      <item>Part</item>
+      <item>PodStates</item>
+      <item>Probability</item>
+      <item>ParticleData</item>
+      <item>PodWidth</item>
+      <item>ProbabilityDistribution</item>
+      <item>Partition</item>
+      <item>Point</item>
+      <item>ProbabilityPlot</item>
+      <item>PartitionsP</item>
+      <item>PointFigureChart</item>
+      <item>ProbabilityScalePlot</item>
+      <item>PartitionsQ</item>
+      <item>PointSize</item>
+      <item>ProbitModelFit</item>
+      <item>PascalDistribution</item>
+      <item>PoissonConsulDistribution</item>
+      <item>Product</item>
+      <item>PassEventsDown</item>
+      <item>PoissonDistribution</item>
+      <item>ProductDistribution</item>
+      <item>PassEventsUp</item>
+      <item>PolarAxes</item>
+      <item>ProductLog</item>
+      <item>Paste</item>
+      <item>PolarAxesOrigin</item>
+      <item>ProgressIndicator</item>
+      <item>PasteButton</item>
+      <item>PolarGridLines</item>
+      <item>Projection</item>
+      <item>Path</item>
+      <item>PolarPlot</item>
+      <item>Prolog</item>
+      <item>PathGraph</item>
+      <item>PolarTicks</item>
+      <item>Properties</item>
+      <item>PathGraphQ</item>
+      <item>PoleZeroMarkers</item>
+      <item>Property</item>
+      <item>Pattern</item>
+      <item>PolyaAeppliDistribution</item>
+      <item>PropertyList</item>
+      <item>PatternSequence</item>
+      <item>PolyGamma</item>
+      <item>PropertyValue</item>
+      <item>PatternTest</item>
+      <item>Polygon</item>
+      <item>Proportion</item>
+      <item>PauliMatrix</item>
+      <item>PolyhedronData</item>
+      <item>Proportional</item>
+      <item>PaulWavelet</item>
+      <item>PolyLog</item>
+      <item>Protect</item>
+      <item>Pause</item>
+      <item>PolynomialExtendedGCD</item>
+      <item>Protected</item>
+      <item>PDF</item>
+      <item>PolynomialGCD</item>
+      <item>ProteinData</item>
+      <item>PearsonChiSquareTest</item>
+      <item>PolynomialLCM</item>
+      <item>Pruning</item>
+      <item>PearsonDistribution</item>
+      <item>PolynomialMod</item>
+      <item>PseudoInverse</item>
+      <item>PerformanceGoal</item>
+      <item>PolynomialQ</item>
+      <item>Purple</item>
+      <item>PermutationCycles</item>
+      <item>PolynomialQuotient</item>
+      <item>Put</item>
+      <item>PermutationCyclesQ</item>
+      <item>PolynomialQuotientRemainder</item>
+      <item>PutAppend</item>
+      <item>PermutationGroup</item>
+      <item>PolynomialReduce</item>
+      <item>PermutationLength</item>
+      <item>PolynomialRemainder</item>
+      <item>Q</item>
+      <item>QBinomial</item>
+      <item>QRDecomposition</item>
+      <item>Quartiles</item>
+      <item>QFactorial</item>
+      <item>QuadraticIrrationalQ</item>
+      <item>QuartileSkewness</item>
+      <item>QGamma</item>
+      <item>Quantile</item>
+      <item>Quiet</item>
+      <item>QHypergeometricPFQ</item>
+      <item>QuantilePlot</item>
+      <item>Quit</item>
+      <item>QPochhammer</item>
+      <item>Quartics</item>
+      <item>Quotient</item>
+      <item>QPolyGamma</item>
+      <item>QuartileDeviation</item>
+      <item>QuotientRemainder</item>
+      <item>R</item>
+      <item>RadicalBox</item>
+      <item>RefreshRate</item>
+      <item>RightArrowBar</item>
+      <item>RadioButton</item>
+      <item>RegionBinarize</item>
+      <item>RightArrowLeftArrow</item>
+      <item>RadioButtonBar</item>
+      <item>RegionFunction</item>
+      <item>RightCosetRepresentative</item>
+      <item>Radon</item>
+      <item>RegionPlot</item>
+      <item>RightDownTeeVector</item>
+      <item>RamanujanTau</item>
+      <item>RegionPlot3D</item>
+      <item>RightDownVector</item>
+      <item>RamanujanTauL</item>
+      <item>RegularExpression</item>
+      <item>RightDownVectorBar</item>
+      <item>RamanujanTauTheta</item>
+      <item>Regularization</item>
+      <item>RightTeeArrow</item>
+      <item>RamanujanTauZ</item>
+      <item>ReleaseHold</item>
+      <item>RightTeeVector</item>
+      <item>RandomChoice</item>
+      <item>ReliefImage</item>
+      <item>RightTriangle</item>
+      <item>RandomComplex</item>
+      <item>ReliefPlot</item>
+      <item>RightTriangleBar</item>
+      <item>RandomGraph</item>
+      <item>Remove</item>
+      <item>RightTriangleEqual</item>
+      <item>RandomImage</item>
+      <item>RemoveAlphaChannel</item>
+      <item>RightUpDownVector</item>
+      <item>RandomInteger</item>
+      <item>RemoveProperty</item>
+      <item>RightUpTeeVector</item>
+      <item>RandomPermutation</item>
+      <item>RemoveScheduledTask</item>
+      <item>RightUpVector</item>
+      <item>RandomPrime</item>
+      <item>RenameDirectory</item>
+      <item>RightUpVectorBar</item>
+      <item>RandomReal</item>
+      <item>RenameFile</item>
+      <item>RightVector</item>
+      <item>RandomSample</item>
+      <item>RenkoChart</item>
+      <item>RightVectorBar</item>
+      <item>RandomVariate</item>
+      <item>Repeated</item>
+      <item>RogersTanimotoDissimilarity</item>
+      <item>Range</item>
+      <item>RepeatedNull</item>
+      <item>Root</item>
+      <item>RangeFilter</item>
+      <item>Replace</item>
+      <item>RootApproximant</item>
+      <item>RankedMax</item>
+      <item>ReplaceAll</item>
+      <item>RootIntervals</item>
+      <item>RankedMin</item>
+      <item>ReplaceList</item>
+      <item>RootLocusPlot</item>
+      <item>Raster</item>
+      <item>ReplacePart</item>
+      <item>RootMeanSquare</item>
+      <item>Rasterize</item>
+      <item>ReplaceRepeated</item>
+      <item>RootOfUnityQ</item>
+      <item>RasterSize</item>
+      <item>Resampling</item>
+      <item>RootReduce</item>
+      <item>Rational</item>
+      <item>Rescale</item>
+      <item>Roots</item>
+      <item>Rationalize</item>
+      <item>RescalingTransform</item>
+      <item>RootSum</item>
+      <item>Rationals</item>
+      <item>ResetDirectory</item>
+      <item>Rotate</item>
+      <item>Ratios</item>
+      <item>ResetScheduledTask</item>
+      <item>RotateLabel</item>
+      <item>RawBoxes</item>
+      <item>Residue</item>
+      <item>RotateLeft</item>
+      <item>RawData</item>
+      <item>Resolve</item>
+      <item>RotateRight</item>
+      <item>RayleighDistribution</item>
+      <item>Rest</item>
+      <item>RotationAction</item>
+      <item>Re</item>
+      <item>Resultant</item>
+      <item>RotationMatrix</item>
+      <item>Read</item>
+      <item>ResumePacket</item>
+      <item>RotationTransform</item>
+      <item>ReadList</item>
+      <item>Return</item>
+      <item>Round</item>
+      <item>ReadProtected</item>
+      <item>ReturnExpressionPacket</item>
+      <item>RoundingRadius</item>
+      <item>Real</item>
+      <item>ReturnPacket</item>
+      <item>Row</item>
+      <item>RealBlockDiagonalForm</item>
+      <item>ReturnTextPacket</item>
+      <item>RowAlignments</item>
+      <item>RealDigits</item>
+      <item>Reverse</item>
+      <item>RowBox</item>
+      <item>RealExponent</item>
+      <item>ReverseBiorthogonalSplineWavelet</item>
+      <item>RowLines</item>
+      <item>Reals</item>
+      <item>ReverseElement</item>
+      <item>RowMinHeight</item>
+      <item>Reap</item>
+      <item>ReverseEquilibrium</item>
+      <item>RowReduce</item>
+      <item>Record</item>
+      <item>ReverseGraph</item>
+      <item>RowsEqual</item>
+      <item>RecordLists</item>
+      <item>ReverseUpEquilibrium</item>
+      <item>RowSpacings</item>
+      <item>RecordSeparators</item>
+      <item>RevolutionAxis</item>
+      <item>RSolve</item>
+      <item>Rectangle</item>
+      <item>RevolutionPlot3D</item>
+      <item>RudvalisGroupRu</item>
+      <item>RectangleChart</item>
+      <item>RGBColor</item>
+      <item>Rule</item>
+      <item>RectangleChart3D</item>
+      <item>RiccatiSolve</item>
+      <item>RuleDelayed</item>
+      <item>RecurrenceTable</item>
+      <item>RiceDistribution</item>
+      <item>Run</item>
+      <item>Red</item>
+      <item>RidgeFilter</item>
+      <item>RunScheduledTask</item>
+      <item>Reduce</item>
+      <item>RiemannR</item>
+      <item>RunThrough</item>
+      <item>ReferenceLineStyle</item>
+      <item>RiemannSiegelTheta</item>
+      <item>RuntimeAttributes</item>
+      <item>Refine</item>
+      <item>RiemannSiegelZ</item>
+      <item>RuntimeOptions</item>
+      <item>ReflectionMatrix</item>
+      <item>Riffle</item>
+      <item>RussellRaoDissimilarity</item>
+      <item>ReflectionTransform</item>
+      <item>Right</item>
+      <item>Refresh</item>
+      <item>RightArrow</item>
+      <item>S</item>
+      <item>SameQ</item>
+      <item>Sin</item>
+      <item>StationaryWaveletPacketTransform</item>
+      <item>SameTest</item>
+      <item>Sinc</item>
+      <item>StationaryWaveletTransform</item>
+      <item>SampleDepth</item>
+      <item>SinghMaddalaDistribution</item>
+      <item>StatusArea</item>
+      <item>SampledSoundFunction</item>
+      <item>SingleLetterItalics</item>
+      <item>StepMonitor</item>
+      <item>SampledSoundList</item>
+      <item>SingularValueDecomposition</item>
+      <item>StieltjesGamma</item>
+      <item>SampleRate</item>
+      <item>SingularValueList</item>
+      <item>StirlingS1</item>
+      <item>SamplingPeriod</item>
+      <item>SingularValuePlot</item>
+      <item>StirlingS2</item>
+      <item>SatisfiabilityCount</item>
+      <item>Sinh</item>
+      <item>StopScheduledTask</item>
+      <item>SatisfiabilityInstances</item>
+      <item>SinhIntegral</item>
+      <item>StreamColorFunction</item>
+      <item>SatisfiableQ</item>
+      <item>SinIntegral</item>
+      <item>StreamColorFunctionScaling</item>
+      <item>Save</item>
+      <item>SixJSymbol</item>
+      <item>StreamDensityPlot</item>
+      <item>SaveDefinitions</item>
+      <item>Skeleton</item>
+      <item>StreamPlot</item>
+      <item>SawtoothWave</item>
+      <item>SkeletonTransform</item>
+      <item>StreamPoints</item>
+      <item>Scale</item>
+      <item>SkellamDistribution</item>
+      <item>StreamPosition</item>
+      <item>Scaled</item>
+      <item>Skewness</item>
+      <item>Streams</item>
+      <item>ScalingFunctions</item>
+      <item>SkewNormalDistribution</item>
+      <item>StreamScale</item>
+      <item>ScalingMatrix</item>
+      <item>Skip</item>
+      <item>StreamStyle</item>
+      <item>ScalingTransform</item>
+      <item>Slider</item>
+      <item>String</item>
+      <item>Scan</item>
+      <item>Slider2D</item>
+      <item>StringCases</item>
+      <item>ScheduledTaskObject</item>
+      <item>SlideView</item>
+      <item>StringCount</item>
+      <item>ScheduledTasks</item>
+      <item>Slot</item>
+      <item>StringDrop</item>
+      <item>SchurDecomposition</item>
+      <item>SlotSequence</item>
+      <item>StringExpression</item>
+      <item>ScientificForm</item>
+      <item>Small</item>
+      <item>StringForm</item>
+      <item>ScreenStyleEnvironment</item>
+      <item>SmallCircle</item>
+      <item>StringFormat</item>
+      <item>ScriptBaselineShifts</item>
+      <item>Smaller</item>
+      <item>StringFreeQ</item>
+      <item>ScriptMinSize</item>
+      <item>SmithWatermanSimilarity</item>
+      <item>StringInsert</item>
+      <item>ScriptSizeMultipliers</item>
+      <item>SmoothDensityHistogram</item>
+      <item>StringJoin</item>
+      <item>Scrollbars</item>
+      <item>SmoothHistogram</item>
+      <item>StringLength</item>
+      <item>ScrollPosition</item>
+      <item>SmoothHistogram3D</item>
+      <item>StringMatchQ</item>
+      <item>Sec</item>
+      <item>SmoothKernelDistribution</item>
+      <item>StringPosition</item>
+      <item>Sech</item>
+      <item>SokalSneathDissimilarity</item>
+      <item>StringQ</item>
+      <item>SechDistribution</item>
+      <item>Solve</item>
+      <item>StringReplace</item>
+      <item>SectorChart</item>
+      <item>SolveAlways</item>
+      <item>StringReplaceList</item>
+      <item>SectorChart3D</item>
+      <item>Sort</item>
+      <item>StringReplacePart</item>
+      <item>SectorOrigin</item>
+      <item>SortBy</item>
+      <item>StringReverse</item>
+      <item>SectorSpacing</item>
+      <item>Sound</item>
+      <item>StringSkeleton</item>
+      <item>SeedRandom</item>
+      <item>SoundNote</item>
+      <item>StringSplit</item>
+      <item>Select</item>
+      <item>SoundVolume</item>
+      <item>StringTake</item>
+      <item>Selectable</item>
+      <item>Sow</item>
+      <item>StringToStream</item>
+      <item>SelectComponents</item>
+      <item>Spacer</item>
+      <item>StringTrim</item>
+      <item>SelectedNotebook</item>
+      <item>Spacings</item>
+      <item>StructuredSelection</item>
+      <item>SelectionAnimate</item>
+      <item>Span</item>
+      <item>StruveH</item>
+      <item>SelectionCreateCell</item>
+      <item>SpanFromAbove</item>
+      <item>StruveL</item>
+      <item>SelectionEvaluate</item>
+      <item>SpanFromBoth</item>
+      <item>Stub</item>
+      <item>SelectionEvaluateCreateCell</item>
+      <item>SpanFromLeft</item>
+      <item>StudentTDistribution</item>
+      <item>SelectionMove</item>
+      <item>SparseArray</item>
+      <item>Style</item>
+      <item>SelfLoopStyle</item>
+      <item>Speak</item>
+      <item>StyleBox</item>
+      <item>SemialgebraicComponentInstances</item>
+      <item>Specularity</item>
+      <item>StyleData</item>
+      <item>SendMail</item>
+      <item>SpellingCorrection</item>
+      <item>StyleDefinitions</item>
+      <item>Sequence</item>
+      <item>Sphere</item>
+      <item>Subfactorial</item>
+      <item>SequenceAlignment</item>
+      <item>SphericalBesselJ</item>
+      <item>Subgraph</item>
+      <item>SequenceHold</item>
+      <item>SphericalBesselY</item>
+      <item>SubMinus</item>
+      <item>Series</item>
+      <item>SphericalHankelH1</item>
+      <item>SubPlus</item>
+      <item>SeriesCoefficient</item>
+      <item>SphericalHankelH2</item>
+      <item>Subresultants</item>
+      <item>SeriesData</item>
+      <item>SphericalHarmonicY</item>
+      <item>Subscript</item>
+      <item>SessionTime</item>
+      <item>SphericalPlot3D</item>
+      <item>SubscriptBox</item>
+      <item>Set</item>
+      <item>SphericalRegion</item>
+      <item>Subset</item>
+      <item>SetAccuracy</item>
+      <item>SpheroidalEigenvalue</item>
+      <item>SubsetEqual</item>
+      <item>SetAlphaChannel</item>
+      <item>SpheroidalJoiningFactor</item>
+      <item>Subsets</item>
+      <item>SetAttributes</item>
+      <item>SpheroidalPS</item>
+      <item>SubStar</item>
+      <item>SetDelayed</item>
+      <item>SpheroidalPSPrime</item>
+      <item>Subsuperscript</item>
+      <item>SetDirectory</item>
+      <item>SpheroidalQS</item>
+      <item>SubsuperscriptBox</item>
+      <item>SetFileDate</item>
+      <item>SpheroidalQSPrime</item>
+      <item>Subtract</item>
+      <item>SetOptions</item>
+      <item>SpheroidalRadialFactor</item>
+      <item>SubtractFrom</item>
+      <item>SetPrecision</item>
+      <item>SpheroidalS1</item>
+      <item>Succeeds</item>
+      <item>SetProperty</item>
+      <item>SpheroidalS1Prime</item>
+      <item>SucceedsEqual</item>
+      <item>SetSelectedNotebook</item>
+      <item>SpheroidalS2</item>
+      <item>SucceedsSlantEqual</item>
+      <item>SetSharedFunction</item>
+      <item>SpheroidalS2Prime</item>
+      <item>SucceedsTilde</item>
+      <item>SetSharedVariable</item>
+      <item>Splice</item>
+      <item>SuchThat</item>
+      <item>SetStreamPosition</item>
+      <item>SplineClosed</item>
+      <item>Sum</item>
+      <item>SetSystemOptions</item>
+      <item>SplineDegree</item>
+      <item>SumConvergence</item>
+      <item>Setter</item>
+      <item>SplineKnots</item>
+      <item>SuperDagger</item>
+      <item>SetterBar</item>
+      <item>SplineWeights</item>
+      <item>SuperMinus</item>
+      <item>Setting</item>
+      <item>Split</item>
+      <item>SuperPlus</item>
+      <item>Shallow</item>
+      <item>SplitBy</item>
+      <item>Superscript</item>
+      <item>ShannonWavelet</item>
+      <item>SpokenString</item>
+      <item>SuperscriptBox</item>
+      <item>ShapiroWilkTest</item>
+      <item>Sqrt</item>
+      <item>Superset</item>
+      <item>Share</item>
+      <item>SqrtBox</item>
+      <item>SupersetEqual</item>
+      <item>Sharpen</item>
+      <item>Square</item>
+      <item>SuperStar</item>
+      <item>ShearingMatrix</item>
+      <item>SquaredEuclideanDistance</item>
+      <item>SurvivalDistribution</item>
+      <item>ShearingTransform</item>
+      <item>SquareFreeQ</item>
+      <item>SurvivalFunction</item>
+      <item>Short</item>
+      <item>SquareIntersection</item>
+      <item>SuspendPacket</item>
+      <item>ShortDownArrow</item>
+      <item>SquaresR</item>
+      <item>SuzukiDistribution</item>
+      <item>Shortest</item>
+      <item>SquareSubset</item>
+      <item>SuzukiGroupSuz</item>
+      <item>ShortestPathFunction</item>
+      <item>SquareSubsetEqual</item>
+      <item>Switch</item>
+      <item>ShortLeftArrow</item>
+      <item>SquareSuperset</item>
+      <item>Symbol</item>
+      <item>ShortRightArrow</item>
+      <item>SquareSupersetEqual</item>
+      <item>SymbolName</item>
+      <item>ShortUpArrow</item>
+      <item>SquareUnion</item>
+      <item>SymletWavelet</item>
+      <item>Show</item>
+      <item>SquareWave</item>
+      <item>SymmetricGroup</item>
+      <item>ShowAutoStyles</item>
+      <item>StabilityMargins</item>
+      <item>SymmetricMatrixQ</item>
+      <item>ShowCellBracket</item>
+      <item>StabilityMarginsStyle</item>
+      <item>SymmetricPolynomial</item>
+      <item>ShowCellLabel</item>
+      <item>StableDistribution</item>
+      <item>SymmetricReduction</item>
+      <item>ShowCellTags</item>
+      <item>Stack</item>
+      <item>SynchronousInitialization</item>
+      <item>ShowCursorTracker</item>
+      <item>StackBegin</item>
+      <item>SynchronousUpdating</item>
+      <item>ShowGroupOpener</item>
+      <item>StackComplete</item>
+      <item>SyntaxInformation</item>
+      <item>ShowPageBreaks</item>
+      <item>StackInhibit</item>
+      <item>SyntaxLength</item>
+      <item>ShowSelection</item>
+      <item>StandardDeviation</item>
+      <item>SyntaxPacket</item>
+      <item>ShowSpecialCharacters</item>
+      <item>StandardDeviationFilter</item>
+      <item>SyntaxQ</item>
+      <item>ShowStringCharacters</item>
+      <item>StandardForm</item>
+      <item>SystemDialogInput</item>
+      <item>ShrinkingDelay</item>
+      <item>Standardize</item>
+      <item>SystemInformation</item>
+      <item>SiegelTheta</item>
+      <item>Star</item>
+      <item>SystemOpen</item>
+      <item>SiegelTukeyTest</item>
+      <item>StarGraph</item>
+      <item>SystemOptions</item>
+      <item>Sign</item>
+      <item>StartingStepSize</item>
+      <item>SystemsModelDelete</item>
+      <item>Signature</item>
+      <item>StartOfLine</item>
+      <item>SystemsModelDimensions</item>
+      <item>SignedRankTest</item>
+      <item>StartOfString</item>
+      <item>SystemsModelExtract</item>
+      <item>SignificanceLevel</item>
+      <item>StartScheduledTask</item>
+      <item>SystemsModelFeedbackConnect</item>
+      <item>SignPadding</item>
+      <item>StateFeedbackGains</item>
+      <item>SystemsModelLabels</item>
+      <item>SignTest</item>
+      <item>StateOutputEstimator</item>
+      <item>SystemsModelOrder</item>
+      <item>SimilarityRules</item>
+      <item>StateResponse</item>
+      <item>SystemsModelParallelConnect</item>
+      <item>SimpleGraph</item>
+      <item>StateSpaceModel</item>
+      <item>SystemsModelSeriesConnect</item>
+      <item>SimpleGraphQ</item>
+      <item>StateSpaceRealization</item>
+      <item>SystemsModelStateFeedbackConnect</item>
+      <item>Simplify</item>
+      <item>StateSpaceTransform</item>
+      <item>T</item>
+      <item>Table</item>
+      <item>Tilde</item>
+      <item>TraceOn</item>
+      <item>TableAlignments</item>
+      <item>TildeEqual</item>
+      <item>TraceOriginal</item>
+      <item>TableDepth</item>
+      <item>TildeFullEqual</item>
+      <item>TracePrint</item>
+      <item>TableDirections</item>
+      <item>TildeTilde</item>
+      <item>TraceScan</item>
+      <item>TableForm</item>
+      <item>TimeConstrained</item>
+      <item>TrackedSymbols</item>
+      <item>TableHeadings</item>
+      <item>TimeConstraint</item>
+      <item>TradingChart</item>
+      <item>TableSpacing</item>
+      <item>Times</item>
+      <item>TraditionalForm</item>
+      <item>TabView</item>
+      <item>TimesBy</item>
+      <item>TransferFunctionCancel</item>
+      <item>TagBox</item>
+      <item>TimeUsed</item>
+      <item>TransferFunctionExpand</item>
+      <item>TaggingRules</item>
+      <item>TimeValue</item>
+      <item>TransferFunctionFactor</item>
+      <item>TagSet</item>
+      <item>TimeZone</item>
+      <item>TransferFunctionModel</item>
+      <item>TagSetDelayed</item>
+      <item>Timing</item>
+      <item>TransferFunctionPoles</item>
+      <item>TagUnset</item>
+      <item>Tiny</item>
+      <item>TransferFunctionZeros</item>
+      <item>Take</item>
+      <item>TitsGroupT</item>
+      <item>TransformationFunction</item>
+      <item>TakeWhile</item>
+      <item>ToBoxes</item>
+      <item>TransformationFunctions</item>
+      <item>Tally</item>
+      <item>ToCharacterCode</item>
+      <item>TransformationMatrix</item>
+      <item>Tan</item>
+      <item>ToContinuousTimeModel</item>
+      <item>TransformedDistribution</item>
+      <item>Tanh</item>
+      <item>ToDiscreteTimeModel</item>
+      <item>Translate</item>
+      <item>TargetFunctions</item>
+      <item>ToeplitzMatrix</item>
+      <item>TranslationTransform</item>
+      <item>TautologyQ</item>
+      <item>ToExpression</item>
+      <item>Transparent</item>
+      <item>Temporary</item>
+      <item>Together</item>
+      <item>Transpose</item>
+      <item>TeXForm</item>
+      <item>Toggler</item>
+      <item>TreeForm</item>
+      <item>Text</item>
+      <item>TogglerBar</item>
+      <item>TreeGraph</item>
+      <item>TextAlignment</item>
+      <item>TokenWords</item>
+      <item>TreeGraphQ</item>
+      <item>TextCell</item>
+      <item>Tolerance</item>
+      <item>TreePlot</item>
+      <item>TextClipboardType</item>
+      <item>ToLowerCase</item>
+      <item>TrendStyle</item>
+      <item>TextData</item>
+      <item>ToNumberField</item>
+      <item>TriangleWave</item>
+      <item>TextJustification</item>
+      <item>Tooltip</item>
+      <item>TriangularDistribution</item>
+      <item>TextPacket</item>
+      <item>TooltipDelay</item>
+      <item>Trig</item>
+      <item>TextRecognize</item>
+      <item>Top</item>
+      <item>TrigExpand</item>
+      <item>Texture</item>
+      <item>TopHatTransform</item>
+      <item>TrigFactor</item>
+      <item>TextureCoordinateFunction</item>
+      <item>TopologicalSort</item>
+      <item>TrigFactorList</item>
+      <item>TextureCoordinateScaling</item>
+      <item>ToRadicals</item>
+      <item>Trigger</item>
+      <item>Therefore</item>
+      <item>ToRules</item>
+      <item>TrigReduce</item>
+      <item>Thick</item>
+      <item>ToString</item>
+      <item>TrigToExp</item>
+      <item>Thickness</item>
+      <item>Total</item>
+      <item>TrimmedMean</item>
+      <item>Thin</item>
+      <item>TotalVariationFilter</item>
+      <item>True</item>
+      <item>Thinning</item>
+      <item>TotalWidth</item>
+      <item>TrueQ</item>
+      <item>ThompsonGroupTh</item>
+      <item>ToUpperCase</item>
+      <item>TruncatedDistribution</item>
+      <item>Thread</item>
+      <item>Tr</item>
+      <item>TTest</item>
+      <item>ThreeJSymbol</item>
+      <item>Trace</item>
+      <item>Tube</item>
+      <item>Threshold</item>
+      <item>TraceAbove</item>
+      <item>TukeyLambdaDistribution</item>
+      <item>Through</item>
+      <item>TraceBackward</item>
+      <item>Tuples</item>
+      <item>Throw</item>
+      <item>TraceDepth</item>
+      <item>TuranGraph</item>
+      <item>Thumbnail</item>
+      <item>TraceDialog</item>
+      <item>TuringMachine</item>
+      <item>Ticks</item>
+      <item>TraceForward</item>
+      <item>TicksStyle</item>
+      <item>TraceOff</item>
+      <item>U</item>
+      <item>Uncompress</item>
+      <item>UniformSumDistribution</item>
+      <item>UpArrowBar</item>
+      <item>Undefined</item>
+      <item>Uninstall</item>
+      <item>UpArrowDownArrow</item>
+      <item>UnderBar</item>
+      <item>Union</item>
+      <item>Update</item>
+      <item>Underflow</item>
+      <item>UnionPlus</item>
+      <item>UpdateInterval</item>
+      <item>Underlined</item>
+      <item>Unique</item>
+      <item>UpDownArrow</item>
+      <item>Underoverscript</item>
+      <item>UnitBox</item>
+      <item>UpEquilibrium</item>
+      <item>UnderoverscriptBox</item>
+      <item>Unitize</item>
+      <item>UpperCaseQ</item>
+      <item>Underscript</item>
+      <item>UnitStep</item>
+      <item>UpperLeftArrow</item>
+      <item>UnderscriptBox</item>
+      <item>UnitTriangle</item>
+      <item>UpperRightArrow</item>
+      <item>UndirectedEdge</item>
+      <item>UnitVector</item>
+      <item>UpperTriangularize</item>
+      <item>UndirectedGraph</item>
+      <item>Unprotect</item>
+      <item>UpSet</item>
+      <item>UndirectedGraphQ</item>
+      <item>UnsameQ</item>
+      <item>UpSetDelayed</item>
+      <item>Unequal</item>
+      <item>UnsavedVariables</item>
+      <item>UpTeeArrow</item>
+      <item>Unevaluated</item>
+      <item>Unset</item>
+      <item>UpValues</item>
+      <item>UniformDistribution</item>
+      <item>UnsetShared</item>
+      <item>UsingFrontEnd</item>
+      <item>UniformGraphDistribution</item>
+      <item>UpArrow</item>
+      <item>V</item>
+      <item>ValidationLength</item>
+      <item>VertexAdd</item>
+      <item>VertexReplace</item>
+      <item>ValueQ</item>
+      <item>VertexColors</item>
+      <item>VertexShape</item>
+      <item>Variables</item>
+      <item>VertexComponent</item>
+      <item>VertexShapeFunction</item>
+      <item>Variance</item>
+      <item>VertexCoordinateRules</item>
+      <item>VertexSize</item>
+      <item>VarianceEquivalenceTest</item>
+      <item>VertexCoordinates</item>
+      <item>VertexStyle</item>
+      <item>VarianceEstimatorFunction</item>
+      <item>VertexCount</item>
+      <item>VertexTextureCoordinates</item>
+      <item>VarianceTest</item>
+      <item>VertexCoverQ</item>
+      <item>VertexWeight</item>
+      <item>VectorAngle</item>
+      <item>VertexDegree</item>
+      <item>VerticalBar</item>
+      <item>VectorColorFunction</item>
+      <item>VertexDelete</item>
+      <item>VerticalSeparator</item>
+      <item>VectorColorFunctionScaling</item>
+      <item>VertexEccentricity</item>
+      <item>VerticalSlider</item>
+      <item>VectorDensityPlot</item>
+      <item>VertexInComponent</item>
+      <item>VerticalTilde</item>
+      <item>VectorPlot</item>
+      <item>VertexInDegree</item>
+      <item>ViewAngle</item>
+      <item>VectorPlot3D</item>
+      <item>VertexIndex</item>
+      <item>ViewCenter</item>
+      <item>VectorPoints</item>
+      <item>VertexLabeling</item>
+      <item>ViewMatrix</item>
+      <item>VectorQ</item>
+      <item>VertexLabels</item>
+      <item>ViewPoint</item>
+      <item>VectorScale</item>
+      <item>VertexList</item>
+      <item>ViewRange</item>
+      <item>VectorStyle</item>
+      <item>VertexNormals</item>
+      <item>ViewVector</item>
+      <item>Vee</item>
+      <item>VertexOutComponent</item>
+      <item>ViewVertical</item>
+      <item>Verbatim</item>
+      <item>VertexOutDegree</item>
+      <item>Visible</item>
+      <item>VerifyConvergence</item>
+      <item>VertexQ</item>
+      <item>VonMisesDistribution</item>
+      <item>VerifyTestAssumptions</item>
+      <item>VertexRenderingFunction</item>
+      <item>W</item>
+      <item>WaitAll</item>
+      <item>WeierstrassHalfPeriods</item>
+      <item>WindowFloating</item>
+      <item>WaitNext</item>
+      <item>WeierstrassInvariants</item>
+      <item>WindowFrame</item>
+      <item>WakebyDistribution</item>
+      <item>WeierstrassP</item>
+      <item>WindowMargins</item>
+      <item>WalleniusHypergeometricDistribution</item>
+      <item>WeierstrassPPrime</item>
+      <item>WindowMovable</item>
+      <item>WaringYuleDistribution</item>
+      <item>WeierstrassSigma</item>
+      <item>WindowOpacity</item>
+      <item>WatershedComponents</item>
+      <item>WeierstrassZeta</item>
+      <item>WindowSize</item>
+      <item>WatsonUSquareTest</item>
+      <item>WeightedAdjacencyGraph</item>
+      <item>WindowStatusArea</item>
+      <item>WattsStrogatzGraphDistribution</item>
+      <item>WeightedAdjacencyMatrix</item>
+      <item>WindowTitle</item>
+      <item>WaveletBestBasis</item>
+      <item>WeightedGraphQ</item>
+      <item>WindowToolbars</item>
+      <item>WaveletFilterCoefficients</item>
+      <item>Weights</item>
+      <item>With</item>
+      <item>WaveletImagePlot</item>
+      <item>WheelGraph</item>
+      <item>WolframAlpha</item>
+      <item>WaveletListPlot</item>
+      <item>Which</item>
+      <item>Word</item>
+      <item>WaveletMapIndexed</item>
+      <item>While</item>
+      <item>WordBoundary</item>
+      <item>WaveletMatrixPlot</item>
+      <item>White</item>
+      <item>WordCharacter</item>
+      <item>WaveletPhi</item>
+      <item>Whitespace</item>
+      <item>WordData</item>
+      <item>WaveletPsi</item>
+      <item>WhitespaceCharacter</item>
+      <item>WordSearch</item>
+      <item>WaveletScale</item>
+      <item>WhittakerM</item>
+      <item>WordSeparators</item>
+      <item>WaveletScalogram</item>
+      <item>WhittakerW</item>
+      <item>WorkingPrecision</item>
+      <item>WaveletThreshold</item>
+      <item>WienerFilter</item>
+      <item>Write</item>
+      <item>WeatherData</item>
+      <item>WignerD</item>
+      <item>WriteString</item>
+      <item>WeberE</item>
+      <item>WignerSemicircleDistribution</item>
+      <item>Wronskian</item>
+      <item>Wedge</item>
+      <item>WindowClickSelect</item>
+      <item>WeibullDistribution</item>
+      <item>WindowElements</item>
+      <item>X</item>
+      <item>XMLElement</item>
+      <item>Xnor</item>
+      <item>XMLObject</item>
+      <item>Xor</item>
+      <item>Y</item>
+      <item>Yellow</item>
+      <item>YuleDissimilarity</item>
+      <item>Z</item>
+      <item>ZernikeR</item>
+      <item>ZetaZero</item>
+      <item>ZTransform</item>
+      <item>ZeroTest</item>
+      <item>ZipfDistribution</item>
+      <item>Zeta</item>
+      <item>ZTest</item>
+      <item>$</item>
+      <item>$Aborted</item>
+      <item>$Inspector</item>
+      <item>$OutputSizeLimit</item>
+      <item>$AssertFunction</item>
+      <item>$InstallationDirectory</item>
+      <item>$Packages</item>
+      <item>$Assumptions</item>
+      <item>$IterationLimit</item>
+      <item>$ParentLink</item>
+      <item>$BaseDirectory</item>
+      <item>$KernelCount</item>
+      <item>$ParentProcessID</item>
+      <item>$BatchInput</item>
+      <item>$KernelID</item>
+      <item>$Path</item>
+      <item>$BatchOutput</item>
+      <item>$Language</item>
+      <item>$PathnameSeparator</item>
+      <item>$ByteOrdering</item>
+      <item>$LibraryPath</item>
+      <item>$PerformanceGoal</item>
+      <item>$Canceled</item>
+      <item>$LicenseExpirationDate</item>
+      <item>$Post</item>
+      <item>$CharacterEncoding</item>
+      <item>$LicenseID</item>
+      <item>$Pre</item>
+      <item>$CharacterEncodings</item>
+      <item>$LicenseServer</item>
+      <item>$PrePrint</item>
+      <item>$CommandLine</item>
+      <item>$Line</item>
+      <item>$PreRead</item>
+      <item>$CompilationTarget</item>
+      <item>$Linked</item>
+      <item>$ProcessID</item>
+      <item>$ConfiguredKernels</item>
+      <item>$MachineAddresses</item>
+      <item>$ProcessorCount</item>
+      <item>$Context</item>
+      <item>$MachineDomains</item>
+      <item>$ProcessorType</item>
+      <item>$ContextPath</item>
+      <item>$MachineEpsilon</item>
+      <item>$RecursionLimit</item>
+      <item>$ControlActiveSetting</item>
+      <item>$MachineID</item>
+      <item>$ReleaseNumber</item>
+      <item>$CreationDate</item>
+      <item>$MachineName</item>
+      <item>$RootDirectory</item>
+      <item>$CurrentLink</item>
+      <item>$MachinePrecision</item>
+      <item>$ScheduledTask</item>
+      <item>$DateStringFormat</item>
+      <item>$MachineType</item>
+      <item>$ScriptCommandLine</item>
+      <item>$DefaultImagingDevice</item>
+      <item>$MaxExtraPrecision</item>
+      <item>$SessionID</item>
+      <item>$Display</item>
+      <item>$MaxMachineNumber</item>
+      <item>$SharedFunctions</item>
+      <item>$DisplayFunction</item>
+      <item>$MaxNumber</item>
+      <item>$SharedVariables</item>
+      <item>$DistributedContexts</item>
+      <item>$MaxPiecewiseCases</item>
+      <item>$SoundDisplayFunction</item>
+      <item>$DynamicEvaluation</item>
+      <item>$MaxPrecision</item>
+      <item>$SyntaxHandler</item>
+      <item>$Echo</item>
+      <item>$MaxRootDegree</item>
+      <item>$System</item>
+      <item>$Epilog</item>
+      <item>$MessageGroups</item>
+      <item>$SystemCharacterEncoding</item>
+      <item>$ExportFormats</item>
+      <item>$MessageList</item>
+      <item>$SystemID</item>
+      <item>$Failed</item>
+      <item>$MessagePrePrint</item>
+      <item>$SystemWordLength</item>
+      <item>$FrontEnd</item>
+      <item>$Messages</item>
+      <item>$TemporaryDirectory</item>
+      <item>$FrontEndSession</item>
+      <item>$MinMachineNumber</item>
+      <item>$TimedOut</item>
+      <item>$GeoLocation</item>
+      <item>$MinNumber</item>
+      <item>$TimeUnit</item>
+      <item>$HistoryLength</item>
+      <item>$MinPrecision</item>
+      <item>$TimeZone</item>
+      <item>$HomeDirectory</item>
+      <item>$ModuleNumber</item>
+      <item>$Urgent</item>
+      <item>$IgnoreEOF</item>
+      <item>$NewMessage</item>
+      <item>$UserBaseDirectory</item>
+      <item>$ImagingDevices</item>
+      <item>$NewSymbol</item>
+      <item>$UserDocumentsDirectory</item>
+      <item>$ImportFormats</item>
+      <item>$Notebooks</item>
+      <item>$UserName</item>
+      <item>$InitialDirectory</item>
+      <item>$NumberMarks</item>
+      <item>$Version</item>
+      <item>$Input</item>
+      <item>$OperatingSystem</item>
+      <item>$VersionNumber</item>
+      <item>$InputFileName</item>
+      <item>$Output</item>
+    </list>
+    <contexts>
+      <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+	<keyword attribute="function" String="functions" context="#stay"/>
+	<Int attribute="Int" context="#stay" />
+	<Float attribute="Float" context="#stay" />
+	<RegExpr attribute="Parameter" String="[a-zA-Z_0-9]+\_" context="#stay"/>
+	<RegExpr attribute="Replace" String="(\-\>|\/\.)" context="#stay"/>
+	<AnyChar attribute="Operator" String="+*/%\|-^" context="#stay"/>
+	<RegExpr attribute="Assign" String="(:=|=)" context="#stay"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="function" defStyleNum="dsFunction" spellChecking="false"/>
+      <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
+      <itemData name="Int" defStyleNum="dsDecVal" spellChecking="false"/>
+      <itemData name="Parameter" italic="1" defStyleNum="dsDataType" spellChecking="false"/>
+      <itemData name="Operator" defStyleNum="dsNormal" color="#FF7B00" spellChecking="false"/>
+      <itemData name="Assign" defStyleNum="dsNormal" color="#00A0E4" spellChecking="false"/>
+      <itemData name="Replace" defStyleNum="dsNormal" color="#85C200" spellChecking="false"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="0" weakDeliminator="-%"/>
+    <comments>
+      <comment name="multiLine" start="(*" end="*)" />
+    </comments>
+  </general>
+</language>
diff --git a/xml/matlab.xml b/xml/matlab.xml
new file mode 100644
--- /dev/null
+++ b/xml/matlab.xml
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ====================================================================
+  MATLAB syntax highlighting file for the KDE editors Kate and Kwrite
+  ====================================================================
+      works (at least) for MATLAB versions 5.3, 6.0, 6.1, 6.5, 6.5sp1
+      works with Kate 2.2 and with Kwrite 4.2 (KDE 3.2)
+
+  This file works only for syntactically correct MATLAB code. For incorrect
+  code, the behaviour is undefined. One exception is made: Incomplete strings
+  with missing closing delimiter are highlighted separately, just as in the
+  native editor of MATLAB does.
+
+  Highlighting errors never propagate across line breaks.
+
+  Most of this XML file is straight and simple. Only the character ' (&apos;)
+  needs nontrivial treatment, since it is both a postfix operator indicating
+  complex conjugate transpose (adjoint) and a string delimiter. It is an
+  adjoint operator in the following positions:
+  1) immediately after an identifier (variable, function, but not keyword)
+  2) immediately after a number literal
+  3) immediately after the closing parenthesis ), ] and }
+  4) immediately after a simple transpose operator .'
+  5) immediately after another adjoint operator '
+  In all other cases it is a string delimiter.
+
+  This is implemented using look-ahead regexps. If one of the entities in the
+  above cases 1-4 (identifier, number literal, ...) matches and look-ahead
+  shows that it is followed by a ', the entity is highlighted and control is
+  passed to the special context _adjoint, whose sole purpose is to correctly
+  highlight a series of ' (thus covering case 5 as well). _adjoint immediately
+  returns to the default context _normal.
+
+  MATLAB number literals are different from those in C and similar languages:
+  a) All numbers literals are doubles. There is no distinction between float and int.
+  b) There is no notation of hex or oct base integers.
+  c) The symbols i or j may be attached to a number to indicate a multiplication
+     with the imaginary unit.
+
+  MATLAB identifiers have to start with a letter followed by any number of letters,
+  digits and underscores.
+
+  There is a small number of reserved keywords, which cannot be the target of an
+  assignment. All other identifiers (including all of the many 100s of MATLAB commands)
+  can be redefined. Consequently, only the reserved keywords are highlighted.
+
+  At the end of the XML file, there is MATLAB testing code for developers.
+
+  Change log:
+  19-Nov-03  Created from scratch.
+  08-Mar-04  Small corrections. Added default colors of MATLAB editor.
+  25-Jan-09  Addedd basic support for OOP (Matlab 2008) (by Leonardo Finetti)
+
+  Author: Stefan Stoll, Swiss Federal Institute of Technology, Zurich
+  Co-author: Leonardo Finetti, www.finex.org
+-->
+
+<!DOCTYPE language SYSTEM "language.dtd">
+
+<language name="Matlab" version="2" kateversion="2.2" section="Scientific" extensions="*.m;*.M" mimetype="text/mfile" casesensitive="1">
+  <highlighting>
+
+    <!-- Reserved keywords in MATLAB -->
+    <list name="KeywordsList">
+      <item> break </item>
+      <item> case </item>
+      <item> catch </item>
+      <item> classdef </item>
+      <item> continue </item>
+      <item> else </item>
+      <item> elseif </item>
+      <item> end </item>
+      <item> for </item>
+      <item> function </item>
+      <item> global </item>
+      <item> if </item>
+      <item> otherwise </item>
+      <item> parfor </item>
+      <item> persistent </item>
+      <item> return </item>
+      <item> spmd </item>
+      <item> switch </item>
+      <item> try </item>
+      <item> while </item>
+      <item> methods </item>
+      <item> properties </item>
+      <item> events </item>
+    </list>
+
+    <contexts>
+
+      <context name="_normal" attribute="Normal Text" lineEndContext="#stay">
+
+        <!-- Look-ahead for adjoint ' after variable, number literal, closing braces and .' -->
+        <RegExpr context="_adjoint" attribute="Variable" String="[a-zA-Z]\w*(?=')" />
+        <RegExpr context="_adjoint" attribute="Number" String="(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?[ij]?(?=')" />
+        <RegExpr context="_adjoint" attribute="Delimiter" String="[\)\]}](?=')" />
+        <RegExpr context="_adjoint" attribute="Operator" String="\.'(?=')" />
+
+        <!-- If ' is not the adjoint operator, it starts a string or an unterminated string -->
+        <RegExpr context="#stay" attribute="String" String="'[^']*(''[^']*)*'(?=[^']|$)" />
+        <RegExpr context="#stay" attribute="Incomplete String" String="'[^']*(''[^']*)*" />
+
+        <!-- Handling of keywords, comments, system commands, identifiers, numbers and braces -->
+        <keyword context="#stay" attribute="Keyword" String="KeywordsList" />
+        <RegExpr context="#stay" attribute="Comment" String="%.*$" />
+        <RegExpr context="#stay" attribute="System" String="!.*$" />
+        <RegExpr context="#stay" attribute="Variable" String="[a-zA-Z]\w*" />
+        <RegExpr context="#stay" attribute="Number" String="(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?[ij]?" />
+        <AnyChar context="#stay" attribute="Delimiter" String="()[]{}"/>
+
+        <!-- Three and two-character operators -->
+        <StringDetect context="#stay" attribute="Operator" String="..."/>
+        <StringDetect context="#stay" attribute="Operator" String="=="/>
+        <StringDetect context="#stay" attribute="Operator" String="~="/>
+        <StringDetect context="#stay" attribute="Operator" String="&lt;="/>
+        <StringDetect context="#stay" attribute="Operator" String="&gt;="/>
+        <StringDetect context="#stay" attribute="Operator" String="&amp;&amp;"/>
+        <StringDetect context="#stay" attribute="Operator" String="||"/>
+        <StringDetect context="#stay" attribute="Operator" String=".*"/>
+        <StringDetect context="#stay" attribute="Operator" String=".^"/>
+        <StringDetect context="#stay" attribute="Operator" String="./"/>
+        <StringDetect context="#stay" attribute="Operator" String=".'"/>
+
+        <!-- Single-character operators -->
+        <AnyChar context="#stay" attribute="Operator" String="*+-/\&amp;|&lt;&gt;~^=,;:@"/>
+
+      </context>
+
+      <!-- Context entered after encountering an ' adjoint operator -->
+      <context name="_adjoint" attribute="Operator" lineEndContext="#pop">
+        <RegExpr context="#pop" attribute="Operator" String="'+" />
+      </context>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="Variable" defStyleNum="dsNormal" />
+      <itemData name="Operator" defStyleNum="dsNormal"/>
+      <itemData name="Number" defStyleNum="dsFloat" />
+      <itemData name="Delimiter" defStyleNum="dsNormal" />
+      <itemData name="String" defStyleNum="dsString" color="#b20000"/>
+      <itemData name="System" defStyleNum="dsBaseN" color="#b28c00"/>
+      <itemData name="Incomplete String" defStyleNum="dsChar" color="#a020f0"/>
+      <itemData name="Keyword"  defStyleNum="dsNormal" color="#0000ff"/>
+      <itemData name="Comment" defStyleNum="dsComment" color="#009900"/>
+    </itemDatas>
+    <!-- MATLAB 6.5 default color scheme
+          keywords             #0000ff
+          comments             #228b22
+          strings              #b20000
+          unterminated strings #a020f0
+          system commands      #b28c00
+          errors               #ff0000
+          all others           #000000
+    -->
+
+  </highlighting>
+
+  <general>
+    <comments>
+      <comment name="singleLine" start="% " />
+    </comments>
+    <keywords casesensitive="1" weakDeliminator=""/>
+  </general>
+
+</language>
+<!--
+%%=====================================================
+% MATLAB test code for Kate/Kwrite syntax highlighting
+%%=====================================================
+
+% Numbers _____________________________________________
+5, 5.5, .1, 0.1, 0.4e5, 1.2e-5, 5i, 5.3i, 6j, .345+3i
+5', 5.5', .1', 0.1', 0.4e5', 1.2e-5', 5i', 5.3i', 6j', .345+3i'
+
+% Operators ___________________________________________
+% relational operators
+'asdf'~=4, c<=4, d>=4, a<b, a>b, a==b, b||c, b&&c
+% elementwise arithmetic operators
+a.^b, a.*b a./b, 1:4:5
+% single-character binary arithmetic
+a+3, a-3, a*2, a^3, a/3, a\3, a|b, a&b
+% unary operators
+a = ~g; g = @sfdgdsf(sdfsd,345); g.' + 1i.' - ('asdf').'
+% separators and delimiter
+(asd),[sadf];{asdf},;;,;;;()
+% continuation
+a = 1+ ...
+  2;
+
+% Strings and adjoint _________________________________
+% incomplete strings
+'string
+'str''
+'str''ing
+% complete strings
+'string' % simple string
+'''' % string containing '
+'str''ing' % one string containing '
+'string' 'string'  % two strings
+'asdf'  'asdf''' variable  % two strings and a variable
+'asdf''asdf''   fsgdfg' + (asdf)' - 'asdf'.' + []''''.';''
+'sadf'.' % string transpose
+% adjoint
+{'asdf'}' + 1
+('asdf')' + 1
+['asdf']' + 1
+'' var''' % empty string, var with >1 adjoints
+[5]'*{5}'*('asd')'.'+(5)'*6'*asdf'*asdf'.'  % many adjoints
+A'*B + 1      % adjoint
+A.'*B + 1     % transpose
+A.'.'*B + 1   % double transpose
+A'.' + 1      % adjoint, then transpose
+A.''          % transpose, then adjoint
+
+% System command ______________________________________
+!hostname
+!cp * /tmp
+
+% Reserved keywords ___________________________________
+function, persistent, global
+switch, case, otherwise
+if, else, elseif
+try, catch
+for, while, break, continue
+end, return
+function, FUNCTION, Function  % case sensitive!
+-->
diff --git a/xml/maxima.xml b/xml/maxima.xml
new file mode 100644
--- /dev/null
+++ b/xml/maxima.xml
@@ -0,0 +1,1890 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    maxima.xml—Maxima CAS syntax highlighting for Kate and KWrite.
+    Copyright © 2008 Alexey V. Beshenov <al@beshenov.ru>.
+
+    maxima.xml is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as published
+    by the Free Software Foundation; either version 2.1 of the License,
+    or (at your option) any later version.
+
+    maxima.xml 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
+    General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with the maxima.xml. If not, see <http://www.gnu.org/licenses/>.
+
+    Usage: place maxima.xml in $KDEDIR/share/apps/katepart/syntax.
+-->
+
+<!DOCTYPE language SYSTEM "language.dtd">
+
+<language name="Maxima" version="3" kateversion="5.2" section="Scientific" extensions="*.mac;*.MAC;*.dem;*.DEM" casesensitive="1" author="Alexey Beshenov &lt;al@beshenov.ru&gt;" license="LGPLv2.1+">
+    <highlighting>
+
+        <list name="MaximaKeyword">
+            <item> and </item>
+            <item> do </item>
+            <item> else </item>
+            <item> elseif </item>
+            <item> false </item>
+            <item> for </item>
+            <item> if </item>
+            <item> in </item>
+            <item> not </item>
+            <item> or </item>
+            <item> step </item>
+            <item> then </item>
+            <item> thru </item>
+            <item> true </item>
+            <item> while </item>
+        </list>
+
+        <list name="SpecialComment">
+            <item> FIXME </item>
+            <item> TODO </item>
+        </list>
+
+        <list name="MaximaFunction">
+            <item> abasep </item>
+            <item> abs </item>
+            <item> absint </item>
+            <item> absolute_real_time </item>
+            <item> acos </item>
+            <item> acosh </item>
+            <item> acot </item>
+            <item> acoth </item>
+            <item> acsc </item>
+            <item> acsch </item>
+            <item> activate </item>
+            <item> addcol </item>
+            <item> add_edge </item>
+            <item> add_edges </item>
+            <item> addmatrices </item>
+            <item> addrow </item>
+            <item> add_vertex </item>
+            <item> add_vertices </item>
+            <item> adjacency_matrix </item>
+            <item> adjoin </item>
+            <item> adjoint </item>
+            <item> af </item>
+            <item> agd </item>
+            <item> airy_ai </item>
+            <item> airy_bi </item>
+            <item> airy_dai </item>
+            <item> airy_dbi </item>
+            <item> algsys </item>
+            <item> alg_type </item>
+            <item> alias </item>
+            <item> allroots </item>
+            <item> alphacharp </item>
+            <item> alphanumericp </item>
+            <item> antid </item>
+            <item> antidiff </item>
+            <item> AntiDifference </item>
+            <item> append </item>
+            <item> appendfile </item>
+            <item> apply </item>
+            <item> apply1 </item>
+            <item> apply2 </item>
+            <item> applyb1 </item>
+            <item> apropos </item>
+            <item> args </item>
+            <item> arithmetic </item>
+            <item> arithsum </item>
+            <item> array </item>
+            <item> arrayapply </item>
+            <item> arrayinfo </item>
+            <item> arraymake </item>
+            <item> ascii </item>
+            <item> asec </item>
+            <item> asech </item>
+            <item> asin </item>
+            <item> asinh </item>
+            <item> askinteger </item>
+            <item> asksign </item>
+            <item> assoc </item>
+            <item> assoc_legendre_p </item>
+            <item> assoc_legendre_q </item>
+            <item> assume </item>
+            <item> asympa </item>
+            <item> at </item>
+            <item> atan </item>
+            <item> atan2 </item>
+            <item> atanh </item>
+            <item> atensimp </item>
+            <item> atom </item>
+            <item> atvalue </item>
+            <item> augcoefmatrix </item>
+            <item> augmented_lagrangian_method </item>
+            <item> av </item>
+            <item> average_degree </item>
+            <item> backtrace </item>
+            <item> barsplot </item>
+            <item> bashindices </item>
+            <item> batch </item>
+            <item> batchload </item>
+            <item> bc2 </item>
+            <item> bdvac </item>
+            <item> belln </item>
+            <item> bern </item>
+            <item> bernpoly </item>
+            <item> bessel </item>
+            <item> bessel_i </item>
+            <item> bessel_j </item>
+            <item> bessel_k </item>
+            <item> bessel_y </item>
+            <item> beta </item>
+            <item> bezout </item>
+            <item> bffac </item>
+            <item> bfhzeta </item>
+            <item> bfloat </item>
+            <item> bfloatp </item>
+            <item> bfpsi </item>
+            <item> bfpsi0 </item>
+            <item> bfzeta </item>
+            <item> biconected_components </item>
+            <item> bimetric </item>
+            <item> binomial </item>
+            <item> bipartition </item>
+            <item> block </item>
+            <item> blockmatrixp </item>
+            <item> bode_gain </item>
+            <item> bode_phase </item>
+            <item> bothcoef </item>
+            <item> box </item>
+            <item> boxplot </item>
+            <item> break </item>
+            <item> bug_report </item>
+            <item> build_info </item>
+            <item> buildq </item>
+            <item> burn </item>
+            <item> cabs </item>
+            <item> canform </item>
+            <item> canten </item>
+            <item> cardinality </item>
+            <item> carg </item>
+            <item> cartan </item>
+            <item> cartesian_product </item>
+            <item> catch </item>
+            <item> cbffac </item>
+            <item> cdf_bernoulli </item>
+            <item> cdf_beta </item>
+            <item> cdf_binomial </item>
+            <item> cdf_cauchy </item>
+            <item> cdf_chi2 </item>
+            <item> cdf_continuous_uniform </item>
+            <item> cdf_discrete_uniform </item>
+            <item> cdf_exp </item>
+            <item> cdf_f </item>
+            <item> cdf_gamma </item>
+            <item> cdf_geometric </item>
+            <item> cdf_gumbel </item>
+            <item> cdf_hypergeometric </item>
+            <item> cdf_laplace </item>
+            <item> cdf_logistic </item>
+            <item> cdf_lognormal </item>
+            <item> cdf_negative_binomial </item>
+            <item> cdf_normal </item>
+            <item> cdf_pareto </item>
+            <item> cdf_poisson </item>
+            <item> cdf_rank_sum </item>
+            <item> cdf_rayleigh </item>
+            <item> cdf_signed_rank </item>
+            <item> cdf_student_t </item>
+            <item> cdf_weibull </item>
+            <item> cdisplay </item>
+            <item> ceiling </item>
+            <item> central_moment </item>
+            <item> cequal </item>
+            <item> cequalignore </item>
+            <item> cf </item>
+            <item> cfdisrep </item>
+            <item> cfexpand </item>
+            <item> cgeodesic </item>
+            <item> cgreaterp </item>
+            <item> cgreaterpignore </item>
+            <item> changename </item>
+            <item> changevar </item>
+            <item> chaosgame </item>
+            <item> charat </item>
+            <item> charfun </item>
+            <item> charfun2 </item>
+            <item> charlist </item>
+            <item> charp </item>
+            <item> charpoly </item>
+            <item> chebyshev_t </item>
+            <item> chebyshev_u </item>
+            <item> checkdiv </item>
+            <item> check_overlaps </item>
+            <item> cholesky </item>
+            <item> christof </item>
+            <item> chromatic_index </item>
+            <item> chromatic_number </item>
+            <item> cint </item>
+            <item> circulant_graph </item>
+            <item> clear_edge_weight </item>
+            <item> clear_rules </item>
+            <item> clear_vertex_label </item>
+            <item> clebsch_graph </item>
+            <item> clessp </item>
+            <item> clesspignore </item>
+            <item> close </item>
+            <item> closefile </item>
+            <item> cmetric </item>
+            <item> coeff </item>
+            <item> coefmatrix </item>
+            <item> cograd </item>
+            <item> col </item>
+            <item> collapse </item>
+            <item> collectterms </item>
+            <item> columnop </item>
+            <item> columnspace </item>
+            <item> columnswap </item>
+            <item> columnvector </item>
+            <item> combination </item>
+            <item> combine </item>
+            <item> comp2pui </item>
+            <item> compare </item>
+            <item> compfile </item>
+            <item> compile </item>
+            <item> compile_file </item>
+            <item> complement_graph </item>
+            <item> complete_bipartite_graph </item>
+            <item> complete_graph </item>
+            <item> components </item>
+            <item> concan </item>
+            <item> concat </item>
+            <item> conjugate </item>
+            <item> conmetderiv </item>
+            <item> connected_components </item>
+            <item> connect_vertices </item>
+            <item> cons </item>
+            <item> constantp </item>
+            <item> constituent </item>
+            <item> cont2part </item>
+            <item> content </item>
+            <item> continuous_freq </item>
+            <item> contortion </item>
+            <item> contour_plot </item>
+            <item> contract </item>
+            <item> contract_edge </item>
+            <item> contragrad </item>
+            <item> contrib_ode </item>
+            <item> convert </item>
+            <item> coord </item>
+            <item> copy </item>
+            <item> copy_graph </item>
+            <item> copylist </item>
+            <item> copymatrix </item>
+            <item> cor </item>
+            <item> cos </item>
+            <item> cosh </item>
+            <item> cot </item>
+            <item> coth </item>
+            <item> cov </item>
+            <item> cov1 </item>
+            <item> covdiff </item>
+            <item> covect </item>
+            <item> covers </item>
+            <item> create_graph </item>
+            <item> create_list </item>
+            <item> csc </item>
+            <item> csch </item>
+            <item> csetup </item>
+            <item> cspline </item>
+            <item> ctaylor </item>
+            <item> ct_coordsys </item>
+            <item> ctransform </item>
+            <item> ctranspose </item>
+            <item> cube_graph </item>
+            <item> cunlisp </item>
+            <item> cv </item>
+            <item> cycle_digraph </item>
+            <item> cycle_graph </item>
+            <item> dblint </item>
+            <item> deactivate </item>
+            <item> declare </item>
+            <item> declare_translated </item>
+            <item> declare_weight </item>
+            <item> decsym </item>
+            <item> defcon </item>
+            <item> define </item>
+            <item> define_variable </item>
+            <item> defint </item>
+            <item> defmatch </item>
+            <item> defrule </item>
+            <item> deftaylor </item>
+            <item> degree_sequence </item>
+            <item> del </item>
+            <item> delete </item>
+            <item> deleten </item>
+            <item> delta </item>
+            <item> demo </item>
+            <item> demoivre </item>
+            <item> denom </item>
+            <item> depends </item>
+            <item> derivdegree </item>
+            <item> derivlist </item>
+            <item> describe </item>
+            <item> desolve </item>
+            <item> determinant </item>
+            <item> dgauss_a </item>
+            <item> dgauss_b </item>
+            <item> dgeev </item>
+            <item> dgesvd </item>
+            <item> diag </item>
+            <item> diagmatrix </item>
+            <item> diag_matrix </item>
+            <item> diagmatrixp </item>
+            <item> diameter </item>
+            <item> diff </item>
+            <item> digitcharp </item>
+            <item> dimacs_export </item>
+            <item> dimacs_import </item>
+            <item> dimension </item>
+            <item> direct </item>
+            <item> discrete_freq </item>
+            <item> disjoin </item>
+            <item> disjointp </item>
+            <item> disolate </item>
+            <item> disp </item>
+            <item> dispcon </item>
+            <item> dispform </item>
+            <item> dispfun </item>
+            <item> dispJordan </item>
+            <item> display </item>
+            <item> disprule </item>
+            <item> dispterms </item>
+            <item> distrib </item>
+            <item> divide </item>
+            <item> divisors </item>
+            <item> divsum </item>
+            <item> dkummer_m </item>
+            <item> dkummer_u </item>
+            <item> dlange </item>
+            <item> dodecahedron_graph </item>
+            <item> dotproduct </item>
+            <item> dotsimp </item>
+            <item> dpart </item>
+            <item> draw </item>
+            <item> draw2d </item>
+            <item> draw3d </item>
+            <item> draw_graph </item>
+            <item> dscalar </item>
+            <item> echelon </item>
+            <item> edge_coloring </item>
+            <item> edges </item>
+            <item> eigens_by_jacobi </item>
+            <item> eigenvalues </item>
+            <item> eigenvectors </item>
+            <item> eighth </item>
+            <item> einstein </item>
+            <item> eivals </item>
+            <item> eivects </item>
+            <item> elapsed_real_time </item>
+            <item> elapsed_run_time </item>
+            <item> ele2comp </item>
+            <item> ele2polynome </item>
+            <item> ele2pui </item>
+            <item> elem </item>
+            <item> elementp </item>
+            <item> eliminate </item>
+            <item> elliptic_e </item>
+            <item> elliptic_ec </item>
+            <item> elliptic_eu </item>
+            <item> elliptic_f </item>
+            <item> elliptic_kc </item>
+            <item> elliptic_pi </item>
+            <item> ematrix </item>
+            <item> empty_graph </item>
+            <item> emptyp </item>
+            <item> endcons </item>
+            <item> entermatrix </item>
+            <item> entertensor </item>
+            <item> entier </item>
+            <item> equal </item>
+            <item> equalp </item>
+            <item> equiv_classes </item>
+            <item> erf </item>
+            <item> errcatch </item>
+            <item> error </item>
+            <item> errormsg </item>
+            <item> euler </item>
+            <item> ev </item>
+            <item> eval_string </item>
+            <item> evenp </item>
+            <item> every </item>
+            <item> evolution </item>
+            <item> evolution2d </item>
+            <item> evundiff </item>
+            <item> example </item>
+            <item> exp </item>
+            <item> expand </item>
+            <item> expandwrt </item>
+            <item> expandwrt_factored </item>
+            <item> explose </item>
+            <item> exponentialize </item>
+            <item> express </item>
+            <item> expt </item>
+            <item> exsec </item>
+            <item> extdiff </item>
+            <item> extract_linear_equations </item>
+            <item> extremal_subset </item>
+            <item> ezgcd </item>
+            <item> f90 </item>
+            <item> facsum </item>
+            <item> factcomb </item>
+            <item> factor </item>
+            <item> factorfacsum </item>
+            <item> factorial </item>
+            <item> factorout </item>
+            <item> factorsum </item>
+            <item> facts </item>
+            <item> fast_central_elements </item>
+            <item> fast_linsolve </item>
+            <item> fasttimes </item>
+            <item> featurep </item>
+            <item> fft </item>
+            <item> fib </item>
+            <item> fibtophi </item>
+            <item> fifth </item>
+            <item> filename_merge </item>
+            <item> file_search </item>
+            <item> file_type </item>
+            <item> fillarray </item>
+            <item> findde </item>
+            <item> find_root </item>
+            <item> first </item>
+            <item> fix </item>
+            <item> flatten </item>
+            <item> flength </item>
+            <item> float </item>
+            <item> floatnump </item>
+            <item> floor </item>
+            <item> flower_snark </item>
+            <item> flush </item>
+            <item> flush1deriv </item>
+            <item> flushd </item>
+            <item> flushnd </item>
+            <item> forget </item>
+            <item> fortran </item>
+            <item> fourcos </item>
+            <item> fourexpand </item>
+            <item> fourier </item>
+            <item> fourint </item>
+            <item> fourintcos </item>
+            <item> fourintsin </item>
+            <item> foursimp </item>
+            <item> foursin </item>
+            <item> fourth </item>
+            <item> fposition </item>
+            <item> frame_bracket </item>
+            <item> freeof </item>
+            <item> freshline </item>
+            <item> from_adjacency_matrix </item>
+            <item> frucht_graph </item>
+            <item> full_listify </item>
+            <item> fullmap </item>
+            <item> fullmapl </item>
+            <item> fullratsimp </item>
+            <item> fullratsubst </item>
+            <item> fullsetify </item>
+            <item> funcsolve </item>
+            <item> fundef </item>
+            <item> funmake </item>
+            <item> funp </item>
+            <item> gamma </item>
+            <item> gauss_a </item>
+            <item> gauss_b </item>
+            <item> gaussprob </item>
+            <item> gcd </item>
+            <item> gcdex </item>
+            <item> gcdivide </item>
+            <item> gcfac </item>
+            <item> gcfactor </item>
+            <item> gd </item>
+            <item> genfact </item>
+            <item> gen_laguerre </item>
+            <item> genmatrix </item>
+            <item> geometric </item>
+            <item> geometric_mean </item>
+            <item> geosum </item>
+            <item> get </item>
+            <item> get_edge_weight </item>
+            <item> get_lu_factors </item>
+            <item> get_pixel </item>
+            <item> get_vertex_label </item>
+            <item> gfactor </item>
+            <item> gfactorsum </item>
+            <item> ggf </item>
+            <item> girth </item>
+            <item> global_variances </item>
+            <item> gnuplot_close </item>
+            <item> gnuplot_replot </item>
+            <item> gnuplot_reset </item>
+            <item> gnuplot_restart </item>
+            <item> gnuplot_start </item>
+            <item> go </item>
+            <item> Gosper </item>
+            <item> GosperSum </item>
+            <item> gradef </item>
+            <item> gramschmidt </item>
+            <item> graph6_decode </item>
+            <item> graph6_encode </item>
+            <item> graph6_export </item>
+            <item> graph6_import </item>
+            <item> graph_center </item>
+            <item> graph_charpoly </item>
+            <item> graph_eigenvalues </item>
+            <item> graph_order </item>
+            <item> graph_periphery </item>
+            <item> graph_product </item>
+            <item> graph_size </item>
+            <item> graph_union </item>
+            <item> grid_graph </item>
+            <item> grind </item>
+            <item> grobner_basis </item>
+            <item> grotzch_graph </item>
+            <item> hamilton_cycle </item>
+            <item> hamilton_path </item>
+            <item> hankel </item>
+            <item> harmonic </item>
+            <item> harmonic_mean </item>
+            <item> hav </item>
+            <item> heawood_graph </item>
+            <item> hermite </item>
+            <item> hessian </item>
+            <item> hilbert_matrix </item>
+            <item> hipow </item>
+            <item> histogram </item>
+            <item> hodge </item>
+            <item> horner </item>
+            <item> ic1 </item>
+            <item> ic2 </item>
+            <item> ic_convert </item>
+            <item> ichr1 </item>
+            <item> ichr2 </item>
+            <item> icosahedron_graph </item>
+            <item> icurvature </item>
+            <item> ident </item>
+            <item> identfor </item>
+            <item> identity </item>
+            <item> idiff </item>
+            <item> idim </item>
+            <item> idummy </item>
+            <item> ieqn </item>
+            <item> ifactors </item>
+            <item> iframes </item>
+            <item> ifs </item>
+            <item> ift </item>
+            <item> igeodesic_coords </item>
+            <item> ilt </item>
+            <item> imagpart </item>
+            <item> imetric </item>
+            <item> implicit_derivative </item>
+            <item> implicit_plot </item>
+            <item> indexed_tensor </item>
+            <item> indices </item>
+            <item> induced_subgraph </item>
+            <item> inferencep </item>
+            <item> inference_result </item>
+            <item> infix </item>
+            <item> init_atensor </item>
+            <item> init_ctensor </item>
+            <item> in_neighbors </item>
+            <item> innerproduct </item>
+            <item> inpart </item>
+            <item> inprod </item>
+            <item> inrt </item>
+            <item> integerp </item>
+            <item> integer_partitions </item>
+            <item> integrate </item>
+            <item> intersect </item>
+            <item> intersection </item>
+            <item> intervalp </item>
+            <item> intopois </item>
+            <item> intosum </item>
+            <item> invariant1 </item>
+            <item> invariant2 </item>
+            <item> inverse_jacobi_cd </item>
+            <item> inverse_jacobi_cn </item>
+            <item> inverse_jacobi_cs </item>
+            <item> inverse_jacobi_dc </item>
+            <item> inverse_jacobi_dn </item>
+            <item> inverse_jacobi_ds </item>
+            <item> inverse_jacobi_nc </item>
+            <item> inverse_jacobi_nd </item>
+            <item> inverse_jacobi_ns </item>
+            <item> inverse_jacobi_sc </item>
+            <item> inverse_jacobi_sd </item>
+            <item> inverse_jacobi_sn </item>
+            <item> invert </item>
+            <item> invert_by_lu </item>
+            <item> inv_mod </item>
+            <item> is </item>
+            <item> is_biconnected </item>
+            <item> is_bipartite </item>
+            <item> is_connected </item>
+            <item> is_digraph </item>
+            <item> is_edge_in_graph </item>
+            <item> is_graph </item>
+            <item> is_graph_or_digraph </item>
+            <item> ishow </item>
+            <item> is_isomorphic </item>
+            <item> isolate </item>
+            <item> isomorphism </item>
+            <item> is_planar </item>
+            <item> isqrt </item>
+            <item> is_sconnected </item>
+            <item> is_tree </item>
+            <item> is_vertex_in_graph </item>
+            <item> items_inference </item>
+            <item> jacobi </item>
+            <item> jacobian </item>
+            <item> jacobi_cd </item>
+            <item> jacobi_cn </item>
+            <item> jacobi_cs </item>
+            <item> jacobi_dc </item>
+            <item> jacobi_dn </item>
+            <item> jacobi_ds </item>
+            <item> jacobi_nc </item>
+            <item> jacobi_nd </item>
+            <item> jacobi_ns </item>
+            <item> jacobi_p </item>
+            <item> jacobi_sc </item>
+            <item> jacobi_sd </item>
+            <item> jacobi_sn </item>
+            <item> JF </item>
+            <item> join </item>
+            <item> jordan </item>
+            <item> julia </item>
+            <item> kdels </item>
+            <item> kdelta </item>
+            <item> kill </item>
+            <item> killcontext </item>
+            <item> kostka </item>
+            <item> kron_delta </item>
+            <item> kronecker_product </item>
+            <item> kummer_m </item>
+            <item> kummer_u </item>
+            <item> kurtosis </item>
+            <item> kurtosis_bernoulli </item>
+            <item> kurtosis_beta </item>
+            <item> kurtosis_binomial </item>
+            <item> kurtosis_chi2 </item>
+            <item> kurtosis_continuous_uniform </item>
+            <item> kurtosis_discrete_uniform </item>
+            <item> kurtosis_exp </item>
+            <item> kurtosis_f </item>
+            <item> kurtosis_gamma </item>
+            <item> kurtosis_geometric </item>
+            <item> kurtosis_gumbel </item>
+            <item> kurtosis_hypergeometric </item>
+            <item> kurtosis_laplace </item>
+            <item> kurtosis_logistic </item>
+            <item> kurtosis_lognormal </item>
+            <item> kurtosis_negative_binomial </item>
+            <item> kurtosis_normal </item>
+            <item> kurtosis_pareto </item>
+            <item> kurtosis_poisson </item>
+            <item> kurtosis_rayleigh </item>
+            <item> kurtosis_student_t </item>
+            <item> kurtosis_weibull </item>
+            <item> labels </item>
+            <item> lagrange </item>
+            <item> laguerre </item>
+            <item> lambda </item>
+            <item> laplace </item>
+            <item> laplacian_matrix </item>
+            <item> last </item>
+            <item> lbfgs </item>
+            <item> lc2kdt </item>
+            <item> lcharp </item>
+            <item> lc_l </item>
+            <item> lcm </item>
+            <item> lc_u </item>
+            <item> ldefint </item>
+            <item> ldisp </item>
+            <item> ldisplay </item>
+            <item> legendre_p </item>
+            <item> legendre_q </item>
+            <item> leinstein </item>
+            <item> length </item>
+            <item> let </item>
+            <item> letrules </item>
+            <item> letsimp </item>
+            <item> levi_civita </item>
+            <item> lfreeof </item>
+            <item> lgtreillis </item>
+            <item> lhs </item>
+            <item> li </item>
+            <item> liediff </item>
+            <item> limit </item>
+            <item> Lindstedt </item>
+            <item> linear </item>
+            <item> linearinterpol </item>
+            <item> linear_program </item>
+            <item> line_graph </item>
+            <item> linsolve </item>
+            <item> listarray </item>
+            <item> list_correlations </item>
+            <item> listify </item>
+            <item> list_nc_monomials </item>
+            <item> listoftens </item>
+            <item> listofvars </item>
+            <item> listp </item>
+            <item> lmax </item>
+            <item> lmin </item>
+            <item> load </item>
+            <item> loadfile </item>
+            <item> local </item>
+            <item> locate_matrix_entry </item>
+            <item> log </item>
+            <item> logand </item>
+            <item> logarc </item>
+            <item> logcontract </item>
+            <item> logor </item>
+            <item> logxor </item>
+            <item> lopow </item>
+            <item> lorentz_gauge </item>
+            <item> lowercasep </item>
+            <item> lpart </item>
+            <item> lratsubst </item>
+            <item> lreduce </item>
+            <item> lriemann </item>
+            <item> lsquares_estimates </item>
+            <item> lsquares_estimates_approximate </item>
+            <item> lsquares_estimates_exact </item>
+            <item> lsquares_mse </item>
+            <item> lsquares_residual_mse </item>
+            <item> lsquares_residuals </item>
+            <item> lsum </item>
+            <item> ltreillis </item>
+            <item> lu_backsub </item>
+            <item> lu_factor </item>
+            <item> macroexpand </item>
+            <item> macroexpand1 </item>
+            <item> make_array </item>
+            <item> makebox </item>
+            <item> makefact </item>
+            <item> makegamma </item>
+            <item> make_level_picture </item>
+            <item> makelist </item>
+            <item> makeOrders </item>
+            <item> make_poly_continent </item>
+            <item> make_poly_country </item>
+            <item> make_polygon </item>
+            <item> make_random_state </item>
+            <item> make_rgb_picture </item>
+            <item> makeset </item>
+            <item> make_transform </item>
+            <item> mandelbrot </item>
+            <item> map </item>
+            <item> mapatom </item>
+            <item> maplist </item>
+            <item> matchdeclare </item>
+            <item> matchfix </item>
+            <item> mat_cond </item>
+            <item> mat_fullunblocker </item>
+            <item> mat_function </item>
+            <item> mat_norm </item>
+            <item> matrix </item>
+            <item> matrixmap </item>
+            <item> matrixp </item>
+            <item> matrix_size </item>
+            <item> mattrace </item>
+            <item> mat_trace </item>
+            <item> mat_unblocker </item>
+            <item> max </item>
+            <item> max_clique </item>
+            <item> max_degree </item>
+            <item> max_flow </item>
+            <item> maxi </item>
+            <item> maximize_lp </item>
+            <item> max_independent_set </item>
+            <item> max_matching </item>
+            <item> maybe </item>
+            <item> mean </item>
+            <item> mean_bernoulli </item>
+            <item> mean_beta </item>
+            <item> mean_binomial </item>
+            <item> mean_chi2 </item>
+            <item> mean_continuous_uniform </item>
+            <item> mean_deviation </item>
+            <item> mean_discrete_uniform </item>
+            <item> mean_exp </item>
+            <item> mean_f </item>
+            <item> mean_gamma </item>
+            <item> mean_geometric </item>
+            <item> mean_gumbel </item>
+            <item> mean_hypergeometric </item>
+            <item> mean_laplace </item>
+            <item> mean_logistic </item>
+            <item> mean_lognormal </item>
+            <item> mean_negative_binomial </item>
+            <item> mean_normal </item>
+            <item> mean_pareto </item>
+            <item> mean_poisson </item>
+            <item> mean_rayleigh </item>
+            <item> mean_student_t </item>
+            <item> mean_weibull </item>
+            <item> median </item>
+            <item> median_deviation </item>
+            <item> member </item>
+            <item> metricexpandall </item>
+            <item> min </item>
+            <item> min_degree </item>
+            <item> minfactorial </item>
+            <item> mini </item>
+            <item> minimalPoly </item>
+            <item> minimize_lp </item>
+            <item> minimum_spanning_tree </item>
+            <item> minor </item>
+            <item> mnewton </item>
+            <item> mod </item>
+            <item> mode_declare </item>
+            <item> mode_identity </item>
+            <item> ModeMatrix </item>
+            <item> moebius </item>
+            <item> mon2schur </item>
+            <item> mono </item>
+            <item> monomial_dimensions </item>
+            <item> multi_elem </item>
+            <item> multinomial </item>
+            <item> multinomial_coeff </item>
+            <item> multi_orbit </item>
+            <item> multi_pui </item>
+            <item> multsym </item>
+            <item> multthru </item>
+            <item> mycielski_graph </item>
+            <item> nary </item>
+            <item> nc_degree </item>
+            <item> ncexpt </item>
+            <item> ncharpoly </item>
+            <item> negative_picture </item>
+            <item> neighbors </item>
+            <item> newcontext </item>
+            <item> newdet </item>
+            <item> new_graph </item>
+            <item> newline </item>
+            <item> newton </item>
+            <item> next_prime </item>
+            <item> niceindices </item>
+            <item> ninth </item>
+            <item> noncentral_moment </item>
+            <item> nonmetricity </item>
+            <item> nonnegintegerp </item>
+            <item> nonscalarp </item>
+            <item> nonzeroandfreeof </item>
+            <item> notequal </item>
+            <item> nounify </item>
+            <item> nptetrad </item>
+            <item> nroots </item>
+            <item> nterms </item>
+            <item> ntermst </item>
+            <item> nthroot </item>
+            <item> nullity </item>
+            <item> nullspace </item>
+            <item> num </item>
+            <item> numbered_boundaries </item>
+            <item> numberp </item>
+            <item> num_distinct_partitions </item>
+            <item> numerval </item>
+            <item> numfactor </item>
+            <item> num_partitions </item>
+            <item> nusum </item>
+            <item> odd_girth </item>
+            <item> oddp </item>
+            <item> ode2 </item>
+            <item> ode_check </item>
+            <item> odelin </item>
+            <item> op </item>
+            <item> opena </item>
+            <item> openr </item>
+            <item> openw </item>
+            <item> operatorp </item>
+            <item> opsubst </item>
+            <item> optimize </item>
+            <item> orbit </item>
+            <item> orbits </item>
+            <item> ordergreat </item>
+            <item> ordergreatp </item>
+            <item> orderless </item>
+            <item> orderlessp </item>
+            <item> orthogonal_complement </item>
+            <item> orthopoly_recur </item>
+            <item> orthopoly_weight </item>
+            <item> outermap </item>
+            <item> out_neighbors </item>
+            <item> outofpois </item>
+            <item> pade </item>
+            <item> parGosper </item>
+            <item> parse_string </item>
+            <item> part </item>
+            <item> part2cont </item>
+            <item> partfrac </item>
+            <item> partition </item>
+            <item> partition_set </item>
+            <item> partpol </item>
+            <item> path_digraph </item>
+            <item> path_graph </item>
+            <item> pdf_bernoulli </item>
+            <item> pdf_beta </item>
+            <item> pdf_binomial </item>
+            <item> pdf_cauchy </item>
+            <item> pdf_chi2 </item>
+            <item> pdf_continuous_uniform </item>
+            <item> pdf_discrete_uniform </item>
+            <item> pdf_exp </item>
+            <item> pdf_f </item>
+            <item> pdf_gamma </item>
+            <item> pdf_geometric </item>
+            <item> pdf_gumbel </item>
+            <item> pdf_hypergeometric </item>
+            <item> pdf_laplace </item>
+            <item> pdf_logistic </item>
+            <item> pdf_lognormal </item>
+            <item> pdf_negative_binomial </item>
+            <item> pdf_normal </item>
+            <item> pdf_pareto </item>
+            <item> pdf_poisson </item>
+            <item> pdf_rank_sum </item>
+            <item> pdf_rayleigh </item>
+            <item> pdf_signed_rank </item>
+            <item> pdf_student_t </item>
+            <item> pdf_weibull </item>
+            <item> pearson_skewness </item>
+            <item> permanent </item>
+            <item> permut </item>
+            <item> permutation </item>
+            <item> permutations </item>
+            <item> petersen_graph </item>
+            <item> petrov </item>
+            <item> pickapart </item>
+            <item> picture_equalp </item>
+            <item> picturep </item>
+            <item> piechart </item>
+            <item> planar_embedding </item>
+            <item> playback </item>
+            <item> plog </item>
+            <item> plot2d </item>
+            <item> plot3d </item>
+            <item> plotdf </item>
+            <item> plsquares </item>
+            <item> pochhammer </item>
+            <item> poisdiff </item>
+            <item> poisexpt </item>
+            <item> poisint </item>
+            <item> poismap </item>
+            <item> poisplus </item>
+            <item> poissimp </item>
+            <item> poissubst </item>
+            <item> poistimes </item>
+            <item> poistrim </item>
+            <item> polarform </item>
+            <item> polartorect </item>
+            <item> poly_add </item>
+            <item> poly_buchberger </item>
+            <item> poly_buchberger_criterion </item>
+            <item> poly_colon_ideal </item>
+            <item> poly_content </item>
+            <item> polydecomp </item>
+            <item> poly_depends_p </item>
+            <item> poly_elimination_ideal </item>
+            <item> poly_exact_divide </item>
+            <item> poly_expand </item>
+            <item> poly_expt </item>
+            <item> poly_gcd </item>
+            <item> poly_grobner </item>
+            <item> poly_grobner_equal </item>
+            <item> poly_grobner_member </item>
+            <item> poly_grobner_subsetp </item>
+            <item> poly_ideal_intersection </item>
+            <item> poly_ideal_polysaturation </item>
+            <item> poly_ideal_polysaturation1 </item>
+            <item> poly_ideal_saturation </item>
+            <item> poly_ideal_saturation1 </item>
+            <item> poly_lcm </item>
+            <item> poly_minimization </item>
+            <item> polymod </item>
+            <item> poly_multiply </item>
+            <item> polynome2ele </item>
+            <item> polynomialp </item>
+            <item> poly_normal_form </item>
+            <item> poly_normalize </item>
+            <item> poly_normalize_list </item>
+            <item> poly_polysaturation_extension </item>
+            <item> poly_primitive_part </item>
+            <item> poly_pseudo_divide </item>
+            <item> poly_reduced_grobner </item>
+            <item> poly_reduction </item>
+            <item> poly_saturation_extension </item>
+            <item> poly_s_polynomial </item>
+            <item> poly_subtract </item>
+            <item> polytocompanion </item>
+            <item> potential </item>
+            <item> power_mod </item>
+            <item> powers </item>
+            <item> powerseries </item>
+            <item> powerset </item>
+            <item> prev_prime </item>
+            <item> primep </item>
+            <item> print </item>
+            <item> printf </item>
+            <item> print_graph </item>
+            <item> printpois </item>
+            <item> printprops </item>
+            <item> prodrac </item>
+            <item> product </item>
+            <item> properties </item>
+            <item> propvars </item>
+            <item> psi </item>
+            <item> ptriangularize </item>
+            <item> pui </item>
+            <item> pui2comp </item>
+            <item> pui2ele </item>
+            <item> pui2polynome </item>
+            <item> pui_direct </item>
+            <item> puireduc </item>
+            <item> put </item>
+            <item> qput </item>
+            <item> qrange </item>
+            <item> quad_qag </item>
+            <item> quad_qagi </item>
+            <item> quad_qags </item>
+            <item> quad_qawc </item>
+            <item> quad_qawf </item>
+            <item> quad_qawo </item>
+            <item> quad_qaws </item>
+            <item> quantile </item>
+            <item> quantile_bernoulli </item>
+            <item> quantile_beta </item>
+            <item> quantile_binomial </item>
+            <item> quantile_cauchy </item>
+            <item> quantile_chi2 </item>
+            <item> quantile_continuous_uniform </item>
+            <item> quantile_discrete_uniform </item>
+            <item> quantile_exp </item>
+            <item> quantile_f </item>
+            <item> quantile_gamma </item>
+            <item> quantile_geometric </item>
+            <item> quantile_gumbel </item>
+            <item> quantile_hypergeometric </item>
+            <item> quantile_laplace </item>
+            <item> quantile_logistic </item>
+            <item> quantile_lognormal </item>
+            <item> quantile_negative_binomial </item>
+            <item> quantile_normal </item>
+            <item> quantile_pareto </item>
+            <item> quantile_poisson </item>
+            <item> quantile_rayleigh </item>
+            <item> quantile_student_t </item>
+            <item> quantile_weibull </item>
+            <item> quartile_skewness </item>
+            <item> quit </item>
+            <item> qunit </item>
+            <item> quotient </item>
+            <item> radcan </item>
+            <item> radius </item>
+            <item> random </item>
+            <item> random_bernoulli </item>
+            <item> random_beta </item>
+            <item> random_binomial </item>
+            <item> random_cauchy </item>
+            <item> random_chi2 </item>
+            <item> random_continuous_uniform </item>
+            <item> random_digraph </item>
+            <item> random_discrete_uniform </item>
+            <item> random_exp </item>
+            <item> random_f </item>
+            <item> random_gamma </item>
+            <item> random_geometric </item>
+            <item> random_graph </item>
+            <item> random_graph1 </item>
+            <item> random_gumbel </item>
+            <item> random_hypergeometric </item>
+            <item> random_laplace </item>
+            <item> random_logistic </item>
+            <item> random_lognormal </item>
+            <item> random_negative_binomial </item>
+            <item> random_network </item>
+            <item> random_normal </item>
+            <item> random_pareto </item>
+            <item> random_permutation </item>
+            <item> random_poisson </item>
+            <item> random_rayleigh </item>
+            <item> random_regular_graph </item>
+            <item> random_student_t </item>
+            <item> random_tournament </item>
+            <item> random_tree </item>
+            <item> random_weibull </item>
+            <item> range </item>
+            <item> rank </item>
+            <item> rat </item>
+            <item> ratcoef </item>
+            <item> ratdenom </item>
+            <item> ratdiff </item>
+            <item> ratdisrep </item>
+            <item> ratexpand </item>
+            <item> rational </item>
+            <item> rationalize </item>
+            <item> ratnumer </item>
+            <item> ratnump </item>
+            <item> ratp </item>
+            <item> ratsimp </item>
+            <item> ratsubst </item>
+            <item> ratvars </item>
+            <item> ratweight </item>
+            <item> read </item>
+            <item> read_hashed_array </item>
+            <item> readline </item>
+            <item> read_lisp_array </item>
+            <item> read_list </item>
+            <item> read_matrix </item>
+            <item> read_maxima_array </item>
+            <item> read_nested_list </item>
+            <item> readonly </item>
+            <item> read_xpm </item>
+            <item> realpart </item>
+            <item> realroots </item>
+            <item> rearray </item>
+            <item> rectform </item>
+            <item> recttopolar </item>
+            <item> rediff </item>
+            <item> reduce_consts </item>
+            <item> reduce_order </item>
+            <item> region_boundaries </item>
+            <item> rem </item>
+            <item> remainder </item>
+            <item> remarray </item>
+            <item> rembox </item>
+            <item> remcomps </item>
+            <item> remcon </item>
+            <item> remcoord </item>
+            <item> remfun </item>
+            <item> remfunction </item>
+            <item> remlet </item>
+            <item> remove </item>
+            <item> remove_edge </item>
+            <item> remove_vertex </item>
+            <item> rempart </item>
+            <item> remrule </item>
+            <item> remsym </item>
+            <item> remvalue </item>
+            <item> rename </item>
+            <item> reset </item>
+            <item> residue </item>
+            <item> resolvante </item>
+            <item> resolvante_alternee1 </item>
+            <item> resolvante_bipartite </item>
+            <item> resolvante_diedrale </item>
+            <item> resolvante_klein </item>
+            <item> resolvante_klein3 </item>
+            <item> resolvante_produit_sym </item>
+            <item> resolvante_unitaire </item>
+            <item> resolvante_vierer </item>
+            <item> rest </item>
+            <item> resultant </item>
+            <item> return </item>
+            <item> reveal </item>
+            <item> reverse </item>
+            <item> revert </item>
+            <item> revert2 </item>
+            <item> rgb2level </item>
+            <item> rhs </item>
+            <item> ricci </item>
+            <item> riemann </item>
+            <item> rinvariant </item>
+            <item> risch </item>
+            <item> rk </item>
+            <item> rncombine </item>
+            <item> romberg </item>
+            <item> room </item>
+            <item> rootscontract </item>
+            <item> row </item>
+            <item> rowop </item>
+            <item> rowswap </item>
+            <item> rreduce </item>
+            <item> run_testsuite </item>
+            <item> save </item>
+            <item> scalarp </item>
+            <item> scaled_bessel_i </item>
+            <item> scaled_bessel_i0 </item>
+            <item> scaled_bessel_i1 </item>
+            <item> scalefactors </item>
+            <item> scanmap </item>
+            <item> scatterplot </item>
+            <item> schur2comp </item>
+            <item> sconcat </item>
+            <item> scopy </item>
+            <item> scsimp </item>
+            <item> scurvature </item>
+            <item> sdowncase </item>
+            <item> sec </item>
+            <item> sech </item>
+            <item> second </item>
+            <item> sequal </item>
+            <item> sequalignore </item>
+            <item> setdifference </item>
+            <item> set_edge_weight </item>
+            <item> setelmx </item>
+            <item> setequalp </item>
+            <item> setify </item>
+            <item> setp </item>
+            <item> set_partitions </item>
+            <item> set_plot_option </item>
+            <item> set_random_state </item>
+            <item> setunits </item>
+            <item> setup_autoload </item>
+            <item> set_up_dot_simplifications </item>
+            <item> set_vertex_label </item>
+            <item> seventh </item>
+            <item> sexplode </item>
+            <item> sf </item>
+            <item> shortest_path </item>
+            <item> show </item>
+            <item> showcomps </item>
+            <item> showratvars </item>
+            <item> sign </item>
+            <item> signum </item>
+            <item> similaritytransform </item>
+            <item> simple_linear_regression </item>
+            <item> simplify_sum </item>
+            <item> simplode </item>
+            <item> simpmetderiv </item>
+            <item> simtran </item>
+            <item> sin </item>
+            <item> sinh </item>
+            <item> sinsert </item>
+            <item> sinvertcase </item>
+            <item> sixth </item>
+            <item> skewness </item>
+            <item> skewness_bernoulli </item>
+            <item> skewness_beta </item>
+            <item> skewness_binomial </item>
+            <item> skewness_chi2 </item>
+            <item> skewness_continuous_uniform </item>
+            <item> skewness_discrete_uniform </item>
+            <item> skewness_exp </item>
+            <item> skewness_f </item>
+            <item> skewness_gamma </item>
+            <item> skewness_geometric </item>
+            <item> skewness_gumbel </item>
+            <item> skewness_hypergeometric </item>
+            <item> skewness_laplace </item>
+            <item> skewness_logistic </item>
+            <item> skewness_lognormal </item>
+            <item> skewness_negative_binomial </item>
+            <item> skewness_normal </item>
+            <item> skewness_pareto </item>
+            <item> skewness_poisson </item>
+            <item> skewness_rayleigh </item>
+            <item> skewness_student_t </item>
+            <item> skewness_weibull </item>
+            <item> slength </item>
+            <item> smake </item>
+            <item> smismatch </item>
+            <item> solve </item>
+            <item> solve_rec </item>
+            <item> solve_rec_rat </item>
+            <item> some </item>
+            <item> somrac </item>
+            <item> sort </item>
+            <item> sparse6_decode </item>
+            <item> sparse6_encode </item>
+            <item> sparse6_export </item>
+            <item> sparse6_import </item>
+            <item> specint </item>
+            <item> spherical_bessel_j </item>
+            <item> spherical_bessel_y </item>
+            <item> spherical_hankel1 </item>
+            <item> spherical_hankel2 </item>
+            <item> spherical_harmonic </item>
+            <item> splice </item>
+            <item> split </item>
+            <item> sposition </item>
+            <item> sprint </item>
+            <item> sqfr </item>
+            <item> sqrt </item>
+            <item> sqrtdenest </item>
+            <item> sremove </item>
+            <item> sremovefirst </item>
+            <item> sreverse </item>
+            <item> ssearch </item>
+            <item> ssort </item>
+            <item> sstatus </item>
+            <item> ssubst </item>
+            <item> ssubstfirst </item>
+            <item> staircase </item>
+            <item> status </item>
+            <item> std </item>
+            <item> std1 </item>
+            <item> std_bernoulli </item>
+            <item> std_beta </item>
+            <item> std_binomial </item>
+            <item> std_chi2 </item>
+            <item> std_continuous_uniform </item>
+            <item> std_discrete_uniform </item>
+            <item> std_exp </item>
+            <item> std_f </item>
+            <item> std_gamma </item>
+            <item> std_geometric </item>
+            <item> std_gumbel </item>
+            <item> std_hypergeometric </item>
+            <item> std_laplace </item>
+            <item> std_logistic </item>
+            <item> std_lognormal </item>
+            <item> std_negative_binomial </item>
+            <item> std_normal </item>
+            <item> std_pareto </item>
+            <item> std_poisson </item>
+            <item> std_rayleigh </item>
+            <item> std_student_t </item>
+            <item> std_weibull </item>
+            <item> stirling </item>
+            <item> stirling1 </item>
+            <item> stirling2 </item>
+            <item> strim </item>
+            <item> striml </item>
+            <item> strimr </item>
+            <item> string </item>
+            <item> stringout </item>
+            <item> stringp </item>
+            <item> strong_components </item>
+            <item> sublis </item>
+            <item> sublist </item>
+            <item> sublist_indices </item>
+            <item> submatrix </item>
+            <item> subsample </item>
+            <item> subset </item>
+            <item> subsetp </item>
+            <item> subst </item>
+            <item> substinpart </item>
+            <item> substpart </item>
+            <item> substring </item>
+            <item> subvar </item>
+            <item> subvarp </item>
+            <item> sum </item>
+            <item> sumcontract </item>
+            <item> summand_to_rec </item>
+            <item> supcase </item>
+            <item> supcontext </item>
+            <item> symbolp </item>
+            <item> symmdifference </item>
+            <item> symmetricp </item>
+            <item> system </item>
+            <item> take_channel </item>
+            <item> take_inference </item>
+            <item> tan </item>
+            <item> tanh </item>
+            <item> taylor </item>
+            <item> taylorinfo </item>
+            <item> taylorp </item>
+            <item> taylor_simplifier </item>
+            <item> taytorat </item>
+            <item> tcl_output </item>
+            <item> tcontract </item>
+            <item> tellrat </item>
+            <item> tellsimp </item>
+            <item> tellsimpafter </item>
+            <item> tentex </item>
+            <item> tenth </item>
+            <item> test_mean </item>
+            <item> test_means_difference </item>
+            <item> test_normality </item>
+            <item> test_rank_sum </item>
+            <item> test_sign </item>
+            <item> test_signed_rank </item>
+            <item> test_variance </item>
+            <item> test_variance_ratio </item>
+            <item> tex </item>
+            <item> texput </item>
+            <item> %th </item>
+            <item> third </item>
+            <item> throw </item>
+            <item> time </item>
+            <item> timedate </item>
+            <item> timer </item>
+            <item> timer_info </item>
+            <item> tldefint </item>
+            <item> tlimit </item>
+            <item> todd_coxeter </item>
+            <item> toeplitz </item>
+            <item> tokens </item>
+            <item> to_lisp </item>
+            <item> topological_sort </item>
+            <item> totaldisrep </item>
+            <item> totalfourier </item>
+            <item> totient </item>
+            <item> tpartpol </item>
+            <item> trace </item>
+            <item> tracematrix </item>
+            <item> trace_options </item>
+            <item> translate </item>
+            <item> translate_file </item>
+            <item> transpose </item>
+            <item> tree_reduce </item>
+            <item> treillis </item>
+            <item> treinat </item>
+            <item> triangularize </item>
+            <item> trigexpand </item>
+            <item> trigrat </item>
+            <item> trigreduce </item>
+            <item> trigsimp </item>
+            <item> trunc </item>
+            <item> tr_warnings_get </item>
+            <item> ueivects </item>
+            <item> uforget </item>
+            <item> ultraspherical </item>
+            <item> underlying_graph </item>
+            <item> undiff </item>
+            <item> union </item>
+            <item> unique </item>
+            <item> uniteigenvectors </item>
+            <item> unit_step </item>
+            <item> unitvector </item>
+            <item> unknown </item>
+            <item> unorder </item>
+            <item> unsum </item>
+            <item> untellrat </item>
+            <item> untimer </item>
+            <item> untrace </item>
+            <item> uppercasep </item>
+            <item> uricci </item>
+            <item> uriemann </item>
+            <item> uvect </item>
+            <item> vandermonde_matrix </item>
+            <item> var </item>
+            <item> var1 </item>
+            <item> var_bernoulli </item>
+            <item> var_beta </item>
+            <item> var_binomial </item>
+            <item> var_chi2 </item>
+            <item> var_continuous_uniform </item>
+            <item> var_discrete_uniform </item>
+            <item> var_exp </item>
+            <item> var_f </item>
+            <item> var_gamma </item>
+            <item> var_geometric </item>
+            <item> var_gumbel </item>
+            <item> var_hypergeometric </item>
+            <item> var_laplace </item>
+            <item> var_logistic </item>
+            <item> var_lognormal </item>
+            <item> var_negative_binomial </item>
+            <item> var_normal </item>
+            <item> var_pareto </item>
+            <item> var_poisson </item>
+            <item> var_rayleigh </item>
+            <item> var_student_t </item>
+            <item> var_weibull </item>
+            <item> vectorpotential </item>
+            <item> vectorsimp </item>
+            <item> verbify </item>
+            <item> vers </item>
+            <item> vertex_coloring </item>
+            <item> vertex_degree </item>
+            <item> vertex_distance </item>
+            <item> vertex_eccentricity </item>
+            <item> vertex_in_degree </item>
+            <item> vertex_out_degree </item>
+            <item> vertices </item>
+            <item> vertices_to_cycle </item>
+            <item> vertices_to_path </item>
+            <item> weyl </item>
+            <item> wheel_graph </item>
+            <item> with_stdout </item>
+            <item> write_data </item>
+            <item> writefile </item>
+            <item> wronskian </item>
+            <item> xgraph_curves </item>
+            <item> xreduce </item>
+            <item> xthru </item>
+            <item> Zeilberger </item>
+            <item> zeroequiv </item>
+            <item> zerofor </item>
+            <item> zeromatrix </item>
+            <item> zeromatrixp </item>
+            <item> zeta </item>
+            <item> zlange </item>
+        </list>
+
+        <list name="MaximaVariable">
+            <item> _ </item>
+            <item> __ </item>
+            <item> % </item>
+            <item> %% </item>
+            <item> absboxchar </item>
+            <item> activecontexts </item>
+            <item> additive </item>
+            <item> algebraic </item>
+            <item> algepsilon </item>
+            <item> algexact </item>
+            <item> aliases </item>
+            <item> all_dotsimp_denoms </item>
+            <item> allbut </item>
+            <item> allsym </item>
+            <item> arrays </item>
+            <item> askexp </item>
+            <item> assume_pos </item>
+            <item> assume_pos_pred </item>
+            <item> assumescalar </item>
+            <item> atomgrad </item>
+            <item> backsubst </item>
+            <item> berlefact </item>
+            <item> besselexpand </item>
+            <item> bftorat </item>
+            <item> bftrunc </item>
+            <item> boxchar </item>
+            <item> breakup </item>
+            <item> cauchysum </item>
+            <item> cflength </item>
+            <item> cframe_flag </item>
+            <item> cnonmet_flag </item>
+            <item> context </item>
+            <item> contexts </item>
+            <item> cosnpiflag </item>
+            <item> ctaypov </item>
+            <item> ctaypt </item>
+            <item> ctayswitch </item>
+            <item> ctayvar </item>
+            <item> ct_coords </item>
+            <item> ctorsion_flag </item>
+            <item> ctrgsimp </item>
+            <item> current_let_rule_package </item>
+            <item> debugmode </item>
+            <item> default_let_rule_package </item>
+            <item> demoivre </item>
+            <item> dependencies </item>
+            <item> derivabbrev </item>
+            <item> derivsubst </item>
+            <item> detout </item>
+            <item> diagmetric </item>
+            <item> dim </item>
+            <item> dispflag </item>
+            <item> display2d </item>
+            <item> display_format_internal </item>
+            <item> doallmxops </item>
+            <item> domain </item>
+            <item> domxexpt </item>
+            <item> domxmxops </item>
+            <item> domxnctimes </item>
+            <item> dontfactor </item>
+            <item> doscmxops </item>
+            <item> doscmxplus </item>
+            <item> dot0nscsimp </item>
+            <item> dot0simp </item>
+            <item> dot1simp </item>
+            <item> dotassoc </item>
+            <item> dotconstrules </item>
+            <item> dotdistrib </item>
+            <item> dotexptsimp </item>
+            <item> dotident </item>
+            <item> dotscrules </item>
+            <item> draw_graph_program </item>
+            <item> %edispflag </item>
+            <item> %emode </item>
+            <item> %enumer </item>
+            <item> epsilon_lp </item>
+            <item> erfflag </item>
+            <item> error </item>
+            <item> error_size </item>
+            <item> error_syms </item>
+            <item> %e_to_numlog </item>
+            <item> evflag </item>
+            <item> evfun </item>
+            <item> expandwrt_denom </item>
+            <item> expon </item>
+            <item> exponentialize </item>
+            <item> expop </item>
+            <item> exptdispflag </item>
+            <item> exptisolate </item>
+            <item> exptsubst </item>
+            <item> facexpand </item>
+            <item> factlim </item>
+            <item> factorflag </item>
+            <item> file_output_append </item>
+            <item> file_search_demo </item>
+            <item> file_search_lisp </item>
+            <item> file_search_maxima </item>
+            <item> find_root_abs </item>
+            <item> find_root_error </item>
+            <item> find_root_rel </item>
+            <item> flipflag </item>
+            <item> float2bf </item>
+            <item> fortindent </item>
+            <item> fortspaces </item>
+            <item> fpprec </item>
+            <item> fpprintprec </item>
+            <item> functions </item>
+            <item> gammalim </item>
+            <item> gdet </item>
+            <item> genindex </item>
+            <item> gensumnum </item>
+            <item> GGFCFMAX </item>
+            <item> GGFINFINITY </item>
+            <item> globalsolve </item>
+            <item> gradefs </item>
+            <item> grind </item>
+            <item> halfangles </item>
+            <item> %iargs </item>
+            <item> ibase </item>
+            <item> icounter </item>
+            <item> idummyx </item>
+            <item> ieqnprint </item>
+            <item> iframe_bracket_form </item>
+            <item> igeowedge_flag </item>
+            <item> imetric </item>
+            <item> inchar </item>
+            <item> infeval </item>
+            <item> inflag </item>
+            <item> infolists </item>
+            <item> in_netmath </item>
+            <item> integrate_use_rootsof </item>
+            <item> integration_constant </item>
+            <item> integration_constant_counter </item>
+            <item> intfaclim </item>
+            <item> isolate_wrt_times </item>
+            <item> keepfloat </item>
+            <item> labels </item>
+            <item> letrat </item>
+            <item> let_rule_packages </item>
+            <item> lhospitallim </item>
+            <item> limsubst </item>
+            <item> linechar </item>
+            <item> linel </item>
+            <item> linenum </item>
+            <item> linsolve_params </item>
+            <item> linsolvewarn </item>
+            <item> lispdisp </item>
+            <item> listarith </item>
+            <item> listconstvars </item>
+            <item> listdummyvars </item>
+            <item> lmxchar </item>
+            <item> loadprint </item>
+            <item> logabs </item>
+            <item> logarc </item>
+            <item> logconcoeffp </item>
+            <item> logexpand </item>
+            <item> lognegint </item>
+            <item> lognumer </item>
+            <item> logsimp </item>
+            <item> m1pbranch </item>
+            <item> macroexpansion </item>
+            <item> maperror </item>
+            <item> mapprint </item>
+            <item> matrix_element_add </item>
+            <item> matrix_element_mult </item>
+            <item> matrix_element_transpose </item>
+            <item> maxapplydepth </item>
+            <item> maxapplyheight </item>
+            <item> maxima_tempdir </item>
+            <item> maxima_userdir </item>
+            <item> maxnegex </item>
+            <item> maxposex </item>
+            <item> maxpsifracdenom </item>
+            <item> maxpsifracnum </item>
+            <item> maxpsinegint </item>
+            <item> maxpsiposint </item>
+            <item> maxtayorder </item>
+            <item> method </item>
+            <item> mode_check_errorp </item>
+            <item> mode_checkp </item>
+            <item> mode_check_warnp </item>
+            <item> modulus </item>
+            <item> multiplicities </item>
+            <item> myoptions </item>
+            <item> negdistrib </item>
+            <item> negsumdispflag </item>
+            <item> newtonepsilon </item>
+            <item> newtonmaxiter </item>
+            <item> niceindicespref </item>
+            <item> nolabels </item>
+            <item> nonegative_lp </item>
+            <item> noundisp </item>
+            <item> obase </item>
+            <item> opproperties </item>
+            <item> opsubst </item>
+            <item> optimprefix </item>
+            <item> optionset </item>
+            <item> outchar </item>
+            <item> packagefile </item>
+            <item> partswitch </item>
+            <item> pfeformat </item>
+            <item> %piargs </item>
+            <item> piece </item>
+            <item> plot_options </item>
+            <item> poislim </item>
+            <item> poly_coefficient_ring </item>
+            <item> poly_elimination_order </item>
+            <item> poly_grobner_algorithm </item>
+            <item> poly_grobner_debug </item>
+            <item> poly_monomial_order </item>
+            <item> poly_primary_elimination_order </item>
+            <item> poly_return_term_list </item>
+            <item> poly_secondary_elimination_order </item>
+            <item> poly_top_reduction_only </item>
+            <item> powerdisp </item>
+            <item> prederror </item>
+            <item> primep_number_of_tests </item>
+            <item> product_use_gamma </item>
+            <item> programmode </item>
+            <item> prompt </item>
+            <item> psexpand </item>
+            <item> radexpand </item>
+            <item> radsubstflag </item>
+            <item> random_beta_algorithm </item>
+            <item> random_binomial_algorithm </item>
+            <item> random_chi2_algorithm </item>
+            <item> random_exp_algorithm </item>
+            <item> random_f_algorithm </item>
+            <item> random_gamma_algorithm </item>
+            <item> random_geometric_algorithm </item>
+            <item> random_hypergeometric_algorithm </item>
+            <item> random_negative_binomial_algorithm </item>
+            <item> random_normal_algorithm </item>
+            <item> random_poisson_algorithm </item>
+            <item> random_student_t_algorithm </item>
+            <item> ratalgdenom </item>
+            <item> ratchristof </item>
+            <item> ratdenomdivide </item>
+            <item> rateinstein </item>
+            <item> ratepsilon </item>
+            <item> ratexpand </item>
+            <item> ratfac </item>
+            <item> ratmx </item>
+            <item> ratprint </item>
+            <item> ratriemann </item>
+            <item> ratsimpexpons </item>
+            <item> ratvars </item>
+            <item> ratweights </item>
+            <item> ratweyl </item>
+            <item> ratwtlvl </item>
+            <item> realonly </item>
+            <item> refcheck </item>
+            <item> rmxchar </item>
+            <item> %rnum_list </item>
+            <item> rombergabs </item>
+            <item> rombergit </item>
+            <item> rombergmin </item>
+            <item> rombergtol </item>
+            <item> rootsconmode </item>
+            <item> rootsepsilon </item>
+            <item> savedef </item>
+            <item> savefactors </item>
+            <item> scalarmatrixp </item>
+            <item> setcheck </item>
+            <item> setcheckbreak </item>
+            <item> setval </item>
+            <item> showtime </item>
+            <item> simplify_products </item>
+            <item> simpsum </item>
+            <item> sinnpiflag </item>
+            <item> solvedecomposes </item>
+            <item> solveexplicit </item>
+            <item> solvefactors </item>
+            <item> solve_inconsistent_error </item>
+            <item> solvenullwarn </item>
+            <item> solveradcan </item>
+            <item> solvetrigwarn </item>
+            <item> sparse </item>
+            <item> sqrtdispflag </item>
+            <item> stardisp </item>
+            <item> stats_numer </item>
+            <item> stringdisp </item>
+            <item> sublis_apply_lambda </item>
+            <item> sumexpand </item>
+            <item> sumsplitfact </item>
+            <item> taylordepth </item>
+            <item> taylor_logexpand </item>
+            <item> taylor_order_coefficients </item>
+            <item> taylor_truncate_polynomials </item>
+            <item> tensorkill </item>
+            <item> testsuite_files </item>
+            <item> timer_devalue </item>
+            <item> tlimswitch </item>
+            <item> transcompile </item>
+            <item> transrun </item>
+            <item> tr_array_as_ref </item>
+            <item> tr_bound_function_applyp </item>
+            <item> tr_file_tty_messagesp </item>
+            <item> tr_float_can_branch_complex </item>
+            <item> tr_function_call_default </item>
+            <item> trigexpandplus </item>
+            <item> trigexpandtimes </item>
+            <item> triginverses </item>
+            <item> trigsign </item>
+            <item> tr_numer </item>
+            <item> tr_optimize_max_loop </item>
+            <item> tr_semicompile </item>
+            <item> tr_state_vars </item>
+            <item> tr_warn_bad_function_calls </item>
+            <item> tr_warn_fexpr </item>
+            <item> tr_warn_meval </item>
+            <item> tr_warn_mode </item>
+            <item> tr_warn_undeclared </item>
+            <item> tr_warn_undefined_variable </item>
+            <item> tr_windy </item>
+            <item> ttyoff </item>
+            <item> use_fast_arrays </item>
+            <item> values </item>
+            <item> vect_cross </item>
+            <item> verbose </item>
+            <item> zerobern </item>
+            <item> zeta%pi </item>
+        </list>
+
+<!-- Should quoted symbols be highlighted? (Now they aren't) -->
+
+        <contexts>
+            <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
+                <keyword attribute="Function" String="MaximaFunction"/>
+                <keyword attribute="Variable" String="MaximaVariable"/>
+                <keyword attribute="Keyword" String="MaximaKeyword"/>
+                <DetectChar attribute="String" context="String" char="&quot;"/>
+                <Detect2Chars attribute="Comment" context="Comment" char="/" char1="*" beginRegion="comment"/>
+                <RegExpr attribute="Label" String="[a-zA-Z_][a-zA-Z0-9%_]*"/>
+                <RegExpr attribute="Float" String="[-+]?\d+\.\d*([BbDdEeSs][-+]?\d+)?"/>
+                <RegExpr attribute="Float" String="[-+]?\.\d+([BbDdEeSs][-+]?\d+)?"/>
+                <RegExpr attribute="Float" String="[-+]?\d+[BbDdEeSs][-+]?\d+"/>
+                <RegExpr attribute="Integer" String="[-+]?\d+"/>
+                <DetectChar attribute="Quote" char="'"/>
+            </context>
+            <context attribute="String" lineEndContext="#stay" name="String" >
+                <DetectChar attribute="String" context="#pop" char="&quot;"/>
+            </context>
+
+            <context attribute="Comment" lineEndContext="#stay" name="Comment">
+                <keyword attribute="Special" String="SpecialComment"/>
+                <DetectSpaces/>
+                <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment"/>
+            </context>
+        </contexts>
+
+        <itemDatas>
+            <itemData name="Normal Text" defStyleNum="dsNormal"/>
+            <itemData name="Keyword" defStyleNum="dsKeyword" bold="true"/>
+            <itemData name="Variable" defStyleNum="dsVariable" italic="true"/>
+            <itemData name="String" defStyleNum="dsString"/>
+            <itemData name="Function" defStyleNum="dsFunction"/>
+            <itemData name="Label" defStyleNum="dsConstant"/>
+            <itemData name="Integer" defStyleNum="dsDecVal"/>
+            <itemData name="Float" defStyleNum="dsFloat"/>
+            <itemData name="Comment" defStyleNum="dsComment"/>
+            <itemData name="Quote" defStyleNum="dsDocumentation" bold="true"/>
+            <itemData name="Special" defStyleNum="dsSpecialString" bold="true" />
+        </itemDatas>
+
+    </highlighting>
+
+    <general>
+        <comments>
+            <comment name="multiLine" start="/*" end="*/"/>
+        </comments>
+        <keywords casesensitive="true" weakDeliminator="%" additionalDeliminator="@#"/>
+    </general>
+
+</language>
diff --git a/xml/mediawiki.xml b/xml/mediawiki.xml
new file mode 100644
--- /dev/null
+++ b/xml/mediawiki.xml
@@ -0,0 +1,623 @@
+<?xml version = '1.0' encoding = 'UTF-8'?>
+<!DOCTYPE language SYSTEM "language.dtd" [
+  <!ENTITY url          "(http:|https:|ftp:|mailto:)[^]| ]*(?=$|[]|\s])">
+  <!ENTITY htmlTagName  "(?![0-9])[\w_:][\w.:_-]*">
+  <!ENTITY htmlEntity   "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&htmlTagName;);">
+  <!ENTITY wikiLinkWithDescription "\[\[[^]|]*\|[^]]*\]\]">
+  <!ENTITY wikiLinkWithoutDescription "\[\[[^]|]*\]\]">
+]>
+<language name="MediaWiki" section="Markup" version="3" kateversion="3.4" extensions="*.mediawiki" mimetype="" license="FDL" >
+  <highlighting>
+    <contexts>
+      <context attribute="Normal" lineEndContext="#stay" name="normal" >
+        <StringDetect String="&lt;!--" context="comment" attribute="Comment" beginRegion="comment" />
+        <RegExpr String="[=]{5,5}(?!=)" context="Section5" attribute="Section" column="0" />
+        <RegExpr String="[=]{4,4}(?!=)" context="Section4" attribute="Section" column="0" />
+        <RegExpr String="[=]{3,3}(?!=)" context="Section3" attribute="Section" column="0" />
+        <RegExpr String="[=]{2,2}(?!=)" context="Section2" attribute="Section" column="0" />
+        <RegExpr String="[~]{3,4}" attribute="WikiTag" context="#stay" />
+        <DetectChar char=";" attribute="WikiTag" context="DefinitionListHeader" column="0" />
+        <IncludeRules context="FindListItem" />
+        <IncludeRules context="FindUrl" />
+        <IncludeRules context="FindTextDecorations" />
+        <IncludeRules context="FindTable" />
+        <StringDetect String="{{{" context="TemplateParameter" attribute="WikiTag" />
+        <IncludeRules context="FindTemplate" />
+        <IncludeRules context="FindWikiLink" />
+        <IncludeRules context="FindHtmlEntities" />
+        <StringDetect String="&lt;nowiki&gt;" context="NoWiki" attribute="WikiTag" />
+        <StringDetect String="&lt;pre&gt;" context="Pre" attribute="HtmlTag" />
+        <IncludeRules context="FindSyntaxHighlightingHtmlElement" />
+        <RegExpr String="[&lt;][^&gt;]+[&gt;]" attribute="HtmlTag" context="#stay" />
+        <RegExpr String="[\s]" context="Unformatted" column="0" />
+      </context>
+      <context name="TableHeader" attribute="Normal" lineEndContext="TableContent" >
+        <Detect2Chars char="{" char1="|" attribute="WikiTag" beginRegion="table" />
+        <IncludeRules context="FindHtmlStartTagAttributes" />
+      </context>
+      <context name="TableContent" attribute="Normal" lineEndContext="#stay">
+        <StringDetect String="&lt;!--" context="comment" attribute="Comment" />
+        <RegExpr String="[=]{5,5}(?!=)" context="Section5" attribute="Section" column="0" />
+        <RegExpr String="[=]{4,4}(?!=)" context="Section4" attribute="Section" column="0" />
+        <RegExpr String="[=]{3,3}(?!=)" context="Section3" attribute="Section" column="0" />
+        <RegExpr String="[=]{2,2}(?!=)" context="Section2" attribute="Section" column="0" />
+        <DetectChar char=";" attribute="WikiTag" context="DefinitionListHeader" column="0" />
+        <IncludeRules context="FindListItem" />
+        <IncludeRules context="FindUrl" />
+        <IncludeRules context="FindTextDecorations" />
+        <IncludeRules context="FindTable" />
+        <Detect2Chars char="|" char1="}" column="0" attribute="WikiTag" context="#pop#pop" endRegion="table" />
+        <Detect2Chars char="|" char1="-" column="0" attribute="WikiTag" />
+        <DetectChar char="|" attribute="WikiTag" context="#stay"/>
+        <StringDetect String="{{{" context="TemplateParameter" attribute="WikiTag" />
+        <IncludeRules context="FindTemplate" />
+        <IncludeRules context="FindWikiLink" />
+        <IncludeRules context="FindHtmlEntities" />
+        <StringDetect String="&lt;nowiki&gt;" context="NoWiki" attribute="WikiTag" />
+        <StringDetect String="&lt;pre&gt;" context="Pre" attribute="HtmlTag" />
+        <IncludeRules context="FindSyntaxHighlightingHtmlElement" />
+        <RegExpr String="[&lt;][^&gt;]+[&gt;]" attribute="HtmlTag" context="#stay" />
+        <RegExpr String="[\s]" context="Unformatted" column="0" />
+        <RegExpr String="[~]{3,4}" attribute="WikiTag" context="#stay" />
+        <RegExpr String="[-]{4,}" attribute="WikiTag" context="#stay" />
+        <DetectChar char="!" attribute="WikiTag" context="#stay" column="0" />
+      </context>
+      <context attribute="Section" lineEndContext="#pop" name="Section5" >
+        <StringDetect String="&lt;!--" context="comment" attribute="Comment" beginRegion="comment" />
+        <RegExpr String="[~]{3,4}" attribute="WikiTag" context="#stay" />
+        <IncludeRules context="FindUrl" />
+        <IncludeRules context="FindTextDecorationsInHeader" />
+        <StringDetect String="{{{" context="TemplateParameter" attribute="WikiTag" />
+        <IncludeRules context="FindTemplate" />
+        <IncludeRules context="FindWikiLink" />
+        <IncludeRules context="FindHtmlEntities" />
+        <StringDetect String="&lt;nowiki&gt;" context="NoWiki" attribute="HtmlTag" />
+        <StringDetect String="&lt;pre&gt;" context="Pre" attribute="HtmlTag" />
+        <IncludeRules context="FindSyntaxHighlightingHtmlElement" />
+        <RegExpr String="[&lt;][^&gt;]+[&gt;]" attribute="HtmlTag" context="#stay" />
+        <RegExpr String="={6,} *$" context="#pop" attribute="Normal" />
+        <RegExpr String="={5,5} *$" context="#pop" attribute="Section" />
+        <RegExpr String="={1,4} *$" context="#pop" attribute="Normal" />
+        <RegExpr String="={1,4} *$" context="#pop" attribute="Normal" />
+        <RegExpr String="=*[^=]+$" context="#pop" attribute="Normal" />
+      </context>
+      <context attribute="Section" lineEndContext="#pop" name="Section4" >
+        <StringDetect String="&lt;!--" context="comment" attribute="Comment" beginRegion="comment" />
+        <RegExpr String="[~]{3,4}" attribute="WikiTag" context="#stay" />
+        <IncludeRules context="FindUrl" />
+        <IncludeRules context="FindTextDecorationsInHeader" />
+        <StringDetect String="{{{" context="TemplateParameter" attribute="WikiTag" />
+        <IncludeRules context="FindTemplate" />
+        <IncludeRules context="FindWikiLink" />
+        <IncludeRules context="FindHtmlEntities" />
+        <StringDetect String="&lt;nowiki&gt;" context="NoWiki" attribute="HtmlTag" />
+        <StringDetect String="&lt;pre&gt;" context="Pre" attribute="HtmlTag" />
+        <IncludeRules context="FindSyntaxHighlightingHtmlElement" />
+        <RegExpr String="[&lt;][^&gt;]+[&gt;]" attribute="HtmlTag" context="#stay" />
+        <RegExpr String="={5,} *$" context="#pop" attribute="Normal" />
+        <RegExpr String="={4,4} *$" context="#pop" attribute="Section" />
+        <RegExpr String="={1,3} *$" context="#pop" attribute="Normal" />
+        <RegExpr String="=*[^=]+$" context="#pop" attribute="Normal" />
+      </context>
+      <context attribute="Section" lineEndContext="#pop" name="Section3" >
+        <StringDetect String="&lt;!--" context="comment" attribute="Comment" beginRegion="comment" />
+        <RegExpr String="[~]{3,4}" attribute="WikiTag" context="#stay" />
+        <IncludeRules context="FindUrl" />
+        <IncludeRules context="FindTextDecorationsInHeader" />
+        <StringDetect String="{{{" context="TemplateParameter" attribute="WikiTag" />
+        <IncludeRules context="FindTemplate" />
+        <IncludeRules context="FindWikiLink" />
+        <IncludeRules context="FindHtmlEntities" />
+        <StringDetect String="&lt;nowiki&gt;" context="NoWiki" attribute="HtmlTag" />
+        <StringDetect String="&lt;pre&gt;" context="Pre" attribute="HtmlTag" />
+        <IncludeRules context="FindSyntaxHighlightingHtmlElement" />
+        <RegExpr String="[&lt;][^&gt;]+[&gt;]" attribute="HtmlTag" context="#stay" />
+        <RegExpr String="={4,} *$" context="#pop" attribute="Normal" />
+        <RegExpr String="={3,3} *$" context="#pop" attribute="Section" />
+        <RegExpr String="={1,2} *$" context="#pop" attribute="Normal" />
+        <RegExpr String="=*[^=]+$" context="#pop" attribute="Normal" />
+      </context>
+      <context attribute="Section" lineEndContext="#pop" name="Section2" >
+        <StringDetect String="&lt;!--" context="comment" attribute="Comment" beginRegion="comment" />
+        <RegExpr String="[~]{3,4}" attribute="WikiTag" context="#stay" />
+        <IncludeRules context="FindUrl" />
+        <IncludeRules context="FindTextDecorationsInHeader" />
+        <StringDetect String="{{{" context="TemplateParameter" attribute="WikiTag" />
+        <IncludeRules context="FindTemplate" />
+        <IncludeRules context="FindWikiLink" />
+        <IncludeRules context="FindHtmlEntities" />
+        <StringDetect String="&lt;nowiki&gt;" context="NoWiki" attribute="HtmlTag" />
+        <StringDetect String="&lt;pre&gt;" context="Pre" attribute="HtmlTag" />
+        <IncludeRules context="FindSyntaxHighlightingHtmlElement" />
+        <RegExpr String="[&lt;][^&gt;]+[&gt;]" attribute="HtmlTag" context="#stay" />
+        <RegExpr String="={3,} *$" context="#pop" attribute="Normal" />
+        <RegExpr String="={2,2} *$" context="#pop" attribute="Section" />
+        <RegExpr String="={1,1} *$" context="#pop" attribute="Normal" />
+        <RegExpr String="=*[^=]+$" context="#pop" attribute="Normal" />
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="comment" >
+        <StringDetect String="--&gt;" context="#pop" attribute="Comment" endRegion="comment" />
+      </context>
+      <context attribute="Link" lineEndContext="#stay" name="DelimitedURL" >
+        <DetectChar char="]" context="#pop" attribute="WikiTag" />
+        <DetectChar char="[" context="#stay" attribute="WikiTag" />
+        <RegExpr String="&url;" context="DelimitedUrlLink" lookAhead="true" />
+        <DetectChar char=" " context="URLTag" attribute="WikiTag" />
+      </context>
+      <context attribute="Link" lineEndContext="#stay" name="DelimitedUrlLink" >
+        <IncludeRules context="FindTemplate" />
+        <DetectChar char=" " context="#pop" lookAhead="true" />
+        <DetectChar char="]" context="#pop" lookAhead="true" />
+      </context>
+
+      <context attribute="Link" lineEndContext="#pop" name="LooseURL" >
+        <IncludeRules context="FindTemplate" />
+        <DetectChar char=" " context="#pop" attribute="WikiTag" />
+      </context>
+      <context attribute="Link" lineEndContext="#pop" name="LooseURLWithinTemplate" >
+        <IncludeRules context="FindTemplate" />
+        <Detect2Chars char="}" char1="}" context="#pop" lookAhead="true" />
+        <DetectChar char=" " context="#pop" attribute="WikiTag" />
+      </context>
+
+      <context attribute="dsNormal" lineEndContext="#stay" name="URLTag" >
+        <IncludeRules context="FindTextDecorations" />
+        <IncludeRules context="FindTemplate" />
+        <DetectChar char="]" context="#pop" lookAhead="true" />
+      </context>
+
+      <context name="WikiLinkWithoutDescriptionRules" attribute="Normal" lineEndContext="#stay" >
+        <IncludeRules context="FindTemplate" />
+        <IncludeRules context="FindHtmlEntities" />
+        <Detect2Chars char="[" char1="[" attribute="WikiTag" />
+        <Detect2Chars char="]" char1="]" context="#pop" attribute="WikiTag" />
+      </context>
+      <context name="WikiLinkWithDescriptionRules" attribute="Normal" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithoutDescriptionRules" />
+        <DetectChar char="#" attribute="WikiTag" />
+      </context>
+      <context name="WikiLink" attribute="Link" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithDescriptionRules" />
+        <DetectChar char="|" attribute="WikiTag" context="WikiLinkDescription" />
+      </context>
+      <context name="WikiLinkBoldWithDescription" attribute="Link" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithDescriptionRules" />
+        <DetectChar char="|" attribute="WikiTag" context="WikiLinkDescriptionBold" />
+      </context>
+      <context name="WikiLinkBoldWithoutDescription" attribute="LinkBold" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithoutDescriptionRules" />
+        <DetectChar char="#" attribute="WikiTagBold" />
+      </context>
+      <context name="WikiLinkItalicWithDescription" attribute="Link" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithDescriptionRules" />
+        <DetectChar char="|" attribute="WikiTag" context="WikiLinkDescriptionItalic" />
+      </context>
+      <context name="WikiLinkItalicWithoutDescription" attribute="LinkItalic" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithoutDescriptionRules" />
+        <DetectChar char="#" attribute="WikiTagItalic" />
+      </context>
+      <context name="WikiLinkUnderlinedWithDescription" attribute="Link" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithDescriptionRules" />
+        <DetectChar char="|" attribute="WikiTag" context="WikiLinkDescriptionUnderlined" />
+      </context>
+      <context name="WikiLinkUnderlinedWithoutDescription" attribute="LinkUnderlined" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithoutDescriptionRules" />
+        <DetectChar char="#" attribute="WikiTagUnderlined" />
+      </context>
+      <context name="WikiLinkBoldItalicWithDescription" attribute="Link" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithDescriptionRules" />
+        <DetectChar char="|" attribute="WikiTag" context="WikiLinkDescriptionBoldItalic" />
+      </context>
+      <context name="WikiLinkBoldItalicWithoutDescription" attribute="LinkBoldItalic" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithoutDescriptionRules" />
+        <DetectChar char="#" attribute="WikiTagBoldItalic" />
+      </context>
+      <context name="WikiLinkBoldUnderlinedWithDescription" attribute="Link" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithDescriptionRules" />
+        <DetectChar char="|" attribute="WikiTag" context="WikiLinkDescriptionBoldUnderlined" />
+      </context>
+      <context name="WikiLinkBoldUnderlinedWithoutDescription" attribute="LinkBoldUnderlined" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithoutDescriptionRules" />
+        <DetectChar char="#" attribute="WikiTagBoldUnderlined" />
+      </context>
+      <context name="WikiLinkItalicUnderlinedWithDescription" attribute="Link" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithDescriptionRules" />
+        <DetectChar char="|" attribute="WikiTag" context="WikiLinkDescriptionItalicUnderlined" />
+      </context>
+      <context name="WikiLinkItalicUnderlinedWithoutDescription" attribute="LinkItalicUnderlined" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithoutDescriptionRules" />
+        <DetectChar char="#" attribute="WikiTagItalicUnderlined" />
+      </context>
+      <context name="WikiLinkBoldItalicUnderlinedWithDescription" attribute="Link" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkWithDescriptionRules" />
+        <DetectChar char="|" attribute="WikiTag" context="WikiLinkDescriptionBoldItalicUnderlined" />
+      </context>
+      <context name="WikiLinkBoldItalicUnderlinedWithoutDescription" attribute="LinkBoldItalicUnderlined" lineEndContext="#stay" >
+        <DetectChar char="#" attribute="WikiTagBoldItalicUnderlined" />
+        <IncludeRules context="WikiLinkWithoutDescriptionRules" />
+      </context>
+
+      <context name="WikiLinkDescriptionRules" attribute="Normal" lineEndContext="#stay">
+        <IncludeRules context="FindTemplate" />
+        <IncludeRules context="FindHtmlEntities" />
+        <Detect2Chars char="]" char1="]" context="#pop" attribute="WikiTag" lookAhead="true" />
+      </context>
+      <context name="WikiLinkDescription" attribute="Normal" lineEndContext="#stay">
+        <IncludeRules context="WikiLinkDescriptionRules" />
+        <IncludeRules context="FindTextDecorations" />
+      </context>
+      <context name="WikiLinkDescriptionBold" attribute="Bold" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkDescriptionRules" />
+        <StringDetect String="''" context="BoldItalic" attribute="WikiTag" />
+        <RegExpr String="&lt;u *&gt;" attribute="HtmlTag" context="BoldUnderlined" />
+      </context>
+      <context name="WikiLinkDescriptionItalic" attribute="Italic" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkDescriptionRules" />
+        <StringDetect String="'''" attribute="WikiTag" context="ItalicBold" />
+        <RegExpr String="&lt;u *&gt;" attribute="HtmlTag" context="ItalicUnderlined" />
+      </context>
+      <context name="WikiLinkDescriptionUnderlined" attribute="Underlined" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkDescriptionRules" />
+        <StringDetect String="'''" context="UnderlinedBold" attribute="WikiTag" />
+        <StringDetect String="''" context="UnderlinedItalic" attribute="WikiTag" />
+      </context>
+      <context name="WikiLinkDescriptionBoldItalic" attribute="BoldItalic" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkDescriptionRules" />
+        <RegExpr String="&lt;u *&gt;" attribute="HtmlTag" context="BoldItalicUnderlined" />
+      </context>
+      <context name="WikiLinkDescriptionBoldUnderlined" attribute="BoldUnderlined" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkDescriptionRules" />
+        <StringDetect String="''" context="BoldUnderlinedItalic" attribute="WikiTag" />
+      </context>
+      <context name="WikiLinkDescriptionItalicUnderlined" attribute="ItalicUnderlined" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkDescriptionRules" />
+        <StringDetect String="'''" context="ItalicUnderlinedBold" attribute="WikiTag" />
+      </context>
+      <context name="WikiLinkDescriptionBoldItalicUnderlined" attribute="BoldItalicUnderlined" lineEndContext="#stay" >
+        <IncludeRules context="WikiLinkDescriptionRules" />
+      </context>
+
+      <context attribute="TemplateName" lineEndContext="#stay" name="Template" >
+        <StringDetect String="|" context="TemplateParameterSlot" attribute="WikiTag" />
+        <Detect2Chars char="}" char1="}" context="#pop" attribute="WikiTag" endRegion="template" />
+      </context>
+      <context attribute="Normal" lineEndContext="#stay" name="TemplateParameterSlot" >
+        <Detect2Chars char="}" char1="}" context="#pop" attribute="WikiTag" lookAhead="true" />
+        <StringDetect String="&lt;!--" context="comment" attribute="Comment" beginRegion="comment" />
+        <RegExpr String="[~]{3,4}" attribute="WikiTag" context="#stay" />
+        <IncludeRules context="FindListItem" />
+        <IncludeRules context="FindUrlWithinTemplate" />
+        <IncludeRules context="FindTextDecorations" />
+        <StringDetect String="{{{" context="TemplateParameter" attribute="WikiTag" />
+        <IncludeRules context="FindTemplate" />
+        <IncludeRules context="FindWikiLink" />
+        <IncludeRules context="FindHtmlEntities" />
+        <StringDetect String="&lt;nowiki&gt;" context="NoWiki" attribute="HtmlTag" />
+        <StringDetect String="&lt;pre&gt;" context="Pre" attribute="HtmlTag" />
+        <IncludeRules context="FindSyntaxHighlightingHtmlElement" />
+        <RegExpr String="[&lt;][^&gt;]+[&gt;]" attribute="HtmlTag" context="#stay" />
+        <StringDetect String="|" context="#pop" attribute="WikiTag" lookAhead="true" />
+        <RegExpr String="[^{}|=]+(?=[=])" attribute="Parameter" context="TemplateParameterSlotEqual" />
+      </context>
+      <context attribute="Normal" lineEndContext="#stay" name="TemplateParameterSlotEqual" >
+        <Detect2Chars char="}" char1="}" context="#pop" attribute="WikiTag" lookAhead="true" />
+        <StringDetect String="|" context="#pop" attribute="WikiTag" lookAhead="true" />
+        <StringDetect String="=" context="TemplateParameterSlotValue" attribute="WikiTag" />
+      </context>
+      <context attribute="Normal" lineEndContext="#stay" name="TemplateParameterSlotValue" >
+        <StringDetect String="&lt;!--" context="comment" attribute="Comment" beginRegion="comment" />
+        <RegExpr String="[~]{3,4}" attribute="WikiTag" context="#stay" />
+        <IncludeRules context="FindListItem" />
+        <IncludeRules context="FindUrlWithinTemplate" />
+        <IncludeRules context="FindTextDecorations" />
+        <StringDetect String="{{{" context="TemplateParameter" attribute="WikiTag" />
+        <IncludeRules context="FindTemplate" />
+        <IncludeRules context="FindWikiLink" />
+        <IncludeRules context="FindHtmlEntities" />
+        <StringDetect String="&lt;nowiki&gt;" context="NoWiki" attribute="HtmlTag" />
+        <StringDetect String="&lt;pre&gt;" context="Pre" attribute="HtmlTag" />
+        <IncludeRules context="FindSyntaxHighlightingHtmlElement" />
+        <RegExpr String="[&lt;][^&gt;]+[&gt;]" attribute="HtmlTag" context="#stay" />
+        <Detect2Chars char="}" char1="}" context="#pop" attribute="WikiTag" lookAhead="true" />
+        <StringDetect String="|" context="#pop" attribute="WikiTag" lookAhead="true" />
+      </context>
+      <context attribute="Parameter" lineEndContext="#stay" name="TemplateParameter" >
+        <StringDetect String="}}}" context="#pop" attribute="WikiTag" />
+      </context>
+      <context attribute="NoWiki" lineEndContext="#stay" name="NoWiki" >
+        <RegExpr String="&lt;!--[^-]*--&gt;" attribute="NoWiki" />
+        <StringDetect String="&lt;/nowiki&gt;" context="#pop" attribute="HtmlTag" />
+        <RegExpr String="[&lt;][^&gt;]+[&gt;]" attribute="HtmlTag" context="#stay" />
+        <StringDetect String="&lt;pre&gt;" context="Pre" attribute="HtmlTag" />
+      </context>
+      <context attribute="Unformatted" lineEndContext="#pop" name="Unformatted" />
+      <context attribute="NoWiki" lineEndContext="#stay" name="Pre" >
+        <StringDetect String="&lt;/pre&gt;" context="#pop" attribute="HtmlTag" />
+      </context>
+
+
+
+      <!-- <source> and <syntaxhighlight> tags. -->
+
+      <context name="SourceStartTag" attribute="Normal" lineEndContext="#stay">
+        <RegExpr String="(^|\s+)lang\=(&quot;javascript&quot;|&apos;javascript&apos;)" context="JavaScriptSourceStartTag" lookAhead="true" />
+        <DetectChar attribute="HtmlTag" context="UnsupportedLanguageSourceStartTag" char="&gt;" lookAhead="true" />
+        <IncludeRules context="FindHtmlStartTagAttributes" />
+      </context>
+      <context name="SyntaxHighlightStartTag" attribute="Normal" lineEndContext="#stay">
+        <RegExpr String="(^|\s+)lang\=(&quot;javascript&quot;|&apos;javascript&apos;)" context="JavaScriptSyntaxHighlightStartTag" lookAhead="true" />
+        <DetectChar attribute="HtmlTag" context="UnsupportedLanguageSyntaxHighlightStartTag" char="&gt;" lookAhead="true" />
+        <IncludeRules context="FindHtmlStartTagAttributes" />
+      </context>
+
+
+      <context name="UnsupportedLanguageSourceStartTag" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="HtmlTag" context="UnsupportedLanguageSourceContent" char="&gt;" />
+        <IncludeRules context="FindHtmlStartTagAttributes" />
+      </context>
+      <context name="UnsupportedLanguageSyntaxHighlightStartTag" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="HtmlTag" context="UnsupportedLanguageSyntaxHighlightContent" char="&gt;" />
+        <IncludeRules context="FindHtmlStartTagAttributes" />
+      </context>
+
+      <context name="JavaScriptSourceStartTag" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="HtmlTag" context="JavaScriptSourceContent" char="&gt;" />
+        <IncludeRules context="FindHtmlStartTagAttributes" />
+      </context>
+      <context name="JavaScriptSyntaxHighlightStartTag" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="HtmlTag" context="JavaScriptSyntaxHighlightContent" char="&gt;" />
+        <IncludeRules context="FindHtmlStartTagAttributes" />
+      </context>
+
+
+      <context name="UnsupportedLanguageSourceContent" attribute="NoWiki" lineEndContext="#stay">
+        <IncludeRules context="SourceEnd" />
+      </context>
+      <context name="UnsupportedLanguageSyntaxHighlightContent" attribute="NoWiki" lineEndContext="#stay">
+        <IncludeRules context="SyntaxHighlightEnd" />
+      </context>
+
+      <context name="JavaScriptSourceContent" attribute="NoWiki" lineEndContext="#stay">
+        <IncludeRules context="SourceEnd" />
+        <IncludeRules context="Normal##JavaScript" />
+      </context>
+      <context name="JavaScriptSyntaxHighlightContent" attribute="NoWiki" lineEndContext="#stay">
+        <StringDetect String="&lt;/syntaxhighlight&gt;" context="#pop#pop#pop" attribute="HtmlTag" />
+        <IncludeRules context="SyntaxHighlightEnd" />
+        <IncludeRules context="Normal##JavaScript" />
+      </context>
+
+
+      <context name="SourceEnd" attribute="Normal" lineEndContext="#stay">
+        <StringDetect String="&lt;/source&gt;" context="#pop#pop#pop" attribute="HtmlTag" />
+      </context>
+      <context name="SyntaxHighlightEnd" attribute="Normal" lineEndContext="#stay">
+        <StringDetect String="&lt;/syntaxhighlight&gt;" context="#pop#pop#pop" attribute="HtmlTag" />
+      </context>
+
+
+      <context name="HtmlAttribute" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="HtmlAttribute" context="HtmlValue" char="=" />
+        <RegExpr attribute="Error" context="#stay" String="\S" />
+      </context>
+      <context name="HtmlValue" attribute="Normal" lineEndContext="#stay">
+        <DetectChar attribute="HtmlValue" context="ValueWithDoubleQuotes" char="&quot;" />
+        <DetectChar attribute="HtmlValue" context="ValueWithSingleQuotes" char="&apos;" />
+        <RegExpr attribute="Error" context="#stay" String="\S" />
+      </context>
+      <context name="ValueWithDoubleQuotes" attribute="HtmlValue" lineEndContext="#stay">
+        <DetectChar attribute="HtmlValue" context="#pop#pop#pop" char="&quot;" />
+        <IncludeRules context="FindHtmlEntities" />
+      </context>
+      <context name="ValueWithSingleQuotes" attribute="HtmlValue" lineEndContext="#stay">
+        <DetectChar attribute="HtmlValue" context="#pop#pop#pop" char="&apos;" />
+        <IncludeRules context="FindHtmlEntities" />
+      </context>
+
+
+
+      <context attribute="DefinitionListHeader" lineEndContext="#pop" name="DefinitionListHeader" >
+        <DetectChar char=":" context="#pop" attribute="WikiTag" />
+      </context>
+      <context attribute="Bold" lineEndContext="#pop" name="Bold" >
+        <IncludeRules context="FindTemplate" />
+        <StringDetect String="'''" context="#pop" attribute="WikiTag" />
+        <StringDetect String="''" context="BoldItalic" attribute="WikiTag" />
+        <RegExpr String="&lt;u *&gt;" attribute="HtmlTag" context="BoldUnderlined" />
+        <IncludeRules context="FindWikiLinkBeingBold" />
+      </context>
+      <context attribute="Italic" lineEndContext="#pop" name="Italic" >
+        <IncludeRules context="FindTemplate" />
+        <StringDetect String="'''" attribute="WikiTag" context="ItalicBold" />
+        <StringDetect String="''" context="#pop" attribute="WikiTag" />
+        <RegExpr String="&lt;u *&gt;" attribute="HtmlTag" context="ItalicUnderlined" />
+        <IncludeRules context="FindWikiLinkBeingItalic" />
+      </context>
+      <context attribute="Underlined" name="Underlined" lineEndContext="#stay" >
+        <IncludeRules context="FindTemplate" />
+        <StringDetect String="'''" context="UnderlinedBold" attribute="WikiTag" />
+        <StringDetect String="''" context="UnderlinedItalic" attribute="WikiTag" />
+        <RegExpr String="&lt;/u *&gt;" context="#pop" attribute="HtmlTag" />
+        <IncludeRules context="FindWikiLinkBeingUnderlined" />
+      </context>
+      <context name="BoldItalic" attribute="BoldItalic" lineEndContext="#pop" >
+        <IncludeRules context="FindTemplate" />
+        <StringDetect String="''" context="#pop" attribute="WikiTag" />
+        <RegExpr String="&lt;u *&gt;" attribute="HtmlTag" context="BoldItalicUnderlined" />
+        <IncludeRules context="FindWikiLinkBeingBoldItalic" />
+      </context>
+      <context name="ItalicBold" attribute="BoldItalic" lineEndContext="#pop" >
+        <IncludeRules context="FindTemplate" />
+        <StringDetect String="'''" context="#pop" attribute="WikiTag" />
+        <RegExpr String="&lt;u *&gt;" attribute="HtmlTag" context="BoldItalicUnderlined" />
+        <IncludeRules context="FindWikiLinkBeingBoldItalic" />
+      </context>
+      <context name="BoldUnderlined" attribute="BoldUnderlined" lineEndContext="#pop" >
+        <IncludeRules context="FindTemplate" />
+        <RegExpr String="&lt;/u *&gt;" context="#pop" attribute="HtmlTag" />
+        <StringDetect String="''" context="BoldUnderlinedItalic" attribute="WikiTag" />
+        <IncludeRules context="FindWikiLinkBeingBoldUnderlined" />
+      </context>
+      <context name="UnderlinedBold" attribute="BoldUnderlined" lineEndContext="#pop" >
+        <IncludeRules context="FindTemplate" />
+        <StringDetect String="'''" context="#pop" attribute="WikiTag" />
+        <StringDetect String="''" context="BoldUnderlinedItalic" attribute="WikiTag" />
+        <IncludeRules context="FindWikiLinkBeingBoldUnderlined" />
+      </context>
+      <context name="ItalicUnderlined" attribute="ItalicUnderlined" lineEndContext="#pop" >
+        <IncludeRules context="FindTemplate" />
+        <RegExpr String="&lt;/u *&gt;" context="#pop" attribute="HtmlTag" />
+        <StringDetect String="'''" context="ItalicUnderlinedBold" attribute="WikiTag" />
+        <IncludeRules context="FindWikiLinkBeingItalicUnderlined" />
+      </context>
+      <context name="UnderlinedItalic" attribute="ItalicUnderlined" lineEndContext="#pop" >
+        <IncludeRules context="FindTemplate" />
+        <StringDetect String="''" context="#pop" attribute="WikiTag" />
+        <StringDetect String="'''" context="ItalicUnderlinedBold" attribute="WikiTag" />
+        <IncludeRules context="FindWikiLinkBeingItalicUnderlined" />
+      </context>
+      <context name="BoldItalicUnderlined" attribute="BoldItalicUnderlined" lineEndContext="#pop" >
+        <IncludeRules context="FindTemplate" />
+        <RegExpr String="&lt;/u *&gt;" context="#pop" attribute="HtmlTag" />
+        <IncludeRules context="FindWikiLinkBeingBoldItalicUnderlined" />
+      </context>
+      <context name="BoldUnderlinedItalic" attribute="BoldItalicUnderlined" lineEndContext="#pop" >
+        <IncludeRules context="FindTemplate" />
+        <StringDetect String="''" context="#pop" attribute="WikiTag" />
+        <IncludeRules context="FindWikiLinkBeingBoldItalicUnderlined" />
+      </context>
+      <context name="ItalicUnderlinedBold" attribute="BoldItalicUnderlined" lineEndContext="#pop" >
+        <IncludeRules context="FindTemplate" />
+        <StringDetect String="'''" context="#pop" attribute="WikiTag" />
+        <IncludeRules context="FindWikiLinkBeingBoldItalicUnderlined" />
+      </context>
+
+      <!-- Contexts for inclusion. -->
+
+      <context name="FindHtmlEntities" attribute="Normal" lineEndContext="#stay">
+        <RegExpr String="&htmlEntity;" attribute="HtmlEntity" />
+      </context>
+
+      <context name="FindHtmlStartTagAttributes" attribute="Normal" lineEndContext="#stay">
+        <RegExpr attribute="HtmlAttribute" context="HtmlAttribute" String="^&htmlTagName;" />
+        <RegExpr attribute="HtmlAttribute" context="HtmlAttribute" String="\s+&htmlTagName;" />
+        <RegExpr attribute="Error" context="#stay" String="\S" />
+      </context>
+
+      <context attribute="Normal" lineEndContext="#stay" name="FindListItem" >
+        <RegExpr String="[*#;:\s]*[*#:]+" attribute="WikiTag" context="#stay" column="0" />
+      </context>
+
+      <context attribute="Normal" lineEndContext="#stay" name="FindSyntaxHighlightingHtmlElement" >
+        <RegExpr String="&lt;source(?=\s)" context="SourceStartTag" attribute="HtmlTag" />
+        <RegExpr String="&lt;syntaxhighlight(?=\s)" context="SyntaxHighlightStartTag" attribute="HtmlTag" />
+      </context>
+
+      <context name="FindTable" attribute="Normal" lineEndContext="#stay">
+        <Detect2Chars char="{" char1="|" column="0" context="TableHeader"  lookAhead="true" />
+      </context>
+
+      <context attribute="Normal" lineEndContext="#stay" name="FindTemplate" >
+        <Detect2Chars char="{" char1="{" context="Template" attribute="WikiTag" beginRegion="template" />
+      </context>
+
+      <context name="FindTextDecorations" attribute="Normal" lineEndContext="#stay">
+        <StringDetect String="'''" attribute="WikiTag" context="Bold" />
+        <StringDetect String="''" attribute="WikiTag" context="Italic" />
+        <RegExpr String="&lt;u *&gt;" attribute="HtmlTag" context="Underlined" />
+      </context>
+      <context attribute="Normal" lineEndContext="#stay" name="FindTextDecorationsInHeader" >
+        <StringDetect String="'''" attribute="WikiTag" context="Bold" />
+        <StringDetect String="''" attribute="WikiTag" context="BoldItalic" />
+      </context>
+
+      <context attribute="Normal" lineEndContext="#stay" name="FindUrl" >
+        <RegExpr String="\[&url;" attribute="WikiTag" context="DelimitedURL" lookAhead="true" />
+        <RegExpr String="&url;" attribute="URL" context="LooseURL" lookAhead="true" />
+      </context>
+      <context attribute="Normal" lineEndContext="#stay" name="FindUrlWithinTemplate" >
+        <RegExpr String="\[&url;" attribute="WikiTag" context="DelimitedURL" lookAhead="true" />
+        <RegExpr String="&url;" attribute="URL" context="LooseURLWithinTemplate" lookAhead="true" />
+      </context>
+
+      <context name="FindWikiLink" attribute="Normal" lineEndContext="#stay">
+        <Detect2Chars char="[" char1="[" attribute="WikiTag" context="WikiLink" />
+      </context>
+      <context name="FindWikiLinkBeingBold" attribute="Normal" lineEndContext="#stay">
+        <RegExpr String="&wikiLinkWithDescription;" context="WikiLinkBoldWithDescription" lookAhead="true" />
+        <RegExpr String="&wikiLinkWithoutDescription;" context="WikiLinkBoldWithoutDescription" lookAhead="true" />
+      </context>
+      <context name="FindWikiLinkBeingItalic" attribute="Normal" lineEndContext="#stay">
+        <RegExpr String="&wikiLinkWithDescription;" context="WikiLinkItalicWithDescription" lookAhead="true" />
+        <RegExpr String="&wikiLinkWithoutDescription;" context="WikiLinkItalicWithoutDescription" lookAhead="true" />
+      </context>
+      <context name="FindWikiLinkBeingUnderlined" attribute="Normal" lineEndContext="#stay">
+        <RegExpr String="&wikiLinkWithDescription;" context="WikiLinkUnderlinedWithDescription" lookAhead="true" />
+        <RegExpr String="&wikiLinkWithoutDescription;" context="WikiLinkUnderlinedWithoutDescription" lookAhead="true" />
+      </context>
+      <context name="FindWikiLinkBeingBoldItalic" attribute="Normal" lineEndContext="#stay">
+        <RegExpr String="&wikiLinkWithDescription;" context="WikiLinkBoldItalicWithDescription" lookAhead="true" />
+        <RegExpr String="&wikiLinkWithoutDescription;" context="WikiLinkBoldItalicWithoutDescription" lookAhead="true" />
+      </context>
+      <context name="FindWikiLinkBeingBoldUnderlined" attribute="Normal" lineEndContext="#stay">
+        <RegExpr String="&wikiLinkWithDescription;" context="WikiLinkBoldUnderlinedWithDescription" lookAhead="true" />
+        <RegExpr String="&wikiLinkWithoutDescription;" context="WikiLinkBoldUnderlinedWithoutDescription" lookAhead="true" />
+      </context>
+      <context name="FindWikiLinkBeingItalicUnderlined" attribute="Normal" lineEndContext="#stay">
+        <RegExpr String="&wikiLinkWithDescription;" context="WikiLinkItalicUnderlinedWithDescription" lookAhead="true" />
+        <RegExpr String="&wikiLinkWithoutDescription;" context="WikiLinkItalicUnderlinedWithoutDescription" lookAhead="true" />
+      </context>
+      <context name="FindWikiLinkBeingBoldItalicUnderlined" attribute="Normal" lineEndContext="#stay">
+        <RegExpr String="&wikiLinkWithDescription;" context="WikiLinkBoldItalicUnderlinedWithDescription" lookAhead="true" />
+        <RegExpr String="&wikiLinkWithoutDescription;" context="WikiLinkBoldItalicUnderlinedWithoutDescription" lookAhead="true" />
+      </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal" defStyleNum="dsNormal" />
+      <itemData name="Link" defStyleNum="dsOthers" />
+      <itemData name="LinkBold" defStyleNum="dsOthers" bold="true" />
+      <itemData name="LinkItalic" defStyleNum="dsOthers" italic="true" />
+      <itemData name="LinkUnderlined" defStyleNum="dsOthers" underline="true" />
+      <itemData name="LinkBoldItalic" defStyleNum="dsOthers" bold="true" italic="true" />
+      <itemData name="LinkBoldUnderlined" defStyleNum="dsOthers" bold="true" underline="true" />
+      <itemData name="LinkItalicUnderlined" defStyleNum="dsOthers" italic="true" underline="true" />
+      <itemData name="LinkBoldItalicUnderlined" defStyleNum="dsOthers" bold="true" italic="true" underline="true" />
+      <itemData name="URL" defStyleNum="dsOthers" />
+      <itemData name="Comment" defStyleNum="dsComment" />
+      <itemData name="Section" defStyleNum="dsKeyword" />
+      <itemData name="DefinitionListHeader" defStyleNum="dsKeyword" />
+      <itemData name="HtmlEntity" defStyleNum="dsDecVal" />
+      <itemData name="HtmlTag" defStyleNum="dsKeyword" />
+      <itemData name="WikiTag" defStyleNum="dsDecVal" bold="true" />
+      <itemData name="WikiTagBold" defStyleNum="dsDecVal" bold="true" />
+      <itemData name="WikiTagItalic" defStyleNum="dsDecVal" bold="true" italic="true" />
+      <itemData name="WikiTagUnderlined" defStyleNum="dsDecVal" bold="true" underline="true" />
+      <itemData name="WikiTagBoldItalic" defStyleNum="dsDecVal" bold="true" italic="true" />
+      <itemData name="WikiTagBoldUnderlined" defStyleNum="dsDecVal" bold="true" underline="true" />
+      <itemData name="WikiTagItalicUnderlined" defStyleNum="dsDecVal" bold="true" italic="true" underline="true" />
+      <itemData name="WikiTagBoldItalicUnderlined" defStyleNum="dsDecVal" bold="true" italic="true" underline="true" />
+      <itemData name="Error" defStyleNum="dsError" />
+      <itemData name="NoWiki" defStyleNum="dsNormal" />
+      <itemData name="Unformatted" defStyleNum="dsNormal" />
+      <itemData name="Parameter" defStyleNum="dsNormal" bold="true" />
+      <itemData name="TemplateName" defStyleNum="dsOthers" bold="true" />
+      <itemData name="Bold" defStyleNum="dsNormal" bold="true" />
+      <itemData name="Italic" defStyleNum="dsNormal" italic="true" />
+      <itemData name="Underlined" defStyleNum="dsNormal" underline="true" />
+      <itemData name="BoldItalic" defStyleNum="dsNormal" bold="true" italic="true" />
+      <itemData name="BoldUnderlined" defStyleNum="dsNormal" bold="true" underline="true" />
+      <itemData name="ItalicUnderlined" defStyleNum="dsNormal" italic="true" underline="true" />
+      <itemData name="BoldItalicUnderlined" defStyleNum="dsNormal" bold="true" italic="true" underline="true" />
+      <itemData name="HtmlAttribute" defStyleNum="dsOthers" spellChecking="false" />
+      <itemData name="HtmlValue" defStyleNum="dsString" spellChecking="false" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment end="//-->" start="&lt;!--" name="multiLine" />
+    </comments>
+    <keywords casesensitive="0" />
+    <indentation mode="normal" />
+  </general>
+</language>
diff --git a/xml/metafont.xml b/xml/metafont.xml
new file mode 100644
--- /dev/null
+++ b/xml/metafont.xml
@@ -0,0 +1,1009 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+The lists of keywords of this file are borrowed from the VIM syntax 
+files mp.vim and mf.vim
+We have moved some keywords for consistency
+-->
+
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Metapost/Metafont" section="Markup" version="1" kateversion="2.4"
+extensions="*.mp;*.mps;*.mpost;*.mf" mimetype="text/x-metapost" 
+author="Yedvilun (yedvilun@gmail.com)" license="LGPL">
+  <highlighting>
+    <!--Here are some listing from mf.vim-->
+    <!--Metafont 'primitives' as defined in chapter 25 of 'The METAFONTbook'-->
+    <!--Page 210: 'boolean expressions'-->
+    <list name="mfBoolExp">
+      <item>true</item>
+
+      <item>false</item>
+      <item>known</item>
+      <item>unknown</item>
+      <item>odd</item>
+      <item>charexists</item>
+      <item>not</item>
+
+      <item>and</item>
+      <item>or</item>
+    </list>
+
+    <!--Page 210: 'numeric expression'-->
+    <list name="mfNumExp">
+      <item>normaldeviate</item>
+      <item>length</item>
+
+      <item>ASCII</item>
+      <item>oct</item>
+      <item>hex</item>
+      <item>angle</item>
+      <item>turningnumber</item>
+      <item>totalweight</item>
+
+      <item>directiontime</item>
+      <item>xpart</item>
+      <item>ypart</item>
+      <item>xxpart</item>
+      <item>xypart</item>
+      <item>yxpart</item>
+
+      <item>yypart</item>
+      <item>sqrt</item>
+      <item>sind</item>
+      <item>cosd</item>
+      <item>mlog</item>
+      <item>mexp</item>
+
+      <item>floor</item>
+      <item>uniformdeviate</item>
+      <item>abs</item>
+      <item>div</item>
+      <item>dotprod</item>
+      <item>max</item>
+
+      <item>min</item>
+      <item>mod</item>
+      <item>ceiling</item>
+    </list>
+
+    <!--Page 211: 'internal quantities'-->
+    <list name="mfInternal">
+      <item>tracingtitles</item>
+
+      <item>tracingequations</item>
+      <item>tracingcapsules</item>
+      <item>tracingchoices</item>
+      <item>tracingspecs</item>
+      <item>tracingpens</item>
+      <item>tracingcommands</item>
+
+      <item>tracingrestores</item>
+      <item>tracingmacros</item>
+      <item>tracingedges</item>
+      <item>tracingoutput</item>
+      <item>tracingonline</item>
+      <item>tracingstats</item>
+
+      <item>pausing</item>
+      <item>showstopping</item>
+      <item>fontmaking</item>
+      <item>proofing</item>
+      <item>turningcheck</item>
+      <item>warningcheck</item>
+
+      <item>smoothing</item>
+      <item>autorounding</item>
+      <item>granularity</item>
+      <item>fillin</item>
+      <item>year</item>
+      <item>month</item>
+
+      <item>day</item>
+      <item>time</item>
+      <item>charcode</item>
+      <item>charext</item>
+      <item>charwd</item>
+      <item>charht</item>
+
+      <item>chardp</item>
+      <item>charic</item>
+      <item>chardx</item>
+      <item>chardy</item>
+      <item>designsize</item>
+      <item>hppp</item>
+
+      <item>vppp</item>
+      <item>xoffset</item>
+      <item>yoffset</item>
+      <item>boundarychar</item>
+    </list>
+
+    <!--Page 212: 'pair expressions'-->
+
+    <list name="mfPairExp">
+      <item>point</item>
+      <item>of</item>
+      <item>precontrol</item>
+      <item>postcontrol</item>
+      <item>penoffset</item>
+
+      <item>rotated</item>
+      <item>scaled</item>
+      <item>shifted</item>
+      <item>slanted</item>
+      <item>transformed</item>
+      <item>xscaled</item>
+
+      <item>yscaled</item>
+      <item>zscaled</item>
+    </list>
+
+    <!--Page 213: 'path expressions'-->
+    <list name="mfPathExp">
+      <item>makepath</item>
+      <item>reverse</item>
+
+      <item>subpath</item>
+      <item>curl</item>
+      <item>tension</item>
+      <item>atleast</item>
+      <item>controls</item>
+      <item>cycle</item>
+
+    </list>
+
+    <!--Page 214: 'pen expressions'-->
+    <list name="mfPenExp">
+      <item>nullpen</item>
+      <item>pencircle</item>
+      <item>makepen</item>
+    </list>
+
+    <!--Page 214: 'picture expressions'-->
+    <list name="mfPicExp">
+      <item>nullpicture</item>
+    </list>
+
+    <!--Page 214: 'string expressions'-->
+    <list name="mfStringExp">
+      <item>jobname</item>
+
+      <item>readstring</item>
+      <item>str</item>
+      <item>char</item>
+      <item>decimal</item>
+      <item>substring</item>
+    </list>
+
+    <!--Page 217: 'commands and statements'-->
+    <list name="mfCommand">
+      <item>end</item>
+      <item>dump</item>
+      <item>save</item>
+      <item>interim</item>
+
+      <item>newinternal</item>
+      <item>randomseed</item>
+      <item>let</item>
+      <item>delimiters</item>
+      <item>outer</item>
+      <item>everyjob</item>
+
+      <item>show</item>
+      <item>showvariable</item>
+      <item>showtoken</item>
+      <item>showdependencies</item>
+      <item>showstats</item>
+      <item>message</item>
+
+      <item>errmessage</item>
+      <item>errhelp</item>
+      <item>batchmode</item>
+      <item>nonstopmode</item>
+      <item>scrollmode</item>
+      <item>errorstopmode</item>
+
+      <item>addto</item>
+      <item>also</item>
+      <item>contour</item>
+      <item>doublepath</item>
+      <item>withpen</item>
+      <item>withweight</item>
+
+      <item>cull</item>
+      <item>keeping</item>
+      <item>dropping</item>
+      <item>display</item>
+      <item>inwindow</item>
+      <item>openwindow</item>
+
+      <item>at</item>
+      <item>from</item>
+      <item>to</item>
+      <item>shipout</item>
+      <item>special</item>
+      <item>numspecial</item>
+
+    </list>
+
+    <!--Page 56: 'types'-->
+    <list name="mfType">
+      <item>boolean</item>
+      <item>numeric</item>
+      <item>pair</item>
+      <item>path</item>
+
+      <item>pen</item>
+      <item>picture</item>
+      <item>string</item>
+      <item>transform</item>
+    </list>
+
+    <!--Page 155: 'grouping'-->
+
+<!--     <list name="mfStatement"> -->
+<!--       <item>begingroup</item> -->
+<!--       <item>endgroup</item> -->
+<!--     </list> -->
+
+    <!--Page 165: 'definitions'-->
+    <list name="mfDefinition">
+<!--       <item>enddef</item> -->
+<!--       <item>def</item> -->
+      <item>expr</item>
+      <item>suffix</item>
+
+      <item>text</item>
+      <item>primary</item>
+      <item>secondary</item>
+      <item>tertiary</item>
+<!--       <item>vardef</item> -->
+      <item>primarydef</item>
+      <item>secondarydef</item>
+
+      <item>tertiarydef</item>
+    </list>
+
+    <!--Page 169: 'conditions and loops'-->
+    <list name="mfCondition">
+<!--       <item>if</item> -->
+<!--       <item>fi</item> -->
+      <item>else</item>
+      <item>elseif</item>
+
+<!--       <item>endfor</item> -->
+<!--       <item>for</item> -->
+<!--       <item>forsuffixes</item> -->
+<!--       <item>forever</item> -->
+      <item>step</item>
+      <item>until</item>
+      <item>upto</item>
+      <item>exitif</item>
+    </list>
+
+    <!--Other primitives listed in the index-->
+    <list name="mfPrimitive">
+      <item>charlist</item>
+      <item>endinput</item>
+      <item>expandafter</item>
+      <item>extensible</item>
+
+      <item>fontdimen</item>
+      <item>headerbyte</item>
+      <item>inner</item>
+      <item>input</item>
+      <item>intersectiontimes</item>
+      <item>kern</item>
+
+      <item>ligtable</item>
+      <item>quote</item>
+      <item>scantokens</item>
+      <item>skipto</item>
+    </list>
+
+    <!--Keywords defined by plain.mf-->
+
+    <list name="mfMacro">
+<!--       <item>abs</item> -->
+      <item>addto_currentpicture</item>
+      <item>aspect_ratio</item>
+      <item>base_name</item>
+      <item>base_version</item>
+<!--       <item>beginchar</item> -->
+      <item>blacker</item>
+
+      <item>blankpicture</item>
+      <item>bot</item>
+      <item>bye</item>
+      <item>byte</item>
+      <item>capsule_def</item>
+<!--       <item>ceiling</item> -->
+      <item>change_width</item>
+
+      <item>clear_pen_memory</item>
+      <item>clearit</item>
+      <item>clearpen</item>
+      <item>clearxy</item>
+      <item>counterclockwise</item>
+      <item>culldraw</item>
+
+      <item>cullit</item>
+      <item>currentpen</item>
+      <item>currentpen_path</item>
+      <item>currentpicture</item>
+      <item>currenttransform</item>
+      <item>currentwindow</item>
+
+      <item>cutdraw</item>
+      <item>cutoff</item>
+      <item>d</item>
+      <item>decr</item>
+      <item>define_blacker_pixels</item>
+      <item>define_corrected_pixels</item>
+
+      <item>define_good_x_pixels</item>
+      <item>define_good_y_pixels</item>
+      <item>define_horizontal_corrected_pixels</item>
+      <item>define_pixels</item>
+      <item>define_whole_blacker_pixels</item>
+      <item>define_whole_pixels</item>
+
+      <item>define_whole_vertical_blacker_pixels</item>
+      <item>define_whole_vertical_pixels</item>
+      <item>dir</item>
+      <item>direction</item>
+      <item>directionpoint</item>
+      <item>displaying</item>
+
+      <item>ditto</item>
+<!--       <item>div</item> -->
+<!--       <item>dotprod</item> -->
+      <item>down</item>
+      <item>downto</item>
+      <item>draw</item>
+      <item>drawdot</item>
+
+<!--       <item>endchar</item> -->
+      <item>eps</item>
+      <item>epsilon</item>
+<!--       <item>extra_beginchar</item> -->
+<!--       <item>extra_endchar</item> -->
+      <item>extra_setup</item>
+      <item>erase</item>
+      <item>exitunless</item>
+
+      <item>fill</item>
+      <item>filldraw</item>
+      <item>fix_units</item>
+      <item>flex</item>
+      <item>font_coding_scheme</item>
+      <item>font_extra_space</item>
+
+      <item>font_identifier</item>
+      <item>font_normal_shrink</item>
+      <item>font_normal_space</item>
+      <item>font_normal_stretch</item>
+      <item>font_quad</item>
+      <item>font_setup</item>
+
+      <item>font_size</item>
+      <item>font_slant</item>
+      <item>font_x_height</item>
+      <item>fullcircle</item>
+      <item>generate</item>
+      <item>gfcorners</item>
+
+      <item>gobble</item>
+      <item>gobbled</item>
+      <item>grayfont</item>
+      <item>h</item>
+      <item>halfcircle</item>
+      <item>hide</item>
+
+      <item>hround</item>
+      <item>identity</item>
+      <item>image_rules</item>
+      <item>incr</item>
+      <item>infinity</item>
+      <item>interact</item>
+
+      <item>interpath</item>
+      <item>intersectionpoint</item>
+      <item>inverse</item>
+      <item>italcorr</item>
+      <item>join_radius</item>
+      <item>killtext</item>
+
+      <item>labelfont</item>
+      <item>labels</item>
+      <item>left</item>
+      <item>lft</item>
+      <item>localfont</item>
+      <item>loggingall</item>
+
+      <item>lowres</item>
+      <item>lowres_fix</item>
+      <item>mag</item>
+      <item>magstep</item>
+      <item>makebox</item>
+      <item>makegrid</item>
+
+      <item>makelabel</item>
+      <item>maketicks</item>
+<!--       <item>max</item> -->
+<!--       <item>min</item> -->
+<!--       <item>mod</item> -->
+      <item>mode</item>
+      <item>mode_def</item>
+      <item>mode_name</item>
+
+      <item>mode_setup</item>
+      <item>nodisplays</item>
+      <item>notransforms</item>
+      <item>number_of_modes</item>
+      <item>numtok</item>
+      <item>o_correction</item>
+
+      <item>openit</item>
+      <item>origin</item>
+      <item>pen_bot</item>
+      <item>pen_lft</item>
+      <item>pen_rt</item>
+      <item>pen_top</item>
+
+      <item>penlabels</item>
+      <item>penpos</item>
+      <item>penrazor</item>
+      <item>penspeck</item>
+      <item>pensquare</item>
+      <item>penstroke</item>
+
+      <item>pickup</item>
+      <item>pixels_per_inch</item>
+      <item>proof</item>
+      <item>proofoffset</item>
+      <item>proofrule</item>
+      <item>proofrulethickness</item>
+
+      <item>quartercircle</item>
+      <item>range</item>
+      <item>reflectedabout</item>
+      <item>relax</item>
+      <item>right</item>
+      <item>rotatedabout</item>
+
+      <item>rotatedaround</item>
+      <item>round</item>
+      <item>rt</item>
+      <item>rulepen</item>
+      <item>savepen</item>
+      <item>screenchars</item>
+
+      <item>screen_rows</item>
+      <item>screen_cols</item>
+      <item>screenrule</item>
+      <item>screenstrokes</item>
+      <item>shipit</item>
+      <item>showit</item>
+
+      <item>slantfont</item>
+      <item>smode</item>
+      <item>smoke</item>
+      <item>softjoin</item>
+      <item>solve</item>
+      <item>stop</item>
+
+      <item>superellipse</item>
+      <item>takepower</item>
+      <item>tensepath</item>
+      <item>titlefont</item>
+      <item>tolerance</item>
+      <item>top</item>
+
+      <item>tracingall</item>
+      <item>tracingnone</item>
+      <item>undraw</item>
+      <item>undrawdot</item>
+      <item>unfill</item>
+      <item>unfilldraw</item>
+
+      <item>unitpixel</item>
+      <item>unitsquare</item>
+      <item>unitvector</item>
+      <item>up</item>
+      <item>upto</item>
+      <item>vround</item>
+
+      <item>w</item>
+      <item>whatever</item>
+<!--       <item>beginlogochar</item> -->
+    </list>
+
+    <!--Here are some listing from mp.vim-->
+    <!--MetaPost primitives not found in Metafont-->
+    <list name="mpInternal">
+      <item>bluepart</item>
+
+      <item>clip</item>
+      <item>color</item>
+      <item>dashed</item>
+      <item>fontsize</item>
+      <item>greenpart</item>
+      <item>infont</item>
+
+      <item>linecap</item>
+      <item>linejoin</item>
+      <item>llcorner</item>
+      <item>lrcorner</item>
+      <item>miterlimit</item>
+      <item>mpxbreak</item>
+
+      <item>prologues</item>
+      <item>redpart</item>
+      <item>setbounds</item>
+      <item>tracinglostchars</item>
+      <item>truecorners</item>
+      <item>ulcorner</item>
+
+      <item>urcorner</item>
+      <item>withcolor</item>
+    </list>
+
+    <!--Metafont primitives not found in MetaPost-->
+    <list name="notDefined">
+      <item>autorounding</item>
+      <item>chardx</item>
+
+      <item>chardy</item>
+      <item>fillin</item>
+      <item>granularity</item>
+      <item>hppp</item>
+      <item>proofing</item>
+      <item>smoothing</item>
+
+      <item>tracingedges</item>
+      <item>tracingpens</item>
+      <item>turningcheck</item>
+      <item>vppp</item>
+      <item>xoffset</item>
+      <item>yoffset</item>
+
+    </list>
+
+    <!--Keywords defined by plain.mp-->
+    <list name="mpMacro">
+      <item>ahangle</item>
+      <item>ahlength</item>
+      <item>background</item>
+      <item>bbox</item>
+
+      <item>bboxmargin</item>
+<!--       <item>beginfig</item> -->
+      <item>beveled</item>
+      <item>black</item>
+      <item>blue</item>
+      <item>buildcycle</item>
+      <item>butt</item>
+
+      <item>center</item>
+      <item>cutafter</item>
+      <item>cutbefore</item>
+      <item>cuttings</item>
+      <item>dashpattern</item>
+      <item>defaultfont</item>
+
+      <item>defaultpen</item>
+      <item>defaultscale</item>
+      <item>dotlabel</item>
+      <item>dotlabels</item>
+      <item>drawarrow</item>
+      <item>drawdblarrow</item>
+
+      <item>drawoptions</item>
+<!--       <item>endfig</item> -->
+      <item>evenly</item>
+<!--       <item>extra_beginfig</item> -->
+<!--       <item>extra_endfig</item> -->
+      <item>green</item>
+      <item>label</item>
+      <item>labeloffset</item>
+
+      <item>mitered</item>
+      <item>red</item>
+      <item>rounded</item>
+      <item>squared</item>
+      <item>thelabel</item>
+      <item>white</item>
+
+      <item>base_name</item>
+      <item>base_version</item>
+      <item>upto</item>
+      <item>downto</item>
+      <item>exitunless</item>
+      <item>relax</item>
+
+      <item>gobble</item>
+      <item>gobbled</item>
+      <item>interact</item>
+      <item>loggingall</item>
+      <item>tracingall</item>
+      <item>tracingnone</item>
+
+      <item>eps</item>
+      <item>epsilon</item>
+      <item>infinity</item>
+      <item>right</item>
+      <item>left</item>
+      <item>up</item>
+
+      <item>down</item>
+      <item>origin</item>
+      <item>quartercircle</item>
+      <item>halfcircle</item>
+      <item>fullcircle</item>
+      <item>unitsquare</item>
+
+      <item>identity</item>
+      <item>blankpicture</item>
+      <item>withdots</item>
+      <item>ditto</item>
+      <item>EOF</item>
+      <item>pensquare</item>
+
+      <item>penrazor</item>
+      <item>penspeck</item>
+      <item>whatever</item>
+<!--       <item>abs</item> -->
+      <item>round</item>
+<!--       <item>ceiling</item> -->
+      <item>byte</item>
+
+      <item>dir</item>
+      <item>unitvector</item>
+      <item>inverse</item>
+      <item>counterclockwise</item>
+      <item>tensepath</item>
+<!--       <item>mod</item> -->
+<!--       <item>div</item> -->
+
+<!--       <item>dotprod</item> -->
+      <item>takepower</item>
+      <item>direction</item>
+      <item>directionpoint</item>
+      <item>intersectionpoint</item>
+      <item>softjoin</item>
+      <item>incr</item>
+
+      <item>decr</item>
+      <item>reflectedabout</item>
+      <item>rotatedaround</item>
+      <item>rotatedabout</item>
+<!--       <item>min</item> -->
+<!--       <item>max</item> -->
+      <item>flex</item>
+
+      <item>superellipse</item>
+      <item>interpath</item>
+      <item>magstep</item>
+      <item>currentpen</item>
+      <item>currentpen_path</item>
+      <item>currentpicture</item>
+
+      <item>fill</item>
+      <item>draw</item>
+      <item>filldraw</item>
+      <item>drawdot</item>
+      <item>unfill</item>
+      <item>undraw</item>
+
+      <item>unfilldraw</item>
+      <item>undrawdot</item>
+      <item>erase</item>
+      <item>cutdraw</item>
+      <item>image</item>
+      <item>pickup</item>
+
+      <item>numeric_pickup</item>
+      <item>pen_lft</item>
+      <item>pen_rt</item>
+      <item>pen_top</item>
+      <item>pen_bot</item>
+      <item>savepen</item>
+
+      <item>clearpen</item>
+      <item>clear_pen_memory</item>
+      <item>lft</item>
+      <item>rt</item>
+      <item>top</item>
+      <item>bot</item>
+
+      <item>ulft</item>
+      <item>urt</item>
+      <item>llft</item>
+      <item>lrt</item>
+      <item>penpos</item>
+      <item>penstroke</item>
+
+      <item>arrowhead</item>
+      <item>makelabel</item>
+      <item>labels</item>
+      <item>penlabel</item>
+      <item>range</item>
+      <item>numtok</item>
+
+      <item>thru</item>
+      <item>clearxy</item>
+      <item>clearit</item>
+      <item>clearpen</item>
+      <item>pickup</item>
+      <item>shipit</item>
+
+      <item>bye</item>
+      <item>hide</item>
+      <item>stop</item>
+      <item>solve</item>
+<!--       <item>beginchar</item> -->
+      <item>blacker</item>
+      <item>capsule_def</item>
+
+      <item>change_width</item>
+      <item>define_blacker_pixels</item>
+      <item>define_corrected_pixels</item>
+      <item>define_good_x_pixels</item>
+      <item>define_good_y_pixels</item>
+      <item>define_horizontal_corrected_pixels</item>
+
+      <item>define_pixels</item>
+      <item>define_whole_blacker_pixels</item>
+      <item>define_whole_vertical_blacker_pixels</item>
+      <item>define_whole_vertical_pixels</item>
+<!--       <item>endchar</item> -->
+<!--       <item>extra_beginchar</item> -->
+<!--       <item>extra_endchar</item> -->
+      <item>extra_setup</item>
+
+      <item>font_coding_scheme</item>
+      <item>font_extra_space</item>
+      <item>font_identifier</item>
+      <item>font_normal_shrink</item>
+      <item>font_normal_space</item>
+      <item>font_normal_stretch</item>
+
+      <item>font_quad</item>
+      <item>font_size</item>
+      <item>font_slant</item>
+      <item>font_x_height</item>
+      <item>italcorr</item>
+      <item>labelfont</item>
+
+      <item>makebox</item>
+      <item>makegrid</item>
+      <item>maketicks</item>
+      <item>mode_def</item>
+      <item>mode_setup</item>
+      <item>o_correction</item>
+
+      <item>proofrule</item>
+      <item>proofrulethickness</item>
+      <item>rulepen</item>
+      <item>smode</item>
+      <item>cullit</item>
+      <item>currenttransform</item>
+
+      <item>gfcorners</item>
+      <item>grayfont</item>
+      <item>hround</item>
+      <item>imagerules</item>
+      <item>lowres_fix</item>
+      <item>nodisplays</item>
+
+      <item>notransforms</item>
+      <item>openit</item>
+      <item>proofoffset</item>
+      <item>screenchars</item>
+      <item>screenrule</item>
+      <item>screenstrokes</item>
+
+      <item>showit</item>
+      <item>slantfont</item>
+      <item>titlefont</item>
+      <item>unitpixel</item>
+      <item>vround</item>
+      <item>circmargin</item>
+
+      <item>defaultdx</item>
+      <item>defaultdy</item>
+      <item>boxit</item>
+      <item>boxjoin</item>
+      <item>bpath</item>
+      <item>circleit</item>
+
+      <item>drawboxed</item>
+      <item>drawboxes</item>
+      <item>drawunboxed</item>
+      <item>fixpos</item>
+      <item>fixsize</item>
+      <item>pic</item>
+
+    </list>
+
+    <!--We put all the delimiters here. They will be treated apart, for code folding-->
+    <list name="EnvDelimiters">
+      <item>beginchar</item>
+      <item>endchar</item>
+      <item>extra_beginchar</item>
+      <item>extra_endchar</item>
+
+      <item>beginlogochar</item>
+      <item>beginfig</item>
+      <item>endfig</item>
+      <item>extra_beginfig</item>
+      <item>extra_endfig</item>
+    </list>
+
+    <contexts>
+      <context name="Normal Text"    attribute="Normal Text" lineEndContext="#stay">
+        <keyword String="mfBoolExp"  attribute="BoolExp" context="#stay"/>
+        <keyword String="mfNumExp"   attribute="NumExp" context="#stay"/>
+        <keyword String="mfInternal" attribute="Statement" context="#stay"/>
+        <keyword String="mfPairExp"  attribute="Statement" context="#stay"/>
+        <keyword String="mfPathExp"  attribute="Statement" context="#stay"/>
+        <keyword String="mfPenExp"   attribute="Statement" context="#stay"/>
+
+        <keyword String="mfPicExp"   attribute="Statement" context="#stay"/>
+        <keyword String="mfStringExp" attribute="Statement" context="#stay"/>
+        <keyword String="mfCommand"  attribute="Statement" context="#stay"/>
+        <keyword String="mfType"     attribute="Type" context="#stay"/>
+        <keyword String="mfStatement" attribute="Statement" context="#stay"/>
+        <keyword String="mfDefinition" attribute="Statement" context="#stay"/>
+        <keyword String="mfCondition" attribute="Conditional" context="#stay"/>
+        <keyword String="mfPrimitive" attribute="Statement" context="#stay"/>
+        <keyword String="mfMacro"    attribute="Macro" context="#stay"/>
+
+        <keyword String="mpInternal" attribute="Statement" context="#stay"/>
+        <keyword String="mpMacro"    attribute="Macro" context="#stay"/>
+
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char='"' attribute="String" context="string" beginRegion="String"/>
+        <RegExpr String="(\+|\-|\*|\/|\=|\:\=)" attribute="Operator" context="#stay"/>
+        <Detect2Chars char="." char1="." attribute="Operator" context="#stay"/>
+
+        <HlCOct attribute="Octal"/>
+        <HlCHex attribute="Hex"/>
+
+        <Float attribute="Float"/>
+        <Int attribute="Decimal"/>
+
+        <!--Metafont lengths-->
+        <RegExpr String="\b(bp|cc|cm|dd|in|mm|pc|pt)\b" attribute="Float" context="#stay"/>
+        <RegExpr String="\b-?\d+(bp|cc|cm|dd|in|mm|pc|pt)#?\b" attribute="Float" context="#stay"/>
+        <RegExpr String="\b-?\.\d+(bp|cc|cm|dd|in|mm|pc|pt)#?\b" attribute="Float" context="#stay"/>
+        <RegExpr String="\b-?\d+\.\d+(bp|cc|cm|dd|in|mm|pc|pt)#?\b" attribute="Float" context="#stay"/>
+
+        <!--Metafont coordinates, points, pathes-->
+
+        <RegExpr String="\b[xy]\d(\w|\')*" attribute="Variable" context="#stay"/>
+        <RegExpr String="\bz\d(\w|\')*" attribute="Variable" context="#stay"/>
+        <RegExpr String="\bp\d(\w|\')*" attribute="Variable" context="#stay"/>
+
+        <!--Special characters-->
+        <DetectChar char="$" attribute="Special" context="#stay"/>
+
+        <!--MetaPost has TeX inserts for typeset labels verbatimtex, btex, and etex will be treated as keywords-->
+        <RegExpr String="\b(verbatimtex|btex)\b" insensitive="1" attribute="Identifier" context="TeXMode" beginRegion="TeXblock"/>
+
+        <!--Here are some delimiters with code folding-->
+        <RegExpr String="\bbegin(group|fig|char)\b" insensitive="1" attribute="Identifier" context="#stay" beginRegion="block"/>
+        <RegExpr String="\bend(group|fig|char)\b" insensitive="1" attribute="Identifier" context="#stay" endRegion="block"/>
+
+        <RegExpr String="\bextra_begin(group|fig|char)\b" insensitive="1" attribute="Identifier" context="#stay" beginRegion="block"/>
+        <RegExpr String="\bextra_end(group|fig|char)\b" insensitive="1" attribute="Identifier" context="#stay" endRegion="block"/>
+
+        <RegExpr String="\b(def|vardef)\b" insensitive="1" attribute="Identifier" context="#stay" beginRegion="defblock"/>
+        <RegExpr String="\benddef\b" insensitive="1" attribute="Identifier" context="#stay" endRegion="defblock"/>
+
+        <RegExpr String="\bif\b" insensitive="1" attribute="Conditional" context="#stay" beginRegion="ifblock"/>
+        <RegExpr String="\bfi\b" insensitive="1" attribute="Conditional" context="#stay" endRegion="ifblock"/>
+        <RegExpr String="\b(for|forsuffixes|forever)\b" insensitive="1" attribute="Conditional" context="#stay" beginRegion="forblock"/>
+        <RegExpr String="\bendfor\b" insensitive="1" attribute="Conditional" context="#stay" endRegion="forblock"/>
+
+      </context>
+
+      <context name="string" attribute="String" lineEndContext="#stay">
+        <DetectIdentifier/>
+        <Detect2Chars char="\" char1='"' attribute="String" context="#stay"/>
+
+        <Detect2Chars char="\" char1="\" attribute="String" context="#stay"/>
+        <DetectChar char='"' attribute="String" context="#pop" endRegion="String"/>
+      </context>
+
+      <!--TeX mode : we just define generic TeX commands-->
+      <!--syntax from highlighting file latex.xml-->
+      <context name="TeXMode" attribute="Tex" lineEndContext="#stay">
+        <DetectChar char="\" attribute="Keyword" context="ContrSeq"/>
+        <DetectChar char="$" attribute="Math" context="MathMode" beginRegion="mathMode" />
+
+        <StringDetect String="\(" attribute="Math" context="MathMode" beginRegion="mathMode" />
+        <RegExpr String="\betex\b" insensitive="1" attribute="Identifier" context="#pop" endRegion="TeXblock"/>
+      </context>
+      <context name="ContrSeq" attribute="Keyword" lineEndContext="#pop">
+        <StringDetect String="verb*" attribute="Keyword" context="Verb"/>
+        <RegExpr String="verb(?=[^a-zA-Z])" attribute="Keyword" context="Verb"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z]+(\+?|\*{0,3})" attribute="Keyword" context="#pop"/>
+        <RegExpr String="[^a-zA-Z]" attribute="Keyword" context="#pop" />
+
+      </context>
+      <context name="ToEndOfLine" attribute="Normal Text" lineEndContext="#pop">
+      </context>
+      <context name="Verb" attribute="Verbatim" lineEndContext="#pop#pop" >
+        <RegExpr String="(.)" attribute="Normal Text" dynamic="true" context="VerbEnd" />
+      </context>
+      <context name="VerbEnd" attribute="Verbatim" lineEndContext="#pop#pop#pop" dynamic="true" >
+        <StringDetect String="%1" attribute="Normal Text" context="#pop#pop#pop" dynamic="true" />
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+
+        <RegExpr String="[^%1\xd7]*" attribute="Verbatim" context="#stay" dynamic="true" />
+      </context>
+
+      <!-- math mode: starting with $ or \( -->
+      <context name="MathMode" attribute="Math" lineEndContext="#stay">
+        <StringDetect String="$$" attribute="Error" context="#stay" />
+        <DetectChar char="\" attribute="Keyword Mathmode" context="MathContrSeq"/>
+        <DetectChar char="$" attribute="Math" context="#pop" endRegion="mathMode" />
+        <Detect2Chars char="\" char1=")" attribute="Math" context="#pop" endRegion="mathMode" />
+
+        <Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
+      </context>
+      <context name="MathContrSeq" attribute="Keyword Mathmode" lineEndContext="#pop">
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z]+\*?" attribute="Keyword Mathmode" context="#pop"/>
+        <RegExpr String="[^a-zA-Z]" attribute="Keyword Mathmode" context="#pop" /> 
+      </context>
+
+      <!-- comment -->
+      <context name="Comment" attribute="Comment" lineEndContext="#pop">
+
+        <RegExpr String="(FIXME|TODO):?" attribute="Alert" context="#stay"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+      </context>
+
+</contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Keyword" defStyleNum="dsNormal" color="#800000" selColor="#60FFFF" bold="0" italic="0"/>
+      <itemData name="Keyword Mathmode" defStyleNum="dsNormal" color="#606000" selColor="#FFD0FF" bold="0" italic="0"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+
+      <itemData name="Error" defStyleNum="dsAlert"/>
+      <itemData name="Math" defStyleNum="dsNormal" color="#00A000" selColor="#FF40FF"  bold="0" italic="0"/>
+      <itemData name="TeX" defStyleNum="dsNormal"/>
+      <itemData name="String" defStyleNum="dsString"/>
+      <itemData name="Alert" defStyleNum="dsAlert"/>
+      <itemData name="Macro"  defStyleNum="dsKeyword" color="#770000" selColor="#99FFFF" bold="0" italic="0"/>
+      <itemData name="Operator" defStyleNum="dsKeyword" color="#244CFF" bold="0"/>
+      <itemData name="Special" defStyleNum="dsKeyword" color="#008000" bold="0"/>
+      <itemData name="Conditional" defStyleNum="dsKeyword"/>
+
+      <itemData name="Statement" defStyleNum="dsNormal" color="#0000FF" selColor="#FFFF00" bold="0" italic="0"/>
+      <itemData name="BoolExp" defStyleNum="dsKeyword" italic="1" bold="0" color="#AA00AA" selColor="#FFFF00"/>
+      <itemData name="NumExp" defStyleNum="dsFunction"/>
+      <itemData name="Variable" defStyleNum="dsKeyword" color="#550022"/>
+      <itemData name="Identifier" defStyleNum="dsKeyword"/>
+      <itemData name="Type" defStyleNum="dsDataType"/>
+      <itemData name="Decimal" defStyleNum="dsDecVal"/>
+      <itemData name="Octal" defStyleNum="dsBaseN"/>
+      <itemData name="Hex" defStyleNum="dsBaseN"/>
+
+      <itemData name="Float" defStyleNum="dsFloat"/>
+ </itemDatas>
+  </highlighting>
+
+  <general>
+    <comments>
+      <comment name="singleLine" start="%"/>
+    </comments>
+    <keywords casesensitive="0" />
+
+  </general>
+</language>
+
diff --git a/xml/mips.xml b/xml/mips.xml
new file mode 100644
--- /dev/null
+++ b/xml/mips.xml
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="MIPS Assembler" version="2" kateversion="2.4" section="Assembler" extensions="*.s;" mimetype="text/x-mips" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" priority="-1">
+  <highlighting>
+    <list name="type">
+      <item> .align </item>
+      <item> .ascii </item>
+      <item> .asciiz </item>
+      <item> .byte </item>
+      <item> .double </item>
+      <item> .extern </item>
+      <item> .float </item>
+      <item> .globl </item>
+      <item> .half </item>
+      <item> .sdata </item>
+      <item> .set </item>
+      <item> .space </item>
+      <item> .word </item>
+    </list>
+    <list name="section">
+      <item> .data </item>
+      <item> .kdata </item>
+      <item> .ktext </item>
+      <item> .text </item>
+    </list>
+    <list name="hardware">
+      <item> abs.d </item>
+      <item> abs.s </item>
+      <item> add </item>
+      <item> add.d </item>
+      <item> add.s </item>
+      <item> addi </item>
+      <item> addiu </item>
+      <item> addu </item>
+      <item> and </item>
+      <item> andi </item>
+      <item> bc0f </item>
+      <item> bc0t </item>
+      <item> bc1f </item>
+      <item> bc1t </item>
+      <item> bc2f </item>
+      <item> bc2t </item>
+      <item> bc3f </item>
+      <item> bc3t </item>
+      <item> beq </item>
+      <item> bgez </item>
+      <item> bgezal </item>
+      <item> bgtz </item>
+      <item> blez </item>
+      <item> bltz </item>
+      <item> bltzal </item>
+      <item> bne </item>
+      <item> break </item>
+      <item> c.eq.d </item>
+      <item> c.eq.s </item>
+      <item> c.seq.s </item>
+      <item> c.seq.d </item>
+      <item> c.ueq.s </item>
+      <item> c.ueq.d </item>
+      <item> c.olt.d </item>
+      <item> c.olt.s </item>
+      <item> c.ole.d </item>
+      <item> c.ole.s </item>
+      <item> c.ult.d </item>
+      <item> c.ult.s </item>
+      <item> c.ule.d </item>
+      <item> c.ule.s </item>
+      <item> c.le.d </item>
+      <item> c.le.s </item>
+      <item> c.lt.d </item>
+      <item> c.lt.s </item>
+      <item> c.un.s </item>
+      <item> c.un.d </item>
+      <item> cvt.d.s </item>
+      <item> cvt.d.w </item>
+      <item> cvt.s.d </item>
+      <item> cvt.s.w </item>
+      <item> cvt.w.d </item>
+      <item> cvt.w.s </item>
+      <item> div.d </item>
+      <item> div.s </item>
+      <item> j </item>
+      <item> jal </item>
+      <item> jalr </item>
+      <item> jr </item>
+      <item> lb </item>
+      <item> lbu </item>
+      <item> lh </item>
+      <item> lhu </item>
+      <item> lui </item>
+      <item> lw </item>
+      <item> lwc0 </item>
+      <item> lwc1 </item>
+      <item> lwc2 </item>
+      <item> lwc3 </item>
+      <item> lwl </item>
+      <item> lwr </item>
+      <item> mfc0 </item>
+      <item> mfc1 </item>
+      <item> mfc2 </item>
+      <item> mfc3 </item>
+      <item> mfhi </item>
+      <item> mflo </item>
+      <item> mtc0 </item>
+      <item> mtc1 </item>
+      <item> mtc2 </item>
+      <item> mtc3 </item>
+      <item> mthi </item>
+      <item> mtlo </item>
+      <item> mul.d </item>
+      <item> mul.s </item>
+      <item> mult </item>
+      <item> multu </item>
+      <item> nor </item>
+      <item> or </item>
+      <item> ori </item>
+      <item> rfe </item>
+      <item> sb </item>
+      <item> sh </item>
+      <item> sw </item>
+      <item> swcl </item>
+      <item> swl </item>
+      <item> swr </item>
+      <item> sll </item>
+      <item> sllv </item>
+      <item> slt </item>
+      <item> slti </item>
+      <item> sltiu </item>
+      <item> sra </item>
+      <item> srav </item>
+      <item> srl </item>
+      <item> srlv </item>
+      <item> sub </item>
+      <item> sub.d </item>
+      <item> sub.s </item>
+      <item> subu </item>
+      <item> sw </item>
+      <item> swc0 </item>
+      <item> swc1 </item>
+      <item> swc2 </item>
+      <item> swc3 </item>
+      <item> swl </item>
+      <item> swr </item>
+      <item> syscall </item>
+      <item> xor </item>
+      <item> xori </item>
+    </list>
+    <list name="pseudo">
+      <item> abs </item>
+      <item> b </item>
+      <item> beqz </item>
+      <item> bge </item>
+      <item> bgeu </item>
+      <item> bgt </item>
+      <item> bgtu </item>
+      <item> ble </item>
+      <item> bleu </item>
+      <item> blt </item>
+      <item> bltu </item>
+      <item> bnez </item>
+      <item> div </item>
+      <item> divu </item>
+      <item> l.d </item>
+      <item> l.s </item>
+      <item> la </item>
+      <item> ld </item>
+      <item> li </item>
+      <item> li.d </item>
+      <item> li.s </item>
+      <item> mfc0.d </item>
+      <item> mfc1.d </item>
+      <item> mfc2.d </item>
+      <item> mfc3.d </item>
+      <item> mov.d </item>
+      <item> mov.s </item>
+      <item> move </item>
+      <item> mul </item>
+      <item> mulo </item>
+      <item> mulou </item>
+      <item> neg </item>
+      <item> neg.d </item>
+      <item> neg.s </item>
+      <item> negu </item>
+      <item> nop </item>
+      <item> not </item>
+      <item> rem </item>
+      <item> remu </item>
+      <item> rol </item>
+      <item> ror </item>
+      <item> s.d </item>
+      <item> s.s </item>
+      <item> sd </item>
+      <item> seq </item>
+      <item> sge </item>
+      <item> sgeu </item>
+      <item> sgt </item>
+      <item> sgtu </item>
+      <item> sle </item>
+      <item> sleu </item>
+      <item> sne </item>
+      <item> ulh </item>
+      <item> ulhu </item>
+      <item> ulw </item>
+      <item> ush </item>
+      <item> usw </item>
+    </list>
+    <list name="register1">
+      <item> $0 </item>
+      <item> $1 </item>
+      <item> $2 </item>
+      <item> $3 </item>
+      <item> $4 </item>
+      <item> $5 </item>
+      <item> $6 </item>
+      <item> $7 </item>
+      <item> $8 </item>
+      <item> $9 </item>
+      <item> $10 </item>
+      <item> $11 </item>
+      <item> $12 </item>
+      <item> $13 </item>
+      <item> $14 </item>
+      <item> $15 </item>
+      <item> $16 </item>
+      <item> $17 </item>
+      <item> $18 </item>
+      <item> $19 </item>
+      <item> $20 </item>
+      <item> $21 </item>
+      <item> $22 </item>
+      <item> $23 </item>
+      <item> $24 </item>
+      <item> $25 </item>
+      <item> $26 </item>
+      <item> $27 </item>
+      <item> $28 </item>
+      <item> $29 </item>
+      <item> $30 </item>
+      <item> $31 </item>
+      <item> $zero </item>
+      <item> $t0 </item>
+      <item> $t1 </item>
+      <item> $t2 </item>
+      <item> $t3 </item>
+      <item> $t4 </item>
+      <item> $t5 </item>
+      <item> $t6 </item>
+      <item> $t7 </item>
+      <item> $t8 </item>
+      <item> $t9 </item>
+    </list>
+    <list name="register2">
+      <item> $v0 </item>
+      <item> $v1 </item>
+      <item> $a0 </item>
+      <item> $a1 </item>
+      <item> $a2 </item>
+      <item> $a3 </item>
+      <item> $k0 </item>
+      <item> $k1 </item>
+      <item> $at </item>
+      <item> $gp </item>
+      <item> $sp </item>
+      <item> $fp </item>
+      <item> $s0 </item>
+      <item> $s1 </item>
+      <item> $s2 </item>
+      <item> $s3 </item>
+      <item> $s4 </item>
+      <item> $s5 </item>
+      <item> $s6 </item>
+      <item> $s7 </item>
+      <item> $ra </item>
+    </list>
+    <list name="fp">
+      <item> $f0 </item>
+      <item> $f1 </item>
+      <item> $f2 </item>
+      <item> $f3 </item>
+      <item> $f4 </item>
+      <item> $f5 </item>
+      <item> $f6 </item>
+      <item> $f7 </item>
+      <item> $f8 </item>
+      <item> $f9 </item>
+      <item> $f10 </item>
+      <item> $f11 </item>
+      <item> $f12 </item>
+      <item> $f13 </item>
+      <item> $f14 </item>
+      <item> $f15 </item>
+      <item> $f16 </item>
+      <item> $f17 </item>
+      <item> $f18 </item>
+      <item> $f19 </item>
+      <item> $f20 </item>
+      <item> $f21 </item>
+      <item> $f22 </item>
+      <item> $f23 </item>
+      <item> $f24 </item>
+      <item> $f25 </item>
+      <item> $f26 </item>
+      <item> $f27 </item>
+      <item> $f28 </item>
+      <item> $f29 </item>
+      <item> $f30 </item>
+      <item> $f31 </item>
+    </list>
+    <contexts>
+      <context name="normal" attribute="Normal Text" lineEndContext="#stay">
+        <keyword attribute="Hardware Instruction" context="#stay" String="hardware"/>
+        <keyword attribute="Pseudo Instruction" context="#stay" String="pseudo"/>
+        <keyword attribute="Other Register" context="#stay" String="register1"/>
+        <keyword attribute="Main Register" context="#stay" String="register2"/>
+        <keyword attribute="Floating Point Register" context="#stay" String="fp"/>
+        <keyword attribute="Type" context="#stay" String="section"/>
+        <keyword attribute="Section" context="#stay" String="type"/>
+        <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"/>
+        <RegExpr attribute="Comment" context="#stay" String="#.*$" />
+        <RegExpr attribute="Label" context="#stay" String="[\w_\.]+:" firstNonSpace="true"/>
+        <DetectChar attribute="String" context="string" char="&quot;" />
+        <Float attribute="Float" context="#stay"/>
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Int attribute="Decimal" context="#stay"/>
+      </context>
+      <context name="string" attribute="String" lineEndContext="#stay" >
+        <RegExpr attribute="Char" context="#stay" String="\\." />
+        <DetectChar attribute="String" context="#pop" char="&quot;" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="Hardware Instruction" defStyleNum="dsKeyword" />
+      <itemData name="Pseudo Instruction" defStyleNum="dsFunction"/>
+      <itemData name="Other Register" defStyleNum="dsDataType" color="#0000ff"/>
+      <itemData name="Main Register" defStyleNum="dsDataType"/>
+      <itemData name="Floating Point Register" defStyleNum="dsFloat"/>
+      <itemData name="Section" defStyleNum="dsDataType"/>
+      <itemData name="Type" defStyleNum="dsKeyword"/>
+      <itemData name="Comment" defStyleNum="dsComment" />
+      <itemData name="Char" defStyleNum="dsChar" />
+      <itemData name="String" defStyleNum="dsString" />
+      <itemData name="Label" defStyleNum="dsOthers" />
+      <itemData name="Decimal" defStyleNum="dsDecVal"/>
+      <itemData name="Octal" defStyleNum="dsBaseN"/>
+      <itemData name="Hex" defStyleNum="dsBaseN"/>
+      <itemData name="Float" defStyleNum="dsFloat"/>
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="#" />
+    </comments>
+    <keywords casesensitive="0" weakDeliminator="."/>
+  </general>
+</language>
diff --git a/xml/modelines.xml b/xml/modelines.xml
new file mode 100644
--- /dev/null
+++ b/xml/modelines.xml
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+    <!ENTITY space " ">
+    <!ENTITY end "&#59;">
+]>
+<!--
+  Copyright (c) 2012-2014 by Alex Turbov (i.zaufi@gmail.com)
+  -->
+<language name="Modelines"
+          version="3"
+          kateversion="5.0"
+          section="Other"
+          extensions=""
+          mimetype=""
+          author="Alex Turbov (i.zaufi@gmail.com)"
+          license="LGPL"
+          hidden="true"
+          priority="5">
+<!--
+  The main purpose of this file is to be included into other syntax files.
+
+  NOTE Default colors are set to 'Comment', so if u don't want to highight it,
+  just leave colors as is...
+
+  TODO Support for other modelines? emacs/vim??
+-->
+<highlighting>
+  <list name="ModelineStartKeyword">
+    <item> kate: </item>
+  </list>
+
+  <list name="Booleans">
+    <item> auto-brackets </item>
+    <!-- NOTE Deprecated -->
+<!--     <item> auto-insert-doxygen </item> -->
+    <item> automatic-spell-checking </item>                 <!-- NOTE Since KDE 4.?? -->
+    <item> backspace-indents </item>
+    <item> block-selection </item>
+    <item> bookmark-sorting </item>
+    <item> bom </item>
+    <item> byte-order-marker </item>
+    <item> dynamic-word-wrap </item>
+    <item> folding-markers </item>
+    <item> folding-preview </item>                          <!-- Since KTextEditor 5.24 -->
+    <item> icon-border </item>
+    <item> indent-pasted-text </item>                       <!-- Since KDE 4.11 -->
+    <item> keep-extra-spaces </item>
+    <item> line-numbers </item>
+    <item> newline-at-eof </item>                           <!-- Since KDE 4.9 -->
+    <item> overwrite-mode </item>
+    <item> persistent-selection </item>
+    <!-- NOTE Deprecated since KDE 4.10 -->
+    <!-- <item> remove-trailing-space </item> -->
+    <item> replace-tabs-save </item>
+    <item> replace-tabs </item>
+    <item> replace-trailing-space-save </item>
+    <item> smart-home </item>
+    <item> scrollbar-minimap</item>                         <!-- Since KTextEditor 5.24 -->
+    <item> scrollbar-preview</item>                         <!-- Since KTextEditor 5.24 -->
+    <item> space-indent </item>
+    <item> show-tabs </item>
+    <item> show-trailing-spaces </item>                     <!-- NOTE Since KDE 4.?? -->
+    <item> tab-indents </item>
+    <item> word-wrap </item>
+    <item> wrap-cursor </item>
+  </list>
+
+  <list name="True">
+    <item> on </item>
+    <item> true </item>
+    <item> 1 </item>
+  </list>
+
+  <list name="False">
+    <item> off </item>
+    <item> false </item>
+    <item> 0 </item>
+  </list>
+
+  <list name="Integrals">
+    <item> auto-center-lines </item>
+    <item> font-size </item>
+    <item> indent-mode </item>
+    <item> indent-width </item>
+    <item> tab-width </item>
+    <item> undo-steps </item>
+    <item> word-wrap-column </item>
+  </list>
+
+  <list name="Strings">
+    <item> background-color </item>
+    <item> bracket-highlight-color </item>
+    <item> current-line-color </item>
+    <item> default-dictionary </item>
+    <item> encoding </item>                                 <!-- NOTE Since KDE 4.?? -->
+    <item> eol </item>                                      <!-- Valid settings are unix, mac and dos -->
+    <item> end-of-line </item>                              <!-- Valid settings are unix, mac and dos -->
+    <item> font </item>
+    <item> hl </item>
+    <item> icon-bar-color </item>
+    <item> mode </item>                                     <!-- NOTE Since KDE 4.?? -->
+    <item> scheme </item>
+    <item> selection-color </item>
+    <item> syntax </item>
+    <item> word-wrap-marker-color </item>
+  </list>
+
+  <list name="RemoveSpaces">
+    <item> remove-trailing-spaces </item>
+  </list>
+
+  <list name="RemoveSpacesOptions">
+    <item> 0 </item>
+    <item> - </item>
+    <item> none </item>
+
+    <item> modified </item>
+    <item> mod </item>
+    <item> + </item>
+    <item> 1 </item>
+
+    <item> all </item>
+    <item> * </item>
+    <item> 2 </item>
+  </list>
+
+  <contexts>
+    <context name="Normal" attribute="Comment" lineEndContext="#pop">
+      <DetectSpaces />
+      <keyword String="ModelineStartKeyword" context="Modeline" attribute="Keyword" />
+      <RegExpr String="kate-(mimetype|wildcard)\(.*\):" context="Modeline" attribute="Keyword" />
+      <LineContinue context="#pop" />
+    </context>
+
+    <context name="Modeline" attribute="Comment" lineEndContext="#pop">
+      <DetectSpaces />
+      <keyword String="Booleans" context="Booleans" attribute="Variable" />
+      <keyword String="Integrals" context="Integrals" attribute="Variable" />
+      <keyword String="Strings" context="Strings" attribute="Variable" />
+      <keyword String="RemoveSpaces" context="RemoveSpaces" attribute="Variable" />
+      <LineContinue context="#pop" />
+    </context>
+
+    <context name="Booleans" attribute="Comment" lineEndContext="#pop">
+      <DetectSpaces />
+      <keyword String="True" attribute="Option ON" context="#stay" />
+      <keyword String="False" attribute="Option OFF" context="#stay" />
+      <DetectChar char="&end;" context="#pop" attribute="Variable" />
+      <LineContinue context="#pop" />
+    </context>
+
+    <context name="Integrals" attribute="Comment" lineEndContext="#pop">
+      <DetectSpaces />
+      <Int attribute="Number" context="#stay" />
+      <DetectChar char="&end;" context="#pop" attribute="Variable" />
+      <LineContinue context="#pop" />
+    </context>
+
+    <context name="Strings" attribute="String" lineEndContext="#pop">
+      <DetectSpaces />
+      <RegExpr String="[^&end;&space;]" context="#stay" />
+      <DetectChar char="&end;" context="#pop" attribute="Variable" />
+      <LineContinue context="#pop" />
+    </context>
+
+    <context name="RemoveSpaces" attribute="Comment" lineEndContext="#pop">
+      <DetectSpaces />
+      <keyword String="RemoveSpacesOptions" attribute="Value" context="#pop" />
+      <DetectChar char="&end;" context="#pop" attribute="Variable" />
+      <LineContinue context="#pop" />
+    </context>
+
+  </contexts>
+
+  <itemDatas>
+    <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" />
+    <itemData name="Keyword" defStyleNum="dsAnnotation" spellChecking="false" />
+    <itemData name="Variable" defStyleNum="dsCommentVar" spellChecking="false" />
+    <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false" />
+    <itemData name="String" defStyleNum="dsString" spellChecking="false" />
+    <itemData name="Value" defStyleNum="dsOthers" spellChecking="false" />
+    <itemData name="Option ON" defStyleNum="dsOthers" spellChecking="false" />
+    <itemData name="Option OFF" defStyleNum="dsOthers" spellChecking="false" />
+  </itemDatas>
+
+</highlighting>
+
+<general>
+  <keywords casesensitive="1" weakDeliminator=":-" />
+</general>
+
+</language>
+<!-- kate: indent-width 2; -->
diff --git a/xml/modula-2.xml b/xml/modula-2.xml
new file mode 100644
--- /dev/null
+++ b/xml/modula-2.xml
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Modula-2" version="2" kateversion="2.2" section="Sources" extensions="*.mod;*.def;*.mi;*.md" mimetype="text/x-modula-2">
+  <highlighting>
+    <list name="directives">
+      <item> ASSEMBLER </item>
+      <item> ALLOCATE </item>
+      <item> DEALLOCATE </item>
+      <item> SIZE </item>
+      <item> Write </item>
+      <item> WriteString </item>
+      <item> WriteCard </item>
+      <item> WriteLn </item>
+      <item> WriteBf </item>
+      <item> WriteInt </item>
+      <item> WriteReal </item>
+      <item> WriteLongReal </item>
+      <item> Read </item>
+      <item> ReadString </item>
+      <item> ReadCard </item>
+      <item> ReadInt </item>
+      <item> ReadReal </item>
+      <item> ReadLongReal </item>
+      <item> Open </item>
+      <item> Close </item>
+      <item> OpenInput </item>
+      <item> OpenOutput </item>
+      <item> Accessible </item>
+      <item> Erase </item>
+      <item> EOF </item>
+      <item> Done </item>
+      <item> EmptyString </item>
+      <item> Assign </item>
+      <item> Append </item>
+      <item> Length </item>
+      <item> StrEq </item>
+      <item> Copy </item>
+      <item> Concat </item>
+      <item> pos </item>
+      <item> Delete </item>
+      <item> Insert </item>
+      <item> compare </item>
+      <item> CAPS </item>
+      <item> PutBf </item>
+      <item> GetArgs </item>
+      <item> GetEnv </item>
+      <item> ResetClock </item>
+      <item> UserTime </item>
+      <item> SystemTime </item>
+      <item> GetChar </item>
+      <item> GetInt </item>
+      <item> GetCard </item>
+      <item> GetString </item>
+      <item> GetReal </item>
+      <item> GetLongReal </item>
+      <item> PutChar </item>
+      <item> PutInt </item>
+      <item> PutCard </item>
+      <item> PutString </item>
+      <item> PutReal </item>
+      <item> PutLongReal </item>
+      <item> PutLn </item>
+    </list>
+    <list name="keywords">
+      <item> AND </item>
+      <item> ARRAY </item>
+      <item> ASM </item>
+      <item> BEGIN </item>
+      <item> CASE </item>
+      <item> CONST </item>
+      <item> DIV </item>
+      <item> DO </item>
+      <item> ELSE </item>
+      <item> ELSIF </item>
+      <item> END </item>
+      <item> FOR </item>
+      <item> IF </item>
+      <item> IMPLEMENTATION </item>
+      <item> IN </item>
+      <item> SET </item>
+      <item> INCL </item>
+      <item> EXCL </item>
+      <item> ABS </item>
+      <item> BITSET </item>
+      <item> CAP </item>
+      <item> CHR </item>
+      <item> DEC </item>
+      <item> HALT </item>
+      <item> HIGH </item>
+      <item> INC </item>
+      <item> MAX </item>
+      <item> MIN </item>
+      <item> ODD </item>
+      <item> ORD </item>
+      <item> PROC </item>
+      <item> TRUNC </item>
+      <item> VAL </item>
+      <item> MOD </item>
+      <item> NIL </item>
+      <item> NOT </item>
+      <item> OF </item>
+      <item> OR </item>
+      <item> PROCEDURE </item>
+      <item> MODULE </item>
+      <item> DEFINITION </item>
+      <item> RECORD </item>
+      <item> REPEAT </item>
+      <item> THEN </item>
+      <item> TO </item>
+      <item> TYPE </item>
+      <item> UNTIL </item>
+      <item> LOOP </item>
+      <item> VAR </item>
+      <item> WHILE </item>
+      <item> WITH </item>
+      <item> EXIT </item>
+      <item> FALSE </item>
+      <item> TRUE </item>
+      <item> BY </item>
+      <item> FROM </item>
+      <item> IMPORT </item>
+      <item> EXPORT </item>
+      <item> QUALIFIED </item>
+      <item> RETURN </item>
+      <item> NEWPROCESS </item>
+      <item> TRANSFER </item>
+      <item> IOTRANSFER </item>
+      <item> FOREIGN </item>
+    </list>
+    <list name="types">
+      <item> INTEGER </item>
+      <item> CARDINAL </item>
+      <item> SHORTINT </item>
+      <item> SHORTCARD </item>
+      <item> LONGINT </item>
+      <item> LONGREAL </item>
+      <item> CHAR </item>
+      <item> BOOLEAN </item>
+      <item> POINTER </item>
+      <item> ADDRESS </item>
+      <item> ADR </item>
+      <item> REAL </item>
+      <item> File </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Directive" context="#stay" String="directives"/>
+        <keyword attribute="Type" context="#stay" String="types"/>
+        <Float attribute="Number" context="#stay"/>
+        <Int attribute="Number" context="#stay"/>
+        <DetectChar attribute="String" context="String1" char="&quot;" />
+        <DetectChar attribute="String" context="String2" char="'" />
+        <StringDetect attribute="Directive" context="Prep1" String="(*$"/>
+        <Detect2Chars attribute="Comment" context="Comment2" char="(" char1="*"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String1">
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String2">
+        <DetectChar attribute="String" context="#pop" char="'" />
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Comment2">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1=")"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Comment3" />
+      <context attribute="Directive" lineEndContext="#stay" name="Prep1">
+        <StringDetect attribute="Directive" context="Prep1" String="$*)"/>
+      </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="Keyword"     defStyleNum="dsKeyword" />
+      <itemData name="Type"        defStyleNum="dsDataType"/>
+      <itemData name="Number"      defStyleNum="dsDecVal" />
+      <itemData name="String"      defStyleNum="dsString" />
+      <itemData name="Directive"   defStyleNum="dsOthers" />
+      <itemData name="Comment"     defStyleNum="dsComment" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="1" />
+    <comments>
+      <comment name="multiLine" start="(*" end="*)" />
+    </comments>
+  </general>
+</language>
diff --git a/xml/modula-3.xml b/xml/modula-3.xml
new file mode 100644
--- /dev/null
+++ b/xml/modula-3.xml
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- author ik Iztok Kobal (iztok.kobal@siol.net) -->
+<!-- followed CM3 documentation (http://www.elegosoft.com/cm3/doc/reference/index.html , chapter Syntax) -->
+<!-- 03.03.2005 ik mailed version 1.00 to Dominik Haumann <dhdev@gmx.de> of kate team -->
+<!-- 04.03.2005 ik mailed version 1.01 with fixed/implemented nested comments to Dominik -->
+<!-- known bug: notation Regexp( [0-9]*\. ) should be not interpreted as neither Integer neither Real -->
+<!-- known bug: notation Regexp ( "  \" " ) is not properly interpreted -->
+<language name="Modula-3" version="1.01" kateversion="2.1" section="Sources" extensions="*.m3;*.i3;*.ig;*.mg;" mimetype="text/x-modula-3" license="LGPL">
+  <highlighting>
+    <list name="keywords">
+<!--      <item> AND </item> -->
+      <item> ANY </item>
+      <item> ARRAY </item>
+      <item> AS </item>
+      <item> BEGIN </item>
+      <item> BITS </item>
+      <item> BRANDED </item>
+      <item> BY </item>
+      <item> CASE </item>
+      <item> CONST </item>
+<!--      <item> DIV </item> -->
+      <item> DO </item>
+      <item> ELSE </item>
+      <item> ELSIF </item>
+      <item> END </item>
+      <item> EVAL </item>
+      <item> EXCEPT </item>
+      <item> EXCEPTION </item>
+      <item> EXIT </item>
+      <item> EXPORTS </item>
+      <item> FINALLY </item>
+      <item> FOR </item>
+      <item> FROM </item>
+      <item> GENERIC </item>
+      <item> IF </item>
+      <item> IMPORT </item>
+<!--      <item> IN </item> -->
+      <item> INTERFACE </item>
+      <item> LOCK </item>
+      <item> LOOP </item>
+      <item> METHODS </item>
+<!--      <item> MOD </item> -->
+      <item> MODULE </item>
+<!--      <item> NOT </item> -->
+      <item> OBJECT </item>
+      <item> OF </item>
+<!--      <item> OR </item> -->
+      <item> OVERRIDES </item>
+      <item> PROCEDURE </item>
+      <item> RAISE </item>
+      <item> RAISES </item>
+      <item> READONLY </item>
+      <item> RECORD </item>
+      <item> REF </item>
+      <item> REPEAT </item>
+      <item> RETURN </item>
+      <item> REVEAL </item>
+      <item> ROOT </item>
+      <item> SET </item>
+      <item> THEN </item>
+      <item> TO </item>
+      <item> TRY </item>
+      <item> TYPE </item>
+      <item> TYPECASE </item>
+      <item> UNSAFE </item>
+      <item> UNTIL </item>
+      <item> UNTRACED </item>
+      <item> VALUE </item>
+      <item> VAR </item>
+      <item> WHILE </item>
+      <item> WITH </item>
+    </list>
+    <list name="operators">
+      <item> AND </item> 
+      <item> DIV </item> 
+      <item> IN </item> 
+      <item> MOD </item>
+      <item> NOT </item>
+      <item> OR </item>
+      <item> + </item>
+      <item> &lt; </item>
+      <item> # </item>
+      <item> = </item>
+      <item> ; </item>
+      <item> .. </item>
+      <item> : </item>
+      <item> - </item>
+      <item> &gt; </item>
+      <item> { </item>
+      <item> } </item>
+      <item> | </item>
+      <item> := </item>
+      <item> &lt;: </item>
+      <item> * </item>
+      <item> &lt;= </item>
+      <item> ( </item>
+      <item> ) </item>
+      <item> ^ </item>
+      <item> , </item>
+      <item> =&gt; </item>
+      <item> / </item>
+      <item> &gt;= </item>
+      <item> [ </item>
+      <item> ] </item>
+      <item> . </item>
+      <item> &amp; </item>
+    </list>
+    <list name="types">
+      <item> ADDRESS </item>
+      <item> BOOLEAN </item>
+      <item> CARDINAL </item>
+      <item> CHAR </item>
+      <item> EXTENDED </item>
+      <item> INTEGER </item>
+      <item> LONGREAL </item>
+      <item> MUTEX </item>
+      <item> NULL </item>
+      <item> REAL </item>
+      <item> REFANY </item>
+      <item> T </item>
+      <item> TEXT </item>
+    </list>
+    <list name="constants">
+      <item> FALSE </item>
+      <item> NIL </item>
+      <item> TRUE </item>
+    </list>
+    <list name="pervasives">
+      <item> ABS </item>
+      <item> ADR </item>
+      <item> ADRSIZE </item>
+      <item> BITSIZE </item>
+      <item> BYTESIZE </item>
+      <item> CEILING </item>
+      <item> DEC </item>
+      <item> DISPOSE </item>
+      <item> FIRST </item>
+      <item> FLOAT </item>
+      <item> FLOOR </item>
+      <item> INC </item>
+      <item> ISTYPE </item>
+      <item> LAST </item>
+      <item> LOOPHOLE </item>
+      <item> MAX </item>
+      <item> MIN </item>
+      <item> NARROW </item>
+      <item> NEW </item>
+      <item> NUMBER </item>
+      <item> ORD </item>
+      <item> ROUND </item>
+      <item> SUBARRAY </item>
+      <item> TRUNC </item>
+      <item> TYPECODE </item>
+      <item> VAL </item>
+    </list>
+    <list name="stdlibs">
+      <item> Text </item>
+      <item> Text.Length </item>
+      <item> Text.Empty </item>
+      <item> Text.Equal </item>
+      <item> Text.Compare </item>
+      <item> Text.Cat </item>
+      <item> Text.Sub </item>
+      <item> Text.Hash </item>
+      <item> Text.HasWideChar </item>
+      <item> Text.GetChar </item>
+      <item> Text.GetWideChar </item>
+      <item> Text.SetChars </item>
+      <item> Text.SetWideChars </item>
+      <item> Text.FromChars </item>
+      <item> Text.FromWideChars </item>
+      <item> Text.FindChar </item>
+      <item> Text.FindWideChar </item>
+      <item> Text.FindCharR </item>
+      <item> Text.FindWideCharR </item>
+      <item> Fmt </item>
+      <item> Fmt.Bool </item>
+      <item> Fmt.Char </item>
+      <item> Fmt.Int </item>
+      <item> Fmt.Unsigned </item>
+      <item> Fmt.Real </item>
+      <item> Fmt.LongReal </item>
+      <item> Fmt.Extended </item>
+      <item> Fmt.Pad </item>
+      <item> Fmt.F </item>
+      <item> Fmt.FN </item>
+      <item> Scan </item>
+      <item> Scan.Bool </item>
+      <item> Scan.Int </item>
+      <item> Scan.Unsigned </item>
+      <item> Scan.Real </item>
+      <item> Scan.LongReal </item>
+      <item> Scan.Extended </item>
+      <item> IO </item>
+      <item> IO.Put </item>
+      <item> IO.PutChar </item>
+      <item> IO.PutWideChar </item>
+      <item> IO.PutInt </item>
+      <item> IO.PutReal </item>
+      <item> IO.EOF </item>
+      <item> IO.GetLine </item>
+      <item> IO.GetChar </item>
+      <item> IO.GetWideChar </item>
+      <item> IO.GetInt </item>
+      <item> IO.GetReal </item>
+      <item> IO.OpenRead </item>
+      <item> IO.OpenWrite </item>
+      <item> Rd </item>
+      <item> Rd.GetChar </item>
+      <item> Rd.GetWideChar </item>
+      <item> Rd.EOF </item>
+      <item> Rd.UnGetChar </item>
+      <item> Rd.CharsReady </item>
+      <item> Rd.GetSub </item>
+      <item> Rd.GetWideSub </item>
+      <item> Rd.GetSubLine </item>
+      <item> Rd.GetWideSubLine </item>
+      <item> Rd.GetText </item>
+      <item> Rd.GetWideText </item>
+      <item> Rd.GetLine </item>
+      <item> Rd.GetWideLine </item>
+      <item> Rd.Seek </item>
+      <item> Rd.Close </item>
+      <item> Rd.Index </item>
+      <item> Rd.Length </item>
+      <item> Rd.Intermittend </item>
+      <item> Rd.Seekable </item>
+      <item> Rd.Closed </item>
+      <item> Wr </item>
+      <item> Wr.PutChar </item>
+      <item> Wr.PutWideChar </item>
+      <item> Wr.PutText </item>
+      <item> Wr.PutWideText </item>
+      <item> Wr.PutString </item>
+      <item> Wr.PutWideString </item>
+      <item> Wr.Seek </item>
+      <item> Wr.Flush </item>
+      <item> Wr.Close </item>
+      <item> Wr.Length </item>
+      <item> Wr.Index </item>
+      <item> Wr.Seekable </item>
+      <item> Wr.Closed </item>
+      <item> Wr.Buffered </item>
+      <item> Lex </item>
+      <item> Lex.Scan </item>
+      <item> Lex.Skip </item>
+      <item> Lex.Match </item>
+      <item> Lex.Bool </item>
+      <item> Lex.Int </item>
+      <item> Lex.Unsigned </item>
+      <item> Lex.Real </item>
+      <item> Lex.LongReal </item>
+      <item> Lex.Extended </item>
+      <item> Params </item>
+      <item> Params.Count </item>
+      <item> Params.Get </item>
+      <item> Env </item>
+      <item> Env.Count </item>
+      <item> Env.Get </item>
+      <item> Env.GetNth </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <RegExpr attribute="Keyword" context="#stay" String="PROCEDURE[\s].*\(" beginRegion="Proc"/>
+        <RegExpr attribute="Keyword" context="#stay" String="END\s*[A-Za-z][A-Za-z0-9_]*\;" endRegion="Proc"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(RECORD|OBJECT|TRY|WHILE|FOR|REPEAT|LOOP|IF|CASE|WITH)\b" beginRegion="Block"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(END;|END)\b" endRegion="Block"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Operator" context="#stay" String="operators"/>
+        <keyword attribute="Type" context="#stay" String="types"/>
+        <keyword attribute="Constant" context="#stay" String="constants"/>
+        <keyword attribute="Pervasive" context="#stay" String="pervasives"/>
+        <keyword attribute="StdLib" context="#stay" String="stdlibs"/>
+        <RegExpr attribute="Real" context="#stay" String="\b[\+|\-]{0,1}[0-9]{1,}\.[0-9]{1,}([E|e|D|d|X|x][\+|\-]{0,1}[0-9]{1,}){0,1}\b"/>
+        <RegExpr attribute="Integer" context="#stay" String="\b([\+|\-]{0,1}[0-9]{1,}|([2-9]|1[0-6])\_[0-9A-Fa-f]{1,})\b"/>
+        <DetectChar attribute="String" context="String1" char="&quot;"/>
+        <RegExpr attribute="Char" context="#stay" String="\'(.|\\[ntrf\\'&quot;]|\\[0-7]{3})\'"/>
+        <Detect2Chars attribute="Pragma" context="Prep1" char="&lt;" char1="*"/>
+        <Detect2Chars attribute="Comment" context="Comment2" char="(" char1="*" beginRegion="Comment"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String1">
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Comment2">
+        <Detect2Chars attribute="Comment" context="Comment2" char="(" char1="*" beginRegion="Comment"/>
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1=")" endRegion="Comment"/>
+      </context>
+      <context attribute="Pragma" lineEndContext="#stay" name="Prep1">
+        <Detect2Chars attribute="Pragma" context="#pop" char="*" char1="&gt;"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Keyword" defStyleNum="dsKeyword"/>
+      <itemData name="Operator" defStyleNum="dsKeyword"/>
+      <itemData name="Type" defStyleNum="dsDataType"/>
+      <itemData name="Integer" defStyleNum="dsBaseN"/>
+      <itemData name="Real" defStyleNum="dsFloat"/>
+      <itemData name="Constant" defStyleNum="dsDecVal"/>
+      <itemData name="String" defStyleNum="dsString"/>
+      <itemData name="Char" defStyleNum="dsChar"/>
+      <itemData name="Pervasive" defStyleNum="dsFunction"/>
+      <itemData name="StdLib" defStyleNum="dsFunction"/>
+      <itemData name="Comment" defStyleNum="dsComment" bold="0" italic="1"/>
+      <itemData name="Pragma" defStyleNum="dsOthers" bold="0" italic="1"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="1" weakDeliminator="."/>
+    <comments>
+      <comment name="multiLine" start="(*" end="*)"/>
+    </comments>
+  </general>
+</language>
diff --git a/xml/monobasic.xml b/xml/monobasic.xml
new file mode 100644
--- /dev/null
+++ b/xml/monobasic.xml
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+
+<!--
+    Mono Basic syntax
+
+    Created: Davide Bettio <davide.bettio@kdemail.net>
+    Date: 09/09/2005
+    Version: 1.01
+    License: GNU General Public License
+-->
+
+<language name="MonoBasic" section="Sources" version="2" kateversion="2.3" extensions="*.vb" mimetype="" author="Davide Bettio (davide.bettio@kdemail.net)" license="GPL">
+  <highlighting>
+     <list name="keywords">
+        <item> Option </item>
+	<item> Explicit </item>
+	<item> Strict </item>
+	<item> Imports </item>
+	<item> Inherits </item>
+	<item> As </item>
+	<item> New </item>
+	<item> Dim </item>
+	<item> Redim </item>
+	<item> Private </item>
+	<item> Friend </item>
+	<item> Public </item>
+	<item> Const </item>
+	<item> ReadOnly </item>
+	<item> WriteOnly </item>
+	<item> Default </item>
+	<item> Shared </item>
+	<item> Shadows </item>
+	<item> Protected </item>
+	<item> Overloads </item>
+	<item> Overrides </item>
+	<item> NotOverridable </item>
+	<item> NotInheritable </item>
+	<item> MustInherit </item>
+	<item> MustOverride </item>
+	<item> MyBase </item>
+	<item> MyClass </item>
+	<item> Me </item>
+	<item> Delegate </item>
+	<item> Catch </item>
+	<item> Finaly </item>
+	<item> When </item>
+	<item> Throw </item>
+	<item> To </item>
+	<item> Step </item>
+	<item> Then </item>
+	<item> Else </item>
+	<item> True </item>
+	<item> False </item>
+	<item> Nothing </item>
+	<item> Call </item>
+	<item> ByVal </item>
+	<item> ByRef </item>
+	<item> Optional </item>
+	<item> ParamArray </item>
+	<item> Return </item>
+	<item> Declare </item>
+	<item> WithEvents </item>
+	<item> Event </item>
+	<item> RaiseEvent </item>
+	<item> AddHandler </item>
+	<item> And </item>
+	<item> Or </item>
+	<item> Not </item>
+	<item> Xor </item>
+	<item> AndAlso </item>
+	<item> OrElse </item>
+	<item> Goto </item>
+	<item> On </item>
+	<item> Error </item>
+	<item> Resume </item>
+      </list>
+
+      <list name="types">
+	<item> Boolean </item>
+	<item> Char </item>
+	<item> String </item>
+	<item> Integer </item>
+	<item> Long </item>
+	<item> Double </item>
+	<item> Object </item>
+	<item> Exception </item>
+	<item> Date </item>
+	<item> DateTime </item>
+	<item> Int16 </item>
+	<item> Int32 </item>
+	<item> Int64 </item>
+	<item> ParamArray </item>
+	<item> TimeSpan </item>
+	<item> Byte </item>
+	<item> Decimal </item>
+	<item> IntPtr </item>
+	<item> Single </item>
+	<item> Guid </item>
+      </list>
+
+      <contexts>
+	<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+	   <keyword attribute="Keyword" context="#stay" String="keywords"/>
+	   <keyword attribute="Type" context="#stay" String="types"/>
+	   <DetectChar attribute="String" context="String" char="&quot;"/>
+	   <DetectChar attribute="Comment" context="Comment" char="'" />
+
+	   <!-- Namespace -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Namespace)([\s]|$)"  insensitive="true" beginRegion="Namespace1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Namespace.*$" insensitive="true" endRegion="Namespace1"/>
+
+	   <!-- Module -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Module)([\s]|$)"  insensitive="true" beginRegion="Module1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Module.*$" insensitive="true" endRegion="Module1"/>
+
+	   <!-- Class -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Class)([\s]|$)"  insensitive="true" beginRegion="Class1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Class.*$" insensitive="true" endRegion="Class1"/>
+
+	   <!-- Interface -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Interface)([\s]|$)"  insensitive="true" beginRegion="Interface1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Interface.*$" insensitive="true" endRegion="Interface1"/>
+
+	   <!-- Structure -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Structure)([\s]|$)"  insensitive="true" beginRegion="Structure1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Structure.*$" insensitive="true" endRegion="Structure1"/>
+	
+	   <!-- Enum -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Enum)([\s]|$)"  insensitive="true" beginRegion="Enum1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Enum.*$" insensitive="true" endRegion="Enum1"/>
+	
+	   <!-- Property -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Property)([\s]|$)"  insensitive="true" beginRegion="Property1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Property.*$" insensitive="true" endRegion="Property1"/>
+
+	   <!-- Get -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Get)([\s]|$)"  insensitive="true" beginRegion="Get1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Get.*$" insensitive="true" endRegion="Get1"/>
+
+	   <!-- Set -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Set)([\s]|$)"  insensitive="true" beginRegion="Set1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Set.*$" insensitive="true" endRegion="Set1"/>
+
+	   <!-- Sub -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Sub)([.\s]|$)"  insensitive="true" beginRegion="Sub1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Sub.*$" insensitive="true" endRegion="Sub1"/>
+           <RegExpr attribute="Keyword" context="#stay" String="Exit.Sub.*$" insensitive="true"/>
+
+	   <!-- Function -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Function)([\s]|$)"  insensitive="true" beginRegion="Function1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Function.*$" insensitive="true" endRegion="Function1"/>
+           <RegExpr attribute="Keyword" context="#stay" String="Exit.Function.*$" insensitive="true"/>
+
+	   <!-- Try -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Try)([\s]|$)"  insensitive="true" beginRegion="Try1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Try.*$" insensitive="true" endRegion="Try1"/>
+
+	   <!-- If -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(If)([\s]|$)"  insensitive="true" beginRegion="If1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.If.*$" insensitive="true" endRegion="If1"/>
+
+	   <!-- Select case -->
+	   <RegExpr attribute="Keyword" context="#stay" String="Select.Case.*$"  insensitive="true" beginRegion="SelectCase1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.Select.*$" insensitive="true" endRegion="SelectCase1"/>
+	
+	   <!-- For -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(For)([\s]|$)"  insensitive="true" beginRegion="For1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Next)([\s]|$)" insensitive="true" endRegion="For1"/>
+	
+	   <!-- Do Loop -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Do)([\s]|$)"  insensitive="true" beginRegion="DoLoop1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(Loop)([\s]|$)" insensitive="true" endRegion="DoLoop1"/>
+
+	   <!-- While -->
+	   <RegExpr attribute="Keyword" context="#stay" String="\b(While)([\s]|$)"  insensitive="true" beginRegion="While1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="End.While.*$" insensitive="true" endRegion="While1"/>
+	   <RegExpr attribute="Keyword" context="#stay" String="Exit.While.*$" insensitive="true"/>
+	   
+	   <!-- #Region -->
+	   <RegExpr attribute="Preprocessor" context="#stay" String="#Region.*$"  insensitive="true" beginRegion="Region1"/>
+	   <RegExpr attribute="Preprocessor" context="#stay" String="#End.Region.*$" insensitive="true" endRegion="Region1"/>
+
+	   <!-- #If -->
+	   <RegExpr attribute="Preprocessor" context="#stay" String="#If.*$"  insensitive="true" beginRegion="PreprocessorIf1"/>
+	   <RegExpr attribute="Preprocessor" context="#stay" String="#End.If.*$" insensitive="true" endRegion="PreprocessorIf1"/>
+      </context>
+
+      <context attribute="String" lineEndContext="#pop" name="String">
+         <LineContinue attribute="String" context="#pop"/>
+	 <HlCStringChar attribute="String Char" context="#stay"/>
+         <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+
+      <context name="Comment" attribute="Comment" lineEndContext="#pop"/>
+    </contexts>
+
+    <itemDatas>
+       <itemData name="Normal Text" defStyleNum="dsNormal"/>
+       <itemData name="Keyword" defStyleNum="dsKeyword" color="#000080" bold="0"/>
+       <itemData name="Type" defStyleNum="dsDataType" color="#000080" bold="0"/>
+       <itemData name="String" defStyleNum="dsString" color="#800000"/>
+       <itemData name="Preprocessor" defStyleNum="dsOthers" color="#008000"/>
+       <itemData name="Comment" defStyleNum="dsComment" color="#008000"/>
+    </itemDatas>
+
+   </highlighting>
+	
+   <general>
+      <keywords casesensitive="0"/>
+      <comments>
+         <comment name="singleLine" start="'"/>
+      </comments>
+   </general>
+</language>
diff --git a/xml/nasm.xml b/xml/nasm.xml
new file mode 100644
--- /dev/null
+++ b/xml/nasm.xml
@@ -0,0 +1,893 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  NASM Intel x86 assembly syntax
+
+  Created: Nicola Gigante <nicola.gigante@gmail.com>
+    Changes: Bogdan Drozdowski (bogdandr@op.pl)
+  Version: 1.3
+             Lyle Putnam (lcputnam@gmail.com)
+  Version: 1.4
+
+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.
+  24/07/2011: Version 1.4 from Lyle Putnam (lcputnam@gmail.com):
+    The above change to fix the regex for hex numbers was incorrect on Kate
+    3.6.2. Fixed.
+
+  GNU GENERAL PUBLIC LICENCE
+
+This program, including associated files, is free software.  You may
+distribute it and/or modify it under the terms of the GNU General Public
+License as published by the Free Software Foundation; either Version 2 of
+the license, or (at your option) any later version.
+
+This program 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 General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License along
+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="3" kateversion="2.3" extensions="*.asm" mimetype="" author="Nicola Gigante (nicola.gigante@gmail.com)" license="GPLv2+">
+  <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>
+      <item>aas</item>
+      <item>adc</item>
+      <item>add</item>
+      <item>addpd</item>
+      <item>addps</item>
+      <item>addsd</item>
+      <item>addss</item>
+      <item>addsubpd</item>
+      <item>addsubps</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>cdqe</item>
+      <item>cqo</item>
+      <item>clc</item>
+      <item>cld</item>
+      <item>clgi</item>
+      <item>cli</item>
+      <item>clts</item>
+      <item>clflush</item>
+      <item>cmc</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>
+      <item>cmpeqsd</item>
+      <item>cmpeqss</item>
+      <item>cmplepd</item>
+      <item>cmpleps</item>
+      <item>cmplesd</item>
+      <item>cmpless</item>
+      <item>cmpltpd</item>
+      <item>cmpltps</item>
+      <item>cmpltsd</item>
+      <item>cmpltss</item>
+      <item>cmpneqpd</item>
+      <item>cmpneqps</item>
+      <item>cmpneqsd</item>
+      <item>cmpneqss</item>
+      <item>cmpnlepd</item>
+      <item>cmpnleps</item>
+      <item>cmpnlesd</item>
+      <item>cmpnless</item>
+      <item>cmpnltpd</item>
+      <item>cmpnltps</item>
+      <item>cmpnltsd</item>
+      <item>cmpnltss</item>
+      <item>cmpordpd</item>
+      <item>cmpordps</item>
+      <item>cmpordsd</item>
+      <item>cmpordss</item>
+      <item>cmppd</item>
+      <item>cmpps</item>
+      <item>cmps</item>
+      <item>cmpsb</item>
+      <item>cmpsd</item>
+      <item>cmpss</item>
+      <item>cmpsw</item>
+      <item>cmpunordpd</item>
+      <item>cmpunordps</item>
+      <item>cmpunordsd</item>
+      <item>cmpunordss</item>
+      <item>cmpxchg</item>
+      <item>cmpxchg486</item>
+      <item>cmpxchg8b</item>
+      <item>cmpxchg16b</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>cvttss2si</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>fcmovbe</item>
+      <item>fcmove</item>
+      <item>fcmovnb</item>
+      <item>fcmovnbe</item>
+      <item>fcmovne</item>
+      <item>fcmovnu</item>
+      <item>fcmovu</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>feni</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>fimul</item>
+      <item>fincstp</item>
+      <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>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>fndisi</item>
+      <item>fneni</item>
+      <item>fninit</item>
+      <item>fnop</item>
+      <item>fnsave</item>
+      <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>frndint</item>
+      <item>frstor</item>
+      <item>fsave</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>fstenv</item>
+      <item>fstsw</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>fwait</item>
+      <item>fxam</item>
+      <item>fxch</item>
+      <item>fxrstor</item>
+      <item>fxsave</item>
+      <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>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>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>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>lfence</item>
+      <item>lfs</item>
+      <item>lgdt</item>
+      <item>lgs</item>
+      <item>lidt</item>
+      <item>lldt</item>
+      <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>
+      <item>loopne</item>
+      <item>loopnz</item>
+      <item>loopz</item>
+      <item>lsl</item>
+      <item>lss</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>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>
+      <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>movs</item>
+      <item>movsb</item>
+      <item>movsd</item>
+      <item>movshdup</item>
+      <item>movsldup</item>
+      <item>movsq</item>
+      <item>movss</item>
+      <item>movsx</item>
+      <item>movsxd</item>
+      <item>movsw</item>
+      <item>movupd</item>
+      <item>movups</item>
+      <item>movzx</item>
+      <item>mul</item>
+      <item>mulpd</item>
+      <item>mulps</item>
+      <item>mulsd</item>
+      <item>mulss</item>
+      <item>mwait</item>
+      <item>neg</item>
+      <item>nop</item>
+      <item>not</item>
+      <item>or</item>
+      <item>orpd</item>
+      <item>orps</item>
+      <item>out</item>
+      <item>outs</item>
+      <item>outsb</item>
+      <item>outsw</item>
+      <item>outsd</item>
+      <item>packssdw</item>
+      <item>packsswb</item>
+      <item>packuswb</item>
+      <item>paddb</item>
+      <item>paddd</item>
+      <item>paddq</item>
+      <item>paddsb</item>
+      <item>paddsw</item>
+      <item>paddusb</item>
+      <item>paddusw</item>
+      <item>paddw</item>
+      <item>pand</item>
+      <item>pandn</item>
+      <item>pause</item>
+      <item>pavgb</item>
+      <item>pavgusb</item>
+      <item>pavgw</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>pmulhrw</item>
+      <item>pmulhuw</item>
+      <item>pmulhw</item>
+      <item>pmullw</item>
+      <item>pmuludq</item>
+      <item>pmvgezb</item>
+      <item>pmvlzb</item>
+      <item>pmvnzb</item>
+      <item>pmvzb</item>
+      <item>pop</item>
+      <item>popa</item>
+      <item>popaw</item>
+      <item>popad</item>
+      <item>popf</item>
+      <item>popfw</item>
+      <item>popfd</item>
+      <item>popfq</item>
+      <item>por</item>
+      <item>prefetch</item>
+      <item>prefetchnta</item>
+      <item>prefetcht0</item>
+      <item>prefetcht1</item>
+      <item>prefetcht2</item>
+      <item>prefetchw</item>
+      <item>psadbw</item>
+      <item>pshufd</item>
+      <item>pshufhw</item>
+      <item>pshuflw</item>
+      <item>pshufw</item>
+      <item>pslld</item>
+      <item>pslldq</item>
+      <item>psllq</item>
+      <item>psllw</item>
+      <item>psrad</item>
+      <item>psraw</item>
+      <item>psrld</item>
+      <item>psrldq</item>
+      <item>psrlq</item>
+      <item>psrlw</item>
+      <item>psubb</item>
+      <item>psubd</item>
+      <item>psubq</item>
+      <item>psubsb</item>
+      <item>psubsiw</item>
+      <item>psubsw</item>
+      <item>psubusb</item>
+      <item>psubusw</item>
+      <item>psubw</item>
+      <item>pswapd</item>
+      <item>punpckhbw</item>
+      <item>punpckhdq</item>
+      <item>punpckhqdq</item>
+      <item>punpckhwd</item>
+      <item>punpcklbw</item>
+      <item>punpckldq</item>
+      <item>punpcklqdq</item>
+      <item>punpcklwd</item>
+      <item>push</item>
+      <item>pusha</item>
+      <item>pushad</item>
+      <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>rdmsr</item>
+      <item>rdpmc</item>
+      <item>rdshr</item>
+      <item>rdtsc</item>
+      <item>rdtscp</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>scas</item>
+      <item>scasb</item>
+      <item>scasd</item>
+      <item>scasq</item>
+      <item>scasw</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>
+      <item>shld</item>
+      <item>shr</item>
+      <item>shrd</item>
+      <item>shufpd</item>
+      <item>shufps</item>
+      <item>sidt</item>
+      <item>skinit</item>
+      <item>sldt</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>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>
+      <item>subpd</item>
+      <item>subps</item>
+      <item>subsd</item>
+      <item>subss</item>
+      <item>svdc</item>
+      <item>svldt</item>
+      <item>svts</item>
+      <item>swapgs</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>vmload</item>
+      <item>vmmcall</item>
+      <item>vmrun</item>
+      <item>vmsave</item>
+      <item>wait</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>
+    </list>
+    <list name="Data">
+      <!-- repeat some data declaration -->
+      <item>times</item>
+      <!-- constants -->
+      <item>equ</item>
+      <!-- Initialized data -->
+      <item>db</item>
+      <item>dw</item>
+      <item>dd</item>
+      <item>dq</item>
+      <item>dt</item>
+      <!-- Uninitialized data -->
+      <item>resb</item>
+      <item>resw</item>
+      <item>resd</item>
+      <item>resq</item>
+      <item>rest</item>
+      <!-- binary file include -->
+      <item>incbin</item>
+      <!-- operand size -->
+      <item>byte</item>
+      <item>word</item>
+      <item>dword</item>
+      <item>qword</item>
+      <item>short</item>
+      <item>ptr</item>
+    </list>
+    <list name="NASM Keywords">
+      <!-- NASM directives -->
+      <item>absolute</item>
+      <item>bits</item>
+      <item>common</item>
+      <item>extern</item>
+      <item>global</item>
+      <item>org</item>
+      <item>section</item>
+      <item>seg</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>
+      <item>istruc</item>
+      <item>at</item>
+      <item>iend</item>
+      <item>align</item>
+      <item>alignb</item>
+
+      <item>__SECT__</item>
+      <item>__NASM_MAJOR__</item>
+      <item>__NASM_MINOR__</item>
+      <item>__NASM_SUBMINOR__</item>
+      <item>___NASM_PATCHLEVEL__</item>
+      <item>__NASM_VERSION_ID__</item>
+      <item>__NASM_VER__</item>
+      <item>__FILE__</item>
+      <item>__LINE__</item>
+    </list>
+    <contexts>
+      <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+        <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="%"/>
+        <AnyChar attribute="String" context="String" String="&quot;'"/>
+        <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)"/>
+        <!-- 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="(^|[ \t,]+)((\$|0x){1}[0-9]+[a-f0-9]*|[0-9]+[a-f0-9]*h)([ \t,]+|$)"/>
+        <!-- octal and binary numbers -->
+        <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"/>
+        <Int attribute="Number" context="#stay"/>
+        <HlCChar attribute="Char" context="#stay"/>
+      </context>
+      <context name="Comment" attribute="Comment" lineEndContext="#pop"/>
+      <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"/>
+      <context name="String" attribute="String" lineEndContext="#pop">
+        <AnyChar attribute="String" context="#pop" String="&quot;'"/>
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Registers" defStyleNum="dsKeyword"/>
+      <itemData name="Instructions" defStyleNum="dsKeyword"/>
+      <itemData name="NASM Keywords" defStyleNum="dsKeyword"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="Label" defStyleNum="dsFunction"/>
+      <itemData name="Data" defStyleNum="dsDataType"/>
+      <itemData name="BaseN" defStyleNum="dsBaseN"/>
+      <itemData name="Float" defStyleNum="dsFloat"/>
+      <itemData name="Number" defStyleNum="dsDecVal"/>
+      <itemData name="Char" defStyleNum="dsChar"/>
+      <itemData name="String" defStyleNum="dsString"/>
+      <itemData name="Preprocessor" defStyleNum="dsOthers"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="0"/>
+    <comments>
+      <comment name="singleLine" start=";"/>
+    </comments>
+  </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/noweb.xml b/xml/noweb.xml
new file mode 100644
--- /dev/null
+++ b/xml/noweb.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="noweb" version="2" kateversion="2.4" section="Sources" extensions="*.w;*.nw" author="Scott Collins (scc@scottcollins.net)">
+<!-- 
+#########################################################################
+# First version added to repository was 0.4, added as 1.0 .
+#
+# Article about this highlighter:
+#   http://scottcollins.net/articles/Kate.html
+# 
+# Indirect source file:
+#   http://scottcollins.net/articles/Kate.w
+# 
+# Command used for extraction:
+#   $ notangle Kate.w -R"noweb.xml" > syntax/data/noweb.xml
+#########################################################################
+-->
+  <highlighting>
+    <contexts>
+      <context name="RawDocumentation" attribute="Prose" lineEndContext="#stay">
+        <RegExpr String="^&lt;&lt;.*&gt;&gt;=$" attribute="SectionName" context="CodeSection" beginRegion="CodeSection" />
+        <Detect2Chars char="@" char1="[" context="#stay" />
+        <Detect2Chars char="[" char1="[" attribute="Punctuation" context="CodeQuote" />
+        <IncludeRules context="##HTML" includeAttrib="true" />
+      </context>
+      <context name="CodeQuote" attribute="Code" lineEndContext="#stay">
+        <Detect2Chars char="@" char1="]" context="#stay" />
+        <RegExpr String="\]\](?!\])" minimal="true" attribute="Punctuation" context="#pop" />
+        <IncludeRules context="SectionNames" />
+        <IncludeRules context="##C++" includeAttrib="true" />
+      </context>
+      <context name="CodeSection" attribute="Code" lineEndContext="#stay">
+        <RegExpr String="^@$" attribute="Punctuation" context="RawDocumentation" endRegion="CodeSection" />
+        <RegExpr String="^@(?=[\s%])" attribute="Punctuation" context="RawDocumentation" endRegion="CodeSection" />
+        <RegExpr String="^&lt;&lt;.*&gt;&gt;=$" context="RawDocumentation" lookAhead="true" endRegion="CodeSection" />
+        <IncludeRules context="SectionNames" />
+        <IncludeRules context="##C++" includeAttrib="true" />
+      </context>
+      <context name="SectionNames" attribute="Prose" lineEndContext="#stay">
+        <RegExpr String="@&lt;&lt;" context="#stay" />
+        <RegExpr String="&lt;&lt;.*[^@]&gt;&gt;(?!=)" minimal="true" attribute="SectionName" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Prose"        defStyleNum="dsNormal" />
+      <itemData name="Code"         defStyleNum="dsNormal" />
+      <itemData name="Punctuation"  defStyleNum="dsRegionMarker" bold="true" />
+      <itemData name="SectionName"  defStyleNum="dsRegionMarker" italic="true" />
+    </itemDatas>
+  </highlighting>
+</language>
+
diff --git a/xml/objectivec.xml b/xml/objectivec.xml
new file mode 100644
--- /dev/null
+++ b/xml/objectivec.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Objective-C" version="2" kateversion="5.0" section="Sources" extensions="*.m;*.h" mimetype="text/x-objc-src;text/x-c-hdr">
+  <highlighting>
+    <list name="keywords">
+      <item> break </item>
+      <item> case </item>
+      <item> continue </item>
+      <item> default </item>
+      <item> do </item>
+      <item> else </item>
+      <item> enum </item>
+      <item> extern </item>
+      <item> for </item>
+      <item> goto </item>
+      <item> if </item>
+      <item> return </item>
+      <item> sizeof </item>
+      <item> struct </item>
+      <item> switch </item>
+      <item> typedef </item>
+      <item> union </item>
+      <item> while </item>
+      <item> @class </item>
+      <item> @defs </item>
+      <item> @encode </item>
+      <item> @end </item>
+      <item> @implementation </item>
+      <item> @interface </item>
+      <item> @private </item>
+      <item> @protected </item>
+      <item> @protocol </item>
+      <item> @public </item>
+      <item> @selector </item>
+      <item> self </item>
+      <item> super </item>
+    </list>
+    <list name="types">
+      <item> auto </item>
+      <item> char </item>
+      <item> const </item>
+      <item> double </item>
+      <item> float </item>
+      <item> int </item>
+      <item> long </item>
+      <item> register </item>
+      <item> short </item>
+      <item> signed </item>
+      <item> static </item>
+      <item> unsigned </item>
+      <item> void </item>
+      <item> volatile </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Default">
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+        <Float attribute="Float" context="#stay">
+          <AnyChar String="fF" attribute="Float" context="#stay"/>
+        </Float>
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Int attribute="Decimal" context="#stay" >
+          <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
+        </Int>
+        <HlCChar attribute="Char" context="#stay"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <Detect2Chars attribute="Comment" context="SingleLineComment" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*"/>
+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="^#"/>
+        <Detect2Chars attribute="String" context="String" char="@" char1="&quot;" />
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <LineContinue attribute="String" context="#stay"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="SingleLineComment"/>
+      <context attribute="Comment" lineEndContext="#stay" name="MultiLineComment">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
+      </context>
+      <context attribute="Preprocessor" lineEndContext="Default" name="Preprocessor">
+        <LineContinue attribute="Preprocessor" context="#stay"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="SingleLineComment" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="MultiLineCommentPrep" char="/" char1="*"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="MultiLineCommentPrep">
+        <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Keyword"  defStyleNum="dsKeyword" spellChecking="false"/>
+      <itemData name="Data Type"  defStyleNum="dsDataType" spellChecking="false"/>
+      <itemData name="Decimal"  defStyleNum="dsDecVal" spellChecking="false"/>
+      <itemData name="Octal"  defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Hex"  defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Float"  defStyleNum="dsFloat" spellChecking="false"/>
+      <itemData name="Char"  defStyleNum="dsChar" spellChecking="false"/>
+      <itemData name="String"  defStyleNum="dsString"/>
+      <itemData name="String Char"  defStyleNum="dsSpecialChar" spellChecking="false"/>
+      <itemData name="Comment"  defStyleNum="dsComment"/>
+      <itemData name="Symbol"  defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Preprocessor"  defStyleNum="dsPreprocessor" spellChecking="false"/>
+      <itemData name="Prep. Lib"  defStyleNum="dsImport" spellChecking="false"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="/*" end="*/" />
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
diff --git a/xml/objectivecpp.xml b/xml/objectivecpp.xml
new file mode 100644
--- /dev/null
+++ b/xml/objectivecpp.xml
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Objective-C++" version="2" kateversion="5.0" section="Sources" extensions="*.mm;*.M;*.h" mimetype="text/x-objcpp-src;text/x-c-hdr" author="Gennady Telegin (gepo@lvk.cs.msu.su">
+  <highlighting>
+    <list name="keywords">
+      <item> break </item>
+      <item> case </item>
+      <item> continue </item>
+      <item> default </item>
+      <item> do </item>
+      <item> else </item>
+      <item> enum </item>
+      <item> extern </item>
+      <item> for </item>
+      <item> goto </item>
+      <item> if </item>
+      <item> return </item>
+      <item> sizeof </item>
+      <item> struct </item>
+      <item> switch </item>
+      <item> typedef </item>
+      <item> union </item>
+      <item> while </item>
+      <item> @class </item>
+      <item> @defs </item>
+      <item> @encode </item>
+      <item> @end </item>
+      <item> @implementation </item>
+      <item> @interface </item>
+      <item> @private </item>
+      <item> @protected </item>
+      <item> @protocol </item>
+      <item> @public </item>
+      <item> @selector </item>
+      <item> self </item>
+      <item> super </item>
+      
+      <item> asm </item>
+      <item> catch </item>
+      <item> class </item>
+      <item> const_cast </item>
+      <item> delete </item>
+      <item> dynamic_cast</item>
+      <item> explicit </item>
+      <item> export </item>
+      <item> false </item>
+      <item> friend </item>
+      <item> inline </item>
+      <item> namespace </item>
+      <item> new </item>
+      <item> operator </item>
+      <item> private </item>
+      <item> protected </item>
+      <item> public </item>
+      <item> qobject_cast </item>
+      <item> reinterpret_cast </item>
+      <item> static_cast </item>
+      <item> template </item>
+      <item> this </item>
+      <item> throw </item>
+      <item> true </item>
+      <item> try </item>
+      <item> typeid </item>
+      <item> type_info </item>
+      <item> typename </item>
+      <item> using </item>
+      <item> virtual </item>
+
+      <item> and </item>
+      <item> and_eq </item>
+      <item> bad_cast </item>
+      <item> bad_typeid </item>
+      <item> bitand </item>
+      <item> bitor </item>
+      <item> compl </item>
+      <item> not </item>
+      <item> not_eq </item>
+      <item> or </item>
+      <item> or_eq </item>
+      <item> xor </item>
+      <item> xor_eq </item>
+    </list>
+    <list name="extensions">
+      <item> K_DCOP </item>
+      <item> SLOT </item>
+      <item> SIGNAL </item>
+      <item> Q_CLASSINFO </item>
+      <item> Q_ENUMS </item>
+      <item> Q_EXPORT </item>
+      <item> Q_OBJECT </item>
+      <item> Q_OVERRIDE </item>
+      <item> Q_PROPERTY </item>
+      <item> Q_SETS </item>
+      <item> Q_SIGNALS </item>
+      <item> Q_SLOTS </item>
+      <item> Q_FOREACH </item>
+      <item> Q_DECLARE_FLAGS </item>
+      <item> Q_INIT_RESOURCE </item>
+      <item> Q_CLEANUP_RESOURCE </item>
+      <item> Q_GLOBAL_STATIC </item>
+      <item> Q_GLOBAL_STATIC_WITH_ARGS </item>
+      <item> Q_DECLARE_INTERFACE </item>
+      <item> Q_DECLARE_TYPEINFO </item>
+      <item> Q_DECLARE_SHARED </item>
+      <item> Q_DECLARE_FLAGS </item>
+      <item> Q_DECLARE_OPERATORS_FOR_FLAGS </item>
+      <item> Q_FOREVER </item>
+      <item> Q_DECLARE_PRIVATE </item>
+      <item> Q_DECLARE_PUBLIC </item>
+      <item> Q_D </item>
+      <item> Q_Q </item>
+      <item> Q_DISABLE_COPY </item>
+      <item> Q_INTERFACES </item>
+      <item> Q_FLAGS </item>
+      <item> Q_SCRIPTABLE </item>
+      <item> Q_INVOKABLE </item>
+      <item> Q_GADGET </item>
+      <item> Q_ARG </item>
+      <item> Q_RETURN_ARG </item>
+      <item> Q_ASSERT </item>
+      <item> Q_ASSERT_X </item>
+      <item> TRUE </item>
+      <item> FALSE </item>
+      <item> connect </item>
+      <item> disconnect </item>
+      <item> emit </item>
+      <item> signals </item>
+      <item> slots </item>
+      <item> foreach </item>
+      <item> forever </item>
+    </list>
+    <list name="types">
+      <item> auto </item>
+      <item> char </item>
+      <item> const </item>
+      <item> double </item>
+      <item> float </item>
+      <item> int </item>
+      <item> long </item>
+      <item> register </item>
+      <item> short </item>
+      <item> signed </item>
+      <item> static </item>
+      <item> unsigned </item>
+      <item> void </item>
+      <item> volatile </item>
+      
+      <item> bool </item>
+      <item> mutable </item>
+      <item> uchar </item>
+      <item> uint </item>
+      <item> int8_t </item>
+      <item> int16_t </item>
+      <item> int32_t </item>
+      <item> int64_t </item>
+      <item> uint8_t </item>
+      <item> uint16_t </item>
+      <item> uint32_t </item>
+      <item> uint64_t </item>
+      <item> wchar_t </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Default">
+        <DetectSpaces />
+        <RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="Outscoped" firstNonSpace="true" />
+        <DetectChar attribute="Preprocessor" context="Preprocessor" char="#" firstNonSpace="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"/>
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+        
+        <DetectIdentifier />
+        <Float attribute="Float" context="#stay">
+          <AnyChar String="fF" attribute="Float" context="#stay"/>
+        </Float>
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Int attribute="Decimal" context="#stay" >
+          <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
+        </Int>
+        <HlCChar attribute="Char" context="#stay"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <Detect2Chars attribute="Comment" context="SingleLineComment" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*"/>
+
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="^#"/>
+        <Detect2Chars attribute="String" context="String" char="@" char1="&quot;" />
+        
+        <keyword attribute="Extensions" context="#stay" String="extensions" />
+
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
+        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]{|}~^&#59;"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <LineContinue attribute="String" context="#stay"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="SingleLineComment"/>
+      <context attribute="Comment" lineEndContext="#stay" name="MultiLineComment">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
+      </context>
+      <context attribute="Preprocessor" lineEndContext="Default" name="Preprocessor">
+        <LineContinue attribute="Preprocessor" context="#stay"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="SingleLineComment" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="MultiLineCommentPrep" char="/" char1="*"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="MultiLineCommentPrep">
+        <DetectSpaces />
+        <Detect2Chars attribute="Comment" context="#pop#pop" char="*" char1="/"/>
+        <DetectIdentifier />
+      </context>
+      
+      
+      
+      <!-- from c++ -->
+      
+      <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="Preprocessor" lineEndContext="#pop" name="Preprocessor">
+        <LineContinue attribute="Preprocessor" context="#stay"/>
+        <RegExpr attribute="Preprocessor" context="Define" String="define.*((?=\\))"/>
+        <RegExpr attribute="Preprocessor" context="#stay" String="define.*"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="MultiLineCommentPrep" char="/" char1="*"/>
+      </context>
+      
+      <context attribute="Preprocessor" lineEndContext="#pop" name="Define">
+        <LineContinue attribute="Preprocessor" context="#stay"/>
+      </context>
+      
+      <context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
+        <DetectSpaces />
+        <IncludeRules context="##Alerts" />
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <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" />
+      </context>
+      
+      <context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
+        <DetectSpaces />
+        <IncludeRules context="##Alerts" />
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <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"/>
+      </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"   defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Keyword"       defStyleNum="dsKeyword" spellChecking="false"/>
+      <itemData name="Extensions"    defStyleNum="dsExtension" spellChecking="false"/>
+      <itemData name="Data Type"     defStyleNum="dsDataType" spellChecking="false"/>
+      <itemData name="Decimal"       defStyleNum="dsDecVal" spellChecking="false"/>
+      <itemData name="Octal"         defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Hex"           defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Float"         defStyleNum="dsFloat" spellChecking="false"/>
+      <itemData name="Char"          defStyleNum="dsChar" spellChecking="false"/>
+      <itemData name="String"        defStyleNum="dsString"/>
+      <itemData name="String Char"   defStyleNum="dsSpecialChar" spellChecking="false"/>
+      <itemData name="Comment"       defStyleNum="dsComment"/>
+      <itemData name="Symbol"        defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Preprocessor"  defStyleNum="dsPreprocessor" spellChecking="false"/>
+      <itemData name="Prep. Lib"     defStyleNum="dsImport" spellChecking="false"/>
+      <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 --git a/xml/ocaml.xml b/xml/ocaml.xml
new file mode 100644
--- /dev/null
+++ b/xml/ocaml.xml
@@ -0,0 +1,615 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Kate syntax highlighting for Objective Caml version 3.08 in the standard and revised syntaxes, with Ocamldoc comments. -->
+
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+<!-- Regular expresion constants: -->
+<!ENTITY LOWER  "a-z\300-\326\330-\337">         <!-- Lowercase Latin-1 letters. -->
+<!ENTITY UPPER  "A-Z\340-\366\370-\377">         <!-- Uppercase Latin-1 letters. -->
+<!ENTITY LETTER "&LOWER;&UPPER;">                <!-- All Latin-1 letters. -->
+<!ENTITY LIDENT "[&LOWER;_][&LETTER;0-9_']*">    <!-- Lowercase OCaml identifiers. -->
+<!ENTITY UIDENT "`?[&UPPER;][&LETTER;0-9_']*">   <!-- Uppercase OCaml identifiers. -->
+<!ENTITY IDENT  "`?[&LETTER;][&LETTER;0-9_']*">  <!-- All OCaml identifiers. -->
+<!ENTITY ESC    "(\\[ntbr'&quot;\\]|\\[0-9]{3}|\\x[0-9A-Fa-f]{2})"> <!-- OCaml character code escapes. -->
+<!ENTITY DEC    "[0-9][0-9_]*">                                     <!-- Decimal digits with underscores. -->
+]>
+<language name="Objective Caml"
+          extensions="*.ml;*.mli"
+          mimetype=""
+          section="Sources"
+          version="3"
+          priority="10"
+          kateversion="2.4"
+          author="Glyn Webster (glynwebster@orcon.net.nz) and Vincent Hugot (vincent.hugot@gmail.com)"
+          license="LGPL" >
+
+  <highlighting>
+    <list name="qtest keywords">
+      <item> in </item>
+      <item> as </item>
+      <item> forall </item>
+    </list>
+    <list name="Keywords">
+      <item> and </item>
+      <item> as </item>
+      <item> assert </item>
+      <item> asr </item>
+      <item> begin </item>
+      <item> class </item>
+      <item> closed </item>
+      <item> constraint </item>
+      <item> do </item>
+      <item> done </item>
+      <item> downto </item>
+      <item> else </item>
+      <item> end </item>
+      <item> exception </item>
+      <item> external </item>
+      <item> false </item>
+      <item> for </item>
+      <item> fun </item>
+      <item> function </item>
+      <item> functor </item>
+      <item> if </item>
+      <item> in </item>
+      <item> include </item>
+      <item> inherit </item>
+      <item> land </item>
+      <item> lazy </item>
+      <item> let </item>
+      <item> lor </item>
+      <item> lsl </item>
+      <item> lsr </item>
+      <item> lxor </item>
+      <item> match </item>
+      <item> method </item>
+      <item> mod </item>
+      <item> module </item>
+      <item> mutable </item>
+      <item> new </item>
+      <item> object </item>
+      <item> of </item>
+      <item> open </item>
+      <item> or </item>
+      <item> parser </item>
+      <item> private </item>
+      <item> rec </item>
+      <item> sig </item>
+      <item> struct </item>
+      <item> then </item>
+      <item> to </item>
+      <item> true </item>
+      <item> try </item>
+      <item> type </item>
+      <item> val </item>
+      <item> virtual </item>
+      <item> when </item>
+      <item> while </item>
+      <item> with </item>
+    </list>
+
+    <!-- Revised Syntax keywords are highlighted as identifiers by default. -->
+    <!-- Change their highlighting colour to match the standard keywords    -->
+    <!-- if you intend to use the Camlp4 Revised Syntax.                    -->
+    <list name="Revised Syntax Keywords">
+      <item> declare </item>
+      <item> value </item>
+      <item> where </item>
+    </list>
+
+    <list name="Pervasive Functions">
+      <item> abs </item>
+      <item> abs_float </item>
+      <item> acos </item>
+      <item> asin </item>
+      <item> at_exit </item>
+      <item> atan </item>
+      <item> atan2 </item>
+      <item> bool_of_string </item>
+      <item> ceil </item>
+      <item> char_of_int </item>
+      <item> classify_float </item>
+      <item> close_in </item>
+      <item> close_in_noerr </item>
+      <item> close_out </item>
+      <item> close_out_noerr </item>
+      <item> compare </item>
+      <item> cos </item>
+      <item> cosh </item>
+      <item> decr </item>
+      <item> do_at_exit </item>
+      <item> epsilon_float </item>
+      <item> exp </item>
+      <item> float </item>
+      <item> float_of_int </item>
+      <item> float_of_string </item>
+      <item> floor </item>
+      <item> flush </item>
+      <item> flush_all </item>
+      <item> format_of_string </item>
+      <item> frexp </item>
+      <item> fst </item>
+      <item> ignore </item>
+      <item> in_channel_length </item>
+      <item> incr </item>
+      <item> infinity </item>
+      <item> input </item>
+      <item> input_binary_int </item>
+      <item> input_byte </item>
+      <item> input_char </item>
+      <item> input_line </item>
+      <item> input_value </item>
+      <item> int_of_char </item>
+      <item> int_of_float </item>
+      <item> int_of_string </item>
+      <item> ldexp </item>
+      <item> lnot </item>
+      <item> log </item>
+      <item> log10 </item>
+      <item> max </item>
+      <item> max_float </item>
+      <item> max_int </item>
+      <item> min </item>
+      <item> min_float </item>
+      <item> min_int </item>
+      <item> mod_float </item>
+      <item> modf </item>
+      <item> nan </item>
+      <item> neg_infinity </item>
+      <item> not </item>
+      <item> open_in </item>
+      <item> open_in_bin </item>
+      <item> open_in_gen </item>
+      <item> open_out </item>
+      <item> open_out_bin </item>
+      <item> open_out_gen </item>
+      <item> out_channel_length </item>
+      <item> output </item>
+      <item> output_binary_int </item>
+      <item> output_byte </item>
+      <item> output_char </item>
+      <item> output_string </item>
+      <item> output_value </item>
+      <item> pos_in </item>
+      <item> pos_out </item>
+      <item> pred </item>
+      <item> prerr_char </item>
+      <item> prerr_endline </item>
+      <item> prerr_float </item>
+      <item> prerr_int </item>
+      <item> prerr_newline </item>
+      <item> prerr_string </item>
+      <item> print_char </item>
+      <item> print_endline </item>
+      <item> print_float </item>
+      <item> print_int </item>
+      <item> print_newline </item>
+      <item> print_string </item>
+      <item> read_float </item>
+      <item> read_int </item>
+      <item> read_line </item>
+      <item> really_input </item>
+      <item> ref </item>
+      <item> seek_in </item>
+      <item> seek_out </item>
+      <item> set_binary_mode_in </item>
+      <item> set_binary_mode_out </item>
+      <item> sin </item>
+      <item> sinh </item>
+      <item> snd </item>
+      <item> sqrt </item>
+      <item> stderr </item>
+      <item> stdin </item>
+      <item> stdout </item>
+      <item> string_of_bool </item>
+      <item> string_of_float </item>
+      <item> string_of_format </item>
+      <item> string_of_int </item>
+      <item> succ </item>
+      <item> tan </item>
+      <item> tanh </item>
+      <item> truncate </item>
+      <item> unsafe_really_input </item>
+      <item> valid_float_lexem </item>
+    </list>
+
+    <!-- These pervasive functions control program flow,    -->
+    <!-- so some people like to highlight them as keywords: -->
+    <list name="Flow Control Functions">
+      <item> exit </item>
+      <item> failwith </item>
+      <item> invalid_arg </item>
+      <item> raise </item>
+    </list>
+
+    <list name="Pervasive Types">
+      <item> array </item>
+      <item> bool </item>
+      <item> char </item>
+      <item> exn </item>
+      <item> format4 </item>
+      <item> fpclass </item>
+      <item> in_channel </item>
+      <item> int </item>
+      <item> int32 </item>
+      <item> int64 </item>
+      <item> lazy_t </item>
+      <item> list </item>
+      <item> nativeint </item>
+      <item> open_flag </item>
+      <item> option </item>
+      <item> out_channel </item>
+      <item> real </item>
+      <item> ref </item>
+      <item> string </item>
+      <item> unit </item>
+    </list>
+
+    <list name="Pervasive Variant Tags">
+      <item> FP_infinite </item>
+      <item> FP_nan </item>
+      <item> FP_normal </item>
+      <item> FP_subnormal </item>
+      <item> FP_zero </item>
+      <item> None </item>
+      <item> Open_append </item>
+      <item> Open_append </item>
+      <item> Open_binary </item>
+      <item> Open_binary </item>
+      <item> Open_creat </item>
+      <item> Open_creat </item>
+      <item> Open_excl </item>
+      <item> Open_excl </item>
+      <item> Open_nonblock </item>
+      <item> Open_nonblock </item>
+      <item> Open_rdonly </item>
+      <item> Open_rdonly </item>
+      <item> Open_text </item>
+      <item> Open_text </item>
+      <item> Open_trunc </item>
+      <item> Open_trunc </item>
+      <item> Open_wronly </item>
+      <item> Open_wronly </item>
+      <item> Some </item>
+    </list>
+
+    <list name="Pervasive Exceptions">
+      <item> Assert_failure </item>
+      <item> Division_by_zero </item>
+      <item> End_of_file </item>
+      <item> Exit </item>
+      <item> Failure </item>
+      <item> Invalid_argument </item>
+      <item> Match_failure </item>
+      <item> Not_found </item>
+      <item> Out_of_memory </item>
+      <item> Stack_overflow </item>
+      <item> Sys_blocked_io </item>
+      <item> Sys_error </item>
+      <item> Undefined_recursive_module </item>
+    </list>
+
+    <list name="Standard Library Modules">
+      <item> Arg </item>
+      <item> Array </item>
+      <item> ArrayLabels </item>
+      <item> Buffer </item>
+      <item> Callback </item>
+      <item> Char </item>
+      <item> Complex </item>
+      <item> Digest </item>
+      <item> Filename </item>
+      <item> Format </item>
+      <item> Gc </item>
+      <item> Genlex </item>
+      <item> Hashtbl </item>
+      <item> Int32 </item>
+      <item> Int64 </item>
+      <item> Lazy </item>
+      <item> Lexing </item>
+      <item> List </item>
+      <item> ListLabels </item>
+      <item> Map </item>
+      <item> Marshal </item>
+      <item> MoreLabels </item>
+      <item> Nativeint </item>
+      <item> Oo </item>
+      <item> Parsing </item>
+      <item> Printexc </item>
+      <item> Printf </item>
+      <item> Queue </item>
+      <item> Random </item>
+      <item> Scanf </item>
+      <item> Set </item>
+      <item> Sort </item>
+      <item> Stack </item>
+      <item> StdLabels </item>
+      <item> Stream </item>
+      <item> String </item>
+      <item> StringLabels </item>
+      <item> Sys </item>
+      <item> Weak </item>
+    </list>
+
+    <contexts>
+
+      <context name="Code" lineEndContext="#stay" attribute="Operator">
+
+        <!-- ] and ]} close code samples in Ocamldoc, so -->
+        <!-- nested [ ] and { } brackets have to be allowed for: -->
+        <DetectChar char="[" context="Nested Code 1" attribute="Operator" />
+        <DetectChar char="{" context="Nested Code 2" attribute="Operator" />
+
+        <!-- Comments. -->
+        <!-- A (** begins a special comment with Ocamldoc documentation markup. -->
+        <StringDetect String="(**)"      context="#stay"    attribute="Comment" />
+        <StringDetect String="(**"       context="Ocamldoc" attribute="Comment" beginRegion="comment" />
+        <RegExpr String="\(\*\$(T|Q|R|=)"       context="qtest header" attribute="qtest body style" beginRegion="comment" />
+        <Detect2Chars char="(" char1="*" context="Comment"  attribute="Comment" beginRegion="comment" />
+
+        <!-- Interpreter directives. -->
+        <!-- (These are lines where the first symbol is a '#' followed by an identifier. -->
+        <!-- Such lines could also be part of a method call split over two lines but     -->
+        <!-- it's unlikey anyone would code like that.)                                  -->
+        <RegExpr String="#&IDENT;.*$" context="#stay" firstNonSpace="true" attribute="Directive"/>
+
+        <!-- String, character and Camlp4 "quotation" constants.              -->
+        <!-- Note: If you must modify the pattern for characters be precise:  -->
+        <!-- single quotes have several meanings in Ocaml.                    -->
+        <DetectChar char="&quot;" context="String" attribute="String" />
+        <RegExpr String="'(&ESC;|[^'])'" context="#stay" attribute="Character" />
+        <Detect2Chars char="&lt;" char1="&lt;" context="Camlp4 Quotation" attribute="Camlp4 Quotation" />
+        <RegExpr String="&lt;:&IDENT;&lt;" context="Camlp4 Quotation" attribute="Camlp4 Quotation" />
+
+        <!-- Identifiers and keywords. -->
+        <keyword String="Keywords"                 context="#stay" attribute="Keyword" />
+        <keyword String="Revised Syntax Keywords"  context="#stay" attribute="Revised Syntax Keyword" />
+        <keyword String="Flow Control Functions"      context="#stay" attribute="Flow Control Functions" />
+        <keyword String="Pervasive Functions"      context="#stay" attribute="Pervasive Functions" />
+        <keyword String="Pervasive Types"          context="#stay" attribute="Pervasive Types" />
+        <keyword String="Pervasive Exceptions"     context="#stay" attribute="Pervasive Exceptions" />
+        <keyword String="Pervasive Variant Tags"   context="#stay" attribute="Pervasive Variant Tags" />
+        <keyword String="Standard Library Modules" context="#stay" attribute="Standard Library Modules" />
+        <RegExpr String="&LIDENT;"                 context="#stay" attribute="Lowercase Identifier" />
+        <RegExpr String="&UIDENT;"                 context="#stay" attribute="Uppercase Identifier" />
+
+        <!-- Numeric constants. -->
+        <!-- Note that they may contain underscores. -->
+        <RegExpr String="-?0[xX][0-9A-Fa-f_]+" context="#stay" attribute="Hexadecimal" />
+        <RegExpr String="-?0[oO][0-7_]+" context="#stay" attribute="Octal" />
+        <RegExpr String="-?0[bB][01_]+" context="#stay" attribute="Binary" />
+        <RegExpr String="-?&DEC;(\.&DEC;([eE][-+]?&DEC;)?|[eE][-+]?&DEC;)" context="#stay" attribute="Float" />
+        <RegExpr String="-?&DEC;" context="#stay" attribute="Decimal" />
+
+        <IncludeRules context="Unmatched Closing Brackets" />
+      </context>
+
+      <context name="Nested Code 1" lineEndContext="#stay" attribute="Operator">
+        <DetectChar char="]" context="#pop" attribute="Operator" />
+        <IncludeRules context="Code" includeAttrib="true" />
+      </context>
+
+      <context name="Nested Code 2" lineEndContext="#stay" attribute="Operator">
+        <DetectChar char="}" context="#pop" attribute="Operator" />
+        <IncludeRules context="Code" includeAttrib="true" />
+      </context>
+
+      <context name="String" lineEndContext="#stay" attribute="String">
+        <DetectChar char="&quot;" context="#pop" attribute="String" />
+        <RegExpr String="&ESC;" context="#stay" attribute="Escaped Characters" />
+        <!-- A backslash at the end of a line in a string indicates  -->
+        <!-- that the string will continue on the next line:         -->
+        <RegExpr String="\\$" context="#stay" attribute="Escaped Characters" />
+      </context>
+
+      <context name="qtest header" lineEndContext="qtest" attribute="Operator">
+        <keyword String="qtest keywords"  attribute="Keyword" />
+        <DetectChar char="&amp;" context="qtest param" attribute="qtest param style" />
+        <RegExpr String="&LIDENT;" context="#stay" attribute="qtest header style"/>
+      </context>
+
+      <context name="qtest param" lineEndContext="qtest" attribute="qtest param style">
+      </context>
+
+      <context name="qtest" lineEndContext="#stay" attribute="qtest body style">
+        <Detect2Chars char="*" char1=')' context="#pop" attribute="qtest body style" endRegion="comment" />
+        <IncludeRules context="Code" includeAttrib="true" />
+      </context>
+
+      <context name="Comment" lineEndContext="#stay" attribute="Comment">
+        <Detect2Chars char="*" char1=")" context="#pop" attribute="Comment" endRegion="comment"  />
+        <!-- Support for nested comments: -->
+        <Detect2Chars char="(" char1="*" context="Comment" attribute="Comment" beginRegion="comment" />
+        <!-- Strings in Ocaml comments must be well-formed: -->
+        <DetectChar char="&quot;" context="String in Comment" attribute="String in Comment" />
+      </context>
+
+      <context name="String in Comment" lineEndContext="#stay" attribute="String in Comment">
+        <DetectChar char="&quot;" context="#pop" attribute="String in Comment" />
+        <IncludeRules context="String" />
+      </context>
+
+      <!-- Camlp4 Quotations. These are source code literals used by the Campl4 preprocessor.           -->
+      <!-- The only escapes allowed in a Camlp4 quotation are for the quotation start and stop symbols. -->
+      <context name="Camlp4 Quotation" lineEndContext="#stay" attribute="Camlp4 Quotation">
+        <Detect2Chars char="&gt;" char1="&gt;"     context="#pop"             attribute="Camlp4 Quotation" />
+        <Detect2Chars char="&lt;" char1="&lt;"     context="Camlp4 Quotation" attribute="Camlp4 Quotation" />
+        <RegExpr String="&lt;:&IDENT;&lt;"         context="Camlp4 Quotation" attribute="Camlp4 Quotation" />
+        <RegExpr String="\\(\\|&gt;&gt;|&lt;&lt;)" context="#stay"            attribute="Escaped Characters" />
+        <RegExpr String="\\&lt;:&IDENT;&lt;"       context="#stay"            attribute="Escaped Characters" />
+      </context>
+
+    <!-- Ocamldoc - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <context name="Ocamldoc" lineEndContext="#stay" attribute="Ocamldoc Text">
+        <Detect2Chars char="*" char1=")" context="#pop" attribute="Comment" endRegion="comment" />
+
+        <!-- A backslash escapes markup characters: -->
+        <RegExpr String="\\." context="#stay" attribute="Escaped Characters" />
+
+        <!-- Support for nested comments and strings: -->
+        <StringDetect String="(**)"      context="#stay"    attribute="Comment" />
+        <StringDetect String="(**"       context="Ocamldoc" attribute="Comment" beginRegion="comment" />
+        <Detect2Chars char="(" char1="*" context="Comment"  attribute="Comment" beginRegion="comment" />
+
+        <!-- Strings in Ocaml comments must be well-formed: -->
+        <DetectChar char="&quot;" context="String in Comment" attribute="String in Comment" />
+
+        <!-- Nested Markup: -->
+        <DetectChar   char="["                   context="Ocamldoc Code"         attribute="Ocamldoc Markup" />
+        <Detect2Chars char="{" char1="["         context="Ocamldoc Preformatted" attribute="Ocamldoc Markup" />
+        <Detect2Chars char="{" char1="%"         context="Ocamldoc LaTeX"        attribute="Ocamldoc Markup" />
+        <Detect2Chars char="{" char1="^"         context="Nested Ocamldoc"       attribute="Ocamldoc Markup" />
+        <RegExpr String="[{]v(\s|$)"             context="Ocamldoc Verbatim"     attribute="Ocamldoc Markup" />
+        <RegExpr String="[{]b(\s|$)"             context="Ocamldoc Bold"         attribute="Ocamldoc Markup" />
+        <RegExpr String="[{]i(\s|$)"             context="Ocamldoc Italic"       attribute="Ocamldoc Markup" />
+        <RegExpr String="[{]e(\s|$)"             context="Ocamldoc Emphasised"   attribute="Ocamldoc Markup" />
+        <RegExpr String="[{][0-9]+(:&IDENT;)?\s" context="Ocamldoc Heading"      attribute="Ocamldoc Markup" />
+        <RegExpr String="[{][{]:&IDENT;[}]"      context="Ocamldoc Link"         attribute="Ocamldoc Markup" />
+        <RegExpr String="[{]!([a-z]+:)?"         context="Ocamldoc References"   attribute="Ocamldoc Markup" />
+        <RegExpr String="[{]&IDENT;(\s|$)"       context="Nested Ocamldoc"       attribute="Ocamldoc Markup" />
+
+        <RegExpr String="@see\s*(&lt;[^&gt;]*&gt;|&quot;[^&quot;]*&quot;|'[^']*')" context="#stay" attribute="Ocamldoc Markup" />
+        <RegExpr String="@(param|raise)\s*" context="Ocamldoc Identifier" attribute="Ocamldoc Markup" />
+        <RegExpr String="@(author|deprecated|return|since|version)" context="#stay" attribute="Ocamldoc Markup" />
+        <RegExpr String="@&IDENT;" context="#stay" attribute="Ocamldoc Custom Tag" />
+
+
+
+        <!-- A dash at the start of a line is a bullet point. -->
+        <RegExpr String="^[ &#009;]*-\s" context="#stay"  attribute="Ocamldoc Markup" />
+
+        <IncludeRules context="Unmatched Closing Brackets" />
+      </context>
+
+      <context name="Ocamldoc Code" lineEndContext="#stay" attribute="Operator">
+        <DetectChar char="]" context="#pop" attribute="Ocamldoc Markup" />
+        <IncludeRules context="Code" includeAttrib="true" />
+      </context>
+
+      <context name="Ocamldoc Preformatted" lineEndContext="#stay" attribute="Operator">
+        <Detect2Chars char="]" char1="}" context="#pop" attribute="Ocamldoc Markup" />
+        <IncludeRules context="Code" includeAttrib="true" />
+      </context>
+
+      <context name="Ocamldoc Verbatim" lineEndContext="#stay" attribute="Ocamldoc Text">
+        <Detect2Chars char="v" char1="}" context="#pop" attribute="Ocamldoc Markup" />
+      </context>
+
+      <context name="Ocamldoc LaTeX" lineEndContext="#stay" attribute="Ocamldoc LaTeX">
+        <Detect2Chars char="%" char1="}" context="#pop" attribute="Ocamldoc Markup" />
+        <IncludeRules context="##LaTeX" />
+      </context>
+
+      <!-- A single qualified Ocaml identifier, perhaps preceeded by whitespace. } -->
+      <context name="Ocamldoc Identifier" lineEndContext="#stay" attribute="Mismatched Brackets">
+        <RegExpr      String="&IDENT;(\.&IDENT;)*" context="#pop" attribute="Identifier"  />
+        <Detect2Chars char="*" char1=")"           context="#pop" attribute="Mismatched Brackets" />
+        <DetectSpaces />
+      </context>
+
+      <context name="Nested Ocamldoc" lineEndContext="#stay" attribute="Operator">
+        <DetectChar   char="}"           context="#pop" attribute="Ocamldoc Markup" />
+        <Detect2Chars char="*" char1=")" context="#pop" attribute="Mismatched Brackets" />
+        <IncludeRules context="Ocamldoc" includeAttrib="true" />
+      </context>
+
+      <context name="Ocamldoc Bold" lineEndContext="#stay" attribute="Ocamldoc Bold">
+        <IncludeRules context="Nested Ocamldoc" />
+      </context>
+
+      <context name="Ocamldoc Italic" lineEndContext="#stay" attribute="Ocamldoc Italic">
+        <IncludeRules context="Nested Ocamldoc" />
+      </context>
+
+      <context name="Ocamldoc Emphasised" lineEndContext="#stay" attribute="Ocamldoc Emphasised">
+        <IncludeRules context="Nested Ocamldoc" />
+      </context>
+
+      <context name="Ocamldoc Heading" lineEndContext="#stay" attribute="Ocamldoc Heading">
+        <IncludeRules context="Nested Ocamldoc" />
+      </context>
+
+      <context name="Ocamldoc Link" lineEndContext="#stay" attribute="Ocamldoc Link">
+        <IncludeRules context="Nested Ocamldoc" />
+      </context>
+
+      <!-- A list of qualified Ocaml identifiers, seperated by whitespace and ending with a } -->
+      <context name="Ocamldoc References" lineEndContext="#stay" attribute="Mismatched Brackets">
+        <DetectChar   char="}"                     context="#pop"  attribute="Ocamldoc Markup"  />
+        <Detect2Chars char="*" char1=")"           context="#pop"  attribute="Mismatched Brackets" />
+        <RegExpr      String="&IDENT;(\.&IDENT;)*" context="#stay" attribute="Ocamldoc Link"  />
+        <DetectSpaces                              context="#stay" attribute="Ocamldoc Markup" />
+      </context>
+
+      <!-- Unmatched closing brackets- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <context name="Unmatched Closing Brackets"  lineEndContext="#stay" attribute="Operator">
+        <Detect2Chars char="*" char1=")" context="#pop"  attribute="Mismatched Brackets" />
+        <Detect2Chars char="v" char1="}" context="#stay" attribute="Mismatched Brackets" />
+        <Detect2Chars char="]" char1="}" context="#stay" attribute="Mismatched Brackets" />
+        <Detect2Chars char="%" char1="}" context="#stay" attribute="Mismatched Brackets" />
+        <DetectChar   char="]"           context="#stay" attribute="Mismatched Brackets" />
+        <DetectChar   char="}"           context="#stay" attribute="Mismatched Brackets" />
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Operator"                defStyleNum="dsNormal"   />
+      <itemData name="Keyword"                 defStyleNum="dsKeyword"  />
+      <itemData name="Revised Syntax Keyword"  defStyleNum="dsNormal"   />
+      <itemData name="Lowercase Identifier"    defStyleNum="dsNormal"   />
+      <itemData name="Uppercase Identifier"    defStyleNum="dsNormal"   italic="true" />
+
+      <!-- Lowercase pervasive identifiers: -->
+      <itemData name="Flow Control Functions"   defStyleNum="dsDataType" />
+      <itemData name="Pervasive Functions"      defStyleNum="dsDataType" />
+      <itemData name="Pervasive Types"          defStyleNum="dsDataType" />
+
+      <!-- Uppercase pervasive identifiers: -->
+      <itemData name="Pervasive Exceptions"     defStyleNum="dsDataType" italic="true" />
+      <itemData name="Pervasive Variant Tags"   defStyleNum="dsDataType" italic="true" />
+      <itemData name="Standard Library Modules" defStyleNum="dsDataType" italic="true" />
+
+      <itemData name="Decimal"                 defStyleNum="dsDecVal"   />
+      <itemData name="Hexadecimal"             defStyleNum="dsBaseN"    />
+      <itemData name="Octal"                   defStyleNum="dsBaseN"    />
+      <itemData name="Binary"                  defStyleNum="dsBaseN"    />
+      <itemData name="Float"                   defStyleNum="dsFloat"    />
+
+      <itemData name="Character"               defStyleNum="dsChar"     />
+      <itemData name="String"                  defStyleNum="dsString"   />
+      <itemData name="Camlp4 Quotation"        defStyleNum="dsString"   />
+      <itemData name="Escaped Characters"      defStyleNum="dsChar"     />
+
+      <itemData name="Directive"               defStyleNum="dsOthers"   />
+
+      <itemData name="Comment"                 defStyleNum="dsComment"  />
+      <itemData name="String in Comment"       defStyleNum="dsComment"  bold="true" />
+      <itemData name="Mismatched Brackets"     defStyleNum="dsError"    />
+
+      <itemData name="Ocamldoc Markup"         defStyleNum="dsOthers"   />
+      <itemData name="Ocamldoc Text"           defStyleNum="dsComment"  italic="false" />
+      <itemData name="Ocamldoc Bold"           defStyleNum="dsComment"  italic="false" bold="true" />
+      <itemData name="Ocamldoc Italic"         defStyleNum="dsComment"  italic="true"  bold="false" />
+      <itemData name="Ocamldoc Emphasised"     defStyleNum="dsComment"  italic="true"  bold="true" />
+      <itemData name="Ocamldoc Heading"        defStyleNum="dsComment"  italic="false" bold="true" underline="true" />
+      <itemData name="Ocamldoc Link"           defStyleNum="dsComment"  italic="false" underline="true" color="#0000ff" />
+      <itemData name="Ocamldoc LaTeX"          defStyleNum="dsComment"  italic="false" />
+      <itemData name="Ocamldoc Custom Tag"     defStyleNum="dsOthers"   italic="true"  />
+
+      <itemData name="qtest header style"     defStyleNum="dsNormal"  backgroundColor="#FFEBE0" />
+      <itemData name="qtest param style"      defStyleNum="dsNormal"  italic="true" color="#7788FF" />
+      <!-- backgroundColor="#EEEEFF" -->
+      <itemData name="qtest body style"       defStyleNum="dsNormal"  bold="true" backgroundColor="#D6FFEB" />
+    </itemDatas>
+  </highlighting>
+
+  <general>
+    <keywords casesensitive="true" />
+    <comments>
+      <comment name="multiLine" start="(*" end="*)" region ="comment" />
+    </comments>
+  </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/octave.xml b/xml/octave.xml
new file mode 100644
--- /dev/null
+++ b/xml/octave.xml
@@ -0,0 +1,2219 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  ====================================================================
+  Octave syntax highlighting file for the KDE editors Kate and Kwrite
+  ====================================================================
+      based on Octave 2.1.64
+      function and variable list obtained by dispatch_help()'s output
+
+  Change log:
+  16-Dec-04  Created from Matlab and Scilab files.
+
+  Author: Federico Zenith, Norwegian University of Science and Technology
+  Thanks to Luis Silvestre for previous version and suggestions
+-->
+
+
+<language name="Octave" version="2" kateversion="3.4" section="Scientific" extensions="*.octave;*.m;*.M" mimetype="text/octave" casesensitive="1" license="GPL" author="Luis Silvestre and Federico Zenith">
+
+  <highlighting>
+
+    <!-- Reserved keywords in Octave -->
+    <list name="keywords">
+      <item> all_va_args </item>
+      <item> break </item>
+      <item> case </item>
+      <item> continue </item>
+      <item> else </item>
+      <item> elseif </item>
+      <item> end_unwind_protect </item>
+      <item> global </item>
+      <item> gplot </item>
+      <item> gsplot </item>
+      <item> otherwise </item>
+      <item> persistent </item>
+      <item> replot </item>
+      <item> return </item>
+      <item> static </item>
+      <item> until </item>
+      <item> unwind_protect </item>
+      <item> unwind_protect_cleanup </item>
+      <item> varargin </item>
+      <item> varargout </item>
+    </list>
+
+    <list name="builtin">
+      <item> argv </item>
+      <item> e </item>
+      <item> eps </item>
+      <item> false </item>
+      <item> F_DUPFD </item>
+      <item> F_GETFD </item>
+      <item> F_GETFL </item>
+      <item> filesep </item>
+      <item> F_SETFD </item>
+      <item> F_SETFL </item>
+      <item> i </item>
+      <item> I </item>
+      <item> inf </item>
+      <item> Inf </item>
+      <item> j </item>
+      <item> J </item>
+      <item> NA </item>
+      <item> nan </item>
+      <item> NaN </item>
+      <item> O_APPEND </item>
+      <item> O_ASYNC </item>
+      <item> O_CREAT </item>
+      <item> OCTAVE_HOME </item>
+      <item> OCTAVE_VERSION </item>
+      <item> O_EXCL </item>
+      <item> O_NONBLOCK </item>
+      <item> O_RDONLY </item>
+      <item> O_RDWR </item>
+      <item> O_SYNC </item>
+      <item> O_TRUNC </item>
+      <item> O_WRONLY </item>
+      <item> pi </item>
+      <item> program_invocation_name </item>
+      <item> program_name </item>
+      <item> P_tmpdir </item>
+      <item> realmax </item>
+      <item> realmin </item>
+      <item> SEEK_CUR </item>
+      <item> SEEK_END </item>
+      <item> SEEK_SET </item>
+      <item> SIG </item>
+      <item> stderr </item>
+      <item> stdin </item>
+      <item> stdout </item>
+      <item> true </item>
+      <item> ans </item>
+      <item> automatic_replot </item>
+      <item> beep_on_error </item>
+      <item> completion_append_char </item>
+      <item> crash_dumps_octave_core </item>
+      <item> current_script_file_name </item>
+      <item> debug_on_error </item>
+      <item> debug_on_interrupt </item>
+      <item> debug_on_warning </item>
+      <item> debug_symtab_lookups </item>
+      <item> DEFAULT_EXEC_PATH </item>
+      <item> DEFAULT_LOADPATH </item>
+      <item> default_save_format </item>
+      <item> echo_executing_commands </item>
+      <item> EDITOR </item>
+      <item> EXEC_PATH </item>
+      <item> FFTW_WISDOM_PROGRAM </item>
+      <item> fixed_point_format </item>
+      <item> gnuplot_binary </item>
+      <item> gnuplot_command_axes </item>
+      <item> gnuplot_command_end </item>
+      <item> gnuplot_command_plot </item>
+      <item> gnuplot_command_replot </item>
+      <item> gnuplot_command_splot </item>
+      <item> gnuplot_command_title </item>
+      <item> gnuplot_command_using </item>
+      <item> gnuplot_command_with </item>
+      <item> gnuplot_has_frames </item>
+      <item> history_file </item>
+      <item> history_size </item>
+      <item> ignore_function_time_stamp </item>
+      <item> IMAGEPATH </item>
+      <item> INFO_FILE </item>
+      <item> INFO_PROGRAM </item>
+      <item> __kluge_procbuf_delay__ </item>
+      <item> LOADPATH </item>
+      <item> MAKEINFO_PROGRAM </item>
+      <item> max_recursion_depth </item>
+      <item> octave_core_file_format </item>
+      <item> octave_core_file_limit </item>
+      <item> octave_core_file_name </item>
+      <item> output_max_field_width </item>
+      <item> output_precision </item>
+      <item> page_output_immediately </item>
+      <item> PAGER </item>
+      <item> page_screen_output </item>
+      <item> print_answer_id_name </item>
+      <item> print_empty_dimensions </item>
+      <item> print_rhs_assign_val </item>
+      <item> PS1 </item>
+      <item> PS2 </item>
+      <item> PS4 </item>
+      <item> save_header_format_string </item>
+      <item> save_precision </item>
+      <item> saving_history </item>
+      <item> sighup_dumps_octave_core </item>
+      <item> sigterm_dumps_octave_core </item>
+      <item> silent_functions </item>
+      <item> split_long_rows </item>
+      <item> string_fill_char </item>
+      <item> struct_levels_to_print </item>
+      <item> suppress_verbose_help_message </item>
+      <item> variables_can_hide_functions </item>
+      <item> warn_assign_as_truth_value </item>
+      <item> warn_divide_by_zero </item>
+      <item> warn_empty_list_elements </item>
+      <item> warn_fortran_indexing </item>
+      <item> warn_function_name_clash </item>
+      <item> warn_future_time_stamp </item>
+      <item> warn_imag_to_real </item>
+      <item> warn_matlab_incompatible </item>
+      <item> warn_missing_semicolon </item>
+      <item> warn_neg_dim_as_zero </item>
+      <item> warn_num_to_str </item>
+      <item> warn_precedence_change </item>
+      <item> warn_reload_forces_clear </item>
+      <item> warn_resize_on_range_error </item>
+      <item> warn_separator_insert </item>
+      <item> warn_single_quote_string </item>
+      <item> warn_str_to_num </item>
+      <item> warn_undefined_return_values </item>
+      <item> warn_variable_switch_label </item>
+      <item> whos_line_format </item>
+    </list>
+    
+    <list name="commands">
+      <item> casesen </item>
+      <item> cd </item>
+      <item> chdir </item>
+      <item> clear </item>
+      <item> dbclear </item>
+      <item> dbstatus </item>
+      <item> dbstop </item>
+      <item> dbtype </item>
+      <item> dbwhere </item>
+      <item> diary </item>
+      <item> echo </item>
+      <item> edit_history </item>
+      <item> __end__ </item>
+      <item> format </item>
+      <item> gset </item>
+      <item> gshow </item>
+      <item> help </item>
+      <item> history </item>
+      <item> hold </item>
+      <item> iskeyword </item>
+      <item> isvarname </item>
+      <item> load </item>
+      <item> ls </item>
+      <item> mark_as_command </item>
+      <item> mislocked </item>
+      <item> mlock </item>
+      <item> more </item>
+      <item> munlock </item>
+      <item> run_history </item>
+      <item> save </item>
+      <item> set </item>
+      <item> show </item>
+      <item> type </item>
+      <item> unmark_command </item>
+      <item> which </item>
+      <item> who </item>
+      <item> whos </item>
+    </list>
+    
+    <list name="functions">
+      <item> abs </item>
+      <item> acos </item>
+      <item> acosh </item>
+      <item> all </item>
+      <item> angle </item>
+      <item> any </item>
+      <item> append </item>
+      <item> arg </item>
+      <item> argnames </item>
+      <item> asin </item>
+      <item> asinh </item>
+      <item> assignin </item>
+      <item> atan </item>
+      <item> atan2 </item>
+      <item> atanh </item>
+      <item> atexit </item>
+      <item> bitand </item>
+      <item> bitmax </item>
+      <item> bitor </item>
+      <item> bitshift </item>
+      <item> bitxor </item>
+      <item> casesen </item>
+      <item> cat </item>
+      <item> cd </item>
+      <item> ceil </item>
+      <item> cell </item>
+      <item> cell2struct </item>
+      <item> cellstr </item>
+      <item> char </item>
+      <item> chdir </item>
+      <item> class </item>
+      <item> clc </item>
+      <item> clear </item>
+      <item> clearplot </item>
+      <item> clg </item>
+      <item> closeplot </item>
+      <item> completion_matches </item>
+      <item> conj </item>
+      <item> conv </item>
+      <item> convmtx </item>
+      <item> cos </item>
+      <item> cosh </item>
+      <item> cumprod </item>
+      <item> cumsum </item>
+      <item> dbclear </item>
+      <item> dbstatus </item>
+      <item> dbstop </item>
+      <item> dbtype </item>
+      <item> dbwhere </item>
+      <item> deconv </item>
+      <item> det </item>
+      <item> dftmtx </item>
+      <item> diag </item>
+      <item> diary </item>
+      <item> disp </item>
+      <item> document </item>
+      <item> do_string_escapes </item>
+      <item> double </item>
+      <item> dup2 </item>
+      <item> echo </item>
+      <item> edit_history </item>
+      <item> __end__ </item>
+      <item> erf </item>
+      <item> erfc </item>
+      <item> ERRNO </item>
+      <item> error </item>
+      <item> __error_text__ </item>
+      <item> error_text </item>
+      <item> eval </item>
+      <item> evalin </item>
+      <item> exec </item>
+      <item> exist </item>
+      <item> exit </item>
+      <item> exp </item>
+      <item> eye </item>
+      <item> fclose </item>
+      <item> fcntl </item>
+      <item> fdisp </item>
+      <item> feof </item>
+      <item> ferror </item>
+      <item> feval </item>
+      <item> fflush </item>
+      <item> fft </item>
+      <item> fgetl </item>
+      <item> fgets </item>
+      <item> fieldnames </item>
+      <item> file_in_loadpath </item>
+      <item> file_in_path </item>
+      <item> filter </item>
+      <item> find </item>
+      <item> find_first_of_in_loadpath </item>
+      <item> finite </item>
+      <item> fix </item>
+      <item> floor </item>
+      <item> fmod </item>
+      <item> fnmatch </item>
+      <item> fopen </item>
+      <item> fork </item>
+      <item> format </item>
+      <item> formula </item>
+      <item> fprintf </item>
+      <item> fputs </item>
+      <item> fread </item>
+      <item> freport </item>
+      <item> frewind </item>
+      <item> fscanf </item>
+      <item> fseek </item>
+      <item> ftell </item>
+      <item> func2str </item>
+      <item> functions </item>
+      <item> fwrite </item>
+      <item> gamma </item>
+      <item> gammaln </item>
+      <item> getegid </item>
+      <item> getenv </item>
+      <item> geteuid </item>
+      <item> getgid </item>
+      <item> getpgrp </item>
+      <item> getpid </item>
+      <item> getppid </item>
+      <item> getuid </item>
+      <item> glob </item>
+      <item> graw </item>
+      <item> gset </item>
+      <item> gshow </item>
+      <item> help </item>
+      <item> history </item>
+      <item> hold </item>
+      <item> home </item>
+      <item> horzcat </item>
+      <item> ifft </item>
+      <item> imag </item>
+      <item> inline </item>
+      <item> input </item>
+      <item> input_event_hook </item>
+      <item> int16 </item>
+      <item> int32 </item>
+      <item> int64 </item>
+      <item> int8 </item>
+      <item> intmax </item>
+      <item> intmin </item>
+      <item> inv </item>
+      <item> inverse </item>
+      <item> ipermute </item>
+      <item> isalnum </item>
+      <item> isalpha </item>
+      <item> isascii </item>
+      <item> isbool </item>
+      <item> iscell </item>
+      <item> iscellstr </item>
+      <item> ischar </item>
+      <item> iscntrl </item>
+      <item> iscomplex </item>
+      <item> isdigit </item>
+      <item> isempty </item>
+      <item> isfield </item>
+      <item> isfinite </item>
+      <item> isglobal </item>
+      <item> isgraph </item>
+      <item> ishold </item>
+      <item> isieee </item>
+      <item> isinf </item>
+      <item> iskeyword </item>
+      <item> islist </item>
+      <item> islogical </item>
+      <item> islower </item>
+      <item> ismatrix </item>
+      <item> isna </item>
+      <item> isnan </item>
+      <item> is_nan_or_na </item>
+      <item> isnumeric </item>
+      <item> isprint </item>
+      <item> ispunct </item>
+      <item> isreal </item>
+      <item> isspace </item>
+      <item> isstream </item>
+      <item> isstreamoff </item>
+      <item> isstruct </item>
+      <item> isupper </item>
+      <item> isvarname </item>
+      <item> isxdigit </item>
+      <item> kbhit </item>
+      <item> keyboard </item>
+      <item> kill </item>
+      <item> lasterr </item>
+      <item> lastwarn </item>
+      <item> length </item>
+      <item> lgamma </item>
+      <item> link </item>
+      <item> linspace </item>
+      <item> list </item>
+      <item> load </item>
+      <item> log </item>
+      <item> log10 </item>
+      <item> ls </item>
+      <item> lstat </item>
+      <item> lu </item>
+      <item> mark_as_command </item>
+      <item> mislocked </item>
+      <item> mkdir </item>
+      <item> mkfifo </item>
+      <item> mkstemp </item>
+      <item> mlock </item>
+      <item> more </item>
+      <item> munlock </item>
+      <item> nargin </item>
+      <item> nargout </item>
+      <item> native_float_format </item>
+      <item> ndims </item>
+      <item> nth </item>
+      <item> numel </item>
+      <item> octave_config_info </item>
+      <item> octave_tmp_file_name </item>
+      <item> ones </item>
+      <item> pause </item>
+      <item> pclose </item>
+      <item> permute </item>
+      <item> pipe </item>
+      <item> popen </item>
+      <item> printf </item>
+      <item> __print_symbol_info__ </item>
+      <item> __print_symtab_info__ </item>
+      <item> prod </item>
+      <item> purge_tmp_files </item>
+      <item> putenv </item>
+      <item> puts </item>
+      <item> pwd </item>
+      <item> quit </item>
+      <item> rank </item>
+      <item> readdir </item>
+      <item> readlink </item>
+      <item> read_readline_init_file </item>
+      <item> real </item>
+      <item> rehash </item>
+      <item> rename </item>
+      <item> reshape </item>
+      <item> reverse </item>
+      <item> rmdir </item>
+      <item> rmfield </item>
+      <item> roots </item>
+      <item> round </item>
+      <item> run_history </item>
+      <item> save </item>
+      <item> scanf </item>
+      <item> set </item>
+      <item> shell_cmd </item>
+      <item> show </item>
+      <item> sign </item>
+      <item> sin </item>
+      <item> sinh </item>
+      <item> size </item>
+      <item> sizeof </item>
+      <item> sleep </item>
+      <item> sort </item>
+      <item> source </item>
+      <item> splice </item>
+      <item> sprintf </item>
+      <item> sqrt </item>
+      <item> squeeze </item>
+      <item> sscanf </item>
+      <item> stat </item>
+      <item> str2func </item>
+      <item> streamoff </item>
+      <item> struct </item>
+      <item> struct2cell </item>
+      <item> sum </item>
+      <item> sumsq </item>
+      <item> symlink </item>
+      <item> system </item>
+      <item> tan </item>
+      <item> tanh </item>
+      <item> tilde_expand </item>
+      <item> tmpfile </item>
+      <item> tmpnam </item>
+      <item> toascii </item>
+      <item> __token_count__ </item>
+      <item> tolower </item>
+      <item> toupper </item>
+      <item> type </item>
+      <item> typeinfo </item>
+      <item> uint16 </item>
+      <item> uint32 </item>
+      <item> uint64 </item>
+      <item> uint8 </item>
+      <item> umask </item>
+      <item> undo_string_escapes </item>
+      <item> unlink </item>
+      <item> unmark_command </item>
+      <item> usage </item>
+      <item> usleep </item>
+      <item> va_arg </item>
+      <item> va_start </item>
+      <item> vectorize </item>
+      <item> vertcat </item>
+      <item> vr_val </item>
+      <item> waitpid </item>
+      <item> warning </item>
+      <item> warranty </item>
+      <item> which </item>
+      <item> who </item>
+      <item> whos </item>
+      <item> zeros </item>
+      <item> airy </item>
+      <item> balance </item>
+      <item> besselh </item>
+      <item> besseli </item>
+      <item> besselj </item>
+      <item> besselk </item>
+      <item> bessely </item>
+      <item> betainc </item>
+      <item> chol </item>
+      <item> colloc </item>
+      <item> daspk </item>
+      <item> daspk_options </item>
+      <item> dasrt </item>
+      <item> dasrt_options </item>
+      <item> dassl </item>
+      <item> dassl_options </item>
+      <item> det </item>
+      <item> eig </item>
+      <item> endgrent </item>
+      <item> endpwent </item>
+      <item> expm </item>
+      <item> fft </item>
+      <item> fft2 </item>
+      <item> fftn </item>
+      <item> fftw_wisdom </item>
+      <item> filter </item>
+      <item> find </item>
+      <item> fsolve </item>
+      <item> fsolve_options </item>
+      <item> gammainc </item>
+      <item> gcd </item>
+      <item> getgrent </item>
+      <item> getgrgid </item>
+      <item> getgrnam </item>
+      <item> getpwent </item>
+      <item> getpwnam </item>
+      <item> getpwuid </item>
+      <item> getrusage </item>
+      <item> givens </item>
+      <item> gmtime </item>
+      <item> hess </item>
+      <item> ifft </item>
+      <item> ifft2 </item>
+      <item> ifftn </item>
+      <item> inv </item>
+      <item> inverse </item>
+      <item> kron </item>
+      <item> localtime </item>
+      <item> lpsolve </item>
+      <item> lpsolve_options </item>
+      <item> lsode </item>
+      <item> lsode_options </item>
+      <item> lu </item>
+      <item> max </item>
+      <item> min </item>
+      <item> minmax </item>
+      <item> mktime </item>
+      <item> odessa </item>
+      <item> odessa_options </item>
+      <item> pinv </item>
+      <item> qr </item>
+      <item> quad </item>
+      <item> quad_options </item>
+      <item> qz </item>
+      <item> rand </item>
+      <item> randn </item>
+      <item> schur </item>
+      <item> setgrent </item>
+      <item> setpwent </item>
+      <item> sort </item>
+      <item> sqrtm </item>
+      <item> strftime </item>
+      <item> strptime </item>
+      <item> svd </item>
+      <item> syl </item>
+      <item> time </item>
+      <item> abcddim </item>
+      <item> __abcddims__ </item>
+      <item> acot </item>
+      <item> acoth </item>
+      <item> acsc </item>
+      <item> acsch </item>
+      <item> analdemo </item>
+      <item> anova </item>
+      <item> arch_fit </item>
+      <item> arch_rnd </item>
+      <item> arch_test </item>
+      <item> are </item>
+      <item> arma_rnd </item>
+      <item> asctime </item>
+      <item> asec </item>
+      <item> asech </item>
+      <item> autocor </item>
+      <item> autocov </item>
+      <item> autoreg_matrix </item>
+      <item> axis </item>
+      <item> axis2dlim </item>
+      <item> __axis_label__ </item>
+      <item> bar </item>
+      <item> bartlett </item>
+      <item> bartlett_test </item>
+      <item> base2dec </item>
+      <item> bddemo </item>
+      <item> beep </item>
+      <item> bessel </item>
+      <item> beta </item>
+      <item> beta_cdf </item>
+      <item> betai </item>
+      <item> beta_inv </item>
+      <item> beta_pdf </item>
+      <item> beta_rnd </item>
+      <item> bin2dec </item>
+      <item> bincoeff </item>
+      <item> binomial_cdf </item>
+      <item> binomial_inv </item>
+      <item> binomial_pdf </item>
+      <item> binomial_rnd </item>
+      <item> bitcmp </item>
+      <item> bitget </item>
+      <item> bitset </item>
+      <item> blackman </item>
+      <item> blanks </item>
+      <item> bode </item>
+      <item> bode_bounds </item>
+      <item> __bodquist__ </item>
+      <item> bottom_title </item>
+      <item> bug_report </item>
+      <item> buildssic </item>
+      <item> c2d </item>
+      <item> cart2pol </item>
+      <item> cart2sph </item>
+      <item> cauchy_cdf </item>
+      <item> cauchy_inv </item>
+      <item> cauchy_pdf </item>
+      <item> cauchy_rnd </item>
+      <item> cellidx </item>
+      <item> center </item>
+      <item> chisquare_cdf </item>
+      <item> chisquare_inv </item>
+      <item> chisquare_pdf </item>
+      <item> chisquare_rnd </item>
+      <item> chisquare_test_homogeneity </item>
+      <item> chisquare_test_independence </item>
+      <item> circshift </item>
+      <item> clock </item>
+      <item> cloglog </item>
+      <item> close </item>
+      <item> colormap </item>
+      <item> columns </item>
+      <item> com2str </item>
+      <item> comma </item>
+      <item> common_size </item>
+      <item> commutation_matrix </item>
+      <item> compan </item>
+      <item> complement </item>
+      <item> computer </item>
+      <item> cond </item>
+      <item> contour </item>
+      <item> controldemo </item>
+      <item> conv </item>
+      <item> cor </item>
+      <item> corrcoef </item>
+      <item> cor_test </item>
+      <item> cot </item>
+      <item> coth </item>
+      <item> cov </item>
+      <item> cputime </item>
+      <item> create_set </item>
+      <item> cross </item>
+      <item> csc </item>
+      <item> csch </item>
+      <item> ctime </item>
+      <item> ctrb </item>
+      <item> cut </item>
+      <item> d2c </item>
+      <item> damp </item>
+      <item> dare </item>
+      <item> date </item>
+      <item> dcgain </item>
+      <item> deal </item>
+      <item> deblank </item>
+      <item> dec2base </item>
+      <item> dec2bin </item>
+      <item> dec2hex </item>
+      <item> deconv </item>
+      <item> delete </item>
+      <item> DEMOcontrol </item>
+      <item> demoquat </item>
+      <item> detrend </item>
+      <item> dezero </item>
+      <item> dgkfdemo </item>
+      <item> dgram </item>
+      <item> dhinfdemo </item>
+      <item> diff </item>
+      <item> diffpara </item>
+      <item> dir </item>
+      <item> discrete_cdf </item>
+      <item> discrete_inv </item>
+      <item> discrete_pdf </item>
+      <item> discrete_rnd </item>
+      <item> dkalman </item>
+      <item> dlqe </item>
+      <item> dlqg </item>
+      <item> dlqr </item>
+      <item> dlyap </item>
+      <item> dmr2d </item>
+      <item> dmult </item>
+      <item> dot </item>
+      <item> dre </item>
+      <item> dump_prefs </item>
+      <item> duplication_matrix </item>
+      <item> durbinlevinson </item>
+      <item> empirical_cdf </item>
+      <item> empirical_inv </item>
+      <item> empirical_pdf </item>
+      <item> empirical_rnd </item>
+      <item> erfinv </item>
+      <item> __errcomm__ </item>
+      <item> errorbar </item>
+      <item> __errplot__ </item>
+      <item> etime </item>
+      <item> exponential_cdf </item>
+      <item> exponential_inv </item>
+      <item> exponential_pdf </item>
+      <item> exponential_rnd </item>
+      <item> f_cdf </item>
+      <item> fftconv </item>
+      <item> fftfilt </item>
+      <item> fftshift </item>
+      <item> figure </item>
+      <item> fileparts </item>
+      <item> findstr </item>
+      <item> f_inv </item>
+      <item> fir2sys </item>
+      <item> flipdim </item>
+      <item> fliplr </item>
+      <item> flipud </item>
+      <item> flops </item>
+      <item> f_pdf </item>
+      <item> fractdiff </item>
+      <item> frdemo </item>
+      <item> freqchkw </item>
+      <item> __freqresp__ </item>
+      <item> freqz </item>
+      <item> freqz_plot </item>
+      <item> f_rnd </item>
+      <item> f_test_regression </item>
+      <item> fullfile </item>
+      <item> fv </item>
+      <item> fvl </item>
+      <item> gamma_cdf </item>
+      <item> gammai </item>
+      <item> gamma_inv </item>
+      <item> gamma_pdf </item>
+      <item> gamma_rnd </item>
+      <item> geometric_cdf </item>
+      <item> geometric_inv </item>
+      <item> geometric_pdf </item>
+      <item> geometric_rnd </item>
+      <item> gls </item>
+      <item> gram </item>
+      <item> gray </item>
+      <item> gray2ind </item>
+      <item> grid </item>
+      <item> h2norm </item>
+      <item> h2syn </item>
+      <item> hamming </item>
+      <item> hankel </item>
+      <item> hanning </item>
+      <item> hex2dec </item>
+      <item> hilb </item>
+      <item> hinf_ctr </item>
+      <item> hinfdemo </item>
+      <item> hinfnorm </item>
+      <item> hinfsyn </item>
+      <item> hinfsyn_chk </item>
+      <item> hinfsyn_ric </item>
+      <item> hist </item>
+      <item> hotelling_test </item>
+      <item> hotelling_test_2 </item>
+      <item> housh </item>
+      <item> hsv2rgb </item>
+      <item> hurst </item>
+      <item> hypergeometric_cdf </item>
+      <item> hypergeometric_inv </item>
+      <item> hypergeometric_pdf </item>
+      <item> hypergeometric_rnd </item>
+      <item> image </item>
+      <item> imagesc </item>
+      <item> impulse </item>
+      <item> imshow </item>
+      <item> ind2gray </item>
+      <item> ind2rgb </item>
+      <item> ind2sub </item>
+      <item> index </item>
+      <item> int2str </item>
+      <item> intersection </item>
+      <item> invhilb </item>
+      <item> iqr </item>
+      <item> irr </item>
+      <item> isa </item>
+      <item> is_abcd </item>
+      <item> is_bool </item>
+      <item> is_complex </item>
+      <item> is_controllable </item>
+      <item> isdefinite </item>
+      <item> is_detectable </item>
+      <item> is_dgkf </item>
+      <item> is_digital </item>
+      <item> is_duplicate_entry </item>
+      <item> is_global </item>
+      <item> is_leap_year </item>
+      <item> isletter </item>
+      <item> is_list </item>
+      <item> is_matrix </item>
+      <item> is_observable </item>
+      <item> ispc </item>
+      <item> is_sample </item>
+      <item> is_scalar </item>
+      <item> isscalar </item>
+      <item> is_signal_list </item>
+      <item> is_siso </item>
+      <item> is_square </item>
+      <item> issquare </item>
+      <item> is_stabilizable </item>
+      <item> is_stable </item>
+      <item> isstr </item>
+      <item> is_stream </item>
+      <item> is_struct </item>
+      <item> is_symmetric </item>
+      <item> issymmetric </item>
+      <item> isunix </item>
+      <item> is_vector </item>
+      <item> isvector </item>
+      <item> jet707 </item>
+      <item> kendall </item>
+      <item> kolmogorov_smirnov_cdf </item>
+      <item> kolmogorov_smirnov_test </item>
+      <item> kolmogorov_smirnov_test_2 </item>
+      <item> kruskal_wallis_test </item>
+      <item> krylov </item>
+      <item> krylovb </item>
+      <item> kurtosis </item>
+      <item> laplace_cdf </item>
+      <item> laplace_inv </item>
+      <item> laplace_pdf </item>
+      <item> laplace_rnd </item>
+      <item> lcm </item>
+      <item> lin2mu </item>
+      <item> listidx </item>
+      <item> list_primes </item>
+      <item> loadaudio </item>
+      <item> loadimage </item>
+      <item> log2 </item>
+      <item> logical </item>
+      <item> logistic_cdf </item>
+      <item> logistic_inv </item>
+      <item> logistic_pdf </item>
+      <item> logistic_regression </item>
+      <item> logistic_regression_derivatives </item>
+      <item> logistic_regression_likelihood </item>
+      <item> logistic_rnd </item>
+      <item> logit </item>
+      <item> loglog </item>
+      <item> loglogerr </item>
+      <item> logm </item>
+      <item> lognormal_cdf </item>
+      <item> lognormal_inv </item>
+      <item> lognormal_pdf </item>
+      <item> lognormal_rnd </item>
+      <item> logspace </item>
+      <item> lower </item>
+      <item> lqe </item>
+      <item> lqg </item>
+      <item> lqr </item>
+      <item> lsim </item>
+      <item> ltifr </item>
+      <item> lyap </item>
+      <item> mahalanobis </item>
+      <item> manova </item>
+      <item> mcnemar_test </item>
+      <item> mean </item>
+      <item> meansq </item>
+      <item> median </item>
+      <item> menu </item>
+      <item> mesh </item>
+      <item> meshdom </item>
+      <item> meshgrid </item>
+      <item> minfo </item>
+      <item> mod </item>
+      <item> moddemo </item>
+      <item> moment </item>
+      <item> mplot </item>
+      <item> mu2lin </item>
+      <item> multiplot </item>
+      <item> nargchk </item>
+      <item> nextpow2 </item>
+      <item> nichols </item>
+      <item> norm </item>
+      <item> normal_cdf </item>
+      <item> normal_inv </item>
+      <item> normal_pdf </item>
+      <item> normal_rnd </item>
+      <item> not </item>
+      <item> nper </item>
+      <item> npv </item>
+      <item> ntsc2rgb </item>
+      <item> null </item>
+      <item> num2str </item>
+      <item> nyquist </item>
+      <item> obsv </item>
+      <item> ocean </item>
+      <item> ols </item>
+      <item> oneplot </item>
+      <item> ord2 </item>
+      <item> orth </item>
+      <item> __outlist__ </item>
+      <item> pack </item>
+      <item> packedform </item>
+      <item> packsys </item>
+      <item> parallel </item>
+      <item> paren </item>
+      <item> pascal_cdf </item>
+      <item> pascal_inv </item>
+      <item> pascal_pdf </item>
+      <item> pascal_rnd </item>
+      <item> path </item>
+      <item> periodogram </item>
+      <item> perror </item>
+      <item> place </item>
+      <item> playaudio </item>
+      <item> plot </item>
+      <item> plot_border </item>
+      <item> __plr__ </item>
+      <item> __plr1__ </item>
+      <item> __plr2__ </item>
+      <item> __plt__ </item>
+      <item> __plt1__ </item>
+      <item> __plt2__ </item>
+      <item> __plt2mm__ </item>
+      <item> __plt2mv__ </item>
+      <item> __plt2ss__ </item>
+      <item> __plt2vm__ </item>
+      <item> __plt2vv__ </item>
+      <item> __pltopt__ </item>
+      <item> __pltopt1__ </item>
+      <item> pmt </item>
+      <item> poisson_cdf </item>
+      <item> poisson_inv </item>
+      <item> poisson_pdf </item>
+      <item> poisson_rnd </item>
+      <item> pol2cart </item>
+      <item> polar </item>
+      <item> poly </item>
+      <item> polyder </item>
+      <item> polyderiv </item>
+      <item> polyfit </item>
+      <item> polyinteg </item>
+      <item> polyout </item>
+      <item> polyreduce </item>
+      <item> polyval </item>
+      <item> polyvalm </item>
+      <item> popen2 </item>
+      <item> postpad </item>
+      <item> pow2 </item>
+      <item> ppplot </item>
+      <item> prepad </item>
+      <item> probit </item>
+      <item> prompt </item>
+      <item> prop_test_2 </item>
+      <item> pv </item>
+      <item> pvl </item>
+      <item> pzmap </item>
+      <item> qconj </item>
+      <item> qcoordinate_plot </item>
+      <item> qderiv </item>
+      <item> qderivmat </item>
+      <item> qinv </item>
+      <item> qmult </item>
+      <item> qqplot </item>
+      <item> qtrans </item>
+      <item> qtransv </item>
+      <item> qtransvmat </item>
+      <item> quaternion </item>
+      <item> qzhess </item>
+      <item> qzval </item>
+      <item> randperm </item>
+      <item> range </item>
+      <item> rank </item>
+      <item> ranks </item>
+      <item> rate </item>
+      <item> record </item>
+      <item> rectangle_lw </item>
+      <item> rectangle_sw </item>
+      <item> rem </item>
+      <item> repmat </item>
+      <item> residue </item>
+      <item> rgb2hsv </item>
+      <item> rgb2ind </item>
+      <item> rgb2ntsc </item>
+      <item> rindex </item>
+      <item> rldemo </item>
+      <item> rlocus </item>
+      <item> roots </item>
+      <item> rot90 </item>
+      <item> rotdim </item>
+      <item> rotg </item>
+      <item> rows </item>
+      <item> run_cmd </item>
+      <item> run_count </item>
+      <item> run_test </item>
+      <item> saveaudio </item>
+      <item> saveimage </item>
+      <item> sec </item>
+      <item> sech </item>
+      <item> semicolon </item>
+      <item> semilogx </item>
+      <item> semilogxerr </item>
+      <item> semilogy </item>
+      <item> semilogyerr </item>
+      <item> series </item>
+      <item> setaudio </item>
+      <item> setstr </item>
+      <item> shg </item>
+      <item> shift </item>
+      <item> shiftdim </item>
+      <item> sign_test </item>
+      <item> sinc </item>
+      <item> sinetone </item>
+      <item> sinewave </item>
+      <item> skewness </item>
+      <item> sombrero </item>
+      <item> sortcom </item>
+      <item> spearman </item>
+      <item> spectral_adf </item>
+      <item> spectral_xdf </item>
+      <item> spencer </item>
+      <item> sph2cart </item>
+      <item> split </item>
+      <item> ss </item>
+      <item> ss2sys </item>
+      <item> ss2tf </item>
+      <item> ss2zp </item>
+      <item> stairs </item>
+      <item> starp </item>
+      <item> statistics </item>
+      <item> std </item>
+      <item> stdnormal_cdf </item>
+      <item> stdnormal_inv </item>
+      <item> stdnormal_pdf </item>
+      <item> stdnormal_rnd </item>
+      <item> step </item>
+      <item> __stepimp__ </item>
+      <item> stft </item>
+      <item> str2mat </item>
+      <item> str2num </item>
+      <item> strappend </item>
+      <item> strcat </item>
+      <item> strcmp </item>
+      <item> strerror </item>
+      <item> strjust </item>
+      <item> strrep </item>
+      <item> struct_contains </item>
+      <item> struct_elements </item>
+      <item> studentize </item>
+      <item> sub2ind </item>
+      <item> subplot </item>
+      <item> substr </item>
+      <item> subwindow </item>
+      <item> swap </item>
+      <item> swapcols </item>
+      <item> swaprows </item>
+      <item> sylvester_matrix </item>
+      <item> synthesis </item>
+      <item> sys2fir </item>
+      <item> sys2ss </item>
+      <item> sys2tf </item>
+      <item> sys2zp </item>
+      <item> sysadd </item>
+      <item> sysappend </item>
+      <item> syschnames </item>
+      <item> __syschnamesl__ </item>
+      <item> syschtsam </item>
+      <item> __sysconcat__ </item>
+      <item> sysconnect </item>
+      <item> syscont </item>
+      <item> __syscont_disc__ </item>
+      <item> __sysdefioname__ </item>
+      <item> __sysdefstname__ </item>
+      <item> sysdimensions </item>
+      <item> sysdisc </item>
+      <item> sysdup </item>
+      <item> sysgetsignals </item>
+      <item> sysgettsam </item>
+      <item> sysgettype </item>
+      <item> sysgroup </item>
+      <item> __sysgroupn__ </item>
+      <item> sysidx </item>
+      <item> sysmin </item>
+      <item> sysmult </item>
+      <item> sysout </item>
+      <item> sysprune </item>
+      <item> sysreorder </item>
+      <item> sysrepdemo </item>
+      <item> sysscale </item>
+      <item> syssetsignals </item>
+      <item> syssub </item>
+      <item> sysupdate </item>
+      <item> table </item>
+      <item> t_cdf </item>
+      <item> tempdir </item>
+      <item> tempname </item>
+      <item> texas_lotto </item>
+      <item> tf </item>
+      <item> tf2ss </item>
+      <item> tf2sys </item>
+      <item> __tf2sysl__ </item>
+      <item> tf2zp </item>
+      <item> __tfl__ </item>
+      <item> tfout </item>
+      <item> tic </item>
+      <item> t_inv </item>
+      <item> title </item>
+      <item> toc </item>
+      <item> toeplitz </item>
+      <item> top_title </item>
+      <item> t_pdf </item>
+      <item> trace </item>
+      <item> triangle_lw </item>
+      <item> triangle_sw </item>
+      <item> tril </item>
+      <item> triu </item>
+      <item> t_rnd </item>
+      <item> t_test </item>
+      <item> t_test_2 </item>
+      <item> t_test_regression </item>
+      <item> tzero </item>
+      <item> tzero2 </item>
+      <item> ugain </item>
+      <item> uniform_cdf </item>
+      <item> uniform_inv </item>
+      <item> uniform_pdf </item>
+      <item> uniform_rnd </item>
+      <item> union </item>
+      <item> unix </item>
+      <item> unpacksys </item>
+      <item> unwrap </item>
+      <item> upper </item>
+      <item> u_test </item>
+      <item> values </item>
+      <item> vander </item>
+      <item> var </item>
+      <item> var_test </item>
+      <item> vec </item>
+      <item> vech </item>
+      <item> version </item>
+      <item> vol </item>
+      <item> weibull_cdf </item>
+      <item> weibull_inv </item>
+      <item> weibull_pdf </item>
+      <item> weibull_rnd </item>
+      <item> welch_test </item>
+      <item> wgt1o </item>
+      <item> wiener_rnd </item>
+      <item> wilcoxon_test </item>
+      <item> xlabel </item>
+      <item> xor </item>
+      <item> ylabel </item>
+      <item> yulewalker </item>
+      <item> zgfmul </item>
+      <item> zgfslv </item>
+      <item> zginit </item>
+      <item> __zgpbal__ </item>
+      <item> zgreduce </item>
+      <item> zgrownorm </item>
+      <item> zgscal </item>
+      <item> zgsgiv </item>
+      <item> zgshsr </item>
+      <item> zlabel </item>
+      <item> zp </item>
+      <item> zp2ss </item>
+      <item> __zp2ssg2__ </item>
+      <item> zp2sys </item>
+      <item> zp2tf </item>
+      <item> zpout </item>
+      <item> z_test </item>
+      <item> z_test_2 </item>
+    </list>
+    
+    <list name="forge">
+      <item> airy_Ai </item>
+      <item> airy_Ai_deriv </item>
+      <item> airy_Ai_deriv_scaled </item>
+      <item> airy_Ai_scaled </item>
+      <item> airy_Bi </item>
+      <item> airy_Bi_deriv </item>
+      <item> airy_Bi_deriv_scaled </item>
+      <item> airy_Bi_scaled </item>
+      <item> airy_zero_Ai </item>
+      <item> airy_zero_Ai_deriv </item>
+      <item> airy_zero_Bi </item>
+      <item> airy_zero_Bi_deriv </item>
+      <item> atanint </item>
+      <item> bchdeco </item>
+      <item> bchenco </item>
+      <item> bessel_il_scaled </item>
+      <item> bessel_In </item>
+      <item> bessel_In_scaled </item>
+      <item> bessel_Inu </item>
+      <item> bessel_Inu_scaled </item>
+      <item> bessel_jl </item>
+      <item> bessel_Jn </item>
+      <item> bessel_Jnu </item>
+      <item> bessel_kl_scaled </item>
+      <item> bessel_Kn </item>
+      <item> bessel_Kn_scaled </item>
+      <item> bessel_Knu </item>
+      <item> bessel_Knu_scaled </item>
+      <item> bessel_lnKnu </item>
+      <item> bessel_yl </item>
+      <item> bessel_Yn </item>
+      <item> bessel_Ynu </item>
+      <item> bessel_zero_J0 </item>
+      <item> bessel_zero_J1 </item>
+      <item> beta_gsl </item>
+      <item> bfgsmin </item>
+      <item> bisectionstep </item>
+      <item> builtin </item>
+      <item> bwfill </item>
+      <item> bwlabel </item>
+      <item> cell2csv </item>
+      <item> celleval </item>
+      <item> Chi </item>
+      <item> chol </item>
+      <item> Ci </item>
+      <item> clausen </item>
+      <item> conicalP_0 </item>
+      <item> conicalP_1 </item>
+      <item> conicalP_half </item>
+      <item> conicalP_mhalf </item>
+      <item> conv2 </item>
+      <item> cordflt2 </item>
+      <item> coupling_3j </item>
+      <item> coupling_6j </item>
+      <item> coupling_9j </item>
+      <item> csv2cell </item>
+      <item> csvconcat </item>
+      <item> csvexplode </item>
+      <item> cyclgen </item>
+      <item> cyclpoly </item>
+      <item> dawson </item>
+      <item> debye_1 </item>
+      <item> debye_2 </item>
+      <item> debye_3 </item>
+      <item> debye_4 </item>
+      <item> deref </item>
+      <item> dispatch </item>
+      <item> dispatch_help </item>
+      <item> display_fixed_operations </item>
+      <item> dlmread </item>
+      <item> ellint_Ecomp </item>
+      <item> ellint_Kcomp </item>
+      <item> ellipj </item>
+      <item> erfc_gsl </item>
+      <item> erf_gsl </item>
+      <item> erf_Q </item>
+      <item> erf_Z </item>
+      <item> _errcore </item>
+      <item> eta </item>
+      <item> eta_int </item>
+      <item> expint_3 </item>
+      <item> expint_E1 </item>
+      <item> expint_E2 </item>
+      <item> expint_Ei </item>
+      <item> expm1 </item>
+      <item> exp_mult </item>
+      <item> exprel </item>
+      <item> exprel_2 </item>
+      <item> exprel_n </item>
+      <item> fabs </item>
+      <item> fangle </item>
+      <item> farg </item>
+      <item> fatan2 </item>
+      <item> fceil </item>
+      <item> fconj </item>
+      <item> fcos </item>
+      <item> fcosh </item>
+      <item> fcumprod </item>
+      <item> fcumsum </item>
+      <item> fdiag </item>
+      <item> fermi_dirac_3half </item>
+      <item> fermi_dirac_half </item>
+      <item> fermi_dirac_inc_0 </item>
+      <item> fermi_dirac_int </item>
+      <item> fermi_dirac_mhalf </item>
+      <item> fexp </item>
+      <item> ffloor </item>
+      <item> fimag </item>
+      <item> finitedifference </item>
+      <item> fixed </item>
+      <item> flog </item>
+      <item> flog10 </item>
+      <item> fprod </item>
+      <item> freal </item>
+      <item> freshape </item>
+      <item> fround </item>
+      <item> fsin </item>
+      <item> fsinh </item>
+      <item> fsqrt </item>
+      <item> fsum </item>
+      <item> fsumsq </item>
+      <item> ftan </item>
+      <item> ftanh </item>
+      <item> full </item>
+      <item> gamma_gsl </item>
+      <item> gamma_inc </item>
+      <item> gamma_inc_P </item>
+      <item> gamma_inc_Q </item>
+      <item> gammainv_gsl </item>
+      <item> gammastar </item>
+      <item> gdet </item>
+      <item> gdiag </item>
+      <item> gexp </item>
+      <item> gf </item>
+      <item> gfilter </item>
+      <item> _gfweight </item>
+      <item> ginv </item>
+      <item> ginverse </item>
+      <item> glog </item>
+      <item> glu </item>
+      <item> gpick </item>
+      <item> gprod </item>
+      <item> grab </item>
+      <item> grank </item>
+      <item> graycomatrix </item>
+      <item> __grcla__ </item>
+      <item> __grclf__ </item>
+      <item> __grcmd__ </item>
+      <item> greshape </item>
+      <item> __grexit__ </item>
+      <item> __grfigure__ </item>
+      <item> __grgetstat__ </item>
+      <item> __grhold__ </item>
+      <item> __grinit__ </item>
+      <item> __grishold__ </item>
+      <item> __grnewset__ </item>
+      <item> __grsetgraph__ </item>
+      <item> gsl_sf </item>
+      <item> gsqrt </item>
+      <item> gsum </item>
+      <item> gsumsq </item>
+      <item> gtext </item>
+      <item> gzoom </item>
+      <item> hazard </item>
+      <item> houghtf </item>
+      <item> hyperg_0F1 </item>
+      <item> hzeta </item>
+      <item> is_complex_sparse </item>
+      <item> isfixed </item>
+      <item> isgalois </item>
+      <item> isprimitive </item>
+      <item> is_real_sparse </item>
+      <item> is_sparse </item>
+      <item> jpgread </item>
+      <item> jpgwrite </item>
+      <item> lambert_W0 </item>
+      <item> lambert_Wm1 </item>
+      <item> legendre_Pl </item>
+      <item> legendre_Plm </item>
+      <item> legendre_Ql </item>
+      <item> legendre_sphPlm </item>
+      <item> legendre_sphPlm_array </item>
+      <item> leval </item>
+      <item> listen </item>
+      <item> lnbeta </item>
+      <item> lncosh </item>
+      <item> lngamma_gsl </item>
+      <item> lnpoch </item>
+      <item> lnsinh </item>
+      <item> log_1plusx </item>
+      <item> log_1plusx_mx </item>
+      <item> log_erfc </item>
+      <item> lp </item>
+      <item> make_sparse </item>
+      <item> mark_for_deletion </item>
+      <item> medfilt1 </item>
+      <item> newtonstep </item>
+      <item> nnz </item>
+      <item> numgradient </item>
+      <item> numhessian </item>
+      <item> pchip_deriv </item>
+      <item> pngread </item>
+      <item> pngwrite </item>
+      <item> poch </item>
+      <item> pochrel </item>
+      <item> pretty </item>
+      <item> primpoly </item>
+      <item> psi </item>
+      <item> psi_1_int </item>
+      <item> psi_1piy </item>
+      <item> psi_n </item>
+      <item> rand </item>
+      <item> rande </item>
+      <item> randn </item>
+      <item> randp </item>
+      <item> regexp </item>
+      <item> remez </item>
+      <item> reset_fixed_operations </item>
+      <item> rotate_scale </item>
+      <item> rsdec </item>
+      <item> rsenc </item>
+      <item> samin </item>
+      <item> SBBacksub </item>
+      <item> SBEig </item>
+      <item> SBFactor </item>
+      <item> SBProd </item>
+      <item> SBSolve </item>
+      <item> Shi </item>
+      <item> Si </item>
+      <item> sinc_gsl </item>
+      <item> spabs </item>
+      <item> sparse </item>
+      <item> spfind </item>
+      <item> spimag </item>
+      <item> spinv </item>
+      <item> splu </item>
+      <item> spreal </item>
+      <item> SymBand </item>
+      <item> synchrotron_1 </item>
+      <item> synchrotron_2 </item>
+      <item> syndtable </item>
+      <item> taylorcoeff </item>
+      <item> transport_2 </item>
+      <item> transport_3 </item>
+      <item> transport_4 </item>
+      <item> transport_5 </item>
+      <item> trisolve </item>
+      <item> waitbar </item>
+      <item> xmlread </item>
+      <item> zeta </item>
+      <item> zeta_int </item>
+      <item> aar </item>
+      <item> aarmam </item>
+      <item> ac2poly </item>
+      <item> ac2rc </item>
+      <item> acorf </item>
+      <item> acovf </item>
+      <item> addpath </item>
+      <item> ademodce </item>
+      <item> adim </item>
+      <item> adsmax </item>
+      <item> amodce </item>
+      <item> anderson_darling_cdf </item>
+      <item> anderson_darling_test </item>
+      <item> anovan </item>
+      <item> apkconst </item>
+      <item> append_save </item>
+      <item> applylut </item>
+      <item> ar2poly </item>
+      <item> ar2rc </item>
+      <item> arburg </item>
+      <item> arcext </item>
+      <item> arfit2 </item>
+      <item> ar_spa </item>
+      <item> aryule </item>
+      <item> assert </item>
+      <item> au </item>
+      <item> aucapture </item>
+      <item> auload </item>
+      <item> auplot </item>
+      <item> aurecord </item>
+      <item> ausave </item>
+      <item> autumn </item>
+      <item> average_moments </item>
+      <item> awgn </item>
+      <item> azimuth </item>
+      <item> BandToFull </item>
+      <item> BandToSparse </item>
+      <item> base64encode </item>
+      <item> battery </item>
+      <item> bchpoly </item>
+      <item> bestblk </item>
+      <item> best_dir </item>
+      <item> best_dir_cov </item>
+      <item> betaln </item>
+      <item> bfgs </item>
+      <item> bfgsmin_example </item>
+      <item> bi2de </item>
+      <item> biacovf </item>
+      <item> bilinear </item>
+      <item> bisdemo </item>
+      <item> bispec </item>
+      <item> biterr </item>
+      <item> blkdiag </item>
+      <item> blkproc </item>
+      <item> bmpwrite </item>
+      <item> bone </item>
+      <item> bound_convex </item>
+      <item> boxcar </item>
+      <item> boxplot </item>
+      <item> brighten </item>
+      <item> bs_gradient </item>
+      <item> butter </item>
+      <item> buttord </item>
+      <item> bwborder </item>
+      <item> bweuler </item>
+      <item> bwlabel </item>
+      <item> bwmorph </item>
+      <item> bwselect </item>
+      <item> calendar </item>
+      <item> cceps </item>
+      <item> cdiff </item>
+      <item> cellstr </item>
+      <item> char </item>
+      <item> cheb </item>
+      <item> cheb1ord </item>
+      <item> cheb2ord </item>
+      <item> chebwin </item>
+      <item> cheby1 </item>
+      <item> cheby2 </item>
+      <item> chirp </item>
+      <item> clf </item>
+      <item> clip </item>
+      <item> cmpermute </item>
+      <item> cmunique </item>
+      <item> cohere </item>
+      <item> col2im </item>
+      <item> colfilt </item>
+      <item> colorgradient </item>
+      <item> comms </item>
+      <item> compand </item>
+      <item> complex </item>
+      <item> concat </item>
+      <item> conndef </item>
+      <item> content </item>
+      <item> contents </item>
+      <item> Contents </item>
+      <item> contourf </item>
+      <item> convhull </item>
+      <item> convmtx </item>
+      <item> cool </item>
+      <item> copper </item>
+      <item> corr2 </item>
+      <item> cosets </item>
+      <item> count </item>
+      <item> covm </item>
+      <item> cplxpair </item>
+      <item> cquadnd </item>
+      <item> create_lookup_table </item>
+      <item> crule </item>
+      <item> crule2d </item>
+      <item> crule2dgen </item>
+      <item> csape </item>
+      <item> csapi </item>
+      <item> csd </item>
+      <item> csvread </item>
+      <item> csvwrite </item>
+      <item> ctranspose </item>
+      <item> cumtrapz </item>
+      <item> czt </item>
+      <item> d2_min </item>
+      <item> datenum </item>
+      <item> datestr </item>
+      <item> datevec </item>
+      <item> dct </item>
+      <item> dct2 </item>
+      <item> dctmtx </item>
+      <item> de2bi </item>
+      <item> deal </item>
+      <item> decimate </item>
+      <item> decode </item>
+      <item> deg2rad </item>
+      <item> del2 </item>
+      <item> delaunay </item>
+      <item> delaunay3 </item>
+      <item> delta_method </item>
+      <item> demo </item>
+      <item> demodmap </item>
+      <item> deriv </item>
+      <item> detrend </item>
+      <item> dfdp </item>
+      <item> dftmtx </item>
+      <item> dhbar </item>
+      <item> dilate </item>
+      <item> dispatch </item>
+      <item> distance </item>
+      <item> dlmread </item>
+      <item> dlmwrite </item>
+      <item> dos </item>
+      <item> double </item>
+      <item> drawnow </item>
+      <item> durlev </item>
+      <item> dxfwrite </item>
+      <item> edge </item>
+      <item> edit </item>
+      <item> ellip </item>
+      <item> ellipdemo </item>
+      <item> ellipj </item>
+      <item> ellipke </item>
+      <item> ellipord </item>
+      <item> __ellip_ws </item>
+      <item> __ellip_ws_min </item>
+      <item> encode </item>
+      <item> eomday </item>
+      <item> erode </item>
+      <item> example </item>
+      <item> ExampleEigenValues </item>
+      <item> ExampleGenEigenValues </item>
+      <item> expdemo </item>
+      <item> expfit </item>
+      <item> eyediagram </item>
+      <item> factor </item>
+      <item> factorial </item>
+      <item> fail </item>
+      <item> fcnchk </item>
+      <item> feedback </item>
+      <item> fem_test </item>
+      <item> ff2n </item>
+      <item> fftconv2 </item>
+      <item> fieldnames </item>
+      <item> fill </item>
+      <item> fill3 </item>
+      <item> filter2 </item>
+      <item> filtfilt </item>
+      <item> filtic </item>
+      <item> findsym </item>
+      <item> fir1 </item>
+      <item> fir2 </item>
+      <item> fixedpoint </item>
+      <item> flag </item>
+      <item> flag_implicit_samplerate </item>
+      <item> flattopwin </item>
+      <item> flix </item>
+      <item> float </item>
+      <item> fmin </item>
+      <item> fminbnd </item>
+      <item> fmins </item>
+      <item> fminunc </item>
+      <item> fnder </item>
+      <item> fnplt </item>
+      <item> fnval </item>
+      <item> fplot </item>
+      <item> freqs </item>
+      <item> freqs_plot </item>
+      <item> fsort </item>
+      <item> fullfact </item>
+      <item> FullToBand </item>
+      <item> funm </item>
+      <item> fzero </item>
+      <item> gammaln </item>
+      <item> gapTest </item>
+      <item> gaussian </item>
+      <item> gausswin </item>
+      <item> gconv </item>
+      <item> gconvmtx </item>
+      <item> gdeconv </item>
+      <item> gdftmtx </item>
+      <item> gen2par </item>
+      <item> geomean </item>
+      <item> getfield </item>
+      <item> getfields </item>
+      <item> gfft </item>
+      <item> gftable </item>
+      <item> gfweight </item>
+      <item> gget </item>
+      <item> gifft </item>
+      <item> ginput </item>
+      <item> gmm_estimate </item>
+      <item> gmm_example </item>
+      <item> gmm_obj </item>
+      <item> gmm_results </item>
+      <item> gmm_variance </item>
+      <item> gmm_variance_inefficient </item>
+      <item> gquad </item>
+      <item> gquad2d </item>
+      <item> gquad2d6 </item>
+      <item> gquad2dgen </item>
+      <item> gquad6 </item>
+      <item> gquadnd </item>
+      <item> grace_octave_path </item>
+      <item> gradient </item>
+      <item> grayslice </item>
+      <item> grep </item>
+      <item> grid </item>
+      <item> griddata </item>
+      <item> groots </item>
+      <item> grpdelay </item>
+      <item> grule </item>
+      <item> grule2d </item>
+      <item> grule2dgen </item>
+      <item> hadamard </item>
+      <item> hammgen </item>
+      <item> hankel </item>
+      <item> hann </item>
+      <item> harmmean </item>
+      <item> hilbert </item>
+      <item> histeq </item>
+      <item> histfit </item>
+      <item> histo </item>
+      <item> histo2 </item>
+      <item> histo3 </item>
+      <item> histo4 </item>
+      <item> hot </item>
+      <item> hsv </item>
+      <item> hup </item>
+      <item> idct </item>
+      <item> idct2 </item>
+      <item> idplot </item>
+      <item> idsim </item>
+      <item> ifftshift </item>
+      <item> im2bw </item>
+      <item> im2col </item>
+      <item> imadjust </item>
+      <item> imginfo </item>
+      <item> imhist </item>
+      <item> imnoise </item>
+      <item> impad </item>
+      <item> impz </item>
+      <item> imread </item>
+      <item> imrotate </item>
+      <item> imshear </item>
+      <item> imtranslate </item>
+      <item> imwrite </item>
+      <item> innerfun </item>
+      <item> inputname </item>
+      <item> interp </item>
+      <item> interp1 </item>
+      <item> interp2 </item>
+      <item> interpft </item>
+      <item> intersect </item>
+      <item> invest0 </item>
+      <item> invest1 </item>
+      <item> invfdemo </item>
+      <item> invfreq </item>
+      <item> invfreqs </item>
+      <item> invfreqz </item>
+      <item> inz </item>
+      <item> irsa_act </item>
+      <item> irsa_actcore </item>
+      <item> irsa_check </item>
+      <item> irsa_dft </item>
+      <item> irsa_dftfp </item>
+      <item> irsa_genreal </item>
+      <item> irsa_idft </item>
+      <item> irsa_isregular </item>
+      <item> irsa_jitsp </item>
+      <item> irsa_mdsp </item>
+      <item> irsa_normalize </item>
+      <item> irsa_plotdft </item>
+      <item> irsa_resample </item>
+      <item> irsa_rgenreal </item>
+      <item> isa </item>
+      <item> isbw </item>
+      <item> isdir </item>
+      <item> isequal </item>
+      <item> isfield </item>
+      <item> isgray </item>
+      <item> isind </item>
+      <item> ismember </item>
+      <item> isprime </item>
+      <item> isrgb </item>
+      <item> issparse </item>
+      <item> isunix </item>
+      <item> jet </item>
+      <item> kaiser </item>
+      <item> kaiserord </item>
+      <item> lambertw </item>
+      <item> lattice </item>
+      <item> lauchli </item>
+      <item> leasqr </item>
+      <item> leasqrdemo </item>
+      <item> legend </item>
+      <item> legendre </item>
+      <item> levinson </item>
+      <item> lin2mu </item>
+      <item> line_min </item>
+      <item> lloyds </item>
+      <item> lookup </item>
+      <item> lookup_table </item>
+      <item> lpc </item>
+      <item> lp_test </item>
+      <item> mad </item>
+      <item> magic </item>
+      <item> makelut </item>
+      <item> MakeShears </item>
+      <item> map </item>
+      <item> mat2gray </item>
+      <item> mat2str </item>
+      <item> mdsmax </item>
+      <item> mean2 </item>
+      <item> medfilt2 </item>
+      <item> meshc </item>
+      <item> minimize </item>
+      <item> minpol </item>
+      <item> mkpp </item>
+      <item> mktheta </item>
+      <item> mle_estimate </item>
+      <item> mle_example </item>
+      <item> mle_obj </item>
+      <item> mle_results </item>
+      <item> mle_variance </item>
+      <item> modmap </item>
+      <item> mu2lin </item>
+      <item> mvaar </item>
+      <item> mvar </item>
+      <item> mvfilter </item>
+      <item> mvfreqz </item>
+      <item> myfeval </item>
+      <item> nanmax </item>
+      <item> nanmean </item>
+      <item> nanmedian </item>
+      <item> nanmin </item>
+      <item> nanstd </item>
+      <item> nansum </item>
+      <item> ncauer </item>
+      <item> nchoosek </item>
+      <item> ncrule </item>
+      <item> ndims </item>
+      <item> nelder_mead_min </item>
+      <item> newmark </item>
+      <item> nlfilter </item>
+      <item> nlnewmark </item>
+      <item> __nlnewmark_fcn__ </item>
+      <item> nmsmax </item>
+      <item> nonzeros </item>
+      <item> normplot </item>
+      <item> now </item>
+      <item> nrm </item>
+      <item> nthroot </item>
+      <item> nze </item>
+      <item> OCTAVE_FORGE_VERSION </item>
+      <item> ode23 </item>
+      <item> ode45 </item>
+      <item> ode78 </item>
+      <item> optimset </item>
+      <item> ordfilt2 </item>
+      <item> orient </item>
+      <item> pacf </item>
+      <item> padarray </item>
+      <item> parameterize </item>
+      <item> parcor </item>
+      <item> pareto </item>
+      <item> pascal </item>
+      <item> patch </item>
+      <item> pburg </item>
+      <item> pcg </item>
+      <item> pchip </item>
+      <item> pcolor </item>
+      <item> pcr </item>
+      <item> peaks </item>
+      <item> penddot </item>
+      <item> pendulum </item>
+      <item> perms </item>
+      <item> pie </item>
+      <item> pink </item>
+      <item> plot3 </item>
+      <item> __plt3__ </item>
+      <item> poly2ac </item>
+      <item> poly2ar </item>
+      <item> poly_2_ex </item>
+      <item> poly2mask </item>
+      <item> poly2rc </item>
+      <item> poly2sym </item>
+      <item> poly2th </item>
+      <item> polyarea </item>
+      <item> polyconf </item>
+      <item> polyder </item>
+      <item> polyderiv </item>
+      <item> polygcd </item>
+      <item> polystab </item>
+      <item> __power </item>
+      <item> ppval </item>
+      <item> prctile </item>
+      <item> prettyprint </item>
+      <item> prettyprint_c </item>
+      <item> primes </item>
+      <item> princomp </item>
+      <item> print </item>
+      <item> prism </item>
+      <item> proplan </item>
+      <item> pulstran </item>
+      <item> pwelch </item>
+      <item> pyulear </item>
+      <item> qaskdeco </item>
+      <item> qaskenco </item>
+      <item> qtdecomp </item>
+      <item> qtgetblk </item>
+      <item> qtsetblk </item>
+      <item> quad2dc </item>
+      <item> quad2dcgen </item>
+      <item> quad2dg </item>
+      <item> quad2dggen </item>
+      <item> quadc </item>
+      <item> quadg </item>
+      <item> quadl </item>
+      <item> quadndg </item>
+      <item> quantiz </item>
+      <item> quiver </item>
+      <item> rad2deg </item>
+      <item> rainbow </item>
+      <item> randerr </item>
+      <item> randint </item>
+      <item> randsrc </item>
+      <item> rat </item>
+      <item> rats </item>
+      <item> rc2ac </item>
+      <item> rc2ar </item>
+      <item> rc2poly </item>
+      <item> rceps </item>
+      <item> read_options </item>
+      <item> read_pdb </item>
+      <item> rectpuls </item>
+      <item> resample </item>
+      <item> rgb2gray </item>
+      <item> rk2fixed </item>
+      <item> rk4fixed </item>
+      <item> rk8fixed </item>
+      <item> rmfield </item>
+      <item> rmle </item>
+      <item> rmpath </item>
+      <item> roicolor </item>
+      <item> rosser </item>
+      <item> rotparams </item>
+      <item> rotv </item>
+      <item> rref </item>
+      <item> rsdecof </item>
+      <item> rsencof </item>
+      <item> rsgenpoly </item>
+      <item> samin_example </item>
+      <item> save_vrml </item>
+      <item> sbispec </item>
+      <item> scale_data </item>
+      <item> scatter </item>
+      <item> scatterplot </item>
+      <item> select_3D_points </item>
+      <item> selmo </item>
+      <item> setdiff </item>
+      <item> setfield </item>
+      <item> setfields </item>
+      <item> setxor </item>
+      <item> sftrans </item>
+      <item> sgolay </item>
+      <item> sgolayfilt </item>
+      <item> sinvest1 </item>
+      <item> slurp_file </item>
+      <item> sortrows </item>
+      <item> sound </item>
+      <item> soundsc </item>
+      <item> spdiags </item>
+      <item> specgram </item>
+      <item> speed </item>
+      <item> speye </item>
+      <item> spfun </item>
+      <item> sphcat </item>
+      <item> spline </item>
+      <item> splot </item>
+      <item> spones </item>
+      <item> sprand </item>
+      <item> sprandn </item>
+      <item> spring </item>
+      <item> spstats </item>
+      <item> spsum </item>
+      <item> sp_test </item>
+      <item> sptest </item>
+      <item> spvcat </item>
+      <item> spy </item>
+      <item> std2 </item>
+      <item> stem </item>
+      <item> str2double </item>
+      <item> strcmpi </item>
+      <item> stretchlim </item>
+      <item> strfind </item>
+      <item> strmatch </item>
+      <item> strncmp </item>
+      <item> strncmpi </item>
+      <item> strsort </item>
+      <item> strtok </item>
+      <item> strtoz </item>
+      <item> struct </item>
+      <item> strvcat </item>
+      <item> summer </item>
+      <item> sumskipnan </item>
+      <item> surf </item>
+      <item> surfc </item>
+      <item> sym2poly </item>
+      <item> symerr </item>
+      <item> symfsolve </item>
+      <item> tabulate </item>
+      <item> tar </item>
+      <item> temp_name </item>
+      <item> test </item>
+      <item> test_d2_min_1 </item>
+      <item> test_d2_min_2 </item>
+      <item> test_d2_min_3 </item>
+      <item> test_ellipj </item>
+      <item> test_fminunc_1 </item>
+      <item> testimio </item>
+      <item> test_inline_1 </item>
+      <item> test_min_1 </item>
+      <item> test_min_2 </item>
+      <item> test_min_3 </item>
+      <item> test_min_4 </item>
+      <item> test_minimize_1 </item>
+      <item> test_nelder_mead_min_1 </item>
+      <item> test_nelder_mead_min_2 </item>
+      <item> test_sncndn </item>
+      <item> test_struct </item>
+      <item> test_vmesh </item>
+      <item> test_vrml_faces </item>
+      <item> test_wpolyfit </item>
+      <item> text </item>
+      <item> textread </item>
+      <item> tf2zp </item>
+      <item> tfe </item>
+      <item> thfm </item>
+      <item> tics </item>
+      <item> toeplitz </item>
+      <item> toggle_grace_use </item>
+      <item> transpose </item>
+      <item> trapz </item>
+      <item> triang </item>
+      <item> tril </item>
+      <item> trimmean </item>
+      <item> tripuls </item>
+      <item> trisolve </item>
+      <item> triu </item>
+      <item> tsademo </item>
+      <item> tsearchdemo </item>
+      <item> ucp </item>
+      <item> uintlut </item>
+      <item> unique </item>
+      <item> unix </item>
+      <item> unmkpp </item>
+      <item> unscale_parameters </item>
+      <item> vec2mat </item>
+      <item> view </item>
+      <item> vmesh </item>
+      <item> voronoi </item>
+      <item> voronoin </item>
+      <item> vrml_arrow </item>
+      <item> vrml_Background </item>
+      <item> vrml_browse </item>
+      <item> vrml_cyl </item>
+      <item> vrml_demo_tutorial_1 </item>
+      <item> vrml_demo_tutorial_2 </item>
+      <item> vrml_demo_tutorial_3 </item>
+      <item> vrml_demo_tutorial_4 </item>
+      <item> vrml_ellipsoid </item>
+      <item> vrml_faces </item>
+      <item> vrml_flatten </item>
+      <item> vrml_frame </item>
+      <item> vrml_group </item>
+      <item> vrml_kill </item>
+      <item> vrml_lines </item>
+      <item> vrml_material </item>
+      <item> vrml_parallelogram </item>
+      <item> vrml_PointLight </item>
+      <item> vrml_points </item>
+      <item> vrml_select_points </item>
+      <item> vrml_surf </item>
+      <item> vrml_text </item>
+      <item> vrml_thick_surf </item>
+      <item> vrml_transfo </item>
+      <item> wavread </item>
+      <item> wavwrite </item>
+      <item> weekday </item>
+      <item> wgn </item>
+      <item> white </item>
+      <item> wilkinson </item>
+      <item> winter </item>
+      <item> wpolyfit </item>
+      <item> wpolyfitdemo </item>
+      <item> write_pdb </item>
+      <item> wsolve </item>
+      <item> xcorr </item>
+      <item> xcorr2 </item>
+      <item> xcov </item>
+      <item> xlsread </item>
+      <item> xmlwrite </item>
+      <item> y2res </item>
+      <item> zero_count </item>
+      <item> zoom </item>
+      <item> zp2tf </item>
+      <item> zplane </item>
+      <item> zscore </item>
+    </list>
+    
+    <contexts>
+
+      <context name="_normal" attribute="Normal Text" lineEndContext="#stay">
+
+        <!-- Code folding -->
+        <!--TODO: with this implementation, code folding will close a block also with a wrong
+        end*: for istance, for can be closed by endif. This is done because the catchall end 
+        keyword is widely used to close a number of blocks (including if and for).
+        If you have an improvement, please contribute it!-->
+        <RegExpr context="#stay" attribute="Keyword" String="\b(for)\b" beginRegion="block" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(endfor)\b" endRegion="block" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(if)\b" beginRegion="block" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(endif)\b" endRegion="block" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(do)\b" beginRegion="block" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(until)\b" endRegion="block" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(while)\b" beginRegion="block" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(endwhile)\b" endRegion="block" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(function)\b" beginRegion="block" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(endfunction)\b" endRegion="block" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(switch)\b" beginRegion="Switch" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(endswitch)\b" endRegion="Switch" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(try)\b" beginRegion="Try" />
+        <RegExpr context="#stay" attribute="Keyword" String="\b(end_try_catch)\b" endRegion="Try" />
+        <!-- Catchall end keyword -->
+        <RegExpr context="#stay" attribute="Keyword" String="\b(end)\b" endRegion="block" />
+        
+        <!-- Look-ahead for adjoint ' after variable, number literal, closing braces and .' -->
+        <RegExpr context="_adjoint" attribute="Variable" String="[a-zA-Z]\w*(?=')" />
+        <RegExpr context="_adjoint" attribute="Number" String="(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?[ij]?(?=')" />
+        <RegExpr context="_adjoint" attribute="Delimiter" String="[\)\]}](?=')" />
+        <RegExpr context="_adjoint" attribute="Operator" String="\.'(?=')" />
+
+        <!-- If ' is not the adjoint operator, it starts a string or an unterminated string;
+        strings can be also with ", and accept the respective delimiter in them either
+        by doubling it ('', "") or by escaping it (\', \") -->
+        <RegExpr context="#stay" attribute="String" String="'([^'\\]|''|\\'|\\[^'])*'(?=[^']|$)" />
+        <RegExpr context="#stay" attribute="Incomplete String" String="'([^']|''|\\')*" />
+        <RegExpr context="#stay" attribute="String" String="&quot;([^&quot;\\]|&quot;&quot;|\\&quot;|\\[^&quot;])*&quot;(?=[^&quot;]|$)" />
+        <RegExpr context="#stay" attribute="Incomplete String" String="&quot;([^&quot;]|&quot;&quot;|\\&quot;)*" />
+        
+        <!-- Handling of keywords, comments, functions, identifiers, numbers and braces -->
+        <keyword context="#stay" attribute="Keyword" String="keywords" />
+        <keyword context="#stay" attribute="Commands" String="commands" />
+        <keyword context="#stay" attribute="Functions" String="functions" />
+        <keyword context="#stay" attribute="Builtin" String="builtin"/>
+        <keyword context="#stay" attribute="Forge" String="forge" />
+        <RegExpr context="#stay" attribute="Comment" String="[%#].*$" />
+        <RegExpr context="#stay" attribute="Variable" String="[a-zA-Z]\w*" />
+        <RegExpr context="#stay" attribute="Number" String="(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?[ij]?" />
+        <AnyChar context="#stay" attribute="Delimiter" String="()[]{}"/>
+              
+        <!-- Three- and two-character operators -->
+        <StringDetect context="#stay" attribute="Operator" String="..."/>
+        <StringDetect context="#stay" attribute="Operator" String="=="/>
+        <StringDetect context="#stay" attribute="Operator" String="~="/>
+        <StringDetect context="#stay" attribute="Operator" String="!="/>
+        <StringDetect context="#stay" attribute="Operator" String="&lt;="/>
+        <StringDetect context="#stay" attribute="Operator" String="&gt;="/>
+        <StringDetect context="#stay" attribute="Operator" String="&lt;&gt;"/>
+        <StringDetect context="#stay" attribute="Operator" String="&amp;&amp;"/>
+        <StringDetect context="#stay" attribute="Operator" String="||"/>
+        <StringDetect context="#stay" attribute="Operator" String="++"/>
+        <StringDetect context="#stay" attribute="Operator" String="--"/>
+        <StringDetect context="#stay" attribute="Operator" String="**"/>
+        <StringDetect context="#stay" attribute="Operator" String=".*"/>
+        <StringDetect context="#stay" attribute="Operator" String=".**"/>
+        <StringDetect context="#stay" attribute="Operator" String=".^"/>
+        <StringDetect context="#stay" attribute="Operator" String="./"/>
+        <StringDetect context="#stay" attribute="Operator" String=".'"/>
+
+        <!-- Single-character operators -->
+        <AnyChar context="#stay" attribute="Operator" String="!&quot;%(*+,/;=>[]|~#&amp;)-:&lt;&gt;\^"/>
+        
+      </context>
+
+
+      <!--Context entered after encountering an ' adjoint operator -->
+      <context name="_adjoint" attribute="Operator" lineEndContext="#pop">
+        <RegExpr context="#pop" attribute="Operator" String="'+" />
+      </context>
+
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Variable" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Operator" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Number" defStyleNum="dsFloat" spellChecking="false"/>
+      <itemData name="Delimiter" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="String" defStyleNum="dsString" color="#b20000"/>
+      <itemData name="String Char"  defStyleNum="dsChar"/>
+      <itemData name="Incomplete String" defStyleNum="dsChar" color="#a020f0" spellChecking="false"/>
+      <itemData name="Keyword"  defStyleNum="dsNormal" color="#0000ff" spellChecking="false"/>
+      <itemData name="Comment" defStyleNum="dsComment" color="#009900"/>
+      <itemData name="Functions" defStyleNum="dsFunction" color="#0000ff" selColor="#00ff00" bold="1" italic="1" spellChecking="false"/>
+      <itemData name="Forge" defStyleNum="dsFunction" color="#000099" selColor="#009900" bold="1" italic="1" spellChecking="false"/>
+      <itemData name="Builtin" defStyleNum="dsBaseN" color="#b28c00" spellChecking="false"/>
+      <itemData name="Commands" defStyleNum="dsFunction" color="#b28c00" spellChecking="false"/>
+    </itemDatas>
+
+  </highlighting>
+
+  <general>
+    <comments>
+      <comment name="singleLine" start="%" />
+      <comment name="singleLine" start="#" />
+    </comments>
+    <keywords casesensitive="1"/>
+  </general>
+
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/opencl.xml b/xml/opencl.xml
new file mode 100644
--- /dev/null
+++ b/xml/opencl.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="OpenCL" section="Sources"
+          version="2" kateversion="3.4"
+          indenter="cstyle"
+          extensions="*.cl"
+          mimetype="text/x-clsrc"
+          priority="5">
+  <highlighting>
+    <list name="keywords">
+      <item> __constant </item>
+      <item> __global </item>
+      <item> __local </item>
+      <item> __private </item>
+      <item> __kernel </item>
+      <item> __read_only </item>
+      <item> __write_only </item>
+      <item> constant </item>
+      <item> global </item>
+      <item> local </item>
+      <item> private </item>
+      <item> kernel </item>
+      <item> read_only </item>
+      <item> write_only </item>
+      <item> break </item>
+      <item> case </item>
+      <item> continue </item>
+      <item> default </item>
+      <item> do </item>
+      <item> else </item>
+      <item> enum </item>
+      <item> for </item>
+      <item> goto </item>
+      <item> if </item>
+      <item> inline </item>
+      <item> return </item>
+      <item> sizeof </item>
+      <item> struct </item>
+      <item> switch </item>
+      <item> typedef </item>
+      <item> union </item>
+      <item> while </item>
+    </list>
+    <list name="types">
+      <item> bool </item>
+      <item> uchar </item>
+      <item> uchar2 </item>
+      <item> uchar3 </item>
+      <item> uchar4 </item>
+      <item> uchar8 </item>
+      <item> uchar16 </item>
+      <item> char </item>
+      <item> char2 </item>
+      <item> char3 </item>
+      <item> char4 </item>
+      <item> char8 </item>
+      <item> char16 </item>
+      <item> const </item>
+      <item> double </item>
+      <item> double2 </item>
+      <item> double3 </item>
+      <item> double4 </item>
+      <item> double8 </item>
+      <item> double16 </item>
+      <item> event_t </item>
+      <item> float </item>
+      <item> float2 </item>
+      <item> float3 </item>
+      <item> float4 </item>
+      <item> float8 </item>
+      <item> float16 </item>
+      <item> half </item>
+      <item> half2 </item>
+      <item> half3 </item>
+      <item> half4 </item>
+      <item> half8 </item>
+      <item> half16 </item>
+      <item> image1d_t </item>
+      <item> image2d_t </item>
+      <item> image3d_t </item>
+      <item> uint </item>
+      <item> uint2 </item>
+      <item> uint3 </item>
+      <item> uint4 </item>
+      <item> uint8 </item>
+      <item> uint16 </item>
+	  <item> int </item>
+      <item> int2 </item>
+      <item> int3 </item>
+      <item> int4 </item>
+      <item> int8 </item>
+      <item> int16 </item>
+      <item> ulong </item>
+      <item> ulong2 </item>
+      <item> ulong3 </item>
+      <item> ulong4 </item>
+      <item> ulong8 </item>
+      <item> ulong16 </item>
+      <item> long </item>
+      <item> long2 </item>
+      <item> long3 </item>
+      <item> long4 </item>
+      <item> long8 </item>
+      <item> long16 </item>
+      <item> restrict </item>
+      <item> sampler_t </item>
+      <item> ushort </item>
+      <item> ushort2 </item>
+      <item> ushort3 </item>
+      <item> ushort4 </item>
+      <item> ushort8 </item>
+      <item> ushort16 </item>
+      <item> short </item>
+      <item> short2 </item>
+      <item> short3 </item>
+      <item> short4 </item>
+      <item> short8 </item>
+      <item> short16 </item>
+      <item> signed </item>
+      <item> static </item>
+      <item> unsigned </item>
+      <item> void </item>
+      <item> volatile </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <DetectSpaces />
+	<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0\s*$" 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"/>
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <DetectIdentifier />
+        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+        <Float attribute="Float" context="#stay">
+          <AnyChar String="fF" attribute="Float" context="#stay"/>
+        </Float>
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Int attribute="Decimal" context="#stay" >
+          <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
+        </Int>
+        <HlCChar attribute="Char" context="#stay"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+      </context>
+
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <LineContinue attribute="String" context="#stay"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+
+      <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
+      </context>
+
+      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
+        <LineContinue attribute="Comment" context="#stay"/>
+        <IncludeRules context="##Alerts" />
+      </context>
+
+      <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+        <IncludeRules context="##Alerts" />
+      </context>
+
+      <context attribute="Error" lineEndContext="#pop" name="AfterHash">
+        <!-- define, elif, else, endif, error, if, ifdef, ifndef, include, include_next, line, pragma, undef, warning -->
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*if(?:def|ndef)?(?=\s+\S)" insensitive="true" beginRegion="PP" firstNonSpace="true" />
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*endif" insensitive="true" endRegion="PP" firstNonSpace="true" />
+        <RegExpr attribute="Preprocessor" context="Define" String="#\s*define.*((?=\\))" insensitive="true" firstNonSpace="true" />
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s*(?:el(?:se|if)|include(?:_next)?|define|undef|line|error|warning|pragma)" insensitive="true" firstNonSpace="true" />
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="#\s+[0-9]+" insensitive="true" firstNonSpace="true" />
+      </context>
+
+      <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
+        <LineContinue attribute="Preprocessor" context="#stay"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*" beginRegion="Comment2" />
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/" />
+      </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" />
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <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="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" />
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <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="PP" firstNonSpace="true" />
+        <RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="PP" firstNonSpace="true" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"  defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Keyword"      defStyleNum="dsKeyword" spellChecking="false"/>
+      <itemData name="Data Type"    defStyleNum="dsDataType" spellChecking="false"/>
+      <itemData name="Decimal"      defStyleNum="dsDecVal" spellChecking="false"/>
+      <itemData name="Octal"        defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Hex"          defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Float"        defStyleNum="dsFloat" spellChecking="false"/>
+      <itemData name="Char"         defStyleNum="dsChar" spellChecking="false"/>
+      <itemData name="String"       defStyleNum="dsString"/>
+      <itemData name="String Char"  defStyleNum="dsChar"/>
+      <itemData name="Comment"      defStyleNum="dsComment"/>
+      <itemData name="Symbol"       defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Preprocessor" defStyleNum="dsOthers" spellChecking="false"/>
+      <itemData name="Prep. Lib"    defStyleNum="dsOthers" spellChecking="false"/> <!--,Qt::darkYellow,Qt::yellow,false,false)); -->
+      <itemData name="Alert"        defStyleNum="dsAlert" spellChecking="false"/>
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
+      <itemData name="Error"        defStyleNum="dsError" spellChecking="false"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="/*" end="*/" />
+    </comments>
+    <keywords casesensitive="1" additionalDeliminator="'&quot;" />
+  </general>
+</language>
diff --git a/xml/pascal.xml b/xml/pascal.xml
new file mode 100644
--- /dev/null
+++ b/xml/pascal.xml
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Pascal"
+          section="Sources" 
+          version="2"
+          kateversion="3.3"
+          extensions="*.p;*.pas;*.pp"
+          mimetype="text/x-pascal" 
+          priority="8"
+	  indenter="pascal"
+          author="Unnamed people and Liu Sizhuang(oldherl@gmail.com)"
+          >
+  <highlighting>
+    <list name="keywords">
+      <item> and </item>
+      <item> array </item>
+      <item> asm </item>
+      <item> case </item>
+      <item> const </item>
+      <item> div </item>
+      <item> do </item>
+      <item> downto </item>
+      <item> else </item>
+      <item> file </item>
+      <item> for </item>
+      <item> function </item>
+      <item> goto </item>
+      <item> if </item>
+      <item> in </item>
+      <item> label </item>
+      <item> mod </item>
+      <item> nil </item>
+      <item> not </item>
+      <item> of </item>
+      <item> operator </item>
+      <item> or </item>
+      <item> packed </item>
+      <item> procedure </item>
+      <item> program </item>
+      <item> record </item>
+      <item> repeat </item>
+      <item> set </item>
+      <item> then </item>
+      <item> to </item>
+      <item> type </item>
+      <item> unit </item>
+      <item> until </item>
+      <item> uses </item>
+      <item> var </item>
+      <item> while </item>
+      <item> with </item>
+      <item> xor </item>
+
+
+      <item> at </item>
+      <item> automated </item>
+      <item> break </item>
+      <item> continue </item>
+      <item> dispinterface </item>
+      <item> dispose </item>
+      <item> exit </item>
+      <item> false </item>
+      <item> finalization </item>
+      <item> initialization </item>
+      <item> library </item>
+      <item> new </item>
+      <item> published </item>
+      <item> resourcestring </item>
+      <item> self </item>
+      <item> true </item>
+    </list>
+    <list name="ISO/Delphi Extended">
+      <item> abstract </item>
+      <item> as </item>
+      <item> bindable </item>
+      <item> constructor </item>
+      <item> destructor </item>
+      <item> except </item>
+      <item> export </item>
+      <item> finally </item>
+      <item> import </item>
+      <item> implementation </item>
+      <item> inherited </item>
+      <item> inline </item>
+      <item> interface </item>
+      <item> is </item>
+      <item> module </item>
+      <item> on </item>
+      <item> only </item>
+      <item> otherwise </item>
+      <item> override </item>
+      <item> private </item>
+      <item> property </item>
+      <item> protected </item>
+      <item> public </item>
+      <item> read </item>
+      <item> qualified </item>
+      <item> raise </item>
+      <item> restricted </item>
+      <item> shl </item>
+      <item> shr </item>
+      <item> threadvar </item>
+      <item> try </item>
+      <item> virtual </item>
+      <item> write </item>
+    </list>
+    <list name="types">
+      <item> Integer </item>
+      <item> Cardinal </item>
+      <item> ShortInt </item>
+      <item> SmallInt  </item>
+      <item> LongInt </item>
+      <item> Int64 </item>
+      <item> Byte </item>
+      <item> Word </item>
+      <item> LongWord </item>
+      <item> DWord </item>
+      <item> QWord </item>
+      <item> Char </item>
+      <item> AnsiChar </item>
+      <item> WideChar </item>
+      <item> Boolean </item>
+      <item> ByteBool </item>
+      <item> WordBool </item>
+      <item> LongBool </item>
+      <item> Single </item>
+      <item> Double </item>
+      <item> Extended </item>
+      <item> Comp </item>
+      <item> Currency </item>
+      <item> Real </item>
+      <item> Real48 </item>
+      <item> String </item>
+      <item> ShortString </item>
+      <item> AnsiString </item>
+      <item> WideString </item>
+      <item> Pointer </item>
+      <item> Variant</item>
+      <item> File </item>
+      <item> Text </item>
+    </list>
+    <list name="attention">
+      <item> FIXME </item>
+      <item> TODO </item>
+      <item> NOTE </item>
+      <item> ### </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <RegExpr attribute="Keyword" context="#stay" String="\b(begin|case|record)(?=(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*([\s]|$|//))" insensitive="true" beginRegion="Region1"/>
+        <RegExpr attribute="ISO/Delphi Extended" context="#stay" String="\b((object|class)(?=(\(.*\))?(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*;?([\s]|$|//))|try(?=(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*([\s]|$|//)))" insensitive="true" beginRegion="Region1"/>
+	<RegExpr attribute="Keyword" context="#stay" String="\bend(?=((\{[^}]*(\}|$)|\(\*.*(\*\)|$))*)([.;\s]|$)|//|$)" insensitive="true" endRegion="Region1"/>
+
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="ISO/Delphi Extended" context="#stay" String="ISO/Delphi Extended"/>
+        <keyword attribute="Type" context="#stay" String="types"/>
+        <Float attribute="Number" context="#stay"/>
+	<Int attribute="Number" context="#stay"/>
+	<DetectChar attribute="Hex" context="Hex" char="$" />
+	<DetectChar attribute="String" context="CharNum" char="#" />
+        <DetectChar attribute="String" context="String" char="&apos;" />
+        <StringDetect attribute="Directive" context="Prep1" String="(*$"/>
+        <Detect2Chars attribute="Directive" context="Prep2" char="{" char1="$"/>
+        <DetectChar attribute="Comment" context="Comment1" char="{"            beginRegion="Region2"/>
+        <Detect2Chars attribute="Comment" context="Comment2" char="(" char1="*" beginRegion="Region3"/>
+        <Detect2Chars attribute="Comment" context="Comment3" char="/" char1="/"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="CharNum">
+	      <DetectChar attribute="Hex" context="HexCharNum" char="$" />
+	      <RegExpr String="[^0-9]" context="#pop"/>
+      </context>
+      <context attribute="Hex" lineEndContext="#pop" name="HexCharNum">
+	      <RegExpr String="[^a-fA-F0-9]" context="#pop#pop"/>
+      </context>
+      <context attribute="Hex" lineEndContext="#pop" name="Hex">
+	      <RegExpr String="[^a-fA-F0-9]" context="#pop"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <DetectChar attribute="String" context="#pop" char="&apos;"/>
+      </context>
+      <context attribute="Directive" lineEndContext="#pop" name="Prep1">
+        <Detect2Chars attribute="Directive" context="#pop" char="*" char1=")"/>
+      </context>
+      <context attribute="Directive" lineEndContext="#pop" name="Prep2">
+        <DetectChar attribute="Directive" context="#pop" char="}"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Comment1">
+        <keyword attribute="Alert" context="#stay" String="attention" />
+        <DetectChar attribute="Comment" context="#pop" char="}"              endRegion="Region2"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Comment2">
+        <keyword attribute="Alert" context="#stay" String="attention" />
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1=")"   endRegion="Region3"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Comment3">
+        <keyword attribute="Alert" context="#stay" String="attention" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"  />
+      <itemData name="Hex"         defStyleNum="dsBaseN"   />
+      <itemData name="Keyword"     defStyleNum="dsKeyword" />
+      <itemData name="ISO/Delphi Extended"  defStyleNum="dsKeyword" color="#000080" />
+      <itemData name="Type"  defStyleNum="dsDataType"/>
+      <itemData name="Number"      defStyleNum="dsDecVal" />
+      <itemData name="String"      defStyleNum="dsString" />
+      <itemData name="Directive"   defStyleNum="dsOthers" />
+      <itemData name="Comment"     defStyleNum="dsComment" />
+      <itemData name="Alert"        defStyleNum="dsAlert" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="0" />
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="{" end="}" />
+    </comments>
+  </general>
+</language>
diff --git a/xml/perl.xml b/xml/perl.xml
new file mode 100644
--- /dev/null
+++ b/xml/perl.xml
@@ -0,0 +1,842 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+   This file is part of the KDE project
+   Copyright (C) 2001, 2002, 2003, 2004 Anders Lund <anders@alweb.dk>
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public
+   License version 2 as published by the Free Software Foundation.
+
+   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; see the file COPYING.LIB.  If not, write to
+   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.
+
+   *** NOTICE ***
+   This file is maintained by Anders Lund <anders@alweb.dk>
+   Please do not commit changes without checking with me.
+
+   *** TODO ***
+
+   Work on the comment support in the REPLACEMENT part of s/// - we may support
+   the comment, if the line remainder does not contain the delimiter char.
+
+   Try to support ?PATTERN? (at least in one line, like if "\?(?=.*\?)" matches).
+
+   parse code behind '<<HEREDELIMITER' as code, or at least ignore it, to eol.
+   Requires the ability to pass the delimiter through a context level.
+
+   find a here delimiter like '*END*' (Shell.pm). Requires that when a regex is
+   inserting a dynamic string, it escapes [*(){}$[]
+
+   support for more regex extensions, such as (?>), (?{}), (?(cond)yes|no)
+
+   Enhance tr/// and y/// support.
+-->
+<language name="Perl" version="3" kateversion="2.4" section="Scripts" extensions="*.pl;*.PL;*.pm" mimetype="application/x-perl;text/x-perl" priority="5" author="Anders Lund (anders@alweb.dk)" license="LGPLv2">
+  <highlighting>
+    <list name="keywords">
+      <item> if </item>
+      <item> unless </item>
+      <item> else </item>
+      <item> elsif </item>
+      <item> while </item>
+      <item> until </item>
+      <item> for </item>
+      <item> each </item>
+      <item> foreach </item>
+      <item> next </item>
+      <item> last </item>
+      <item> break </item>
+      <item> continue </item>
+      <item> return </item>
+      <item> my </item>
+      <item> our </item>
+      <item> local </item>
+      <item> state </item>
+      <item> BEGIN </item>
+      <item> END </item>
+      <item> package </item>
+      <item> sub </item>
+      <item> do </item>
+      <item> given  </item>
+      <item> when  </item>
+      <item> default </item>
+      <item> __END__ </item>
+      <item> __DATA__ </item>
+      <item> __FILE__ </item>
+      <item> __LINE__ </item>
+      <item> __PACKAGE__ </item>
+    </list>
+    <list name="operators">
+      <item> = </item>
+      <item> != </item>
+      <item> ~= </item>
+      <item> += </item>
+      <item> -= </item>
+      <item> *= </item>
+      <item> /= </item>
+      <item> **= </item>
+      <item> |= </item>
+      <item> ||= </item>
+      <item> //= </item>
+      <item> &amp;= </item>
+      <item> &amp;&amp;= </item>
+      <item> ?= </item>
+      <item> + </item>
+      <item> - </item>
+      <item> * </item>
+     <!-- <item> / </item>//-->
+      <item> % </item>
+      <item> || </item>
+      <item> // </item>
+      <item> &amp;&amp; </item>
+      <item> | </item>
+      <item> &amp; </item>
+      <item> &lt; </item>
+      <item> &lt;&lt; </item>
+      <item> &gt; </item>
+      <item> &gt;&gt; </item>
+      <item> ^ </item>
+      <item> -&gt; </item>
+      <item> =&gt; </item>
+      <item> . </item>
+      <item> , </item>
+      <item> ; </item>
+      <item> :: </item>
+      <item> \ </item>
+      <item> and </item>
+      <item> or </item>
+      <item> not </item>
+      <item> eq </item>
+      <item> ne </item>
+      <item> lt </item>
+      <item> gt </item>
+      <item> le </item>
+      <item> ge </item>
+      <item> cmp </item>
+    </list>
+    <list name="functions">
+      <item>abs</item>
+      <item>accept</item>
+      <item>alarm</item>
+      <item>atan2</item>
+      <item>bind</item>
+      <item>binmode</item>
+      <item>bless</item>
+      <item>caller</item>
+      <item>chdir</item>
+      <item>chmod</item>
+      <item>chomp</item>
+      <item>chop</item>
+      <item>chown</item>
+      <item>chr</item>
+      <item>chroot</item>
+      <item>close</item>
+      <item>closedir</item>
+      <item>connect</item>
+      <item>cos</item>
+      <item>crypt</item>
+      <item>dbmclose</item>
+      <item>dbmopen</item>
+      <item>defined</item>
+      <item>delete</item>
+      <item>die</item>
+      <item>dump</item>
+      <item>endgrent</item>
+      <item>endhostent</item>
+      <item>endnetent</item>
+      <item>endprotoent</item>
+      <item>endpwent</item>
+      <item>endservent</item>
+      <item>eof</item>
+      <item>eval</item>
+      <item>exec</item>
+      <item>exists</item>
+      <item>exit</item>
+      <item>exp</item>
+      <item>fcntl</item>
+      <item>fileno</item>
+      <item>flock</item>
+      <item>fork</item>
+      <item>format</item>
+      <item>formline</item>
+      <item>getc</item>
+      <item>getgrent</item>
+      <item>getgrgid</item>
+      <item>getgrnam</item>
+      <item>gethostbyaddr</item>
+      <item>gethostbyname</item>
+      <item>gethostent</item>
+      <item>getlogin</item>
+      <item>getnetbyaddr</item>
+      <item>getnetbyname</item>
+      <item>getnetent</item>
+      <item>getpeername</item>
+      <item>getpgrp</item>
+      <item>getppid</item>
+      <item>getpriority</item>
+      <item>getprotobyname</item>
+      <item>getprotobynumber</item>
+      <item>getprotoent</item>
+      <item>getpwent</item>
+      <item>getpwnam</item>
+      <item>getpwuid</item>
+      <item>getservbyname</item>
+      <item>getservbyport</item>
+      <item>getservent</item>
+      <item>getsockname</item>
+      <item>getsockopt</item>
+      <item>glob</item>
+      <item>gmtime</item>
+      <item>goto</item>
+      <item>grep</item>
+      <item>hex</item>
+      <item>import</item>
+      <item>index</item>
+      <item>int</item>
+      <item>ioctl</item>
+      <item>join</item>
+      <item>keys</item>
+      <item>kill</item>
+      <item>last</item>
+      <item>lc</item>
+      <item>lcfirst</item>
+      <item>length</item>
+      <item>link</item>
+      <item>listen</item>
+      <item>localtime</item>
+      <item>lock</item>
+      <item>log</item>
+      <item>lstat</item>
+      <item>map</item>
+      <item>mkdir</item>
+      <item>msgctl</item>
+      <item>msgget</item>
+      <item>msgrcv</item>
+      <item>msgsnd</item>
+      <item>no</item>
+      <item>oct</item>
+      <item>open</item>
+      <item>opendir</item>
+      <item>ord</item>
+      <item>pack</item>
+      <item>package</item>
+      <item>pipe</item>
+      <item>pop</item>
+      <item>pos</item>
+      <item>print</item>
+      <item>printf</item>
+      <item>prototype</item>
+      <item>push</item>
+      <item>quotemeta</item>
+      <item>rand</item>
+      <item>read</item>
+      <item>readdir</item>
+      <item>readline</item>
+      <item>readlink</item>
+      <item>recv</item>
+      <item>redo</item>
+      <item>ref</item>
+      <item>rename</item>
+      <item>require</item>
+      <item>reset</item>
+      <item>return</item>
+      <item>reverse</item>
+      <item>rewinddir</item>
+      <item>rindex</item>
+      <item>rmdir</item>
+      <item>scalar</item>
+      <item>seek</item>
+      <item>seekdir</item>
+      <item>select</item>
+      <item>semctl</item>
+      <item>semget</item>
+      <item>semop</item>
+      <item>send</item>
+      <item>setgrent</item>
+      <item>sethostent</item>
+      <item>setnetent</item>
+      <item>setpgrp</item>
+      <item>setpriority</item>
+      <item>setprotoent</item>
+      <item>setpwent</item>
+      <item>setservent</item>
+      <item>setsockopt</item>
+      <item>shift</item>
+      <item>shmctl</item>
+      <item>shmget</item>
+      <item>shmread</item>
+      <item>shmwrite</item>
+      <item>shutdown</item>
+      <item>sin</item>
+      <item>sleep</item>
+      <item>socket</item>
+      <item>socketpair</item>
+      <item>sort</item>
+      <item>splice</item>
+      <item>split</item>
+      <item>sprintf</item>
+      <item>sqrt</item>
+      <item>srand</item>
+      <item>stat</item>
+      <item>study</item>
+      <item>sub</item>
+      <item>substr</item>
+      <item>symlink</item>
+      <item>syscall</item>
+      <item>sysread</item>
+      <item>sysseek</item>
+      <item>system</item>
+      <item>syswrite</item>
+      <item>tell</item>
+      <item>telldir</item>
+      <item>tie</item>
+      <item>time</item>
+      <item>times</item>
+      <item>truncate</item>
+      <item>uc</item>
+      <item>ucfirst</item>
+      <item>umask</item>
+      <item>undef</item>
+      <item>unlink</item>
+      <item>unpack</item>
+      <item>unshift</item>
+      <item>untie</item>
+      <item>use</item>
+      <item>utime</item>
+      <item>values</item>
+      <item>vec</item>
+      <item>wait</item>
+      <item>waitpid</item>
+      <item>wantarray</item>
+      <item>warn</item>
+      <item>write</item>
+    </list>
+    <list name="pragmas">
+      <item>strict</item>
+      <item>english</item>
+      <item>warnings</item>
+      <item>vars</item>
+      <item>subs</item>
+      <item>utf8</item>
+      <item>sigtrap</item>
+      <item>locale</item>
+      <item>open</item>
+      <item>less</item>
+      <item>integer</item>
+      <item>filetest</item>
+      <item>constant</item>
+      <item>bytes</item>
+      <item>diagnostics</item>
+    </list>
+    <contexts>
+      <context name="normal" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Keyword" context="#stay" String="^#!\/.*" />
+        <StringDetect attribute="Keyword" context="data_handle" String="__DATA__" firstNonSpace="true" />
+        <StringDetect attribute="Keyword" context="#stay" String="__END__" firstNonSpace="true"/>
+        <RegExpr attribute="Keyword" context="sub_name_def" String="\bsub\s+" />
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <keyword attribute="Operator" context="#stay" String="operators" />
+        <keyword attribute="Function" context="#stay" String="functions" />
+        <keyword attribute="Pragma" context="#stay" String="pragmas" />
+        <RegExpr attribute="Pod" context="pod" String="\=\w+(\s|$)" column="0" beginRegion="POD"/>
+        <DetectSpaces />
+        <DetectChar attribute="Comment" context="comment" char="#" />
+
+        <!-- Numeric values. Note that we have to allow underscores between two digits (thus the creepy regular expressions). -->
+        <RegExpr attribute="Hex" String="\b\-?0[xX]([0-9a-fA-F]|_[0-9a-fA-F])+" context="slash_safe_escape"/>
+        <RegExpr attribute="Bin" String="\b\-?0[bB]([01]|_[01])+" context="slash_safe_escape"/>
+        <RegExpr attribute="Octal" String="\b\-?0[1-7]([0-7]|_[0-7])*" context="slash_safe_escape"/>
+        <RegExpr attribute="Float" String="\b\-?[0-9]([0-9]|_[0-9])*\.[0-9]([0-9]|_[0-9])*([eE]\-?[1-9]([0-9]|_[0-9])*(\.[0-9]*)?)?" context="slash_safe_escape"/>
+        <RegExpr attribute="Decimal" String="\b\-?[1-9]([0-9]|_[0-9])*\b" context="slash_safe_escape"/>
+        <Int attribute="Decimal" context="slash_safe_escape" />
+
+        <RegExpr attribute="Normal Text" context="#stay" String="\\([&quot;'])[^\1]" />
+        <Detect2Chars attribute="Normal Text" context="#stay" char="&amp;" char1="'" /><!-- ??? -->
+        <DetectChar attribute="Operator" context="ip_string" char="&quot;" beginRegion="String" />
+        <DetectChar attribute="Operator" context="string" char="'"  beginRegion="String"/>
+        <DetectChar attribute="Operator" context="Backticked" char="`" />
+
+        <RegExpr attribute="Normal Text" context="find_variable" String="(?:[$@]\S|%[\w{]|\*[^\d\*{\$@%=(])" lookAhead="true" />
+
+        <RegExpr attribute="Keyword" context="#stay" String="&lt;[A-Z0-9_]+&gt;" />
+
+        <RegExpr attribute="Operator" context="find_here_document" String="\s*&lt;&lt;(?=\w+|\s*[&quot;'])" beginRegion="HereDocument" />
+
+        <RegExpr attribute="Normal Text" context="#stay" String="\s*\}\s*/{1,2}" endRegion="Block"/>
+        <RegExpr attribute="Normal Text" context="#stay" String="\s*[)\]]\s*/{1,2}" />
+
+        <RegExpr attribute="Function" context="sub_name_def" String="\w+::" />
+        <RegExpr attribute="Normal Text" context="#stay" String="\w+[=]" />
+
+        <RegExpr attribute="Operator" context="find_quoted" String="\bq(?=[qwx]?\s*[^\w\s])" />
+        <RegExpr attribute="Operator" context="find_subst" String="\bs(?=\s*[^\w\s\]})])" />
+        <RegExpr attribute="Operator" context="tr" String="\b(?:tr|y)\s*(?=[^\w\s\]})])" />
+
+        <RegExpr attribute="Operator" context="find_pattern" String="\b(?:m|qr)(?=\s*[^\w\s\]})])" />
+
+        <RegExpr attribute="Normal Text" context="#stay" String="[\w_]+\s*/" />
+        <RegExpr attribute="Normal Text" context="#stay" String="[&lt;&gt;&quot;':]/" />
+        <DetectChar attribute="Operator" context="pattern_slash" char="/" beginRegion="Pattern" />
+        <RegExpr attribute="Operator" context="#stay" String="-[rwxoRWXOeszfdlpSbctugkTBMAC]\b" />
+
+        <DetectChar attribute="Normal Text" context="#stay" char="{" beginRegion="Block" />
+        <DetectChar attribute="Normal Text" context="#stay" char="}" endRegion="Block" />
+      </context>
+
+      <!-- ====== quoted construct central ===== -->
+      <context name="find_quoted" attribute="Normal Text" lineEndContext="#stay" >
+        <!-- NOTE - qx'not interpolated regex' does not cover newline between "qr" and "'" -->
+        <RegExpr attribute="Operator" context="string_6" String="x\s*(')" beginRegion="String" />
+        <AnyChar attribute="Operator" context="find_qqx" String="qx" />
+        <DetectChar attribute="Operator" context="find_qw" char="w" />
+        <DetectChar attribute="Operator" context="string_2" char="(" beginRegion="String" />
+        <DetectChar attribute="Operator" context="string_3" char="{" beginRegion="String" />
+        <DetectChar attribute="Operator" context="string_4" char="[" beginRegion="String" />
+        <DetectChar attribute="Operator" context="string_5" char="&lt;" beginRegion="String" />
+        <RegExpr attribute="Operator" context="string_6" String="([^a-zA-Z0-9_\s[\]{}()])" beginRegion="String" />
+        <RegExpr attribute="Comment" context="#stay" String="\s+#.*" /><!-- q[qwx] # == comment, look for the delim on the next line -->
+      </context>
+      <context name="find_qqx" attribute="Normal Text" lineEndContext="#stay" >
+        <DetectChar attribute="Operator" context="ip_string_2" char="(" beginRegion="String" />
+        <DetectChar attribute="Operator" context="ip_string_3" char="{" beginRegion="String" />
+        <DetectChar attribute="Operator" context="ip_string_4" char="[" beginRegion="String" />
+        <DetectChar attribute="Operator" context="ip_string_5" char="&lt;" beginRegion="String" />
+        <RegExpr attribute="Operator" context="ip_string_6" String="([^a-zA-Z0-9_\s[\]{}()])" beginRegion="String" />
+        <RegExpr attribute="Comment" context="#stay" String="\s+#.*" /><!-- q[qwx] # == comment, look for the delim on the next line -->
+      </context>
+      <context name="find_qw" attribute="Normal Text" lineEndContext="#stay" >
+        <DetectChar attribute="Operator" context="quote_word_paren" char="(" beginRegion="Wordlist" />
+        <DetectChar attribute="Operator" context="quote_word_brace" char="{" beginRegion="Wordlist" />
+        <DetectChar attribute="Operator" context="quote_word_bracket" char="[" beginRegion="Wordlist" />
+        <RegExpr attribute="Operator" context="quote_word" String="([^a-zA-Z0-9_\s[\]{}()])" beginRegion="Wordlist" />
+        <RegExpr attribute="Comment" context="#stay" String="\s+#.*" /><!-- q[qwx] # == comment, look for the delim on the next line -->
+      </context>
+
+      <!-- ====== Contexts for strings ===== -->
+      <context name="ipstring_internal" attribute="String (interpolated)" lineEndContext="#stay">
+        <DetectIdentifier />
+        <RegExpr attribute="String Special Character" context="#stay" String="\\[UuLlEtnaefr]" />
+        <RegExpr attribute="String (interpolated)" context="#stay" String="\\." />
+        <RegExpr attribute="Normal Text" context="find_variable_unsafe" String="(?:[\$@]\S|%[\w{])" lookAhead="true" />
+      </context>
+      <context name="ip_string" attribute="String (interpolated)" lineEndContext="#stay">
+        <DetectChar attribute="Operator" context="#pop" char="&quot;" endRegion="String"/>
+        <IncludeRules context="ipstring_internal" />
+      </context>
+      <context name="ip_string_2" attribute="String (interpolated)" lineEndContext="#stay">
+        <RangeDetect attribute="String (interpolated)" context="#stay" char="(" char1=")" />
+        <DetectChar attribute="Operator" context="#pop#pop#pop" char=")" endRegion="String" />
+        <IncludeRules context="ipstring_internal" />
+      </context>
+      <context name="ip_string_3" attribute="String (interpolated)" lineEndContext="#stay">
+        <RangeDetect attribute="String (interpolated)" context="#stay" char="{" char1="}" />
+        <DetectChar attribute="Operator" context="#pop#pop#pop" char="}" endRegion="String" />
+        <IncludeRules context="ipstring_internal" />
+      </context>
+      <context name="ip_string_4" attribute="String (interpolated)" lineEndContext="#stay">
+        <RangeDetect attribute="String (interpolated)" context="#stay" char="[" char1="]" />
+        <DetectChar attribute="Operator" context="#pop#pop#pop" char="]" endRegion="String" />
+        <IncludeRules context="ipstring_internal" />
+      </context>
+      <context name="ip_string_5" attribute="String (interpolated)" lineEndContext="#stay">
+        <RangeDetect attribute="String (interpolated)" context="#stay" char="&lt;" char1="&gt;" />
+        <DetectChar attribute="Operator" context="#pop#pop#pop" char="&gt;" endRegion="String" />
+        <IncludeRules context="ipstring_internal" />
+      </context>
+      <context name="ip_string_6" attribute="String (interpolated)" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="String (interpolated)" context="#stay" String="\\%1" dynamic="true" />
+        <DetectChar attribute="Operator" context="#pop#pop#pop" char="1" dynamic="true"  endRegion="String"/>
+        <IncludeRules context="ipstring_internal" />
+      </context>
+
+      <context name="string" attribute="String" lineEndContext="#stay">
+        <DetectIdentifier />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="'" />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
+        <DetectChar attribute="Operator" context="#pop" char="'" endRegion="String" />
+      </context>
+      <context name="string_2" attribute="String" lineEndContext="#stay">
+        <DetectIdentifier />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1=")" />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
+        <RangeDetect attribute="String" context="#stay" char="(" char1=")" />
+        <DetectChar attribute="Operator" context="#pop#pop" char=")" endRegion="String" />
+      </context>
+      <context name="string_3" attribute="String" lineEndContext="#stay">
+        <DetectIdentifier />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="}" />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
+        <RangeDetect attribute="String" context="#stay" char="{" char1="}" />
+        <DetectChar attribute="Operator" context="#pop#pop" char="}" endRegion="String" />
+      </context>
+      <context name="string_4" attribute="String" lineEndContext="#stay">
+        <DetectIdentifier />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="]" />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
+        <RangeDetect attribute="String" context="#stay" char="[" char1="]" />
+        <DetectChar attribute="Operator" context="#pop#pop" char="]" endRegion="String" />
+      </context>
+      <context name="string_5" attribute="String" lineEndContext="#stay">
+        <DetectIdentifier />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="&lt;" />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
+        <Detect2Chars attribute="String" context="#stay" char="\" char1="&gt;" />
+        <RangeDetect attribute="String" context="#stay" char="&lt;" char1="&gt;" />
+        <DetectChar attribute="Operator" context="#pop#pop" char="&gt;" endRegion="String" />
+      </context>
+      <context name="string_6" attribute="String" lineEndContext="#stay" dynamic="true">
+        <DetectIdentifier />
+        <Detect2Chars attribute="String Special Character" context="#stay" char="\" char1="\" />
+        <RegExpr attribute="String Special Character" context="#stay" String="\\%1" dynamic="true"/>
+        <DetectChar attribute="Operator" context="#pop#pop" char="1" dynamic="true" endRegion="String" />
+      </context>
+
+      <!-- ====== contexts for  s/// ====== -->
+      <context name="find_subst" attribute="Normal Text" lineEndContext="#stay" >
+        <RegExpr attribute="Comment" context="#stay" String="\s+#.*" /><!-- s # == comment, look for the delim on the next line -->
+        <DetectChar attribute="Operator" context="subst_curlybrace_pattern" char="{" beginRegion="Pattern" />
+        <DetectChar attribute="Operator" context="subst_paren_pattern" char="(" beginRegion="Pattern" />
+        <DetectChar attribute="Operator" context="subst_bracket_pattern" char="[" beginRegion="Pattern" />
+        <DetectChar attribute="Operator" context="subst_sq_pattern" char="'" beginRegion="Pattern" />
+        <RegExpr attribute="Operator" context="subst_slash_pattern" String="([^\w\s[\]{}()])" beginRegion="Pattern" />
+      </context>
+
+      <!-- Fully parse s {} {}.
+           This means that
+           - comments are legal between PATTERN and REPLACEMENT
+           - REPLACEMENT can contain resursive {} blocks -->
+      <context name="subst_curlybrace_pattern" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="#stay" String="\s+#.*$" />
+        <IncludeRules context="regex_pattern_internal_ip" />
+        <DetectChar attribute="Operator" context="subst_curlybrace_middle" char="}" endRegion="Pattern" />
+      </context>
+      <context name="subst_curlybrace_middle" attribute="Normal Text" lineEndContext="#stay" >
+        <RegExpr attribute="Comment" context="#stay" String="#.*$" />
+        <DetectChar attribute="Operator" context="subst_curlybrace_replace" char="{" beginRegion="Replacement" />
+      </context>
+      <context name="subst_curlybrace_replace" attribute="String (interpolated)" lineEndContext="#stay">
+        <IncludeRules context="ipstring_internal" />
+        <DetectChar attribute="Normal Text" context="subst_curlybrace_replace_recursive" char="{" beginRegion="Block" />
+        <RegExpr attribute="Operator" context="#pop#pop#pop#pop" String="\}[cegimosx]*" endRegion="Replacement" />
+      </context>
+      <context name="subst_curlybrace_replace_recursive" attribute="String (interpolated)" lineEndContext="#stay" >
+        <DetectChar attribute="String (interpolated)" context="subst_curlybrace_replace_recursive" char="{" beginRegion="Block" />
+        <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="Block" />
+        <IncludeRules context="ipstring_internal" />
+      </context>
+
+      <context name="subst_paren_pattern" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="#stay" String="\s+#.*$" />
+        <IncludeRules context="regex_pattern_internal_ip" />
+        <DetectChar attribute="Operator" context="subst_paren_replace" char="}" endRegion="Pattern" />
+      </context>
+      <context name="subst_paren_replace" attribute="String (interpolated)" lineEndContext="#stay">
+        <IncludeRules context="ipstring_internal" />
+        <DetectChar attribute="Operator" context="#stay" char="(" beginRegion="Replacement" />
+        <RegExpr attribute="Operator" context="#pop#pop#pop" String="\)[cegimosx]*" endRegion="Replacement" />
+      </context>
+
+      <context name="subst_bracket_pattern" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="#stay" String="\s+#.*$" />
+        <IncludeRules context="regex_pattern_internal_ip" />
+        <DetectChar attribute="Operator" context="subst_bracket_replace" char="]" endRegion="Pattern" />
+      </context>
+      <context name="subst_bracket_replace" attribute="String (interpolated)" lineEndContext="#stay">
+        <IncludeRules context="ipstring_internal" />
+        <DetectChar attribute="Operator" context="#stay" char="[" beginRegion="Replacement" />
+        <RegExpr attribute="Operator" context="#pop#pop#pop" String="\][cegimosx]*" endRegion="Replacement" />
+      </context>
+
+      <context name="subst_slash_pattern" attribute="Pattern" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\$(?=%1)" dynamic="true" />
+        <RegExpr attribute="Operator" context="subst_slash_replace" String="(%1)" dynamic="true" endRegion="Pattern" beginRegion="Replacement" />
+        <IncludeRules context="regex_pattern_internal_ip" />
+      </context>
+      <context name="subst_slash_replace" attribute="String (interpolated)" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Operator" context="#pop#pop#pop" String="%1[cegimosx]*" dynamic="true" endRegion="Replacement" />
+        <IncludeRules context="ipstring_internal" />
+
+      </context>
+
+      <context name="subst_sq_pattern" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="#stay" String="\s+#.*$" />
+        <IncludeRules context="regex_pattern_internal" />
+        <DetectChar attribute="Operator" context="subst_sq_replace" char="'" endRegion="Pattern" beginRegion="Pattern" />
+      </context>
+      <context name="subst_sq_replace" attribute="String" lineEndContext="#stay">
+        <RegExpr attribute="Operator" context="#pop#pop#pop" String="'[cegimosx]*" endRegion="Replacement" />
+      </context>
+
+      <context name="tr" attribute="Pattern" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" >
+        <RegExpr attribute="Pattern" context="#pop" String="\([^)]*\)\s*\(?:[^)]*\)" />
+        <RegExpr attribute="Pattern" context="#pop" String="\{[^}]*\}\s*\{[^}]*\}" />
+        <RegExpr attribute="Pattern" context="#pop" String="\[[^]]*\]\s*\[[^\]]*\]" />
+        <RegExpr attribute="Pattern" context="#pop" String="([^a-zA-Z0-9_\s[\]{}()]).*\1.*\1" minimal="true"/>
+      </context>
+
+      <!-- ====== PATTERNs ====== -->
+      <context name="find_pattern" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="#stay" String="\s+#.*" /><!-- s # == comment, look for the delim on the next line -->
+        <DetectChar attribute="Operator" context="pattern_brace" char="{" beginRegion="Pattern" />
+        <DetectChar attribute="Operator" context="pattern_paren" char="(" beginRegion="Pattern" />
+        <DetectChar attribute="Operator" context="pattern_bracket" char="[" beginRegion="Pattern" />
+        <DetectChar attribute="Operator" context="pattern_sq" char="'" beginRegion="Pattern" />
+        <RegExpr attribute="Operator" context="pattern" String="([^\w\s])" beginRegion="Pattern" />
+      </context>
+      <context name="pattern_slash" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\$(?=/)" />
+        <IncludeRules context="regex_pattern_internal_ip" />
+        <RegExpr attribute="Operator" context="#pop" String="/[cgimosx]*" endRegion="Pattern" />
+      </context>
+      <context name="pattern" attribute="Pattern" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\$(?=%1)" dynamic="true" />
+        <RegExpr attribute="Operator" context="#pop#pop" String="%1[cgimosx]*" dynamic="true" endRegion="Pattern" />
+        <IncludeRules context="regex_pattern_internal_ip" />
+        <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\$(?=\\%1)" dynamic="true" />
+      </context>
+      <context name="pattern_brace" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Operator" context="#pop#pop" String="\}[cgimosx]*" endRegion="Pattern" />
+        <IncludeRules context="regex_pattern_internal_ip" />
+      </context>
+      <context name="pattern_bracket" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Operator" context="#pop#pop" String="\][cgimosx]*" endRegion="Pattern" />
+        <IncludeRules context="regex_pattern_internal_ip" />
+      </context>
+      <context name="pattern_paren" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Operator" context="#pop#pop" String="\)[cgimosx]*" endRegion="Pattern" />
+        <IncludeRules context="regex_pattern_internal_ip" />
+      </context>
+      <context name="pattern_sq" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Operator" context="#pop#pop" String="'[cgimosx]*" endRegion="Pattern" />
+        <IncludeRules context="regex_pattern_internal" />
+      </context>
+
+      <!-- rules internal stuff wrt regex patterns -->
+      <context name="regex_pattern_internal_rules_1" attribute="Pattern" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="#stay" String="#.*$" firstNonSpace="true" />
+        <RegExpr attribute="Pattern Character Class" context="#stay" String="\\[anDdSsWw]" />
+        <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\\[ABbEGLlNUuQdQZz]" />
+        <RegExpr attribute="Special Variable" context="#stay" String="\\[\d]+" />
+        <RegExpr attribute="Pattern" context="#stay" String="\\." />
+      </context>
+      <context name="regex_pattern_internal_rules_2" attribute="Pattern" lineEndContext="#stay">
+        <Detect2Chars attribute="Pattern Internal Operator" context="pat_ext" char="(" char1="?" />
+        <DetectChar attribute="Pattern Internal Operator" context="pat_char_class" char="[" />
+        <RegExpr attribute="Pattern Internal Operator" context="#stay" String="[()?^*+|]" />
+        <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\{[\d, ]+\}" />
+        <DetectChar attribute="Pattern Internal Operator" context="#stay" char="$" />
+        <RegExpr attribute="Comment" context="#stay" String="\s{3,}#.*$" />
+      </context>
+      <context name="regex_pattern_internal" attribute="Pattern" lineEndContext="#stay">
+        <IncludeRules context="regex_pattern_internal_rules_1" />
+        <IncludeRules context="regex_pattern_internal_rules_2" />
+      </context>
+      <context name="regex_pattern_internal_ip" attribute="Pattern" lineEndContext="#stay" >
+        <IncludeRules context="regex_pattern_internal_rules_1" />
+        <!-- NOTE the below means that the special variables $' $], $} and $> are not supported
+             within interpolated PATTERNs (apart from $(, $) and ${ and $| not supported by perl).
+             This is because perl considers
+             s{foo$} {bar} OK as well as s{foo$}} {bar}, and detecting that is a huge work overload
+             for something that is unlikely to happen. -->
+        <RegExpr attribute="Data Type" context="find_variable_unsafe" String="[$@][^]\s{}()|&gt;']" lookAhead="true" />
+        <IncludeRules context="regex_pattern_internal_rules_2" />
+      </context>
+      <context name="pat_ext" attribute="Pattern Internal Operator" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="#pop" String="\#[^)]*" />
+        <RegExpr attribute="Pattern Internal Operator" context="#pop" String="[:=!&gt;&lt;]+" />
+        <DetectChar attribute="Pattern Internal Operator" context="#pop" char=")" />
+      </context>
+      <context name="pat_char_class" attribute="Pattern Character Class" lineEndContext="#stay">
+        <DetectChar attribute="Pattern Internal Operator" context="#stay" char="^" />
+        <Detect2Chars attribute="Pattern Character Class" context="#stay" char="\" char1="\" />
+        <Detect2Chars attribute="Pattern Character Class" context="#stay" char="\" char1="]" />
+        <RegExpr attribute="Pattern Character Class" context="#stay" String="\[:\^?[a-z]+:\]" />
+        <DetectChar attribute="Pattern Internal Operator" context="#pop" char="]" />
+      </context>
+
+      <!-- ====== Variables ====== -->
+      <context name="find_variable" attribute="Data Type" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" >
+        <RegExpr attribute="Special Variable" context="var_detect" String="\$[0-9]+" />
+        <RegExpr attribute="Special Variable" context="var_detect" String="[@\$](?:[\+\-_]\B|ARGV\b|INC\b)" />
+        <RegExpr attribute="Special Variable" context="var_detect" String="[%\$](?:INC\b|ENV\b|SIG\b)" />
+        <RegExpr attribute="Data Type" context="var_detect" String="\$\$[\$\w_]" />
+        <RegExpr attribute="Data Type" context="var_detect" String="\$[#_][\w_]" />
+        <RegExpr attribute="Data Type" context="var_detect" String="\$+::" />
+        <RegExpr attribute="Special Variable" context="var_detect" String="\$[^a-zA-Z0-9\s{][A-Z]?" />
+        <RegExpr attribute="Data Type" context="var_detect" String="[\$@%]\{[\w_]+\}" />
+        <AnyChar attribute="Data Type" context="var_detect" String="$@%" />
+        <RegExpr attribute="Data Type" context="var_detect" String="\*[a-zA-Z_]+" />
+        <RegExpr attribute="Special Variable" context="#stay" String="\*[^a-zA-Z0-9\s{][A-Z]?" />
+        <!-- this should be a rare case! -->
+        <AnyChar attribute="Operator" context="#pop" String="$@%*" />
+      </context>
+      <!-- This does not check fo a trailing slash, for usage in strings. -->
+      <context name="find_variable_unsafe" attribute="Data Type" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop" >
+        <RegExpr attribute="Special Variable" context="var_detect_unsafe" String="\$[0-9]+" />
+        <RegExpr attribute="Special Variable" context="var_detect_unsafe" String="[@\$](?:[\+\-_]\B|ARGV\b|INC\b)" />
+        <RegExpr attribute="Special Variable" context="var_detect_unsafe" String="[%\$](?:INC\b|ENV\b|SIG\b)" />
+        <RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$\$[\$\w_]" />
+        <RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$[#_][\w_]" />
+        <RegExpr attribute="Data Type" context="var_detect_unsafe" String="\$+::" />
+        <RegExpr attribute="Special Variable" context="#stay" String="\$[^a-zA-Z0-9\s{][A-Z]?" />
+        <RegExpr attribute="Data Type" context="var_detect_unsafe" String="[\$@%]\{[\w_]+\}" />
+        <RegExpr attribute="Data Type" context="var_detect_unsafe" String="[\$@%]" /><!-- AnyChar! -->
+        <RegExpr attribute="Data Type" context="var_detect_unsafe" String="\*\w+" />
+        <AnyChar attribute="Operator" context="#pop" String="$@%*" />
+      </context>
+      <context name="var_detect"  attribute="Data Type" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
+        <IncludeRules context="var_detect_rules" />
+        <IncludeRules context="slash_safe_escape" />
+      </context>
+      <context name="var_detect_unsafe"  attribute="Data Type" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
+        <IncludeRules context="var_detect_rules" />
+      </context>
+      <context name="var_detect_rules" attribute="Data Type" lineEndContext="#pop#pop" >
+        <RegExpr attribute="Data Type" context="#stay" String="[\w_]+" />
+        <Detect2Chars attribute="Normal Text" context="#stay" char=":" char1=":" />
+        <DetectChar attribute="Operator" context="#stay" char="'" />
+        <Detect2Chars attribute="Normal Text" context="#stay" char="-" char1="&gt;" />
+        <!-- safe with operator / -->
+        <Detect2Chars attribute="Normal Text" context="#stay" char="+" char1="+" />
+        <Detect2Chars attribute="Normal Text" context="#stay" char="-" char1="-" />
+      </context>
+
+
+      <!-- ====== Word lists ====== -->
+      <context name="quote_word" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <DetectSpaces />
+        <DetectIdentifier />
+        <RegExpr attribute="Normal Text" context="#stay" String="\\%1" dynamic="true" />
+        <DetectChar attribute="Operator" context="#pop#pop#pop" char="1" dynamic="true" endRegion="Wordlist" />
+      </context>
+      <context name="quote_word_paren" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces />
+        <DetectIdentifier />
+        <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1=")" />
+        <DetectChar attribute="Operator" context="#pop#pop#pop" char=")" endRegion="Wordlist" />
+      </context>
+      <context name="quote_word_brace" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces />
+        <DetectIdentifier />
+        <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1="}" />
+        <DetectChar attribute="Operator" context="#pop#pop#pop" char="}" endRegion="Wordlist" />
+      </context>
+      <context name="quote_word_bracket" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces />
+        <DetectIdentifier />
+        <Detect2Chars attribute="Normal Text" context="#stay" char="\" char1="]" />
+        <DetectChar attribute="Operator" context="#pop#pop#pop" char="]" endRegion="Wordlist" />
+      </context>
+
+      <!-- ====== Here Documents ====== -->
+      <context name="find_here_document" attribute="Normal Text" lineEndContext="#pop" >
+        <RegExpr attribute="Keyword" context="here_document" String="(\w+)\s*;?" />
+        <RegExpr attribute="Keyword" context="here_document" String="\s*&quot;([^&quot;]+)&quot;\s*;?" />
+        <RegExpr attribute="Keyword" context="here_document" String="\s*`([^`]+)`\s*;?" />
+        <RegExpr attribute="Keyword" context="here_document_dumb" String="\s*'([^']+)'\s*;?" />
+      </context>
+      <context name="here_document" attribute="String (interpolated)" lineEndContext="#stay" dynamic="true">
+        <DetectSpaces />
+        <RegExpr attribute="Keyword" context="#pop#pop" String="^%1\b" column="0" dynamic="true" endRegion="HereDocument"/>
+        <RegExpr attribute="Keyword" context="here_document" String="\=\s*&lt;&lt;\s*[&quot;']?([A-Z0-9_\-]+)[&quot;']?" beginRegion="HEREDoc" />
+        <IncludeRules context="ipstring_internal" />
+      </context>
+      <context name="here_document_dumb" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <DetectSpaces />
+        <RegExpr attribute="Keyword" context="#pop#pop" String="%1" column="0" dynamic="true" endRegion="HereDocument"/>
+        <DetectIdentifier />
+      </context>
+
+      <!-- ====== Misc ====== -->
+      <context name="data_handle" attribute="Data" lineEndContext="#stay">
+        <RegExpr attribute="Pod" context="pod" String="\=(?:head[1-6]|over|back|item|for|begin|end|pod)\s+.*" column="0" beginRegion="POD"/>
+        <StringDetect attribute="Keyword" context="normal" String="__END__" firstNonSpace="true" />
+      </context>
+      <context name="end_handle" attribute="Nothing" lineEndContext="#stay">
+        <RegExpr attribute="Pod" context="pod" String="^\=(?:head[1-6]|over|back|item|for|begin|end|pod)\s*.*"/>
+        <StringDetect attribute="Keyword" context="data_handle" String="__DATA__" firstNonSpace="true" />
+      </context>
+
+      <context name="Backticked" attribute="String (interpolated)" lineEndContext="#stay">
+        <IncludeRules context="ipstring_internal"/>
+        <DetectChar attribute="Operator" context="#pop" char="`"/>
+      </context>
+
+      <context name="slash_safe_escape" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr attribute="Normal Text" context="#pop" String="\s*\}\s*/{1,2}" endRegion="Block"/>
+        <RegExpr attribute="Normal Text" context="#pop" String="\s*[)\]]?\s*/{1,2}" />
+        <keyword attribute="Keyword" context="#pop" String="keywords" /><!-- wonder why??? -->
+      </context>
+
+      <context name="package_qualified_blank" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Normal Text" context="#pop" String="[\w_]+" />
+      </context>
+
+      <context name="sub_name_def" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr attribute="Function" context="#stay" String="\w+" />
+        <RegExpr attribute="Normal Text" context="find_variable" String="\$\S" lookAhead="true" />
+        <RegExpr attribute="Normal Text" context="sub_arg_definition" String="\s*\(" />
+        <Detect2Chars attribute="Normal Text" context="#stay" char=":" char1=":" />
+      </context>
+
+      <context name="sub_arg_definition" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop">
+        <AnyChar attribute="Data Type" context="#stay" String="*$@%" />
+        <AnyChar attribute="Normal Text" context="#stay" String="&amp;\[];" />
+        <DetectChar attribute="Normal Text" context="slash_safe_escape" char=")" />
+      </context>
+
+      <context name="pod" attribute="Pod" lineEndContext="#stay">
+        <DetectSpaces />
+        <DetectIdentifier />
+        <RegExpr attribute="Pod" context="#stay" String="\=(?:head[1-6]|over|back|item|for|begin|end|pod)\s*.*" column="0" beginRegion="POD" endRegion="POD"/>
+        <RegExpr attribute="Pod" context="#pop" String="\=cut.*$" column="0" endRegion="POD"/>
+      </context>
+
+      <context name="comment" attribute="Comment" lineEndContext="#pop">
+        <DetectSpaces />
+        <IncludeRules context="##Alerts" />
+        <DetectIdentifier />
+      </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"               defStyleNum="dsNormal" />
+      <itemData name="Keyword"                   defStyleNum="dsKeyword" />
+      <itemData name="Pragma"                    defStyleNum="dsKeyword" />
+      <itemData name="Function"                  defStyleNum="dsFunction" />
+      <itemData name="Operator"                  defStyleNum="dsKeyword" color="#008000"/>
+      <itemData name="Data Type"                 defStyleNum="dsDataType" />
+      <itemData name="Special Variable"          defStyleNum="dsDataType" color="#C00000" selColor="#C00000" bold="0" italic="0" />
+      <itemData name="Decimal"                   defStyleNum="dsDecVal" />
+      <itemData name="Octal"                     defStyleNum="dsBaseN" />
+      <itemData name="Hex"                       defStyleNum="dsBaseN" />
+      <itemData name="Bin"                       defStyleNum="dsBaseN" />
+      <itemData name="Float"                     defStyleNum="dsFloat" />
+      <itemData name="String"                    defStyleNum="dsString" color="#FF6C6C" selColor="#FF6C6C" bold="0" italic="0" />
+      <itemData name="String (interpolated)"     defStyleNum="dsString" />
+      <itemData name="String Special Character"  defStyleNum="dsChar" />
+      <itemData name="Pattern"                   defStyleNum="dsOthers" />
+      <itemData name="Pattern Internal Operator" defStyleNum="dsChar" />
+      <itemData name="Pattern Character Class"   defStyleNum="dsBaseN" />
+      <itemData name="Data"                      defStyleNum="dsNormal" />
+      <itemData name="Comment"                   defStyleNum="dsComment" />
+      <itemData name="Pod"                       defStyleNum="dsComment" />
+      <itemData name="Nothing"                   defStyleNum="dsComment" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="#" />
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/php.xml b/xml/php.xml
new file mode 100644
--- /dev/null
+++ b/xml/php.xml
@@ -0,0 +1,5646 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Changes:
+[ Version 1.47 (2015-03-24) ]
+- added support for binary integer literals
+
+[ Version 1.46 (2015-03-02) ]
+- added yield keyword
+
+[ Version 1.43 (2013-10-11) ]
+- added missing constants for sorting
+
+[ Version 1.42 (2010-05-09) ]
+- fix handling of paamayim nekudotayim in ternary / case context, which used to
+  lead to improper region starts
+
+[ Version 1.41 (2009-08-26) ]
+- Add codefolding to heredocs
+
+[ Version 1.40 (2009-08-26) ]
+- Use Javascript, HTML, CSS or MySQL highlighting in heredoc statements with
+  with names like e.g. <<<HTML or <<<EOHTML
+
+  Bug: 118668
+
+[ Version 1.39 (2009-08-18) ]
+- Don't add subcontexts when using the paamayim nekudotayim token.
+
+[ Version 1.38 (2009-07-23) ]
+
+- Add support for alternate block syntax, see bug #103257. (James Sleeman)
+
+[ Version 1.37 (2009-07-18) ]
+
+- Remove folding on open and close php to improve embedded html handling, see bug #103257, #143022. (James Sleeman)
+
+[ Version 1.36 (2009-07-10) ]
+
+- spelling-awareness
+
+[ Version 1.35 (2009-04-08) ]
+
+- fix uppercase <?PHP
+- add missing magic constants
+
+[ Version 1.32 (2007-12-02) ]
+
+- When leaving PHP context, make sure to close all brace regions (braces open a nested phpsource context for this purpose). This is a WORKAROUND for bug #143022 until feature #103257 is available.
+
+[ Version 1.31 (2007-11-29) ]
+
+- Add support for backtick operator. This has basically the same syntax as double quotes, so the two share most rules.
+
+[ Version 1.28 (2006-11-02) ]
+
+- Moved the special method names to a dedicated section (the coloration will default to the coloration of functions, but it can be customized independently, to revert to the previous coloration styles, that is, black, and bold).
+
+[ Version 1.27 (2006-11-01) ]
+
+- Added new special method names, from PHP 5.
+- Moved the special method names to the function list.
+
+[  Version 1.26 (2006-01-26) ]
+
+- Added alternative syntax control structures, and named logical operators ("and", "or", and "xor") (by Nicola Gigante).
+
+-->
+<!DOCTYPE language SYSTEM "language.dtd" [
+  <!ENTITY types "int|integer|bool|boolean|float|double|real|string|array|object">
+]>
+
+<language name="PHP/PHP" indenter="cstyle" version="2" kateversion="3.4" section="Scripts" extensions="" priority="5" mimetype="" hidden="true">
+  <highlighting>
+    <list name="control structures">
+      <item>as</item>
+      <item>case</item>
+      <item>default</item>
+      <item>if</item>
+      <item>else</item>
+      <item>elseif</item>
+      <item>while</item>
+      <item>do</item>
+      <item>for</item>
+      <item>foreach</item>
+      <item>break</item>
+      <item>continue</item>
+      <item>switch</item>
+      <item>declare</item>
+      <item>return</item>
+      <item>require</item>
+      <item>include</item>
+      <item>require_once</item>
+      <item>include_once</item>
+      <item>endif</item>
+      <item>endwhile</item>
+      <item>endfor</item>
+      <item>endforeach</item>
+      <item>endswitch</item>
+    </list>
+    <list name="keywords">
+      <item> abstract </item>
+      <item> callable </item>
+      <item> catch </item>
+      <item> class </item>
+      <item> clone </item>
+      <item> const </item>
+      <item> exception </item>
+      <item> extends </item>
+      <item> final </item>
+      <item> finally </item>
+      <item> function </item>
+      <item> global </item>
+      <item> implements </item>
+      <item> instanceof </item>
+      <item> insteadof </item>
+      <item> interface </item>
+      <item> new </item>
+      <item> self </item>
+      <item> static </item>
+      <item> parent </item>
+      <item> private </item>
+      <item> protected </item>
+      <item> public </item>
+      <item> throw </item>
+      <item> try </item>
+      <item> trait </item>
+      <item> and </item>
+      <item> or </item>
+      <item> xor </item>
+      <item> var </item>
+      <item> namespace </item>
+      <item> use </item>
+      <item> yield </item>
+    </list>
+      <!-- magic constants, see http://php.net/manual/en/language.constants.predefined.php -->
+    <list name="constants">
+      <item> __LINE__ </item>
+      <item> __FILE__ </item>
+      <item> __DIR__ </item>
+      <item> __FUNCTION__ </item>
+      <item> __CLASS__ </item>
+      <item> __METHOD__ </item>
+      <item> __NAMESPACE__ </item>
+      <item> __TRAIT__ </item>
+      <item> __COMPILER_HALT_OFFSET__ </item>
+
+      <item> ABDAY_1 </item>
+      <item> ABDAY_2 </item>
+      <item> ABDAY_3 </item>
+      <item> ABDAY_4 </item>
+      <item> ABDAY_5 </item>
+      <item> ABDAY_6 </item>
+      <item> ABDAY_7 </item>
+      <item> ABMON_1 </item>
+      <item> ABMON_10 </item>
+      <item> ABMON_11 </item>
+      <item> ABMON_12 </item>
+      <item> ABMON_2 </item>
+      <item> ABMON_3 </item>
+      <item> ABMON_4 </item>
+      <item> ABMON_5 </item>
+      <item> ABMON_6 </item>
+      <item> ABMON_7 </item>
+      <item> ABMON_8 </item>
+      <item> ABMON_9 </item>
+      <item> AF_INET </item>
+      <item> AF_INET6 </item>
+      <item> AF_UNIX </item>
+      <item> ALT_DIGITS </item>
+      <item> AM_STR </item>
+      <item> ASSERT_ACTIVE </item>
+      <item> ASSERT_BAIL </item>
+      <item> ASSERT_CALLBACK </item>
+      <item> ASSERT_QUIET_EVAL </item>
+      <item> ASSERT_WARNING </item>
+      <item> CAL_DOW_DAYNO </item>
+      <item> CAL_DOW_LONG </item>
+      <item> CAL_DOW_SHORT </item>
+      <item> CAL_EASTER_ALWAYS_GREGORIAN </item>
+      <item> CAL_EASTER_ALWAYS_JULIAN </item>
+      <item> CAL_EASTER_DEFAULT </item>
+      <item> CAL_EASTER_ROMAN </item>
+      <item> CAL_FRENCH </item>
+      <item> CAL_GREGORIAN </item>
+      <item> CAL_JEWISH </item>
+      <item> CAL_JEWISH_ADD_ALAFIM </item>
+      <item> CAL_JEWISH_ADD_ALAFIM_GERESH </item>
+      <item> CAL_JEWISH_ADD_GERESHAYIM </item>
+      <item> CAL_JULIAN </item>
+      <item> CAL_MONTH_FRENCH </item>
+      <item> CAL_MONTH_GREGORIAN_LONG </item>
+      <item> CAL_MONTH_GREGORIAN_SHORT </item>
+      <item> CAL_MONTH_JEWISH </item>
+      <item> CAL_MONTH_JULIAN_LONG </item>
+      <item> CAL_MONTH_JULIAN_SHORT </item>
+      <item> CAL_NUM_CALS </item>
+      <item> CASE_LOWER </item>
+      <item> CASE_UPPER </item>
+      <item> CHAR_MAX </item>
+      <item> CIT_CALL_TOSTRING </item>
+      <item> CIT_CATCH_GET_CHILD </item>
+      <item> CL_EXPUNGE </item>
+      <item> CODESET </item>
+      <item> CONNECTION_ABORTED </item>
+      <item> CONNECTION_NORMAL </item>
+      <item> CONNECTION_TIMEOUT </item>
+      <item> COUNT_NORMAL </item>
+      <item> COUNT_RECURSIVE </item>
+      <item> CP_MOVE </item>
+      <item> CP_UID </item>
+      <item> CREDITS_ALL </item>
+      <item> CREDITS_DOCS </item>
+      <item> CREDITS_FULLPAGE </item>
+      <item> CREDITS_GENERAL </item>
+      <item> CREDITS_GROUP </item>
+      <item> CREDITS_MODULES </item>
+      <item> CREDITS_QA </item>
+      <item> CREDITS_SAPI </item>
+      <item> CRNCYSTR </item>
+      <item> CRYPT_BLOWFISH </item>
+      <item> CRYPT_EXT_DES </item>
+      <item> CRYPT_MD5 </item>
+      <item> CRYPT_SALT_LENGTH </item>
+      <item> CRYPT_STD_DES </item>
+      <item> CURLAUTH_ANY </item>
+      <item> CURLAUTH_ANYSAFE </item>
+      <item> CURLAUTH_BASIC </item>
+      <item> CURLAUTH_DIGEST </item>
+      <item> CURLAUTH_GSSNEGOTIATE </item>
+      <item> CURLAUTH_NTLM </item>
+      <item> CURLCLOSEPOLICY_CALLBACK </item>
+      <item> CURLCLOSEPOLICY_LEAST_RECENTLY_USED </item>
+      <item> CURLCLOSEPOLICY_LEAST_TRAFFIC </item>
+      <item> CURLCLOSEPOLICY_OLDEST </item>
+      <item> CURLCLOSEPOLICY_SLOWEST </item>
+      <item> CURLE_ABORTED_BY_CALLBACK </item>
+      <item> CURLE_BAD_CALLING_ORDER </item>
+      <item> CURLE_BAD_CONTENT_ENCODING </item>
+      <item> CURLE_BAD_FUNCTION_ARGUMENT </item>
+      <item> CURLE_BAD_PASSWORD_ENTERED </item>
+      <item> CURLE_COULDNT_CONNECT </item>
+      <item> CURLE_COULDNT_RESOLVE_HOST </item>
+      <item> CURLE_COULDNT_RESOLVE_PROXY </item>
+      <item> CURLE_FAILED_INIT </item>
+      <item> CURLE_FILE_COULDNT_READ_FILE </item>
+      <item> CURLE_FTP_ACCESS_DENIED </item>
+      <item> CURLE_FTP_BAD_DOWNLOAD_RESUME </item>
+      <item> CURLE_FTP_CANT_GET_HOST </item>
+      <item> CURLE_FTP_CANT_RECONNECT </item>
+      <item> CURLE_FTP_COULDNT_GET_SIZE </item>
+      <item> CURLE_FTP_COULDNT_RETR_FILE </item>
+      <item> CURLE_FTP_COULDNT_SET_ASCII </item>
+      <item> CURLE_FTP_COULDNT_SET_BINARY </item>
+      <item> CURLE_FTP_COULDNT_STOR_FILE </item>
+      <item> CURLE_FTP_COULDNT_USE_REST </item>
+      <item> CURLE_FTP_PORT_FAILED </item>
+      <item> CURLE_FTP_QUOTE_ERROR </item>
+      <item> CURLE_FTP_USER_PASSWORD_INCORRECT </item>
+      <item> CURLE_FTP_WEIRD_227_FORMAT </item>
+      <item> CURLE_FTP_WEIRD_PASS_REPLY </item>
+      <item> CURLE_FTP_WEIRD_PASV_REPLY </item>
+      <item> CURLE_FTP_WEIRD_SERVER_REPLY </item>
+      <item> CURLE_FTP_WEIRD_USER_REPLY </item>
+      <item> CURLE_FTP_WRITE_ERROR </item>
+      <item> CURLE_FUNCTION_NOT_FOUND </item>
+      <item> CURLE_GOT_NOTHING </item>
+      <item> CURLE_HTTP_NOT_FOUND </item>
+      <item> CURLE_HTTP_PORT_FAILED </item>
+      <item> CURLE_HTTP_POST_ERROR </item>
+      <item> CURLE_HTTP_RANGE_ERROR </item>
+      <item> CURLE_LDAP_CANNOT_BIND </item>
+      <item> CURLE_LDAP_SEARCH_FAILED </item>
+      <item> CURLE_LIBRARY_NOT_FOUND </item>
+      <item> CURLE_MALFORMAT_USER </item>
+      <item> CURLE_OBSOLETE </item>
+      <item> CURLE_OK </item>
+      <item> CURLE_OPERATION_TIMEOUTED </item>
+      <item> CURLE_OUT_OF_MEMORY </item>
+      <item> CURLE_PARTIAL_FILE </item>
+      <item> CURLE_READ_ERROR </item>
+      <item> CURLE_RECV_ERROR </item>
+      <item> CURLE_SEND_ERROR </item>
+      <item> CURLE_SHARE_IN_USE </item>
+      <item> CURLE_SSL_CACERT </item>
+      <item> CURLE_SSL_CERTPROBLEM </item>
+      <item> CURLE_SSL_CIPHER </item>
+      <item> CURLE_SSL_CONNECT_ERROR </item>
+      <item> CURLE_SSL_ENGINE_NOTFOUND </item>
+      <item> CURLE_SSL_ENGINE_SETFAILED </item>
+      <item> CURLE_SSL_PEER_CERTIFICATE </item>
+      <item> CURLE_TELNET_OPTION_SYNTAX </item>
+      <item> CURLE_TOO_MANY_REDIRECTS </item>
+      <item> CURLE_UNKNOWN_TELNET_OPTION </item>
+      <item> CURLE_UNSUPPORTED_PROTOCOL </item>
+      <item> CURLE_URL_MALFORMAT </item>
+      <item> CURLE_URL_MALFORMAT_USER </item>
+      <item> CURLE_WRITE_ERROR </item>
+      <item> CURLINFO_CONNECT_TIME </item>
+      <item> CURLINFO_CONTENT_LENGTH_DOWNLOAD </item>
+      <item> CURLINFO_CONTENT_LENGTH_UPLOAD </item>
+      <item> CURLINFO_CONTENT_TYPE </item>
+      <item> CURLINFO_EFFECTIVE_URL </item>
+      <item> CURLINFO_FILETIME </item>
+      <item> CURLINFO_HEADER_OUT </item>
+      <item> CURLINFO_HEADER_SIZE </item>
+      <item> CURLINFO_HTTP_CODE </item>
+      <item> CURLINFO_NAMELOOKUP_TIME </item>
+      <item> CURLINFO_PRETRANSFER_TIME </item>
+      <item> CURLINFO_REDIRECT_COUNT </item>
+      <item> CURLINFO_REDIRECT_TIME </item>
+      <item> CURLINFO_REQUEST_SIZE </item>
+      <item> CURLINFO_SIZE_DOWNLOAD </item>
+      <item> CURLINFO_SIZE_UPLOAD </item>
+      <item> CURLINFO_SPEED_DOWNLOAD </item>
+      <item> CURLINFO_SPEED_UPLOAD </item>
+      <item> CURLINFO_SSL_VERIFYRESULT </item>
+      <item> CURLINFO_STARTTRANSFER_TIME </item>
+      <item> CURLINFO_TOTAL_TIME </item>
+      <item> CURLMSG_DONE </item>
+      <item> CURLM_BAD_EASY_HANDLE </item>
+      <item> CURLM_BAD_HANDLE </item>
+      <item> CURLM_CALL_MULTI_PERFORM </item>
+      <item> CURLM_INTERNAL_ERROR </item>
+      <item> CURLM_OK </item>
+      <item> CURLM_OUT_OF_MEMORY </item>
+      <item> CURLOPT_BINARYTRANSFER </item>
+      <item> CURLOPT_BUFFERSIZE </item>
+      <item> CURLOPT_CAINFO </item>
+      <item> CURLOPT_CAPATH </item>
+      <item> CURLOPT_CLOSEPOLICY </item>
+      <item> CURLOPT_CONNECTTIMEOUT </item>
+      <item> CURLOPT_COOKIE </item>
+      <item> CURLOPT_COOKIEFILE </item>
+      <item> CURLOPT_COOKIEJAR </item>
+      <item> CURLOPT_CRLF </item>
+      <item> CURLOPT_CUSTOMREQUEST </item>
+      <item> CURLOPT_DNS_CACHE_TIMEOUT </item>
+      <item> CURLOPT_DNS_USE_GLOBAL_CACHE </item>
+      <item> CURLOPT_EGDSOCKET </item>
+      <item> CURLOPT_ENCODING </item>
+      <item> CURLOPT_FAILONERROR </item>
+      <item> CURLOPT_FILE </item>
+      <item> CURLOPT_FILETIME </item>
+      <item> CURLOPT_FOLLOWLOCATION </item>
+      <item> CURLOPT_FORBID_REUSE </item>
+      <item> CURLOPT_FRESH_CONNECT </item>
+      <item> CURLOPT_FTPAPPEND </item>
+      <item> CURLOPT_FTPASCII </item>
+      <item> CURLOPT_FTPLISTONLY </item>
+      <item> CURLOPT_FTPPORT </item>
+      <item> CURLOPT_FTP_USE_EPRT </item>
+      <item> CURLOPT_FTP_USE_EPSV </item>
+      <item> CURLOPT_HEADER </item>
+      <item> CURLOPT_HEADERFUNCTION </item>
+      <item> CURLOPT_HTTP200ALIASES </item>
+      <item> CURLOPT_HTTPAUTH </item>
+      <item> CURLOPT_HTTPGET </item>
+      <item> CURLOPT_HTTPHEADER </item>
+      <item> CURLOPT_HTTPPROXYTUNNEL </item>
+      <item> CURLOPT_HTTP_VERSION </item>
+      <item> CURLOPT_INFILE </item>
+      <item> CURLOPT_INFILESIZE </item>
+      <item> CURLOPT_INTERFACE </item>
+      <item> CURLOPT_KRB4LEVEL </item>
+      <item> CURLOPT_LOW_SPEED_LIMIT </item>
+      <item> CURLOPT_LOW_SPEED_TIME </item>
+      <item> CURLOPT_MAXCONNECTS </item>
+      <item> CURLOPT_MAXREDIRS </item>
+      <item> CURLOPT_MUTE </item>
+      <item> CURLOPT_NETRC </item>
+      <item> CURLOPT_NOBODY </item>
+      <item> CURLOPT_NOPROGRESS </item>
+      <item> CURLOPT_NOSIGNAL </item>
+      <item> CURLOPT_PASSWDFUNCTION </item>
+      <item> CURLOPT_PORT </item>
+      <item> CURLOPT_POST </item>
+      <item> CURLOPT_POSTFIELDS </item>
+      <item> CURLOPT_POSTQUOTE </item>
+      <item> CURLOPT_PROXY </item>
+      <item> CURLOPT_PROXYAUTH </item>
+      <item> CURLOPT_PROXYPORT </item>
+      <item> CURLOPT_PROXYTYPE </item>
+      <item> CURLOPT_PROXYUSERPWD </item>
+      <item> CURLOPT_PUT </item>
+      <item> CURLOPT_QUOTE </item>
+      <item> CURLOPT_RANDOM_FILE </item>
+      <item> CURLOPT_RANGE </item>
+      <item> CURLOPT_READDATA </item>
+      <item> CURLOPT_READFUNCTION </item>
+      <item> CURLOPT_REFERER </item>
+      <item> CURLOPT_RESUME_FROM </item>
+      <item> CURLOPT_RETURNTRANSFER </item>
+      <item> CURLOPT_SSLCERT </item>
+      <item> CURLOPT_SSLCERTPASSWD </item>
+      <item> CURLOPT_SSLCERTTYPE </item>
+      <item> CURLOPT_SSLENGINE </item>
+      <item> CURLOPT_SSLENGINE_DEFAULT </item>
+      <item> CURLOPT_SSLKEY </item>
+      <item> CURLOPT_SSLKEYPASSWD </item>
+      <item> CURLOPT_SSLKEYTYPE </item>
+      <item> CURLOPT_SSLVERSION </item>
+      <item> CURLOPT_SSL_CIPHER_LIST </item>
+      <item> CURLOPT_SSL_VERIFYHOST </item>
+      <item> CURLOPT_SSL_VERIFYPEER </item>
+      <item> CURLOPT_STDERR </item>
+      <item> CURLOPT_TIMECONDITION </item>
+      <item> CURLOPT_TIMEOUT </item>
+      <item> CURLOPT_TIMEVALUE </item>
+      <item> CURLOPT_TRANSFERTEXT </item>
+      <item> CURLOPT_UNRESTRICTED_AUTH </item>
+      <item> CURLOPT_UPLOAD </item>
+      <item> CURLOPT_URL </item>
+      <item> CURLOPT_USERAGENT </item>
+      <item> CURLOPT_USERPWD </item>
+      <item> CURLOPT_VERBOSE </item>
+      <item> CURLOPT_WRITEFUNCTION </item>
+      <item> CURLOPT_WRITEHEADER </item>
+      <item> CURLPROXY_HTTP </item>
+      <item> CURLPROXY_SOCKS5 </item>
+      <item> CURLVERSION_NOW </item>
+      <item> CURL_HTTP_VERSION_1_0 </item>
+      <item> CURL_HTTP_VERSION_1_1 </item>
+      <item> CURL_HTTP_VERSION_NONE </item>
+      <item> CURL_NETRC_IGNORED </item>
+      <item> CURL_NETRC_OPTIONAL </item>
+      <item> CURL_NETRC_REQUIRED </item>
+      <item> CURL_TIMECOND_IFMODSINCE </item>
+      <item> CURL_TIMECOND_IFUNMODSINCE </item>
+      <item> CURL_TIMECOND_LASTMOD </item>
+      <item> CURL_VERSION_IPV6 </item>
+      <item> CURL_VERSION_KERBEROS4 </item>
+      <item> CURL_VERSION_LIBZ </item>
+      <item> CURL_VERSION_SSL </item>
+      <item> C_EXPLICIT_ABSTRACT </item>
+      <item> C_FINAL </item>
+      <item> C_IMPLICIT_ABSTRACT </item>
+      <item> DATE_ATOM </item>
+      <item> DATE_COOKIE </item>
+      <item> DATE_ISO8601 </item>
+      <item> DATE_RFC1036 </item>
+      <item> DATE_RFC1123 </item>
+      <item> DATE_RFC2822 </item>
+      <item> DATE_RFC3339 </item>
+      <item> DATE_RFC822 </item>
+      <item> DATE_RFC850 </item>
+      <item> DATE_RSS </item>
+      <item> DATE_W3C </item>
+      <item> DAY_1 </item>
+      <item> DAY_2 </item>
+      <item> DAY_3 </item>
+      <item> DAY_4 </item>
+      <item> DAY_5 </item>
+      <item> DAY_6 </item>
+      <item> DAY_7 </item>
+      <item> DBX_CMP_ASC </item>
+      <item> DBX_CMP_DESC </item>
+      <item> DBX_CMP_NATIVE </item>
+      <item> DBX_CMP_NUMBER </item>
+      <item> DBX_CMP_TEXT </item>
+      <item> DBX_COLNAMES_LOWERCASE </item>
+      <item> DBX_COLNAMES_UNCHANGED </item>
+      <item> DBX_COLNAMES_UPPERCASE </item>
+      <item> DBX_FBSQL </item>
+      <item> DBX_MSSQL </item>
+      <item> DBX_MYSQL </item>
+      <item> DBX_OCI8 </item>
+      <item> DBX_ODBC </item>
+      <item> DBX_PERSISTENT </item>
+      <item> DBX_PGSQL </item>
+      <item> DBX_RESULT_ASSOC </item>
+      <item> DBX_RESULT_INDEX </item>
+      <item> DBX_RESULT_INFO </item>
+      <item> DBX_RESULT_UNBUFFERED </item>
+      <item> DBX_SQLITE </item>
+      <item> DBX_SYBASECT </item>
+      <item> DEFAULT_INCLUDE_PATH </item>
+      <item> DIRECTORY_SEPARATOR </item>
+      <item> DNS_A </item>
+      <item> DNS_AAAA </item>
+      <item> DNS_ALL </item>
+      <item> DNS_ANY </item>
+      <item> DNS_CNAME </item>
+      <item> DNS_HINFO </item>
+      <item> DNS_MX </item>
+      <item> DNS_NAPTR </item>
+      <item> DNS_NS </item>
+      <item> DNS_PTR </item>
+      <item> DNS_SOA </item>
+      <item> DNS_SRV </item>
+      <item> DNS_TXT </item>
+      <item> DOMSTRING_SIZE_ERR </item>
+      <item> DOM_HIERARCHY_REQUEST_ERR </item>
+      <item> DOM_INDEX_SIZE_ERR </item>
+      <item> DOM_INUSE_ATTRIBUTE_ERR </item>
+      <item> DOM_INVALID_ACCESS_ERR </item>
+      <item> DOM_INVALID_CHARACTER_ERR </item>
+      <item> DOM_INVALID_MODIFICATION_ERR </item>
+      <item> DOM_INVALID_STATE_ERR </item>
+      <item> DOM_NAMESPACE_ERR </item>
+      <item> DOM_NOT_FOUND_ERR </item>
+      <item> DOM_NOT_SUPPORTED_ERR </item>
+      <item> DOM_NO_DATA_ALLOWED_ERR </item>
+      <item> DOM_NO_MODIFICATION_ALLOWED_ERR </item>
+      <item> DOM_PHP_ERR </item>
+      <item> DOM_SYNTAX_ERR </item>
+      <item> DOM_VALIDATION_ERR </item>
+      <item> DOM_WRONG_DOCUMENT_ERR </item>
+      <item> D_FMT </item>
+      <item> D_T_FMT </item>
+      <item> ENC7BIT </item>
+      <item> ENC8BIT </item>
+      <item> ENCBASE64 </item>
+      <item> ENCBINARY </item>
+      <item> ENCOTHER </item>
+      <item> ENCQUOTEDPRINTABLE </item>
+      <item> ENT_COMPAT </item>
+      <item> ENT_NOQUOTES </item>
+      <item> ENT_QUOTES </item>
+      <item> ERA </item>
+      <item> ERA_D_FMT </item>
+      <item> ERA_D_T_FMT </item>
+      <item> ERA_T_FMT </item>
+      <item> EXIF_USE_MBSTRING </item>
+      <item> EXTR_IF_EXISTS </item>
+      <item> EXTR_OVERWRITE </item>
+      <item> EXTR_PREFIX_ALL </item>
+      <item> EXTR_PREFIX_IF_EXISTS </item>
+      <item> EXTR_PREFIX_INVALID </item>
+      <item> EXTR_PREFIX_SAME </item>
+      <item> EXTR_REFS </item>
+      <item> EXTR_SKIP </item>
+      <item> E_ALL </item>
+      <item> E_COMPILE_ERROR </item>
+      <item> E_COMPILE_WARNING </item>
+      <item> E_CORE_ERROR </item>
+      <item> E_CORE_WARNING </item>
+      <item> E_DEPRECATED </item>
+      <item> E_ERROR </item>
+      <item> E_NOTICE </item>
+      <item> E_PARSE </item>
+      <item> E_RECOVERABLE_ERROR </item>
+      <item> E_STRICT </item>
+      <item> E_USER_DEPRECATED </item>
+      <item> E_USER_ERROR </item>
+      <item> E_USER_NOTICE </item>
+      <item> E_USER_WARNING </item>
+      <item> E_WARNING </item>
+      <item> FALSE </item>
+      <item> FAMAcknowledge </item>
+      <item> FAMChanged </item>
+      <item> FAMCreated </item>
+      <item> FAMDeleted </item>
+      <item> FAMEndExist </item>
+      <item> FAMExists </item>
+      <item> FAMMoved </item>
+      <item> FAMStartExecuting </item>
+      <item> FAMStopExecuting </item>
+      <item> FILE_APPEND </item>
+      <item> FILE_IGNORE_NEW_LINES </item>
+      <item> FILE_NO_DEFAULT_CONTEXT </item>
+      <item> FILE_SKIP_EMPTY_LINES </item>
+      <item> FILE_USE_INCLUDE_PATH </item>
+      <item> FNM_CASEFOLD </item>
+      <item> FNM_NOESCAPE </item>
+      <item> FNM_PATHNAME </item>
+      <item> FNM_PERIOD </item>
+      <item> FORCE_DEFLATE </item>
+      <item> FORCE_GZIP </item>
+      <item> FTP_ASCII </item>
+      <item> FTP_AUTORESUME </item>
+      <item> FTP_AUTOSEEK </item>
+      <item> FTP_BINARY </item>
+      <item> FTP_FAILED </item>
+      <item> FTP_FINISHED </item>
+      <item> FTP_IMAGE </item>
+      <item> FTP_MOREDATA </item>
+      <item> FTP_TEXT </item>
+      <item> FTP_TIMEOUT_SEC </item>
+      <item> FT_INTERNAL </item>
+      <item> FT_NOT </item>
+      <item> FT_PEEK </item>
+      <item> FT_PREFETCHTEXT </item>
+      <item> FT_UID </item>
+      <item> F_DUPFD </item>
+      <item> F_GETFD </item>
+      <item> F_GETFL </item>
+      <item> F_GETLK </item>
+      <item> F_GETOWN </item>
+      <item> F_RDLCK </item>
+      <item> F_SETFL </item>
+      <item> F_SETLK </item>
+      <item> F_SETLKW </item>
+      <item> F_SETOWN </item>
+      <item> F_UNLCK </item>
+      <item> F_WRLCK </item>
+      <item> GD_BUNDLED </item>
+      <item> GLOB_BRACE </item>
+      <item> GLOB_MARK </item>
+      <item> GLOB_NOCHECK </item>
+      <item> GLOB_NOESCAPE </item>
+      <item> GLOB_NOSORT </item>
+      <item> GLOB_ONLYDIR </item>
+      <item> GMP_ROUND_MINUSINF </item>
+      <item> GMP_ROUND_PLUSINF </item>
+      <item> GMP_ROUND_ZERO </item>
+      <item> HASH_HMAC </item>
+      <item> HTML_ENTITIES </item>
+      <item> HTML_SPECIALCHARS </item>
+      <item> ICONV_IMPL </item>
+      <item> ICONV_MIME_DECODE_CONTINUE_ON_ERROR </item>
+      <item> ICONV_MIME_DECODE_STRICT </item>
+      <item> ICONV_VERSION </item>
+      <item> IMAGETYPE_BMP </item>
+      <item> IMAGETYPE_GIF </item>
+      <item> IMAGETYPE_IFF </item>
+      <item> IMAGETYPE_JB2 </item>
+      <item> IMAGETYPE_JP2 </item>
+      <item> IMAGETYPE_JPC </item>
+      <item> IMAGETYPE_JPEG </item>
+      <item> IMAGETYPE_JPEG2000 </item>
+      <item> IMAGETYPE_JPX </item>
+      <item> IMAGETYPE_PNG </item>
+      <item> IMAGETYPE_PSD </item>
+      <item> IMAGETYPE_SWF </item>
+      <item> IMAGETYPE_TIFF_II </item>
+      <item> IMAGETYPE_TIFF_MM </item>
+      <item> IMAGETYPE_WBMP </item>
+      <item> IMAGETYPE_XBM </item>
+      <item> IMAP_CLOSETIMEOUT </item>
+      <item> IMAP_OPENTIMEOUT </item>
+      <item> IMAP_READTIMEOUT </item>
+      <item> IMAP_WRITETIMEOUT </item>
+      <item> IMG_ARC_CHORD </item>
+      <item> IMG_ARC_EDGED </item>
+      <item> IMG_ARC_NOFILL </item>
+      <item> IMG_ARC_PIE </item>
+      <item> IMG_ARC_ROUNDED </item>
+      <item> IMG_COLOR_BRUSHED </item>
+      <item> IMG_COLOR_STYLED </item>
+      <item> IMG_COLOR_STYLEDBRUSHED </item>
+      <item> IMG_COLOR_TILED </item>
+      <item> IMG_COLOR_TRANSPARENT </item>
+      <item> IMG_EFFECT_ALPHABLEND </item>
+      <item> IMG_EFFECT_NORMAL </item>
+      <item> IMG_EFFECT_OVERLAY </item>
+      <item> IMG_EFFECT_REPLACE </item>
+      <item> IMG_FILTER_BRIGHTNESS </item>
+      <item> IMG_FILTER_COLORIZE </item>
+      <item> IMG_FILTER_CONTRAST </item>
+      <item> IMG_FILTER_EDGEDETECT </item>
+      <item> IMG_FILTER_EMBOSS </item>
+      <item> IMG_FILTER_GAUSSIAN_BLUR </item>
+      <item> IMG_FILTER_GRAYSCALE </item>
+      <item> IMG_FILTER_MEAN_REMOVAL </item>
+      <item> IMG_FILTER_NEGATE </item>
+      <item> IMG_FILTER_SELECTIVE_BLUR </item>
+      <item> IMG_FILTER_SMOOTH </item>
+      <item> IMG_GD2_COMPRESSED </item>
+      <item> IMG_GD2_RAW </item>
+      <item> IMG_GIF </item>
+      <item> IMG_JPEG </item>
+      <item> IMG_JPG </item>
+      <item> IMG_PNG </item>
+      <item> IMG_WBMP </item>
+      <item> IMG_XPM </item>
+      <item> INF </item>
+      <item> INFO_ALL </item>
+      <item> INFO_CONFIGURATION </item>
+      <item> INFO_CREDITS </item>
+      <item> INFO_ENVIRONMENT </item>
+      <item> INFO_GENERAL </item>
+      <item> INFO_LICENSE </item>
+      <item> INFO_MODULES </item>
+      <item> INFO_VARIABLES </item>
+      <item> INI_ALL </item>
+      <item> INI_PERDIR </item>
+      <item> INI_SYSTEM </item>
+      <item> INI_USER </item>
+      <item> LATT_HASCHILDREN </item>
+      <item> LATT_HASNOCHILDREN </item>
+      <item> LATT_MARKED </item>
+      <item> LATT_NOINFERIORS </item>
+      <item> LATT_NOSELECT </item>
+      <item> LATT_REFERRAL </item>
+      <item> LATT_UNMARKED </item>
+      <item> LC_ALL </item>
+      <item> LC_COLLATE </item>
+      <item> LC_CTYPE </item>
+      <item> LC_MESSAGES </item>
+      <item> LC_MONETARY </item>
+      <item> LC_NUMERIC </item>
+      <item> LC_TIME </item>
+      <item> LDAP_DEREF_ALWAYS </item>
+      <item> LDAP_DEREF_FINDING </item>
+      <item> LDAP_DEREF_NEVER </item>
+      <item> LDAP_DEREF_SEARCHING </item>
+      <item> LDAP_OPT_CLIENT_CONTROLS </item>
+      <item> LDAP_OPT_DEBUG_LEVEL </item>
+      <item> LDAP_OPT_DEREF </item>
+      <item> LDAP_OPT_ERROR_NUMBER </item>
+      <item> LDAP_OPT_ERROR_STRING </item>
+      <item> LDAP_OPT_HOST_NAME </item>
+      <item> LDAP_OPT_MATCHED_DN </item>
+      <item> LDAP_OPT_PROTOCOL_VERSION </item>
+      <item> LDAP_OPT_REFERRALS </item>
+      <item> LDAP_OPT_RESTART </item>
+      <item> LDAP_OPT_SERVER_CONTROLS </item>
+      <item> LDAP_OPT_SIZELIMIT </item>
+      <item> LDAP_OPT_TIMELIMIT </item>
+      <item> LIBXML_COMPACT </item>
+      <item> LIBXML_DOTTED_VERSION </item>
+      <item> LIBXML_DTDATTR </item>
+      <item> LIBXML_DTDLOAD </item>
+      <item> LIBXML_DTDVALID </item>
+      <item> LIBXML_ERR_ERROR </item>
+      <item> LIBXML_ERR_FATAL </item>
+      <item> LIBXML_ERR_NONE </item>
+      <item> LIBXML_ERR_WARNING </item>
+      <item> LIBXML_NOBLANKS </item>
+      <item> LIBXML_NOCDATA </item>
+      <item> LIBXML_NOEMPTYTAG </item>
+      <item> LIBXML_NOENT </item>
+      <item> LIBXML_NOERROR </item>
+      <item> LIBXML_NONET </item>
+      <item> LIBXML_NOWARNING </item>
+      <item> LIBXML_NOXMLDECL </item>
+      <item> LIBXML_NSCLEAN </item>
+      <item> LIBXML_VERSION </item>
+      <item> LIBXML_XINCLUDE </item>
+      <item> LOCK_EX </item>
+      <item> LOCK_NB </item>
+      <item> LOCK_SH </item>
+      <item> LOCK_UN </item>
+      <item> LOG_ALERT </item>
+      <item> LOG_AUTH </item>
+      <item> LOG_AUTHPRIV </item>
+      <item> LOG_CONS </item>
+      <item> LOG_CRIT </item>
+      <item> LOG_CRON </item>
+      <item> LOG_DAEMON </item>
+      <item> LOG_DEBUG </item>
+      <item> LOG_EMERG </item>
+      <item> LOG_ERR </item>
+      <item> LOG_INFO </item>
+      <item> LOG_KERN </item>
+      <item> LOG_LOCAL0 </item>
+      <item> LOG_LOCAL1 </item>
+      <item> LOG_LOCAL2 </item>
+      <item> LOG_LOCAL3 </item>
+      <item> LOG_LOCAL4 </item>
+      <item> LOG_LOCAL5 </item>
+      <item> LOG_LOCAL6 </item>
+      <item> LOG_LOCAL7 </item>
+      <item> LOG_LPR </item>
+      <item> LOG_MAIL </item>
+      <item> LOG_NDELAY </item>
+      <item> LOG_NEWS </item>
+      <item> LOG_NOTICE </item>
+      <item> LOG_NOWAIT </item>
+      <item> LOG_ODELAY </item>
+      <item> LOG_PERROR </item>
+      <item> LOG_PID </item>
+      <item> LOG_SYSLOG </item>
+      <item> LOG_USER </item>
+      <item> LOG_UUCP </item>
+      <item> LOG_WARNING </item>
+      <item> MB_CASE_LOWER </item>
+      <item> MB_CASE_TITLE </item>
+      <item> MB_CASE_UPPER </item>
+      <item> MB_OVERLOAD_MAIL </item>
+      <item> MB_OVERLOAD_REGEX </item>
+      <item> MB_OVERLOAD_STRING </item>
+      <item> MCRYPT_3DES </item>
+      <item> MCRYPT_ARCFOUR </item>
+      <item> MCRYPT_ARCFOUR_IV </item>
+      <item> MCRYPT_BLOWFISH </item>
+      <item> MCRYPT_BLOWFISH_COMPAT </item>
+      <item> MCRYPT_CAST_128 </item>
+      <item> MCRYPT_CAST_256 </item>
+      <item> MCRYPT_CRYPT </item>
+      <item> MCRYPT_DECRYPT </item>
+      <item> MCRYPT_DES </item>
+      <item> MCRYPT_DEV_RANDOM </item>
+      <item> MCRYPT_DEV_URANDOM </item>
+      <item> MCRYPT_ENCRYPT </item>
+      <item> MCRYPT_ENIGNA </item>
+      <item> MCRYPT_GOST </item>
+      <item> MCRYPT_IDEA </item>
+      <item> MCRYPT_LOKI97 </item>
+      <item> MCRYPT_MARS </item>
+      <item> MCRYPT_MODE_CBC </item>
+      <item> MCRYPT_MODE_CFB </item>
+      <item> MCRYPT_MODE_ECB </item>
+      <item> MCRYPT_MODE_NOFB </item>
+      <item> MCRYPT_MODE_OFB </item>
+      <item> MCRYPT_MODE_STREAM </item>
+      <item> MCRYPT_PANAMA </item>
+      <item> MCRYPT_RAND </item>
+      <item> MCRYPT_RC2 </item>
+      <item> MCRYPT_RC6 </item>
+      <item> MCRYPT_RIJNDAEL_128 </item>
+      <item> MCRYPT_RIJNDAEL_192 </item>
+      <item> MCRYPT_RIJNDAEL_256 </item>
+      <item> MCRYPT_SAFER128 </item>
+      <item> MCRYPT_SAFER64 </item>
+      <item> MCRYPT_SAFERPLUS </item>
+      <item> MCRYPT_SERPENT </item>
+      <item> MCRYPT_SKIPJACK </item>
+      <item> MCRYPT_THREEWAY </item>
+      <item> MCRYPT_TRIPLEDES </item>
+      <item> MCRYPT_TWOFISH </item>
+      <item> MCRYPT_WAKE </item>
+      <item> MCRYPT_XTEA </item>
+      <item> MHASH_ADLER32 </item>
+      <item> MHASH_CRC32 </item>
+      <item> MHASH_CRC32B </item>
+      <item> MHASH_GOST </item>
+      <item> MHASH_HAVAL128 </item>
+      <item> MHASH_HAVAL160 </item>
+      <item> MHASH_HAVAL192 </item>
+      <item> MHASH_HAVAL224 </item>
+      <item> MHASH_HAVAL256 </item>
+      <item> MHASH_MD2 </item>
+      <item> MHASH_MD4 </item>
+      <item> MHASH_MD5 </item>
+      <item> MHASH_RIPEMD128 </item>
+      <item> MHASH_RIPEMD160 </item>
+      <item> MHASH_RIPEMD256 </item>
+      <item> MHASH_RIPEMD320 </item>
+      <item> MHASH_SHA1 </item>
+      <item> MHASH_SHA224 </item>
+      <item> MHASH_SHA256 </item>
+      <item> MHASH_SHA384 </item>
+      <item> MHASH_SHA512 </item>
+      <item> MHASH_SNEFRU128 </item>
+      <item> MHASH_SNEFRU256 </item>
+      <item> MHASH_TIGER </item>
+      <item> MHASH_TIGER128 </item>
+      <item> MHASH_TIGER160 </item>
+      <item> MHASH_WHIRLPOOL </item>
+      <item> MON_1 </item>
+      <item> MON_10 </item>
+      <item> MON_11 </item>
+      <item> MON_12 </item>
+      <item> MON_2 </item>
+      <item> MON_3 </item>
+      <item> MON_4 </item>
+      <item> MON_5 </item>
+      <item> MON_6 </item>
+      <item> MON_7 </item>
+      <item> MON_8 </item>
+      <item> MON_9 </item>
+      <item> MSG_DONTROUTE </item>
+      <item> MSG_EXCEPT </item>
+      <item> MSG_IPC_NOWAIT </item>
+      <item> MSG_NOERROR </item>
+      <item> MSG_OOB </item>
+      <item> MSG_PEEK </item>
+      <item> MSG_WAITALL </item>
+      <item> MYSQLI_ASSOC </item>
+      <item> MYSQLI_AUTO_INCREMENT_FLAG </item>
+      <item> MYSQLI_BLOB_FLAG </item>
+      <item> MYSQLI_BOTH </item>
+      <item> MYSQLI_CLIENT_COMPRESS </item>
+      <item> MYSQLI_CLIENT_FOUND_ROWS </item>
+      <item> MYSQLI_CLIENT_IGNORE_SPACE </item>
+      <item> MYSQLI_CLIENT_INTERACTIVE </item>
+      <item> MYSQLI_CLIENT_NO_SCHEMA </item>
+      <item> MYSQLI_CLIENT_SSL </item>
+      <item> MYSQLI_GROUP_FLAG </item>
+      <item> MYSQLI_INIT_COMMAND </item>
+      <item> MYSQLI_MULTIPLE_KEY_FLAG </item>
+      <item> MYSQLI_NOT_NULL_FLAG </item>
+      <item> MYSQLI_NO_DATA </item>
+      <item> MYSQLI_NUM </item>
+      <item> MYSQLI_NUM_FLAG </item>
+      <item> MYSQLI_OPT_CONNECT_TIMEOUT </item>
+      <item> MYSQLI_OPT_LOCAL_INFILE </item>
+      <item> MYSQLI_PART_KEY_FLAG </item>
+      <item> MYSQLI_PRI_KEY_FLAG </item>
+      <item> MYSQLI_READ_DEFAULT_FILE </item>
+      <item> MYSQLI_READ_DEFAULT_GROUP </item>
+      <item> MYSQLI_REPORT_ALL </item>
+      <item> MYSQLI_REPORT_ERROR </item>
+      <item> MYSQLI_REPORT_INDEX </item>
+      <item> MYSQLI_REPORT_OFF </item>
+      <item> MYSQLI_REPORT_STRICT </item>
+      <item> MYSQLI_RPL_ADMIN </item>
+      <item> MYSQLI_RPL_MASTER </item>
+      <item> MYSQLI_RPL_SLAVE </item>
+      <item> MYSQLI_SET_FLAG </item>
+      <item> MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH </item>
+      <item> MYSQLI_STORE_RESULT </item>
+      <item> MYSQLI_TIMESTAMP_FLAG </item>
+      <item> MYSQLI_TYPE_BLOB </item>
+      <item> MYSQLI_TYPE_CHAR </item>
+      <item> MYSQLI_TYPE_DATE </item>
+      <item> MYSQLI_TYPE_DATETIME </item>
+      <item> MYSQLI_TYPE_DECIMAL </item>
+      <item> MYSQLI_TYPE_DOUBLE </item>
+      <item> MYSQLI_TYPE_ENUM </item>
+      <item> MYSQLI_TYPE_FLOAT </item>
+      <item> MYSQLI_TYPE_GEOMETRY </item>
+      <item> MYSQLI_TYPE_INT24 </item>
+      <item> MYSQLI_TYPE_INTERVAL </item>
+      <item> MYSQLI_TYPE_LONG </item>
+      <item> MYSQLI_TYPE_LONGLONG </item>
+      <item> MYSQLI_TYPE_LONG_BLOB </item>
+      <item> MYSQLI_TYPE_MEDIUM_BLOB </item>
+      <item> MYSQLI_TYPE_NEWDATE </item>
+      <item> MYSQLI_TYPE_NULL </item>
+      <item> MYSQLI_TYPE_SET </item>
+      <item> MYSQLI_TYPE_SHORT </item>
+      <item> MYSQLI_TYPE_STRING </item>
+      <item> MYSQLI_TYPE_TIME </item>
+      <item> MYSQLI_TYPE_TIMESTAMP </item>
+      <item> MYSQLI_TYPE_TINY </item>
+      <item> MYSQLI_TYPE_TINY_BLOB </item>
+      <item> MYSQLI_TYPE_VAR_STRING </item>
+      <item> MYSQLI_TYPE_YEAR </item>
+      <item> MYSQLI_UNIQUE_KEY_FLAG </item>
+      <item> MYSQLI_UNSIGNED_FLAG </item>
+      <item> MYSQLI_USE_RESULT </item>
+      <item> MYSQLI_ZEROFILL_FLAG </item>
+      <item> MYSQL_ASSOC </item>
+      <item> MYSQL_BOTH </item>
+      <item> MYSQL_CLIENT_COMPRESS </item>
+      <item> MYSQL_CLIENT_IGNORE_SPACE </item>
+      <item> MYSQL_CLIENT_INTERACTIVE </item>
+      <item> MYSQL_CLIENT_SSL </item>
+      <item> MYSQL_NUM </item>
+      <item> M_1_PI </item>
+      <item> M_2_PI </item>
+      <item> M_2_SQRTPI </item>
+      <item> M_ABSTRACT </item>
+      <item> M_E </item>
+      <item> M_FINAL </item>
+      <item> M_LN10 </item>
+      <item> M_LN2 </item>
+      <item> M_LOG10E </item>
+      <item> M_LOG2E </item>
+      <item> M_PI </item>
+      <item> M_PI_2 </item>
+      <item> M_PI_4 </item>
+      <item> M_PRIVATE </item>
+      <item> M_PROTECTED </item>
+      <item> M_PUBLIC </item>
+      <item> M_SQRT1_2 </item>
+      <item> M_SQRT2 </item>
+      <item> M_STATIC </item>
+      <item> NAN </item>
+      <item> NCURSES_ALL_MOUSE_EVENTS </item>
+      <item> NCURSES_A_ALTCHARSET </item>
+      <item> NCURSES_A_BLINK </item>
+      <item> NCURSES_A_BOLD </item>
+      <item> NCURSES_A_CHARTEXT </item>
+      <item> NCURSES_A_DIM </item>
+      <item> NCURSES_A_INVIS </item>
+      <item> NCURSES_A_NORMAL </item>
+      <item> NCURSES_A_PROTECT </item>
+      <item> NCURSES_A_REVERSE </item>
+      <item> NCURSES_A_STANDOUT </item>
+      <item> NCURSES_A_UNDERLINE </item>
+      <item> NCURSES_BUTTON1_CLICKED </item>
+      <item> NCURSES_BUTTON1_DOUBLE_CLICKED </item>
+      <item> NCURSES_BUTTON1_PRESSED </item>
+      <item> NCURSES_BUTTON1_RELEASED </item>
+      <item> NCURSES_BUTTON1_TRIPLE_CLICKED </item>
+      <item> NCURSES_BUTTON2_CLICKED </item>
+      <item> NCURSES_BUTTON2_DOUBLE_CLICKED </item>
+      <item> NCURSES_BUTTON2_PRESSED </item>
+      <item> NCURSES_BUTTON2_RELEASED </item>
+      <item> NCURSES_BUTTON2_TRIPLE_CLICKED </item>
+      <item> NCURSES_BUTTON3_CLICKED </item>
+      <item> NCURSES_BUTTON3_DOUBLE_CLICKED </item>
+      <item> NCURSES_BUTTON3_PRESSED </item>
+      <item> NCURSES_BUTTON3_RELEASED </item>
+      <item> NCURSES_BUTTON3_TRIPLE_CLICKED </item>
+      <item> NCURSES_BUTTON4_CLICKED </item>
+      <item> NCURSES_BUTTON4_DOUBLE_CLICKED </item>
+      <item> NCURSES_BUTTON4_PRESSED </item>
+      <item> NCURSES_BUTTON4_RELEASED </item>
+      <item> NCURSES_BUTTON4_TRIPLE_CLICKED </item>
+      <item> NCURSES_BUTTON_ALT </item>
+      <item> NCURSES_BUTTON_CTRL </item>
+      <item> NCURSES_BUTTON_SHIFT </item>
+      <item> NCURSES_COLOR_BLACK </item>
+      <item> NCURSES_COLOR_BLUE </item>
+      <item> NCURSES_COLOR_CYAN </item>
+      <item> NCURSES_COLOR_GREEN </item>
+      <item> NCURSES_COLOR_MAGENTA </item>
+      <item> NCURSES_COLOR_RED </item>
+      <item> NCURSES_COLOR_WHITE </item>
+      <item> NCURSES_COLOR_YELLOW </item>
+      <item> NCURSES_KEY_A1 </item>
+      <item> NCURSES_KEY_A3 </item>
+      <item> NCURSES_KEY_B2 </item>
+      <item> NCURSES_KEY_BACKSPACE </item>
+      <item> NCURSES_KEY_BEG </item>
+      <item> NCURSES_KEY_BTAB </item>
+      <item> NCURSES_KEY_C1 </item>
+      <item> NCURSES_KEY_C3 </item>
+      <item> NCURSES_KEY_CANCEL </item>
+      <item> NCURSES_KEY_CATAB </item>
+      <item> NCURSES_KEY_CLEAR </item>
+      <item> NCURSES_KEY_CLOSE </item>
+      <item> NCURSES_KEY_COMMAND </item>
+      <item> NCURSES_KEY_COPY </item>
+      <item> NCURSES_KEY_CREATE </item>
+      <item> NCURSES_KEY_CTAB </item>
+      <item> NCURSES_KEY_DC </item>
+      <item> NCURSES_KEY_DL </item>
+      <item> NCURSES_KEY_DOWN </item>
+      <item> NCURSES_KEY_EIC </item>
+      <item> NCURSES_KEY_END </item>
+      <item> NCURSES_KEY_ENTER </item>
+      <item> NCURSES_KEY_EOL </item>
+      <item> NCURSES_KEY_EOS </item>
+      <item> NCURSES_KEY_EXIT </item>
+      <item> NCURSES_KEY_F0 </item>
+      <item> NCURSES_KEY_F1 </item>
+      <item> NCURSES_KEY_F10 </item>
+      <item> NCURSES_KEY_F11 </item>
+      <item> NCURSES_KEY_F12 </item>
+      <item> NCURSES_KEY_F2 </item>
+      <item> NCURSES_KEY_F3 </item>
+      <item> NCURSES_KEY_F4 </item>
+      <item> NCURSES_KEY_F5 </item>
+      <item> NCURSES_KEY_F6 </item>
+      <item> NCURSES_KEY_F7 </item>
+      <item> NCURSES_KEY_F8 </item>
+      <item> NCURSES_KEY_F9 </item>
+      <item> NCURSES_KEY_FIND </item>
+      <item> NCURSES_KEY_HELP </item>
+      <item> NCURSES_KEY_IC </item>
+      <item> NCURSES_KEY_IL </item>
+      <item> NCURSES_KEY_LEFT </item>
+      <item> NCURSES_KEY_LL </item>
+      <item> NCURSES_KEY_MARK </item>
+      <item> NCURSES_KEY_MESSAGE </item>
+      <item> NCURSES_KEY_MOUSE </item>
+      <item> NCURSES_KEY_MOVE </item>
+      <item> NCURSES_KEY_NEXT </item>
+      <item> NCURSES_KEY_NPAGE </item>
+      <item> NCURSES_KEY_OPEN </item>
+      <item> NCURSES_KEY_OPTIONS </item>
+      <item> NCURSES_KEY_PPAGE </item>
+      <item> NCURSES_KEY_PREVIOUS </item>
+      <item> NCURSES_KEY_PRINT </item>
+      <item> NCURSES_KEY_REDO </item>
+      <item> NCURSES_KEY_REFERENCE </item>
+      <item> NCURSES_KEY_REFRESH </item>
+      <item> NCURSES_KEY_REPLACE </item>
+      <item> NCURSES_KEY_RESET </item>
+      <item> NCURSES_KEY_RESIZE </item>
+      <item> NCURSES_KEY_RESTART </item>
+      <item> NCURSES_KEY_RESUME </item>
+      <item> NCURSES_KEY_RIGHT </item>
+      <item> NCURSES_KEY_SAVE </item>
+      <item> NCURSES_KEY_SBEG </item>
+      <item> NCURSES_KEY_SCANCEL </item>
+      <item> NCURSES_KEY_SCOMMAND </item>
+      <item> NCURSES_KEY_SCOPY </item>
+      <item> NCURSES_KEY_SCREATE </item>
+      <item> NCURSES_KEY_SDC </item>
+      <item> NCURSES_KEY_SDL </item>
+      <item> NCURSES_KEY_SELECT </item>
+      <item> NCURSES_KEY_SEND </item>
+      <item> NCURSES_KEY_SEOL </item>
+      <item> NCURSES_KEY_SEXIT </item>
+      <item> NCURSES_KEY_SF </item>
+      <item> NCURSES_KEY_SFIND </item>
+      <item> NCURSES_KEY_SHELP </item>
+      <item> NCURSES_KEY_SHOME </item>
+      <item> NCURSES_KEY_SIC </item>
+      <item> NCURSES_KEY_SLEFT </item>
+      <item> NCURSES_KEY_SMESSAGE </item>
+      <item> NCURSES_KEY_SMOVE </item>
+      <item> NCURSES_KEY_SNEXT </item>
+      <item> NCURSES_KEY_SOPTIONS </item>
+      <item> NCURSES_KEY_SPREVIOUS </item>
+      <item> NCURSES_KEY_SPRINT </item>
+      <item> NCURSES_KEY_SR </item>
+      <item> NCURSES_KEY_SREDO </item>
+      <item> NCURSES_KEY_SREPLACE </item>
+      <item> NCURSES_KEY_SRESET </item>
+      <item> NCURSES_KEY_SRIGHT </item>
+      <item> NCURSES_KEY_SRSUME </item>
+      <item> NCURSES_KEY_SSAVE </item>
+      <item> NCURSES_KEY_SSUSPEND </item>
+      <item> NCURSES_KEY_STAB </item>
+      <item> NCURSES_KEY_SUNDO </item>
+      <item> NCURSES_KEY_SUSPEND </item>
+      <item> NCURSES_KEY_UNDO </item>
+      <item> NCURSES_KEY_UP </item>
+      <item> NCURSES_REPORT_MOUSE_POSITION </item>
+      <item> NIL </item>
+      <item> NOEXPR </item>
+      <item> NULL </item>
+      <item> OCI_ASSOC </item>
+      <item> OCI_BOTH </item>
+      <item> OCI_B_BFILE </item>
+      <item> OCI_B_BIN </item>
+      <item> OCI_B_BLOB </item>
+      <item> OCI_B_CFILEE </item>
+      <item> OCI_B_CLOB </item>
+      <item> OCI_B_CURSOR </item>
+      <item> OCI_B_INT </item>
+      <item> OCI_B_NTY </item>
+      <item> OCI_B_NUM </item>
+      <item> OCI_B_ROWID </item>
+      <item> OCI_COMMIT_ON_SUCCESS </item>
+      <item> OCI_CRED_EXT </item>
+      <item> OCI_DEFAULT </item>
+      <item> OCI_DESCRIBE_ONLY </item>
+      <item> OCI_DTYPE_FILE </item>
+      <item> OCI_DTYPE_LOB </item>
+      <item> OCI_DTYPE_ROWID </item>
+      <item> OCI_FETCHSTATEMENT_BY_COLUMN </item>
+      <item> OCI_FETCHSTATEMENT_BY_ROW </item>
+      <item> OCI_LOB_BUFFER_FREE </item>
+      <item> OCI_NO_AUTO_COMMIT </item>
+      <item> OCI_NUM </item>
+      <item> OCI_RETURN_LOBS </item>
+      <item> OCI_RETURN_NULLS </item>
+      <item> OCI_SEEK_CUR </item>
+      <item> OCI_SEEK_END </item>
+      <item> OCI_SEEK_SET </item>
+      <item> OCI_SYSDBA </item>
+      <item> OCI_SYSOPER </item>
+      <item> OCI_TEMP_BLOB </item>
+      <item> OCI_TEMP_CLOB </item>
+      <item> ODBC_BINMODE_CONVERT </item>
+      <item> ODBC_BINMODE_PASSTHRU </item>
+      <item> ODBC_BINMODE_RETURN </item>
+      <item> ODBC_TYPE </item>
+      <item> OPENSSL_ALGO_MD2 </item>
+      <item> OPENSSL_ALGO_MD4 </item>
+      <item> OPENSSL_ALGO_MD5 </item>
+      <item> OPENSSL_ALGO_SHA1 </item>
+      <item> OPENSSL_CIPHER_3DES </item>
+      <item> OPENSSL_CIPHER_DES </item>
+      <item> OPENSSL_CIPHER_RC2_128 </item>
+      <item> OPENSSL_CIPHER_RC2_40 </item>
+      <item> OPENSSL_CIPHER_RC2_64 </item>
+      <item> OPENSSL_KEYTYPE_DH </item>
+      <item> OPENSSL_KEYTYPE_DSA </item>
+      <item> OPENSSL_KEYTYPE_RSA </item>
+      <item> OPENSSL_NO_PADDING </item>
+      <item> OPENSSL_PKCS1_OAEP_PADDING </item>
+      <item> OPENSSL_PKCS1_PADDING </item>
+      <item> OPENSSL_SSLV23_PADDING </item>
+      <item> OP_ANONYMOUS </item>
+      <item> OP_DEBUG </item>
+      <item> OP_EXPUNGE </item>
+      <item> OP_HALFOPEN </item>
+      <item> OP_PROTOTYPE </item>
+      <item> OP_READONLY </item>
+      <item> OP_SECURE </item>
+      <item> OP_SHORTCACHE </item>
+      <item> OP_SILENT </item>
+      <item> O_APPEND </item>
+      <item> O_ASYNC </item>
+      <item> O_CREAT </item>
+      <item> O_EXCL </item>
+      <item> O_NDELAY </item>
+      <item> O_NOCTTY </item>
+      <item> O_NONBLOCK </item>
+      <item> O_RDONLY </item>
+      <item> O_RDWR </item>
+      <item> O_SYNC </item>
+      <item> O_TRUNC </item>
+      <item> O_WRONLY </item>
+      <item> PATHINFO_BASENAME </item>
+      <item> PATHINFO_DIRNAME </item>
+      <item> PATHINFO_EXTENSION </item>
+      <item> PATHINFO_FILENAME </item>
+      <item> PATH_SEPARATOR </item>
+      <item> PEAR_EXTENSION_DIR </item>
+      <item> PEAR_INSTALL_DIR </item>
+      <item> PGSQL_ASSOC </item>
+      <item> PGSQL_BAD_RESPONSE </item>
+      <item> PGSQL_BOTH </item>
+      <item> PGSQL_COMMAND_OK </item>
+      <item> PGSQL_CONNECTION_BAD </item>
+      <item> PGSQL_CONNECTION_OK </item>
+      <item> PGSQL_CONNECT_FORCE_NEW </item>
+      <item> PGSQL_CONV_FORCE_NULL </item>
+      <item> PGSQL_CONV_IGNORE_DEFAULT </item>
+      <item> PGSQL_CONV_IGNORE_NOT_NULL </item>
+      <item> PGSQL_COPY_IN </item>
+      <item> PGSQL_COPY_OUT </item>
+      <item> PGSQL_DML_ASYNC </item>
+      <item> PGSQL_DML_EXEC </item>
+      <item> PGSQL_DML_NO_CONV </item>
+      <item> PGSQL_DML_STRING </item>
+      <item> PGSQL_EMPTY_QUERY </item>
+      <item> PGSQL_FATAL_ERROR </item>
+      <item> PGSQL_NONFATAL_ERROR </item>
+      <item> PGSQL_NUM </item>
+      <item> PGSQL_SEEK_CUR </item>
+      <item> PGSQL_SEEK_END </item>
+      <item> PGSQL_SEEK_SET </item>
+      <item> PGSQL_STATUS_LONG </item>
+      <item> PGSQL_STATUS_STRING </item>
+      <item> PGSQL_TUPLES_OK </item>
+      <item> PHP_BINARY_READ </item>
+      <item> PHP_BINDIR </item>
+      <item> PHP_CONFIG_FILE_PATH </item>
+      <item> PHP_CONFIG_FILE_SCAN_DIR </item>
+      <item> PHP_DATADIR </item>
+      <item> PHP_EOL </item>
+      <item> PHP_EXTENSION_DIR </item>
+      <item> PHP_LIBDIR </item>
+      <item> PHP_LOCALSTATEDIR </item>
+      <item> PHP_NORMAL_READ </item>
+      <item> PHP_OS </item>
+      <item> PHP_OUTPUT_HANDLER_CONT </item>
+      <item> PHP_OUTPUT_HANDLER_END </item>
+      <item> PHP_OUTPUT_HANDLER_START </item>
+      <item> PHP_PREFIX </item>
+      <item> PHP_SAPI </item>
+      <item> PHP_SHLIB_SUFFIX </item>
+      <item> PHP_SYSCONFDIR </item>
+      <item> PHP_URL_FRAGMENT </item>
+      <item> PHP_URL_HOST </item>
+      <item> PHP_URL_PASS </item>
+      <item> PHP_URL_PATH </item>
+      <item> PHP_URL_PORT </item>
+      <item> PHP_URL_QUERY </item>
+      <item> PHP_URL_SCHEME </item>
+      <item> PHP_URL_USER </item>
+      <item> PHP_VERSION </item>
+      <item> PKCS7_BINARY </item>
+      <item> PKCS7_DETACHED </item>
+      <item> PKCS7_NOATTR </item>
+      <item> PKCS7_NOCERTS </item>
+      <item> PKCS7_NOCHAIN </item>
+      <item> PKCS7_NOINTERN </item>
+      <item> PKCS7_NOSIGS </item>
+      <item> PKCS7_NOVERIFY </item>
+      <item> PKCS7_TEXT </item>
+      <item> PM_STR </item>
+      <item> PREG_GREP_INVERT </item>
+      <item> PREG_OFFSET_CAPTURE </item>
+      <item> PREG_PATTERN_ORDER </item>
+      <item> PREG_SET_ORDER </item>
+      <item> PREG_SPLIT_DELIM_CAPTURE </item>
+      <item> PREG_SPLIT_NO_EMPTY </item>
+      <item> PREG_SPLIT_OFFSET_CAPTURE </item>
+      <item> PRIO_PGRP </item>
+      <item> PRIO_PROCESS </item>
+      <item> PRIO_USER </item>
+      <item> PSFS_ERR_FATAL </item>
+      <item> PSFS_FEED_ME </item>
+      <item> PSFS_FLAG_FLUSH_CLOSE </item>
+      <item> PSFS_FLAG_FLUSH_INC </item>
+      <item> PSFS_FLAG_NORMAL </item>
+      <item> PSFS_PASS_ON </item>
+      <item> P_PRIVATE </item>
+      <item> P_PROTECTED </item>
+      <item> P_PUBLIC </item>
+      <item> P_STATIC </item>
+      <item> RADIXCHAR </item>
+      <item> RIT_CHILD_FIRST </item>
+      <item> RIT_LEAVES_ONLY </item>
+      <item> RIT_SELF_FIRST </item>
+      <item> SA_ALL </item>
+      <item> SA_MESSAGES </item>
+      <item> SA_RECENT </item>
+      <item> SA_UIDNEXT </item>
+      <item> SA_UIDVALIDITY </item>
+      <item> SA_UNSEEN </item>
+      <item> SEEK_CUR </item>
+      <item> SEEK_END </item>
+      <item> SEEK_SET </item>
+      <item> SE_FREE </item>
+      <item> SE_NOPREFETCH </item>
+      <item> SE_UID </item>
+      <item> SIGABRT </item>
+      <item> SIGALRM </item>
+      <item> SIGBABY </item>
+      <item> SIGBUS </item>
+      <item> SIGCHLD </item>
+      <item> SIGCLD </item>
+      <item> SIGCONT </item>
+      <item> SIGFPE </item>
+      <item> SIGHUP </item>
+      <item> SIGILL </item>
+      <item> SIGINT </item>
+      <item> SIGIO </item>
+      <item> SIGIOT </item>
+      <item> SIGKILL </item>
+      <item> SIGPIPE </item>
+      <item> SIGPOLL </item>
+      <item> SIGPROF </item>
+      <item> SIGPWR </item>
+      <item> SIGQUIT </item>
+      <item> SIGSEGV </item>
+      <item> SIGSTKFLT </item>
+      <item> SIGSTOP </item>
+      <item> SIGSYS </item>
+      <item> SIGTERM </item>
+      <item> SIGTRAP </item>
+      <item> SIGTSTP </item>
+      <item> SIGTTIN </item>
+      <item> SIGTTOU </item>
+      <item> SIGURG </item>
+      <item> SIGUSR1 </item>
+      <item> SIGUSR2 </item>
+      <item> SIGVTALRM </item>
+      <item> SIGWINCH </item>
+      <item> SIGXCPU </item>
+      <item> SIGXFSZ </item>
+      <item> SIG_DFL </item>
+      <item> SIG_ERR </item>
+      <item> SIG_IGN </item>
+      <item> SNMP_BIT_STR </item>
+      <item> SNMP_COUNTER </item>
+      <item> SNMP_COUNTER64 </item>
+      <item> SNMP_INTEGER </item>
+      <item> SNMP_IPADDRESS </item>
+      <item> SNMP_NULL </item>
+      <item> SNMP_OBJECT_ID </item>
+      <item> SNMP_OCTET_STR </item>
+      <item> SNMP_OPAQUE </item>
+      <item> SNMP_TIMETICKS </item>
+      <item> SNMP_UINTEGER </item>
+      <item> SNMP_UNSIGNED </item>
+      <item> SNMP_VALUE_LIBRARY </item>
+      <item> SNMP_VALUE_OBJECT </item>
+      <item> SNMP_VALUE_PLAIN </item>
+      <item> SOAP_1_1 </item>
+      <item> SOAP_1_2 </item>
+      <item> SOAP_ACTOR_NEXT </item>
+      <item> SOAP_ACTOR_NONE </item>
+      <item> SOAP_ACTOR_UNLIMATERECEIVER </item>
+      <item> SOAP_COMPRESSION_ACCEPT </item>
+      <item> SOAP_COMPRESSION_DEFLATE </item>
+      <item> SOAP_COMPRESSION_GZIP </item>
+      <item> SOAP_DOCUMENT </item>
+      <item> SOAP_ENCODED </item>
+      <item> SOAP_ENC_ARRAY </item>
+      <item> SOAP_ENC_OBJECT </item>
+      <item> SOAP_FUNCTIONS_ALL </item>
+      <item> SOAP_LITERAL </item>
+      <item> SOAP_PERSISTENCE_REQUEST </item>
+      <item> SOAP_PERSISTENCE_SESSION </item>
+      <item> SOAP_RPC </item>
+      <item> SOCKET_E2BIG </item>
+      <item> SOCKET_EACCES </item>
+      <item> SOCKET_EADDRINUSE </item>
+      <item> SOCKET_EADDRNOTAVAIL </item>
+      <item> SOCKET_EADV </item>
+      <item> SOCKET_EAFNOSUPPORT </item>
+      <item> SOCKET_EAGAIN </item>
+      <item> SOCKET_EALREADY </item>
+      <item> SOCKET_EBADE </item>
+      <item> SOCKET_EBADF </item>
+      <item> SOCKET_EBADFD </item>
+      <item> SOCKET_EBADMSG </item>
+      <item> SOCKET_EBADR </item>
+      <item> SOCKET_EBADRQC </item>
+      <item> SOCKET_EBADSLT </item>
+      <item> SOCKET_EBUSY </item>
+      <item> SOCKET_ECHRNG </item>
+      <item> SOCKET_ECOMM </item>
+      <item> SOCKET_ECONNABORTED </item>
+      <item> SOCKET_ECONNREFUSED </item>
+      <item> SOCKET_ECONNRESET </item>
+      <item> SOCKET_EDESTADDRREQ </item>
+      <item> SOCKET_EDQUOT </item>
+      <item> SOCKET_EEXIST </item>
+      <item> SOCKET_EFAULT </item>
+      <item> SOCKET_EHOSTDOWN </item>
+      <item> SOCKET_EHOSTUNREACH </item>
+      <item> SOCKET_EIDRM </item>
+      <item> SOCKET_EINPROGRESS </item>
+      <item> SOCKET_EINTR </item>
+      <item> SOCKET_EINVAL </item>
+      <item> SOCKET_EIO </item>
+      <item> SOCKET_EISCONN </item>
+      <item> SOCKET_EISDIR </item>
+      <item> SOCKET_EISNAM </item>
+      <item> SOCKET_EL2HLT </item>
+      <item> SOCKET_EL2NSYNC </item>
+      <item> SOCKET_EL3HLT </item>
+      <item> SOCKET_EL3RST </item>
+      <item> SOCKET_ELNRNG </item>
+      <item> SOCKET_ELOOP </item>
+      <item> SOCKET_EMEDIUMTYPE </item>
+      <item> SOCKET_EMFILE </item>
+      <item> SOCKET_EMLINK </item>
+      <item> SOCKET_EMSGSIZE </item>
+      <item> SOCKET_EMULTIHOP </item>
+      <item> SOCKET_ENAMETOOLONG </item>
+      <item> SOCKET_ENETDOWN </item>
+      <item> SOCKET_ENETRESET </item>
+      <item> SOCKET_ENETUNREACH </item>
+      <item> SOCKET_ENFILE </item>
+      <item> SOCKET_ENOANO </item>
+      <item> SOCKET_ENOBUFS </item>
+      <item> SOCKET_ENOCSI </item>
+      <item> SOCKET_ENODATA </item>
+      <item> SOCKET_ENODEV </item>
+      <item> SOCKET_ENOENT </item>
+      <item> SOCKET_ENOLCK </item>
+      <item> SOCKET_ENOLINK </item>
+      <item> SOCKET_ENOMEDIUM </item>
+      <item> SOCKET_ENOMEM </item>
+      <item> SOCKET_ENOMSG </item>
+      <item> SOCKET_ENONET </item>
+      <item> SOCKET_ENOPROTOOPT </item>
+      <item> SOCKET_ENOSPC </item>
+      <item> SOCKET_ENOSR </item>
+      <item> SOCKET_ENOSTR </item>
+      <item> SOCKET_ENOSYS </item>
+      <item> SOCKET_ENOTBLK </item>
+      <item> SOCKET_ENOTCONN </item>
+      <item> SOCKET_ENOTDIR </item>
+      <item> SOCKET_ENOTEMPTY </item>
+      <item> SOCKET_ENOTSOCK </item>
+      <item> SOCKET_ENOTTY </item>
+      <item> SOCKET_ENOTUNIQ </item>
+      <item> SOCKET_ENXIO </item>
+      <item> SOCKET_EOPNOTSUPP </item>
+      <item> SOCKET_EPERM </item>
+      <item> SOCKET_EPFNOSUPPORT </item>
+      <item> SOCKET_EPIPE </item>
+      <item> SOCKET_EPROTO </item>
+      <item> SOCKET_EPROTONOSUPPORT </item>
+      <item> SOCKET_EPROTOTYPE </item>
+      <item> SOCKET_EREMCHG </item>
+      <item> SOCKET_EREMOTE </item>
+      <item> SOCKET_EREMOTEIO </item>
+      <item> SOCKET_ERESTART </item>
+      <item> SOCKET_EROFS </item>
+      <item> SOCKET_ESHUTDOWN </item>
+      <item> SOCKET_ESOCKTNOSUPPORT </item>
+      <item> SOCKET_ESPIPE </item>
+      <item> SOCKET_ESRMNT </item>
+      <item> SOCKET_ESTRPIPE </item>
+      <item> SOCKET_ETIME </item>
+      <item> SOCKET_ETIMEDOUT </item>
+      <item> SOCKET_ETOOMANYREFS </item>
+      <item> SOCKET_EUNATCH </item>
+      <item> SOCKET_EUSERS </item>
+      <item> SOCKET_EWOULDBLOCK </item>
+      <item> SOCKET_EXDEV </item>
+      <item> SOCKET_EXFULL </item>
+      <item> SOCK_DGRAM </item>
+      <item> SOCK_RAW </item>
+      <item> SOCK_RDM </item>
+      <item> SOCK_SEQPACKET </item>
+      <item> SOCK_STREAM </item>
+      <item> SOL_SOCKET </item>
+      <item> SOL_TCP </item>
+      <item> SOL_UDP </item>
+      <item> SOMAXCONN </item>
+      <item> SORTARRIVAL </item>
+      <item> SORTCC </item>
+      <item> SORTDATE </item>
+      <item> SORTFROM </item>
+      <item> SORTSIZE </item>
+      <item> SORTSUBJECT </item>
+      <item> SORTTO </item>
+      <item> SORT_ASC </item>
+      <item> SORT_DESC </item>
+      <item> SORT_FLAG_CASE </item>
+      <item> SORT_LOCALE_STRING </item>
+      <item> SORT_NATURAL </item>
+      <item> SORT_NUMERIC </item>
+      <item> SORT_REGULAR </item>
+      <item> SORT_STRING </item>
+      <item> SO_BROADCAST </item>
+      <item> SO_DEBUG </item>
+      <item> SO_DONTROUTE </item>
+      <item> SO_ERROR </item>
+      <item> SO_FREE </item>
+      <item> SO_KEEPALIVE </item>
+      <item> SO_LINGER </item>
+      <item> SO_NOSERVER </item>
+      <item> SO_OOBINLINE </item>
+      <item> SO_RCVBUF </item>
+      <item> SO_RCVLOWAT </item>
+      <item> SO_RCVTIMEO </item>
+      <item> SO_REUSEADDR </item>
+      <item> SO_SNDBUF </item>
+      <item> SO_SNDLOWAT </item>
+      <item> SO_SNDTIMEO </item>
+      <item> SO_TYPE </item>
+      <item> SQLITE3_ASSOC </item>
+      <item> SQLITE3_BLOB </item>
+      <item> SQLITE3_BOTH </item>
+      <item> SQLITE3_FLOAT </item>
+      <item> SQLITE3_INTEGER </item>
+      <item> SQLITE3_NULL </item>
+      <item> SQLITE3_NUM </item>
+      <item> SQLITE3_OPEN_CREATE </item>
+      <item> SQLITE3_OPEN_READONLY </item>
+      <item> SQLITE3_OPEN_READWRITE </item>
+      <item> SQLITE3_TEXT </item>
+      <item> SQLITE_ABORT </item>
+      <item> SQLITE_ASSOC </item>
+      <item> SQLITE_AUTH </item>
+      <item> SQLITE_BOTH </item>
+      <item> SQLITE_BUSY </item>
+      <item> SQLITE_CANTOPEN </item>
+      <item> SQLITE_CONSTRAINT </item>
+      <item> SQLITE_CORRUPT </item>
+      <item> SQLITE_DONE </item>
+      <item> SQLITE_EMPTY </item>
+      <item> SQLITE_ERROR </item>
+      <item> SQLITE_FORMAT </item>
+      <item> SQLITE_FULL </item>
+      <item> SQLITE_INTERNAL </item>
+      <item> SQLITE_INTERRUPT </item>
+      <item> SQLITE_IOERR </item>
+      <item> SQLITE_LOCKED </item>
+      <item> SQLITE_MISMATCH </item>
+      <item> SQLITE_MISUSE </item>
+      <item> SQLITE_NOLFS </item>
+      <item> SQLITE_NOMEM </item>
+      <item> SQLITE_NOTFOUND </item>
+      <item> SQLITE_NUM </item>
+      <item> SQLITE_OK </item>
+      <item> SQLITE_PERM </item>
+      <item> SQLITE_PROTOCOL </item>
+      <item> SQLITE_READONLY </item>
+      <item> SQLITE_ROW </item>
+      <item> SQLITE_SCHEMA </item>
+      <item> SQLITE_TOOBIG </item>
+      <item> SQLT_AFC </item>
+      <item> SQLT_AVC </item>
+      <item> SQLT_BDOUBLE </item>
+      <item> SQLT_BFILEE </item>
+      <item> SQLT_BFLOAT </item>
+      <item> SQLT_BIN </item>
+      <item> SQLT_BLOB </item>
+      <item> SQLT_CFILEE </item>
+      <item> SQLT_CHR </item>
+      <item> SQLT_CLOB </item>
+      <item> SQLT_FLT </item>
+      <item> SQLT_INT </item>
+      <item> SQLT_LBI </item>
+      <item> SQLT_LNG </item>
+      <item> SQLT_LVC </item>
+      <item> SQLT_NTY </item>
+      <item> SQLT_NUM </item>
+      <item> SQLT_ODT </item>
+      <item> SQLT_RDD </item>
+      <item> SQLT_RSET </item>
+      <item> SQLT_STR </item>
+      <item> SQLT_UIN </item>
+      <item> SQLT_VCS </item>
+      <item> SQL_BIGINT </item>
+      <item> SQL_BINARY </item>
+      <item> SQL_BIT </item>
+      <item> SQL_CHAR </item>
+      <item> SQL_CONCURRENCY </item>
+      <item> SQL_CONCUR_LOCK </item>
+      <item> SQL_CONCUR_READ_ONLY </item>
+      <item> SQL_CONCUR_ROWVER </item>
+      <item> SQL_CONCUR_VALUES </item>
+      <item> SQL_CURSOR_DYNAMIC </item>
+      <item> SQL_CURSOR_FORWARD_ONLY </item>
+      <item> SQL_CURSOR_KEYSET_DRIVEN </item>
+      <item> SQL_CURSOR_STATIC </item>
+      <item> SQL_CURSOR_TYPE </item>
+      <item> SQL_CUR_USE_DRIVER </item>
+      <item> SQL_CUR_USE_IF_NEEDED </item>
+      <item> SQL_CUR_USE_ODBC </item>
+      <item> SQL_DATE </item>
+      <item> SQL_DECIMAL </item>
+      <item> SQL_DOUBLE </item>
+      <item> SQL_FETCH_FIRST </item>
+      <item> SQL_FETCH_NEXT </item>
+      <item> SQL_FLOAT </item>
+      <item> SQL_INTEGER </item>
+      <item> SQL_KEYSET_SIZE </item>
+      <item> SQL_LONGVARBINARY </item>
+      <item> SQL_LONGVARCHAR </item>
+      <item> SQL_NUMERIC </item>
+      <item> SQL_ODBC_CURSORS </item>
+      <item> SQL_REAL </item>
+      <item> SQL_SMALLINT </item>
+      <item> SQL_TIME </item>
+      <item> SQL_TIMESTAMP </item>
+      <item> SQL_TINYINT </item>
+      <item> SQL_VARBINARY </item>
+      <item> SQL_VARCHAR </item>
+      <item> STDERR </item>
+      <item> STDIN </item>
+      <item> STDOUT </item>
+      <item> STREAM_CLIENT_ASYNC_CONNECT </item>
+      <item> STREAM_CLIENT_CONNECT </item>
+      <item> STREAM_CLIENT_PERSISTENT </item>
+      <item> STREAM_ENFORCE_SAFE_MODE </item>
+      <item> STREAM_FILTER_ALL </item>
+      <item> STREAM_FILTER_READ </item>
+      <item> STREAM_FILTER_WRITE </item>
+      <item> STREAM_IGNORE_URL </item>
+      <item> STREAM_MKDIR_RECURSIVE </item>
+      <item> STREAM_MUST_SEEK </item>
+      <item> STREAM_NOTIFY_AUTH_REQUIRED </item>
+      <item> STREAM_NOTIFY_AUTH_RESULT </item>
+      <item> STREAM_NOTIFY_COMPLETED </item>
+      <item> STREAM_NOTIFY_CONNECT </item>
+      <item> STREAM_NOTIFY_FAILURE </item>
+      <item> STREAM_NOTIFY_FILE_SIZE_IS </item>
+      <item> STREAM_NOTIFY_MIME_TYPE_IS </item>
+      <item> STREAM_NOTIFY_PROGRESS </item>
+      <item> STREAM_NOTIFY_REDIRECTED </item>
+      <item> STREAM_NOTIFY_RESOLVE </item>
+      <item> STREAM_NOTIFY_SEVERITY_ERR </item>
+      <item> STREAM_NOTIFY_SEVERITY_INFO </item>
+      <item> STREAM_NOTIFY_SEVERITY_WARN </item>
+      <item> STREAM_OOB </item>
+      <item> STREAM_PEEK </item>
+      <item> STREAM_REPORT_ERRORS </item>
+      <item> STREAM_SERVER_BIND </item>
+      <item> STREAM_SERVER_LISTEN </item>
+      <item> STREAM_URL_STAT_LINK </item>
+      <item> STREAM_URL_STAT_QUIET </item>
+      <item> STREAM_USE_PATH </item>
+      <item> STR_PAD_BOTH </item>
+      <item> STR_PAD_LEFT </item>
+      <item> STR_PAD_RIGHT </item>
+      <item> ST_SET </item>
+      <item> ST_SILENT </item>
+      <item> ST_UID </item>
+      <item> SUNFUNCS_RET_DOUBLE </item>
+      <item> SUNFUNCS_RET_STRING </item>
+      <item> SUNFUNCS_RET_TIMESTAMP </item>
+      <item> S_IRGRP </item>
+      <item> S_IROTH </item>
+      <item> S_IRUSR </item>
+      <item> S_IRWXG </item>
+      <item> S_IRWXO </item>
+      <item> S_IRWXU </item>
+      <item> S_IWGRP </item>
+      <item> S_IWOTH </item>
+      <item> S_IWUSR </item>
+      <item> S_IXGRP </item>
+      <item> S_IXOTH </item>
+      <item> S_IXUSR </item>
+      <item> THOUSEP </item>
+      <item> TRUE </item>
+      <item> TYPEAPPLICATION </item>
+      <item> TYPEAUDIO </item>
+      <item> TYPEIMAGE </item>
+      <item> TYPEMESSAGE </item>
+      <item> TYPEMODEL </item>
+      <item> TYPEMULTIPART </item>
+      <item> TYPEOTHER </item>
+      <item> TYPETEXT </item>
+      <item> TYPEVIDEO </item>
+      <item> T_ABSTRACT </item>
+      <item> T_AND_EQUAL </item>
+      <item> T_ARRAY </item>
+      <item> T_ARRAY_CAST </item>
+      <item> T_AS </item>
+      <item> T_BAD_CHARACTER </item>
+      <item> T_BOOLEAN_AND </item>
+      <item> T_BOOLEAN_OR </item>
+      <item> T_BOOL_CAST </item>
+      <item> T_BREAK </item>
+      <item> T_CASE </item>
+      <item> T_CATCH </item>
+      <item> T_CHARACTER </item>
+      <item> T_CLASS </item>
+      <item> T_CLASS_C </item>
+      <item> T_CLONE </item>
+      <item> T_CLOSE_TAG </item>
+      <item> T_COMMENT </item>
+      <item> T_CONCAT_EQUAL </item>
+      <item> T_CONST </item>
+      <item> T_CONSTANT_ENCAPSED_STRING </item>
+      <item> T_CONTINUE </item>
+      <item> T_CURLY_OPEN </item>
+      <item> T_DEC </item>
+      <item> T_DECLARE </item>
+      <item> T_DEFAULT </item>
+      <item> T_DIV_EQUAL </item>
+      <item> T_DNUMBER </item>
+      <item> T_DO </item>
+      <item> T_DOC_COMMENT </item>
+      <item> T_DOLLAR_OPEN_CURLY_BRACES </item>
+      <item> T_DOUBLE_ARROW </item>
+      <item> T_DOUBLE_CAST </item>
+      <item> T_DOUBLE_COLON </item>
+      <item> T_ECHO </item>
+      <item> T_ELSE </item>
+      <item> T_ELSEIF </item>
+      <item> T_EMPTY </item>
+      <item> T_ENCAPSED_AND_WHITESPACE </item>
+      <item> T_ENDDECLARE </item>
+      <item> T_ENDFOR </item>
+      <item> T_ENDFOREACH </item>
+      <item> T_ENDIF </item>
+      <item> T_ENDSWITCH </item>
+      <item> T_ENDWHILE </item>
+      <item> T_END_HEREDOC </item>
+      <item> T_EVAL </item>
+      <item> T_EXIT </item>
+      <item> T_EXTENDS </item>
+      <item> T_FILE </item>
+      <item> T_FINAL </item>
+      <item> T_FMT </item>
+      <item> T_FMT_AMPM </item>
+      <item> T_FOR </item>
+      <item> T_FOREACH </item>
+      <item> T_FUNCTION </item>
+      <item> T_FUNC_C </item>
+      <item> T_GLOBAL </item>
+      <item> T_IF </item>
+      <item> T_IMPLEMENTS </item>
+      <item> T_INC </item>
+      <item> T_INCLUDE </item>
+      <item> T_INCLUDE_ONCE </item>
+      <item> T_INLINE_HTML </item>
+      <item> T_INSTANCEOF </item>
+      <item> T_INTERFACE </item>
+      <item> T_INT_CAST </item>
+      <item> T_ISSET </item>
+      <item> T_IS_EQUAL </item>
+      <item> T_IS_GREATER_OR_EQUAL </item>
+      <item> T_IS_IDENTICAL </item>
+      <item> T_IS_NOT_EQUAL </item>
+      <item> T_IS_NOT_IDENTICAL </item>
+      <item> T_IS_SMALLER_OR_EQUAL </item>
+      <item> T_LINE </item>
+      <item> T_LIST </item>
+      <item> T_LNUMBER </item>
+      <item> T_LOGICAL_AND </item>
+      <item> T_LOGICAL_OR </item>
+      <item> T_LOGICAL_XOR </item>
+      <item> T_METHOD_C </item>
+      <item> T_MINUS_EQUAL </item>
+      <item> T_MOD_EQUAL </item>
+      <item> T_MUL_EQUAL </item>
+      <item> T_NEW </item>
+      <item> T_NUM_STRING </item>
+      <item> T_OBJECT_CAST </item>
+      <item> T_OBJECT_OPERATOR </item>
+      <item> T_OPEN_TAG </item>
+      <item> T_OPEN_TAG_WITH_ECHO </item>
+      <item> T_OR_EQUAL </item>
+      <item> T_PAAMAYIM_NEKUDOTAYIM </item>
+      <item> T_PLUS_EQUAL </item>
+      <item> T_PRINT </item>
+      <item> T_PRIVATE </item>
+      <item> T_PROTECTED </item>
+      <item> T_PUBLIC </item>
+      <item> T_REQUIRE </item>
+      <item> T_REQUIRE_ONCE </item>
+      <item> T_RETURN </item>
+      <item> T_SL </item>
+      <item> T_SL_EQUAL </item>
+      <item> T_SR </item>
+      <item> T_SR_EQUAL </item>
+      <item> T_START_HEREDOC </item>
+      <item> T_STATIC </item>
+      <item> T_STRING </item>
+      <item> T_STRING_CAST </item>
+      <item> T_STRING_VARNAME </item>
+      <item> T_SWITCH </item>
+      <item> T_THROW </item>
+      <item> T_TRY </item>
+      <item> T_UNSET </item>
+      <item> T_UNSET_CAST </item>
+      <item> T_USE </item>
+      <item> T_VAR </item>
+      <item> T_VARIABLE </item>
+      <item> T_WHILE </item>
+      <item> T_WHITESPACE </item>
+      <item> T_XOR_EQUAL </item>
+      <item> UNKNOWN_TYPE </item>
+      <item> UPLOAD_ERR_CANT_WRITE </item>
+      <item> UPLOAD_ERR_FORM_SIZE </item>
+      <item> UPLOAD_ERR_INI_SIZE </item>
+      <item> UPLOAD_ERR_NO_FILE </item>
+      <item> UPLOAD_ERR_NO_TMP_DIR </item>
+      <item> UPLOAD_ERR_OK </item>
+      <item> UPLOAD_ERR_PARTIAL </item>
+      <item> WNOHANG </item>
+      <item> WUNTRACED </item>
+      <item> X509_PURPOSE_ANY </item>
+      <item> X509_PURPOSE_CRL_SIGN </item>
+      <item> X509_PURPOSE_NS_SSL_SERVER </item>
+      <item> X509_PURPOSE_SMIME_ENCRYPT </item>
+      <item> X509_PURPOSE_SMIME_SIGN </item>
+      <item> X509_PURPOSE_SSL_CLIENT </item>
+      <item> X509_PURPOSE_SSL_SERVER </item>
+      <item> XML_ATTRIBUTE_CDATA </item>
+      <item> XML_ATTRIBUTE_DECL_NODE </item>
+      <item> XML_ATTRIBUTE_ENTITY </item>
+      <item> XML_ATTRIBUTE_ENUMERATION </item>
+      <item> XML_ATTRIBUTE_ID </item>
+      <item> XML_ATTRIBUTE_IDREF </item>
+      <item> XML_ATTRIBUTE_IDREFS </item>
+      <item> XML_ATTRIBUTE_NMTOKEN </item>
+      <item> XML_ATTRIBUTE_NMTOKENS </item>
+      <item> XML_ATTRIBUTE_NODE </item>
+      <item> XML_ATTRIBUTE_NOTATION </item>
+      <item> XML_CDATA_SECTION_NODE </item>
+      <item> XML_COMMENT_NODE </item>
+      <item> XML_DOCUMENT_FRAG_NODE </item>
+      <item> XML_DOCUMENT_NODE </item>
+      <item> XML_DOCUMENT_TYPE_NODE </item>
+      <item> XML_DTD_NODE </item>
+      <item> XML_ELEMENT_DECL_NODE </item>
+      <item> XML_ELEMENT_NODE </item>
+      <item> XML_ENTITY_DECL_NODE </item>
+      <item> XML_ENTITY_NODE </item>
+      <item> XML_ENTITY_REF_NODE </item>
+      <item> XML_ERROR_ASYNC_ENTITY </item>
+      <item> XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF </item>
+      <item> XML_ERROR_BAD_CHAR_REF </item>
+      <item> XML_ERROR_BINARY_ENTITY_REF </item>
+      <item> XML_ERROR_DUPLICATE_ATTRIBUTE </item>
+      <item> XML_ERROR_EXTERNAL_ENTITY_HANDLING </item>
+      <item> XML_ERROR_INCORRECT_ENCODING </item>
+      <item> XML_ERROR_INVALID_TOKEN </item>
+      <item> XML_ERROR_JUNK_AFTER_DOC_ELEMENT </item>
+      <item> XML_ERROR_MISPLACED_XML_PI </item>
+      <item> XML_ERROR_NONE </item>
+      <item> XML_ERROR_NO_ELEMENTS </item>
+      <item> XML_ERROR_NO_MEMORY </item>
+      <item> XML_ERROR_PARAM_ENTITY_REF </item>
+      <item> XML_ERROR_PARTIAL_CHAR </item>
+      <item> XML_ERROR_RECURSIVE_ENTITY_REF </item>
+      <item> XML_ERROR_SYNTAX </item>
+      <item> XML_ERROR_TAG_MISMATCH </item>
+      <item> XML_ERROR_UNCLOSED_CDATA_SECTION </item>
+      <item> XML_ERROR_UNCLOSED_TOKEN </item>
+      <item> XML_ERROR_UNDEFINED_ENTITY </item>
+      <item> XML_ERROR_UNKNOWN_ENCODING </item>
+      <item> XML_HTML_DOCUMENT_NODE </item>
+      <item> XML_LOCAL_NAMESPACE </item>
+      <item> XML_NAMESPACE_DECL_NODE </item>
+      <item> XML_NOTATION_NODE </item>
+      <item> XML_OPTION_CASE_FOLDING </item>
+      <item> XML_OPTION_SKIP_TAGSTART </item>
+      <item> XML_OPTION_SKIP_WHITE </item>
+      <item> XML_OPTION_TARGET_ENCODING </item>
+      <item> XML_PI_NODE </item>
+      <item> XML_SAX_IMPL </item>
+      <item> XML_TEXT_NODE </item>
+      <item> XSD_1999_NAMESPACE </item>
+      <item> XSD_1999_TIMEINSTANT </item>
+      <item> XSD_ANYTYPE </item>
+      <item> XSD_ANYURI </item>
+      <item> XSD_BASE64BINARY </item>
+      <item> XSD_BOOLEAN </item>
+      <item> XSD_BYTE </item>
+      <item> XSD_DATE </item>
+      <item> XSD_DATETIME </item>
+      <item> XSD_DECIMAL </item>
+      <item> XSD_DOUBLE </item>
+      <item> XSD_DURATION </item>
+      <item> XSD_ENTITIES </item>
+      <item> XSD_ENTITY </item>
+      <item> XSD_FLOAT </item>
+      <item> XSD_GDAY </item>
+      <item> XSD_GMONTH </item>
+      <item> XSD_GMONTHDAY </item>
+      <item> XSD_GYEAR </item>
+      <item> XSD_GYEARMONTH </item>
+      <item> XSD_HEXBINARY </item>
+      <item> XSD_ID </item>
+      <item> XSD_IDREF </item>
+      <item> XSD_IDREFS </item>
+      <item> XSD_INT </item>
+      <item> XSD_INTEGER </item>
+      <item> XSD_LANGUAGE </item>
+      <item> XSD_LONG </item>
+      <item> XSD_NAME </item>
+      <item> XSD_NAMESPACE </item>
+      <item> XSD_NCNAME </item>
+      <item> XSD_NEGATIVEINTEGER </item>
+      <item> XSD_NMTOKEN </item>
+      <item> XSD_NMTOKENS </item>
+      <item> XSD_NONNEGATIVEINTEGER </item>
+      <item> XSD_NONPOSITIVEINTEGER </item>
+      <item> XSD_NORMALIZEDSTRING </item>
+      <item> XSD_NOTATION </item>
+      <item> XSD_POSITIVEINTEGER </item>
+      <item> XSD_QNAME </item>
+      <item> XSD_SHORT </item>
+      <item> XSD_STRING </item>
+      <item> XSD_TIME </item>
+      <item> XSD_TOKEN </item>
+      <item> XSD_UNSIGNEDBYTE </item>
+      <item> XSD_UNSIGNEDINT </item>
+      <item> XSD_UNSIGNEDLONG </item>
+      <item> XSD_UNSIGNEDSHORT </item>
+      <item> XSL_CLONE_ALWAYS </item>
+      <item> XSL_CLONE_AUTO </item>
+      <item> XSL_CLONE_NEVER </item>
+      <item> YESEXPR </item>
+      <item> YPERR_BADARGS </item>
+      <item> YPERR_BADDB </item>
+      <item> YPERR_BUSY </item>
+      <item> YPERR_DOMAIN </item>
+      <item> YPERR_KEY </item>
+      <item> YPERR_MAP </item>
+      <item> YPERR_NODOM </item>
+      <item> YPERR_NOMORE </item>
+      <item> YPERR_PMAP </item>
+      <item> YPERR_RESRC </item>
+      <item> YPERR_RPC </item>
+      <item> YPERR_VERS </item>
+      <item> YPERR_YPBIND </item>
+      <item> YPERR_YPERR </item>
+      <item> YPERR_YPSERV </item>
+      <item> ZEND_THREAD_SAFE </item>
+      <item> false </item>
+      <item> null </item>
+      <item> true </item>
+    </list>
+    <list name="special_methods">
+      <item> __autoload </item>
+      <item> __call </item>
+      <item> __clone </item>
+      <item> __construct </item>
+      <item> __destruct </item>
+      <item> __get </item>
+      <item> __halt_compiler </item>
+      <item> __isset </item>
+      <item> __set </item>
+      <item> __set_state </item>
+      <item> __sleep </item>
+      <item> __toString </item>
+      <item> __unset </item>
+      <item> __wakeup </item>
+    </list>
+    <list name="functions">
+      <item> _ </item>
+      <item> abs </item>
+      <item> acos </item>
+      <item> acosh </item>
+      <item> addcslashes </item>
+      <item> addslashes </item>
+      <item> apache_get_modules </item>
+      <item> apache_get_version </item>
+      <item> apache_getenv </item>
+      <item> apache_lookup_uri </item>
+      <item> apache_note </item>
+      <item> apache_request_headers </item>
+      <item> apache_response_headers </item>
+      <item> apache_setenv </item>
+      <item> array </item>
+      <item> array_change_key_case </item>
+      <item> array_chunk </item>
+      <item> array_combine </item>
+      <item> array_count_values </item>
+      <item> array_diff </item>
+      <item> array_diff_assoc </item>
+      <item> array_diff_key </item>
+      <item> array_diff_uassoc </item>
+      <item> array_diff_ukey </item>
+      <item> array_fill </item>
+      <item> array_fill_keys </item>
+      <item> array_filter </item>
+      <item> array_flip </item>
+      <item> array_intersect </item>
+      <item> array_intersect_assoc </item>
+      <item> array_intersect_key </item>
+      <item> array_intersect_uassoc </item>
+      <item> array_intersect_ukey </item>
+      <item> array_key_exists </item>
+      <item> array_keys </item>
+      <item> array_map </item>
+      <item> array_merge </item>
+      <item> array_merge_recursive </item>
+      <item> array_multisort </item>
+      <item> array_pad </item>
+      <item> array_pop </item>
+      <item> array_product </item>
+      <item> array_push </item>
+      <item> array_rand </item>
+      <item> array_reduce </item>
+      <item> array_replace </item>
+      <item> array_replace_recursive </item>
+      <item> array_reverse </item>
+      <item> array_search </item>
+      <item> array_shift </item>
+      <item> array_slice </item>
+      <item> array_splice </item>
+      <item> array_sum </item>
+      <item> array_udiff </item>
+      <item> array_udiff_assoc </item>
+      <item> array_udiff_uassoc </item>
+      <item> array_uintersect </item>
+      <item> array_uintersect_assoc </item>
+      <item> array_uintersect_uassoc </item>
+      <item> array_unique </item>
+      <item> array_unshift </item>
+      <item> array_values </item>
+      <item> array_walk </item>
+      <item> array_walk_recursive </item>
+      <item> arsort </item>
+      <item> ascii2ebcdic </item>
+      <item> asin </item>
+      <item> asinh </item>
+      <item> asort </item>
+      <item> aspell_check </item>
+      <item> aspell_check_raw </item>
+      <item> aspell_new </item>
+      <item> aspell_suggest </item>
+      <item> assert </item>
+      <item> assert_options </item>
+      <item> atan </item>
+      <item> atan2 </item>
+      <item> atanh </item>
+      <item> base64_decode </item>
+      <item> base64_encode </item>
+      <item> base_convert </item>
+      <item> basename </item>
+      <item> bcadd </item>
+      <item> bccomp </item>
+      <item> bcdiv </item>
+      <item> bcmod </item>
+      <item> bcmul </item>
+      <item> bcpow </item>
+      <item> bcpowmod </item>
+      <item> bcscale </item>
+      <item> bcsqrt </item>
+      <item> bcsub </item>
+      <item> bin2hex </item>
+      <item> bind_textdomain_codeset </item>
+      <item> bindec </item>
+      <item> bindtextdomain </item>
+      <item> bzclose </item>
+      <item> bzcompress </item>
+      <item> bzdecompress </item>
+      <item> bzerrno </item>
+      <item> bzerror </item>
+      <item> bzerrstr </item>
+      <item> bzflush </item>
+      <item> bzopen </item>
+      <item> bzread </item>
+      <item> bzwrite </item>
+      <item> cal_days_in_month </item>
+      <item> cal_from_jd </item>
+      <item> cal_info </item>
+      <item> cal_to_jd </item>
+      <item> call_user_func </item>
+      <item> call_user_func_array </item>
+      <item> ccvs_add </item>
+      <item> ccvs_auth </item>
+      <item> ccvs_command </item>
+      <item> ccvs_count </item>
+      <item> ccvs_delete </item>
+      <item> ccvs_done </item>
+      <item> ccvs_init </item>
+      <item> ccvs_lookup </item>
+      <item> ccvs_new </item>
+      <item> ccvs_report </item>
+      <item> ccvs_return </item>
+      <item> ccvs_reverse </item>
+      <item> ccvs_sale </item>
+      <item> ccvs_status </item>
+      <item> ccvs_textvalue </item>
+      <item> ccvs_void </item>
+      <item> ceil </item>
+      <item> chdir </item>
+      <item> checkdate </item>
+      <item> checkdnsrr </item>
+      <item> chgrp </item>
+      <item> chmod </item>
+      <item> chop </item>
+      <item> chown </item>
+      <item> chr </item>
+      <item> chroot </item>
+      <item> chunk_split </item>
+      <item> class_exists </item>
+      <item> class_implements </item>
+      <item> class_parents </item>
+      <item> clearstatcache </item>
+      <item> closedir </item>
+      <item> closelog </item>
+      <item> com </item>
+      <item> com_addref </item>
+      <item> com_get </item>
+      <item> com_invoke </item>
+      <item> com_isenum </item>
+      <item> com_load </item>
+      <item> com_load_typelib </item>
+      <item> com_propget </item>
+      <item> com_propput </item>
+      <item> com_propset </item>
+      <item> com_release </item>
+      <item> com_set </item>
+      <item> compact </item>
+      <item> connection_aborted </item>
+      <item> connection_status </item>
+      <item> connection_timeout </item>
+      <item> constant </item>
+      <item> convert_cyr_string </item>
+      <item> convert_uudecode </item>
+      <item> convert_uuencode </item>
+      <item> copy </item>
+      <item> cos </item>
+      <item> cosh </item>
+      <item> count </item>
+      <item> count_chars </item>
+      <item> cpdf_add_annotation </item>
+      <item> cpdf_add_outline </item>
+      <item> cpdf_arc </item>
+      <item> cpdf_begin_text </item>
+      <item> cpdf_circle </item>
+      <item> cpdf_clip </item>
+      <item> cpdf_close </item>
+      <item> cpdf_closepath </item>
+      <item> cpdf_closepath_fill_stroke </item>
+      <item> cpdf_closepath_stroke </item>
+      <item> cpdf_continue_text </item>
+      <item> cpdf_curveto </item>
+      <item> cpdf_end_text </item>
+      <item> cpdf_fill </item>
+      <item> cpdf_fill_stroke </item>
+      <item> cpdf_finalize </item>
+      <item> cpdf_finalize_page </item>
+      <item> cpdf_global_set_document_limits </item>
+      <item> cpdf_import_jpeg </item>
+      <item> cpdf_lineto </item>
+      <item> cpdf_moveto </item>
+      <item> cpdf_newpath </item>
+      <item> cpdf_open </item>
+      <item> cpdf_output_buffer </item>
+      <item> cpdf_page_init </item>
+      <item> cpdf_place_inline_image </item>
+      <item> cpdf_rect </item>
+      <item> cpdf_restore </item>
+      <item> cpdf_rlineto </item>
+      <item> cpdf_rmoveto </item>
+      <item> cpdf_rotate </item>
+      <item> cpdf_rotate_text </item>
+      <item> cpdf_save </item>
+      <item> cpdf_save_to_file </item>
+      <item> cpdf_scale </item>
+      <item> cpdf_set_action_url </item>
+      <item> cpdf_set_char_spacing </item>
+      <item> cpdf_set_creator </item>
+      <item> cpdf_set_current_page </item>
+      <item> cpdf_set_font </item>
+      <item> cpdf_set_font_directories </item>
+      <item> cpdf_set_font_map_file </item>
+      <item> cpdf_set_horiz_scaling </item>
+      <item> cpdf_set_keywords </item>
+      <item> cpdf_set_leading </item>
+      <item> cpdf_set_page_animation </item>
+      <item> cpdf_set_subject </item>
+      <item> cpdf_set_text_matrix </item>
+      <item> cpdf_set_text_pos </item>
+      <item> cpdf_set_text_rendering </item>
+      <item> cpdf_set_text_rise </item>
+      <item> cpdf_set_title </item>
+      <item> cpdf_set_viewer_preferences </item>
+      <item> cpdf_set_word_spacing </item>
+      <item> cpdf_setdash </item>
+      <item> cpdf_setflat </item>
+      <item> cpdf_setgray </item>
+      <item> cpdf_setgray_fill </item>
+      <item> cpdf_setgray_stroke </item>
+      <item> cpdf_setlinecap </item>
+      <item> cpdf_setlinejoin </item>
+      <item> cpdf_setlinewidth </item>
+      <item> cpdf_setmiterlimit </item>
+      <item> cpdf_setrgbcolor </item>
+      <item> cpdf_setrgbcolor_fill </item>
+      <item> cpdf_setrgbcolor_stroke </item>
+      <item> cpdf_show </item>
+      <item> cpdf_show_xy </item>
+      <item> cpdf_stringwidth </item>
+      <item> cpdf_stroke </item>
+      <item> cpdf_text </item>
+      <item> cpdf_translate </item>
+      <item> crack_check </item>
+      <item> crack_closedict </item>
+      <item> crack_getlastmessage </item>
+      <item> crack_opendict </item>
+      <item> crc32 </item>
+      <item> create_function </item>
+      <item> crypt </item>
+      <item> ctype_alnum </item>
+      <item> ctype_alpha </item>
+      <item> ctype_cntrl </item>
+      <item> ctype_digit </item>
+      <item> ctype_graph </item>
+      <item> ctype_lower </item>
+      <item> ctype_print </item>
+      <item> ctype_punct </item>
+      <item> ctype_space </item>
+      <item> ctype_upper </item>
+      <item> ctype_xdigit </item>
+      <item> curl_close </item>
+      <item> curl_copy_handle </item>
+      <item> curl_errno </item>
+      <item> curl_error </item>
+      <item> curl_exec </item>
+      <item> curl_getinfo </item>
+      <item> curl_init </item>
+      <item> curl_multi_add_handle </item>
+      <item> curl_multi_close </item>
+      <item> curl_multi_exec </item>
+      <item> curl_multi_getcontent </item>
+      <item> curl_multi_info_read </item>
+      <item> curl_multi_init </item>
+      <item> curl_multi_remove_handle </item>
+      <item> curl_multi_select </item>
+      <item> curl_setopt </item>
+      <item> curl_setopt_array </item>
+      <item> curl_version </item>
+      <item> current </item>
+      <item> cybercash_base64_decode </item>
+      <item> cybercash_base64_encode </item>
+      <item> cybercash_decr </item>
+      <item> cybercash_encr </item>
+      <item> cybermut_creerformulairecm </item>
+      <item> cybermut_creerreponsecm </item>
+      <item> cybermut_testmac </item>
+      <item> cyrus_authenticate </item>
+      <item> cyrus_bind </item>
+      <item> cyrus_close </item>
+      <item> cyrus_connect </item>
+      <item> cyrus_query </item>
+      <item> cyrus_unbind </item>
+      <item> date </item>
+      <item> date_add </item>
+      <item> date_create </item>
+      <item> date_create_from_format </item>
+      <item> date_date_set </item>
+      <item> date_default_timezone_get </item>
+      <item> date_default_timezone_set </item>
+      <item> date_diff </item>
+      <item> date_format </item>
+      <item> date_get_last_errors </item>
+      <item> date_interval_create_from_date_string </item>
+      <item> date_interval_format </item>
+      <item> date_isodate_set </item>
+      <item> date_modify </item>
+      <item> date_offset_get </item>
+      <item> date_parse </item>
+      <item> date_parse_from_format </item>
+      <item> date_sub </item>
+      <item> date_sun_info </item>
+      <item> date_sunrise </item>
+      <item> date_sunset </item>
+      <item> date_time_ set </item>
+      <item> date_timestamp_get </item>
+      <item> date_timestamp_set </item>
+      <item> date_timezone_get </item>
+      <item> date_timezone_set </item>
+      <item> dba_close </item>
+      <item> dba_delete </item>
+      <item> dba_exists </item>
+      <item> dba_fetch </item>
+      <item> dba_firstkey </item>
+      <item> dba_handlers </item>
+      <item> dba_insert </item>
+      <item> dba_key_split </item>
+      <item> dba_list </item>
+      <item> dba_nextkey </item>
+      <item> dba_open </item>
+      <item> dba_optimize </item>
+      <item> dba_popen </item>
+      <item> dba_replace </item>
+      <item> dba_sync </item>
+      <item> dbase_add_record </item>
+      <item> dbase_close </item>
+      <item> dbase_create </item>
+      <item> dbase_delete_record </item>
+      <item> dbase_get_header_info </item>
+      <item> dbase_get_record </item>
+      <item> dbase_get_record_with_names </item>
+      <item> dbase_numfields </item>
+      <item> dbase_numrecords </item>
+      <item> dbase_open </item>
+      <item> dbase_pack </item>
+      <item> dbase_replace_record </item>
+      <item> dblist </item>
+      <item> dbmclose </item>
+      <item> dbmdelete </item>
+      <item> dbmexists </item>
+      <item> dbmfetch </item>
+      <item> dbmfirstkey </item>
+      <item> dbminsert </item>
+      <item> dbmnextkey </item>
+      <item> dbmopen </item>
+      <item> dbmreplace </item>
+      <item> dbplus_add </item>
+      <item> dbplus_aql </item>
+      <item> dbplus_chdir </item>
+      <item> dbplus_close </item>
+      <item> dbplus_curr </item>
+      <item> dbplus_errcode </item>
+      <item> dbplus_errno </item>
+      <item> dbplus_find </item>
+      <item> dbplus_first </item>
+      <item> dbplus_flush </item>
+      <item> dbplus_freealllocks </item>
+      <item> dbplus_freelock </item>
+      <item> dbplus_freerlocks </item>
+      <item> dbplus_getlock </item>
+      <item> dbplus_getunique </item>
+      <item> dbplus_info </item>
+      <item> dbplus_last </item>
+      <item> dbplus_lockrel </item>
+      <item> dbplus_next </item>
+      <item> dbplus_open </item>
+      <item> dbplus_prev </item>
+      <item> dbplus_rchperm </item>
+      <item> dbplus_rcreate </item>
+      <item> dbplus_rcrtexact </item>
+      <item> dbplus_rcrtlike </item>
+      <item> dbplus_resolve </item>
+      <item> dbplus_restorepos </item>
+      <item> dbplus_rkeys </item>
+      <item> dbplus_ropen </item>
+      <item> dbplus_rquery </item>
+      <item> dbplus_rrename </item>
+      <item> dbplus_rsecindex </item>
+      <item> dbplus_runlink </item>
+      <item> dbplus_rzap </item>
+      <item> dbplus_savepos </item>
+      <item> dbplus_setindex </item>
+      <item> dbplus_setindexbynumber </item>
+      <item> dbplus_sql </item>
+      <item> dbplus_tcl </item>
+      <item> dbplus_tremove </item>
+      <item> dbplus_undo </item>
+      <item> dbplus_undoprepare </item>
+      <item> dbplus_unlockrel </item>
+      <item> dbplus_unselect </item>
+      <item> dbplus_update </item>
+      <item> dbplus_xlockrel </item>
+      <item> dbplus_xunlockrel </item>
+      <item> dbx_close </item>
+      <item> dbx_compare </item>
+      <item> dbx_connect </item>
+      <item> dbx_error </item>
+      <item> dbx_escape_string </item>
+      <item> dbx_fetch_row </item>
+      <item> dbx_query </item>
+      <item> dbx_sort </item>
+      <item> dcgettext </item>
+      <item> dcngettext </item>
+      <item> debug_backtrace </item>
+      <item> debug_print_backtrace </item>
+      <item> debug_zval_dump </item>
+      <item> decbin </item>
+      <item> dechex </item>
+      <item> decoct </item>
+      <item> define </item>
+      <item> define_syslog_variables </item>
+      <item> defined </item>
+      <item> deg2rad </item>
+      <item> dgettext </item>
+      <item> die </item>
+      <item> dio_close </item>
+      <item> dio_fcntl </item>
+      <item> dio_open </item>
+      <item> dio_read </item>
+      <item> dio_seek </item>
+      <item> dio_stat </item>
+      <item> dio_tcsetattr </item>
+      <item> dio_truncate </item>
+      <item> dio_write </item>
+      <item> dir </item>
+      <item> dirname </item>
+      <item> disk_free_space </item>
+      <item> disk_total_space </item>
+      <item> diskfreespace </item>
+      <item> dl </item>
+      <item> dngettext </item>
+      <item> dns_check_record </item>
+      <item> dns_get_mx </item>
+      <item> dns_get_record </item>
+      <item> dom_import_simplexml </item>
+      <item> domxml_add_root </item>
+      <item> domxml_attributes </item>
+      <item> domxml_children </item>
+      <item> domxml_dumpmem </item>
+      <item> domxml_get_attribute </item>
+      <item> domxml_new_child </item>
+      <item> domxml_new_xmldoc </item>
+      <item> domxml_node </item>
+      <item> domxml_node_set_content </item>
+      <item> domxml_node_unlink_node </item>
+      <item> domxml_root </item>
+      <item> domxml_set_attribute </item>
+      <item> domxml_version </item>
+      <item> doubleval </item>
+      <item> each </item>
+      <item> easter_date </item>
+      <item> easter_days </item>
+      <item> ebcdic2ascii </item>
+      <item> echo </item>
+      <item> empty </item>
+      <item> end </item>
+      <item> error_get_last </item>
+      <item> error_log </item>
+      <item> error_reporting </item>
+      <item> escapeshellarg </item>
+      <item> escapeshellcmd </item>
+      <item> eval </item>
+      <item> exec </item>
+      <item> exif_imagetype </item>
+      <item> exif_read_data </item>
+      <item> exif_tagname </item>
+      <item> exif_thumbnail </item>
+      <item> exit </item>
+      <item> exp </item>
+      <item> explode </item>
+      <item> expm1 </item>
+      <item> extension_loaded </item>
+      <item> extract </item>
+      <item> ezmlm_hash </item>
+      <item> fam_cancel_monitor </item>
+      <item> fam_close </item>
+      <item> fam_monitor_collection </item>
+      <item> fam_monitor_directory </item>
+      <item> fam_monitor_file </item>
+      <item> fam_next_event </item>
+      <item> fam_open </item>
+      <item> fam_pending </item>
+      <item> fam_resume_monitor </item>
+      <item> fam_suspend_monitor </item>
+      <item> fbsql_affected_rows </item>
+      <item> fbsql_autocommit </item>
+      <item> fbsql_change_user </item>
+      <item> fbsql_close </item>
+      <item> fbsql_commit </item>
+      <item> fbsql_connect </item>
+      <item> fbsql_create_blob </item>
+      <item> fbsql_create_clob </item>
+      <item> fbsql_create_db </item>
+      <item> fbsql_data_seek </item>
+      <item> fbsql_database </item>
+      <item> fbsql_database_password </item>
+      <item> fbsql_db_query </item>
+      <item> fbsql_db_status </item>
+      <item> fbsql_drop_db </item>
+      <item> fbsql_errno </item>
+      <item> fbsql_error </item>
+      <item> fbsql_fetch_array </item>
+      <item> fbsql_fetch_assoc </item>
+      <item> fbsql_fetch_field </item>
+      <item> fbsql_fetch_lengths </item>
+      <item> fbsql_fetch_object </item>
+      <item> fbsql_fetch_row </item>
+      <item> fbsql_field_flags </item>
+      <item> fbsql_field_len </item>
+      <item> fbsql_field_name </item>
+      <item> fbsql_field_seek </item>
+      <item> fbsql_field_table </item>
+      <item> fbsql_field_type </item>
+      <item> fbsql_free_result </item>
+      <item> fbsql_get_autostart_info </item>
+      <item> fbsql_hostname </item>
+      <item> fbsql_insert_id </item>
+      <item> fbsql_list_dbs </item>
+      <item> fbsql_list_fields </item>
+      <item> fbsql_list_tables </item>
+      <item> fbsql_next_result </item>
+      <item> fbsql_num_fields </item>
+      <item> fbsql_num_rows </item>
+      <item> fbsql_password </item>
+      <item> fbsql_pconnect </item>
+      <item> fbsql_query </item>
+      <item> fbsql_read_blob </item>
+      <item> fbsql_read_clob </item>
+      <item> fbsql_result </item>
+      <item> fbsql_rollback </item>
+      <item> fbsql_select_db </item>
+      <item> fbsql_set_lob_mode </item>
+      <item> fbsql_set_transaction </item>
+      <item> fbsql_start_db </item>
+      <item> fbsql_stop_db </item>
+      <item> fbsql_tablename </item>
+      <item> fbsql_username </item>
+      <item> fbsql_warnings </item>
+      <item> fclose </item>
+      <item> fdf_add_template </item>
+      <item> fdf_close </item>
+      <item> fdf_create </item>
+      <item> fdf_get_file </item>
+      <item> fdf_get_status </item>
+      <item> fdf_get_value </item>
+      <item> fdf_next_field_name </item>
+      <item> fdf_open </item>
+      <item> fdf_save </item>
+      <item> fdf_set_ap </item>
+      <item> fdf_set_encoding </item>
+      <item> fdf_set_file </item>
+      <item> fdf_set_flags </item>
+      <item> fdf_set_javascript_action </item>
+      <item> fdf_set_opt </item>
+      <item> fdf_set_status </item>
+      <item> fdf_set_submit_form_action </item>
+      <item> fdf_set_value </item>
+      <item> feof </item>
+      <item> fflush </item>
+      <item> fgetc </item>
+      <item> fgetcsv </item>
+      <item> fgets </item>
+      <item> fgetss </item>
+      <item> file </item>
+      <item> file_exists </item>
+      <item> file_get_contents </item>
+      <item> file_put_contents </item>
+      <item> fileatime </item>
+      <item> filectime </item>
+      <item> filegroup </item>
+      <item> fileinode </item>
+      <item> filemtime </item>
+      <item> fileowner </item>
+      <item> fileperms </item>
+      <item> filepro </item>
+      <item> filepro_fieldcount </item>
+      <item> filepro_fieldname </item>
+      <item> filepro_fieldtype </item>
+      <item> filepro_fieldwidth </item>
+      <item> filepro_retrieve </item>
+      <item> filepro_rowcount </item>
+      <item> filesize </item>
+      <item> filetype </item>
+      <item> filter_has_var </item>
+      <item> filter_id </item>
+      <item> filter_input </item>
+      <item> filter_input_array </item>
+      <item> filter_list </item>
+      <item> filter_var </item>
+      <item> filter_var_array </item>
+      <item> floatval </item>
+      <item> flock </item>
+      <item> floor </item>
+      <item> flush </item>
+      <item> fmod </item>
+      <item> fnmatch </item>
+      <item> fopen </item>
+      <item> forward_static_call </item>
+      <item> forward_static_call_array </item>
+      <item> fpassthru </item>
+      <item> fprintf </item>
+      <item> fputcsv </item>
+      <item> fputs </item>
+      <item> fread </item>
+      <item> frenchtojd </item>
+      <item> fribidi_log2vis </item>
+      <item> fscanf </item>
+      <item> fseek </item>
+      <item> fsockopen </item>
+      <item> fstat </item>
+      <item> ftell </item>
+      <item> ftok </item>
+      <item> ftp_alloc </item>
+      <item> ftp_cdup </item>
+      <item> ftp_chdir </item>
+      <item> ftp_chmod </item>
+      <item> ftp_close </item>
+      <item> ftp_connect </item>
+      <item> ftp_delete </item>
+      <item> ftp_exec </item>
+      <item> ftp_fget </item>
+      <item> ftp_fput </item>
+      <item> ftp_get </item>
+      <item> ftp_get_option </item>
+      <item> ftp_login </item>
+      <item> ftp_mdtm </item>
+      <item> ftp_mkdir </item>
+      <item> ftp_nb_continue </item>
+      <item> ftp_nb_fget </item>
+      <item> ftp_nb_fput </item>
+      <item> ftp_nb_get </item>
+      <item> ftp_nb_put </item>
+      <item> ftp_nlist </item>
+      <item> ftp_pasv </item>
+      <item> ftp_put </item>
+      <item> ftp_pwd </item>
+      <item> ftp_quit </item>
+      <item> ftp_raw </item>
+      <item> ftp_rawlist </item>
+      <item> ftp_rename </item>
+      <item> ftp_rmdir </item>
+      <item> ftp_set_option </item>
+      <item> ftp_site </item>
+      <item> ftp_size </item>
+      <item> ftp_ssl_connect </item>
+      <item> ftp_systype </item>
+      <item> ftruncate </item>
+      <item> func_get_arg </item>
+      <item> func_get_args </item>
+      <item> func_num_args </item>
+      <item> function_exists </item>
+      <item> fwrite </item>
+      <item> gc_collect_cycles </item>
+      <item> gc_disable </item>
+      <item> gc_enable </item>
+      <item> gc_enabled </item>
+      <item> gd_info </item>
+      <item> get_called_class </item>
+      <item> get_browser </item>
+      <item> get_cfg_var </item>
+      <item> get_class </item>
+      <item> get_class_methods </item>
+      <item> get_class_vars </item>
+      <item> get_current_user </item>
+      <item> get_declared_classes </item>
+      <item> get_declared_interfaces </item>
+      <item> get_defined_constants </item>
+      <item> get_defined_functions </item>
+      <item> get_defined_vars </item>
+      <item> get_extension_funcs </item>
+      <item> get_headers </item>
+      <item> get_html_translation_table </item>
+      <item> get_include_path </item>
+      <item> get_included_files </item>
+      <item> get_loaded_extensions </item>
+      <item> get_magic_quotes_gpc </item>
+      <item> get_magic_quotes_runtime </item>
+      <item> get_meta_tags </item>
+      <item> get_object_vars </item>
+      <item> get_parent_class </item>
+      <item> get_required_files </item>
+      <item> get_resource_type </item>
+      <item> getallheaders </item>
+      <item> getcwd </item>
+      <item> getdate </item>
+      <item> getenv </item>
+      <item> gethostbyaddr </item>
+      <item> gethostbyname </item>
+      <item> gethostbynamel </item>
+      <item> gethostname </item>
+      <item> getimagesize </item>
+      <item> getlastmod </item>
+      <item> getmxrr </item>
+      <item> getmygid </item>
+      <item> getmyinode </item>
+      <item> getmypid </item>
+      <item> getmyuid </item>
+      <item> getopt </item>
+      <item> getprotobyname </item>
+      <item> getprotobynumber </item>
+      <item> getrandmax </item>
+      <item> getrusage </item>
+      <item> getservbyname </item>
+      <item> getservbyport </item>
+      <item> gettext </item>
+      <item> gettimeofday </item>
+      <item> gettype </item>
+      <item> glob </item>
+      <item> gmdate </item>
+      <item> gmmktime </item>
+      <item> gmp_abs </item>
+      <item> gmp_add </item>
+      <item> gmp_and </item>
+      <item> gmp_clrbit </item>
+      <item> gmp_cmp </item>
+      <item> gmp_com </item>
+      <item> gmp_div </item>
+      <item> gmp_div_q </item>
+      <item> gmp_div_qr </item>
+      <item> gmp_div_r </item>
+      <item> gmp_divexact </item>
+      <item> gmp_fact </item>
+      <item> gmp_gcd </item>
+      <item> gmp_gcdext </item>
+      <item> gmp_hamdist </item>
+      <item> gmp_init </item>
+      <item> gmp_intval </item>
+      <item> gmp_invert </item>
+      <item> gmp_jacobi </item>
+      <item> gmp_legendre </item>
+      <item> gmp_mod </item>
+      <item> gmp_mul </item>
+      <item> gmp_neg </item>
+      <item> gmp_or </item>
+      <item> gmp_perfect_square </item>
+      <item> gmp_popcount </item>
+      <item> gmp_pow </item>
+      <item> gmp_powm </item>
+      <item> gmp_prob_prime </item>
+      <item> gmp_random </item>
+      <item> gmp_scan0 </item>
+      <item> gmp_scan1 </item>
+      <item> gmp_setbit </item>
+      <item> gmp_sign </item>
+      <item> gmp_sqrt </item>
+      <item> gmp_sqrtrem </item>
+      <item> gmp_strval </item>
+      <item> gmp_sub </item>
+      <item> gmp_xor </item>
+      <item> gmstrftime </item>
+      <item> gregoriantojd </item>
+      <item> gzclose </item>
+      <item> gzcompress </item>
+      <item> gzdeflate </item>
+      <item> gzencode </item>
+      <item> gzeof </item>
+      <item> gzfile </item>
+      <item> gzgetc </item>
+      <item> gzgets </item>
+      <item> gzgetss </item>
+      <item> gzinflate </item>
+      <item> gzopen </item>
+      <item> gzpassthru </item>
+      <item> gzputs </item>
+      <item> gzread </item>
+      <item> gzrewind </item>
+      <item> gzseek </item>
+      <item> gztell </item>
+      <item> gzuncompress </item>
+      <item> gzwrite </item>
+      <item> hash </item>
+      <item> hash_algos </item>
+      <item> hash_copy </item>
+      <item> hash_file </item>
+      <item> hash_final </item>
+      <item> hash_hmac </item>
+      <item> hash_hmac_file </item>
+      <item> hash_init </item>
+      <item> hash_update </item>
+      <item> hash_update_file </item>
+      <item> hash_update_stream </item>
+      <item> header </item>
+      <item> header_remove </item>
+      <item> headers_list </item>
+      <item> headers_sent </item>
+      <item> hebrev </item>
+      <item> hebrevc </item>
+      <item> hexdec </item>
+      <item> highlight_file </item>
+      <item> highlight_string </item>
+      <item> html_entity_decode </item>
+      <item> htmlentities </item>
+      <item> htmlspecialchars </item>
+      <item> htmlspecialchars_decode </item>
+      <item> http_build_query </item>
+      <item> hw_array2objrec </item>
+      <item> hw_changeobject </item>
+      <item> hw_children </item>
+      <item> hw_childrenobj </item>
+      <item> hw_close </item>
+      <item> hw_connect </item>
+      <item> hw_connection_info </item>
+      <item> hw_cp </item>
+      <item> hw_deleteobject </item>
+      <item> hw_docbyanchor </item>
+      <item> hw_docbyanchorobj </item>
+      <item> hw_document_attributes </item>
+      <item> hw_document_bodytag </item>
+      <item> hw_document_content </item>
+      <item> hw_document_setcontent </item>
+      <item> hw_document_size </item>
+      <item> hw_dummy </item>
+      <item> hw_edittext </item>
+      <item> hw_error </item>
+      <item> hw_errormsg </item>
+      <item> hw_free_document </item>
+      <item> hw_getanchors </item>
+      <item> hw_getanchorsobj </item>
+      <item> hw_getandlock </item>
+      <item> hw_getchildcoll </item>
+      <item> hw_getchildcollobj </item>
+      <item> hw_getchilddoccoll </item>
+      <item> hw_getchilddoccollobj </item>
+      <item> hw_getobject </item>
+      <item> hw_getobjectbyquery </item>
+      <item> hw_getobjectbyquerycoll </item>
+      <item> hw_getobjectbyquerycollobj </item>
+      <item> hw_getobjectbyqueryobj </item>
+      <item> hw_getparents </item>
+      <item> hw_getparentsobj </item>
+      <item> hw_getrellink </item>
+      <item> hw_getremote </item>
+      <item> hw_getremotechildren </item>
+      <item> hw_getsrcbydestobj </item>
+      <item> hw_gettext </item>
+      <item> hw_getusername </item>
+      <item> hw_identify </item>
+      <item> hw_incollections </item>
+      <item> hw_info </item>
+      <item> hw_inscoll </item>
+      <item> hw_insdoc </item>
+      <item> hw_insertanchors </item>
+      <item> hw_insertdocument </item>
+      <item> hw_insertobject </item>
+      <item> hw_mapid </item>
+      <item> hw_modifyobject </item>
+      <item> hw_mv </item>
+      <item> hw_new_document </item>
+      <item> hw_objrec2array </item>
+      <item> hw_output_document </item>
+      <item> hw_pconnect </item>
+      <item> hw_pipedocument </item>
+      <item> hw_root </item>
+      <item> hw_setlinkroot </item>
+      <item> hw_stat </item>
+      <item> hw_unlock </item>
+      <item> hw_who </item>
+      <item> hypot </item>
+      <item> ibase_blob_add </item>
+      <item> ibase_blob_cancel </item>
+      <item> ibase_blob_close </item>
+      <item> ibase_blob_create </item>
+      <item> ibase_blob_echo </item>
+      <item> ibase_blob_get </item>
+      <item> ibase_blob_import </item>
+      <item> ibase_blob_info </item>
+      <item> ibase_blob_open </item>
+      <item> ibase_close </item>
+      <item> ibase_commit </item>
+      <item> ibase_connect </item>
+      <item> ibase_errmsg </item>
+      <item> ibase_execute </item>
+      <item> ibase_fetch_object </item>
+      <item> ibase_fetch_row </item>
+      <item> ibase_field_info </item>
+      <item> ibase_free_query </item>
+      <item> ibase_free_result </item>
+      <item> ibase_num_fields </item>
+      <item> ibase_pconnect </item>
+      <item> ibase_prepare </item>
+      <item> ibase_query </item>
+      <item> ibase_rollback </item>
+      <item> ibase_timefmt </item>
+      <item> ibase_trans </item>
+      <item> icap_close </item>
+      <item> icap_create_calendar </item>
+      <item> icap_delete_calendar </item>
+      <item> icap_delete_event </item>
+      <item> icap_fetch_event </item>
+      <item> icap_list_alarms </item>
+      <item> icap_list_events </item>
+      <item> icap_open </item>
+      <item> icap_rename_calendar </item>
+      <item> icap_reopen </item>
+      <item> icap_snooze </item>
+      <item> icap_store_event </item>
+      <item> iconv </item>
+      <item> iconv_get_encoding </item>
+      <item> iconv_mime_decode </item>
+      <item> iconv_mime_decode_headers </item>
+      <item> iconv_mime_encode </item>
+      <item> iconv_set_encoding </item>
+      <item> iconv_strlen </item>
+      <item> iconv_strpos </item>
+      <item> iconv_strrpos </item>
+      <item> iconv_substr </item>
+      <item> idate </item>
+      <item> ifx_affected_rows </item>
+      <item> ifx_blobinfile_mode </item>
+      <item> ifx_byteasvarchar </item>
+      <item> ifx_close </item>
+      <item> ifx_connect </item>
+      <item> ifx_copy_blob </item>
+      <item> ifx_create_blob </item>
+      <item> ifx_create_char </item>
+      <item> ifx_do </item>
+      <item> ifx_error </item>
+      <item> ifx_errormsg </item>
+      <item> ifx_fetch_row </item>
+      <item> ifx_fieldproperties </item>
+      <item> ifx_fieldtypes </item>
+      <item> ifx_free_blob </item>
+      <item> ifx_free_char </item>
+      <item> ifx_free_result </item>
+      <item> ifx_get_blob </item>
+      <item> ifx_get_char </item>
+      <item> ifx_getsqlca </item>
+      <item> ifx_htmltbl_result </item>
+      <item> ifx_nullformat </item>
+      <item> ifx_num_fields </item>
+      <item> ifx_num_rows </item>
+      <item> ifx_pconnect </item>
+      <item> ifx_prepare </item>
+      <item> ifx_query </item>
+      <item> ifx_textasvarchar </item>
+      <item> ifx_update_blob </item>
+      <item> ifx_update_char </item>
+      <item> ifxus_close_slob </item>
+      <item> ifxus_create_slob </item>
+      <item> ifxus_free_slob </item>
+      <item> ifxus_open_slob </item>
+      <item> ifxus_read_slob </item>
+      <item> ifxus_seek_slob </item>
+      <item> ifxus_tell_slob </item>
+      <item> ifxus_write_slob </item>
+      <item> ignore_user_abort </item>
+      <item> image2wbmp </item>
+      <item> image_type_to_extension </item>
+      <item> image_type_to_mime_type </item>
+      <item> imagealphablending </item>
+      <item> imageantialias </item>
+      <item> imagearc </item>
+      <item> imagechar </item>
+      <item> imagecharup </item>
+      <item> imagecolorallocate </item>
+      <item> imagecolorallocatealpha </item>
+      <item> imagecolorat </item>
+      <item> imagecolorclosest </item>
+      <item> imagecolorclosestalpha </item>
+      <item> imagecolorclosesthwb </item>
+      <item> imagecolordeallocate </item>
+      <item> imagecolorexact </item>
+      <item> imagecolorexactalpha </item>
+      <item> imagecolormatch </item>
+      <item> imagecolorresolve </item>
+      <item> imagecolorresolvealpha </item>
+      <item> imagecolorset </item>
+      <item> imagecolorsforindex </item>
+      <item> imagecolorstotal </item>
+      <item> imagecolortransparent </item>
+      <item> imageconvolution </item>
+      <item> imagecopy </item>
+      <item> imagecopymerge </item>
+      <item> imagecopymergegray </item>
+      <item> imagecopyresampled </item>
+      <item> imagecopyresized </item>
+      <item> imagecreate </item>
+      <item> imagecreatefromgd </item>
+      <item> imagecreatefromgd2 </item>
+      <item> imagecreatefromgd2part </item>
+      <item> imagecreatefromgif </item>
+      <item> imagecreatefromjpeg </item>
+      <item> imagecreatefrompng </item>
+      <item> imagecreatefromstring </item>
+      <item> imagecreatefromwbmp </item>
+      <item> imagecreatefromxbm </item>
+      <item> imagecreatefromxpm </item>
+      <item> imagecreatetruecolor </item>
+      <item> imagedashedline </item>
+      <item> imagedestroy </item>
+      <item> imageellipse </item>
+      <item> imagefill </item>
+      <item> imagefilledarc </item>
+      <item> imagefilledellipse </item>
+      <item> imagefilledpolygon </item>
+      <item> imagefilledrectangle </item>
+      <item> imagefilltoborder </item>
+      <item> imagefilter </item>
+      <item> imagefontheight </item>
+      <item> imagefontwidth </item>
+      <item> imageftbbox </item>
+      <item> imagefttext </item>
+      <item> imagegammacorrect </item>
+      <item> imagegd </item>
+      <item> imagegd2 </item>
+      <item> imagegif </item>
+      <item> imageinterlace </item>
+      <item> imageistruecolor </item>
+      <item> imagejpeg </item>
+      <item> imagelayereffect </item>
+      <item> imageline </item>
+      <item> imageloadfont </item>
+      <item> imagepalettecopy </item>
+      <item> imagepng </item>
+      <item> imagepolygon </item>
+      <item> imagepsbbox </item>
+      <item> imagepsencodefont </item>
+      <item> imagepsextendfont </item>
+      <item> imagepsfreefont </item>
+      <item> imagepsloadfont </item>
+      <item> imagepsslantfont </item>
+      <item> imagepstext </item>
+      <item> imagerectangle </item>
+      <item> imagerotate </item>
+      <item> imagesavealpha </item>
+      <item> imagesetbrush </item>
+      <item> imagesetpixel </item>
+      <item> imagesetstyle </item>
+      <item> imagesetthickness </item>
+      <item> imagesettile </item>
+      <item> imagestring </item>
+      <item> imagestringup </item>
+      <item> imagesx </item>
+      <item> imagesy </item>
+      <item> imagetruecolortopalette </item>
+      <item> imagettfbbox </item>
+      <item> imagettftext </item>
+      <item> imagetypes </item>
+      <item> imagewbmp </item>
+      <item> imagexbm </item>
+      <item> imap_8bit </item>
+      <item> imap_alerts </item>
+      <item> imap_append </item>
+      <item> imap_base64 </item>
+      <item> imap_binary </item>
+      <item> imap_body </item>
+      <item> imap_bodystruct </item>
+      <item> imap_check </item>
+      <item> imap_clearflag_full </item>
+      <item> imap_close </item>
+      <item> imap_create </item>
+      <item> imap_createmailbox </item>
+      <item> imap_delete </item>
+      <item> imap_deletemailbox </item>
+      <item> imap_errors </item>
+      <item> imap_expunge </item>
+      <item> imap_fetch_overview </item>
+      <item> imap_fetchbody </item>
+      <item> imap_fetchheader </item>
+      <item> imap_fetchstructure </item>
+      <item> imap_fetchtext </item>
+      <item> imap_get_quota </item>
+      <item> imap_get_quotaroot </item>
+      <item> imap_getacl </item>
+      <item> imap_getmailboxes </item>
+      <item> imap_getsubscribed </item>
+      <item> imap_header </item>
+      <item> imap_headerinfo </item>
+      <item> imap_headers </item>
+      <item> imap_last_error </item>
+      <item> imap_list </item>
+      <item> imap_listmailbox </item>
+      <item> imap_listsubscribed </item>
+      <item> imap_lsub </item>
+      <item> imap_mail </item>
+      <item> imap_mail_compose </item>
+      <item> imap_mail_copy </item>
+      <item> imap_mail_move </item>
+      <item> imap_mailboxmsginfo </item>
+      <item> imap_mime_header_decode </item>
+      <item> imap_msgno </item>
+      <item> imap_num_msg </item>
+      <item> imap_num_recent </item>
+      <item> imap_open </item>
+      <item> imap_ping </item>
+      <item> imap_popen </item>
+      <item> imap_qprint </item>
+      <item> imap_rename </item>
+      <item> imap_renamemailbox </item>
+      <item> imap_reopen </item>
+      <item> imap_rfc822_parse_adrlist </item>
+      <item> imap_rfc822_parse_headers </item>
+      <item> imap_rfc822_write_address </item>
+      <item> imap_scan </item>
+      <item> imap_scanmailbox </item>
+      <item> imap_search </item>
+      <item> imap_set_quota </item>
+      <item> imap_setacl </item>
+      <item> imap_setflag_full </item>
+      <item> imap_sort </item>
+      <item> imap_status </item>
+      <item> imap_subscribe </item>
+      <item> imap_thread </item>
+      <item> imap_timeout </item>
+      <item> imap_uid </item>
+      <item> imap_undelete </item>
+      <item> imap_unsubscribe </item>
+      <item> imap_utf7_decode </item>
+      <item> imap_utf7_encode </item>
+      <item> imap_utf8 </item>
+      <item> implode </item>
+      <item> import_request_variables </item>
+      <item> in_array </item>
+      <item> include </item>
+      <item> include_once </item>
+      <item> inet_ntop </item>
+      <item> inet_pton </item>
+      <item> ingres_autocommit </item>
+      <item> ingres_close </item>
+      <item> ingres_commit </item>
+      <item> ingres_connect </item>
+      <item> ingres_fetch_array </item>
+      <item> ingres_fetch_object </item>
+      <item> ingres_fetch_row </item>
+      <item> ingres_field_length </item>
+      <item> ingres_field_name </item>
+      <item> ingres_field_nullable </item>
+      <item> ingres_field_precision </item>
+      <item> ingres_field_scale </item>
+      <item> ingres_field_type </item>
+      <item> ingres_num_fields </item>
+      <item> ingres_num_rows </item>
+      <item> ingres_pconnect </item>
+      <item> ingres_query </item>
+      <item> ingres_rollback </item>
+      <item> ini_alter </item>
+      <item> ini_get </item>
+      <item> ini_get_all </item>
+      <item> ini_restore </item>
+      <item> ini_set </item>
+      <item> interface_exists </item>
+      <item> intval </item>
+      <item> ip2long </item>
+      <item> iptcembed </item>
+      <item> iptcparse </item>
+      <item> ircg_channel_mode </item>
+      <item> ircg_disconnect </item>
+      <item> ircg_fetch_error_msg </item>
+      <item> ircg_get_username </item>
+      <item> ircg_html_encode </item>
+      <item> ircg_ignore_add </item>
+      <item> ircg_ignore_del </item>
+      <item> ircg_is_conn_alive </item>
+      <item> ircg_join </item>
+      <item> ircg_kick </item>
+      <item> ircg_lookup_format_messages </item>
+      <item> ircg_msg </item>
+      <item> ircg_nick </item>
+      <item> ircg_nickname_escape </item>
+      <item> ircg_nickname_unescape </item>
+      <item> ircg_notice </item>
+      <item> ircg_part </item>
+      <item> ircg_pconnect </item>
+      <item> ircg_register_format_messages </item>
+      <item> ircg_set_current </item>
+      <item> ircg_set_file </item>
+      <item> ircg_set_on_die </item>
+      <item> ircg_topic </item>
+      <item> ircg_whois </item>
+      <item> is_a </item>
+      <item> is_array </item>
+      <item> is_bool </item>
+      <item> is_callable </item>
+      <item> is_dir </item>
+      <item> is_double </item>
+      <item> is_executable </item>
+      <item> is_file </item>
+      <item> is_finite </item>
+      <item> is_float </item>
+      <item> is_infinite </item>
+      <item> is_int </item>
+      <item> is_integer </item>
+      <item> is_link </item>
+      <item> is_long </item>
+      <item> is_nan </item>
+      <item> is_null </item>
+      <item> is_numeric </item>
+      <item> is_object </item>
+      <item> is_readable </item>
+      <item> is_real </item>
+      <item> is_resource </item>
+      <item> is_scalar </item>
+      <item> is_string </item>
+      <item> is_subclass_of </item>
+      <item> is_uploaded_file </item>
+      <item> is_writable </item>
+      <item> is_writeable </item>
+      <item> isset </item>
+      <item> iterator_apply </item>
+      <item> iterator_count </item>
+      <item> iterator_to_array </item>
+      <item> java_last_exception_clear </item>
+      <item> java_last_exception_get </item>
+      <item> jddayofweek </item>
+      <item> jdmonthname </item>
+      <item> jdtofrench </item>
+      <item> jdtogregorian </item>
+      <item> jdtojewish </item>
+      <item> jdtojulian </item>
+      <item> jdtounix </item>
+      <item> jewishtojd </item>
+      <item> join </item>
+      <item> jpeg2wbmp </item>
+      <item> json_decode </item>
+      <item> json_encode </item>
+      <item> json_last_error </item>
+      <item> juliantojd </item>
+      <item> key </item>
+      <item> key_exists </item>
+      <item> krsort </item>
+      <item> ksort </item>
+      <item> lcfirst </item>
+      <item> lcg_value </item>
+      <item> lchgrp </item>
+      <item> lchown </item>
+      <item> ldap_8859_to_t61 </item>
+      <item> ldap_add </item>
+      <item> ldap_bind </item>
+      <item> ldap_close </item>
+      <item> ldap_compare </item>
+      <item> ldap_connect </item>
+      <item> ldap_count_entries </item>
+      <item> ldap_delete </item>
+      <item> ldap_dn2ufn </item>
+      <item> ldap_err2str </item>
+      <item> ldap_errno </item>
+      <item> ldap_error </item>
+      <item> ldap_explode_dn </item>
+      <item> ldap_first_attribute </item>
+      <item> ldap_first_entry </item>
+      <item> ldap_first_reference </item>
+      <item> ldap_free_result </item>
+      <item> ldap_get_attributes </item>
+      <item> ldap_get_dn </item>
+      <item> ldap_get_entries </item>
+      <item> ldap_get_option </item>
+      <item> ldap_get_values </item>
+      <item> ldap_get_values_len </item>
+      <item> ldap_list </item>
+      <item> ldap_mod_add </item>
+      <item> ldap_mod_del </item>
+      <item> ldap_mod_replace </item>
+      <item> ldap_modify </item>
+      <item> ldap_next_attribute </item>
+      <item> ldap_next_entry </item>
+      <item> ldap_next_reference </item>
+      <item> ldap_parse_reference </item>
+      <item> ldap_parse_result </item>
+      <item> ldap_read </item>
+      <item> ldap_rename </item>
+      <item> ldap_search </item>
+      <item> ldap_set_option </item>
+      <item> ldap_set_rebind_proc </item>
+      <item> ldap_sort </item>
+      <item> ldap_start_tls </item>
+      <item> ldap_t61_to_8859 </item>
+      <item> ldap_unbind </item>
+      <item> levenshtein </item>
+      <item> libxml_clear_errors </item>
+      <item> libxml_get_errors </item>
+      <item> libxml_get_last_error </item>
+      <item> libxml_set_streams_context </item>
+      <item> libxml_set_streams_context </item>
+      <item> libxml_use_internal_errors </item>
+      <item> link </item>
+      <item> linkinfo </item>
+      <item> list </item>
+      <item> localeconv </item>
+      <item> localtime </item>
+      <item> log </item>
+      <item> log10 </item>
+      <item> log1p </item>
+      <item> long2ip </item>
+      <item> lstat </item>
+      <item> ltrim </item>
+      <item> magic_quotes_runtime </item>
+      <item> mail </item>
+      <item> mailparse_determine_best_xfer_encoding </item>
+      <item> mailparse_msg_create </item>
+      <item> mailparse_msg_extract_part </item>
+      <item> mailparse_msg_extract_part_file </item>
+      <item> mailparse_msg_free </item>
+      <item> mailparse_msg_get_part </item>
+      <item> mailparse_msg_get_part_data </item>
+      <item> mailparse_msg_get_structure </item>
+      <item> mailparse_msg_parse </item>
+      <item> mailparse_msg_parse_file </item>
+      <item> mailparse_rfc822_parse_addresses </item>
+      <item> mailparse_stream_encode </item>
+      <item> mailparse_uudecode_all </item>
+      <item> max </item>
+      <item> mb_check_encoding </item>
+      <item> mb_convert_case </item>
+      <item> mb_convert_encoding </item>
+      <item> mb_convert_kana </item>
+      <item> mb_convert_variables </item>
+      <item> mb_decode_mimeheader </item>
+      <item> mb_decode_numericentity </item>
+      <item> mb_detect_encoding </item>
+      <item> mb_detect_order </item>
+      <item> mb_encode_mimeheader </item>
+      <item> mb_encode_numericentity </item>
+      <item> mb_encoding_aliases </item>
+      <item> mb_ereg </item>
+      <item> mb_ereg_match </item>
+      <item> mb_ereg_replace </item>
+      <item> mb_ereg_search </item>
+      <item> mb_ereg_search_getpos </item>
+      <item> mb_ereg_search_getregs </item>
+      <item> mb_ereg_search_init </item>
+      <item> mb_ereg_search_pos </item>
+      <item> mb_ereg_search_regs </item>
+      <item> mb_ereg_search_setpos </item>
+      <item> mb_eregi </item>
+      <item> mb_eregi_replace </item>
+      <item> mb_get_info </item>
+      <item> mb_http_input </item>
+      <item> mb_http_output </item>
+      <item> mb_internal_encoding </item>
+      <item> mb_language </item>
+      <item> mb_list_encodings </item>
+      <item> mb_output_handler </item>
+      <item> mb_parse_str </item>
+      <item> mb_preferred_mime_name </item>
+      <item> mb_regex_encoding </item>
+      <item> mb_regex_set_options </item>
+      <item> mb_send_mail </item>
+      <item> mb_split </item>
+      <item> mb_strcut </item>
+      <item> mb_strimwidth </item>
+      <item> mb_stripos </item>
+      <item> mb_stristr </item>
+      <item> mb_strlen </item>
+      <item> mb_strpos </item>
+      <item> mb_strrchr </item>
+      <item> mb_strrichr </item>
+      <item> mb_strripos </item>
+      <item> mb_strrpos </item>
+      <item> mb_strstr </item>
+      <item> mb_strtolower </item>
+      <item> mb_strtoupper </item>
+      <item> mb_strwidth </item>
+      <item> mb_substitute_character </item>
+      <item> mb_substr </item>
+      <item> mb_substr_count </item>
+      <item> mcal_append_event </item>
+      <item> mcal_close </item>
+      <item> mcal_create_calendar </item>
+      <item> mcal_date_compare </item>
+      <item> mcal_date_valid </item>
+      <item> mcal_day_of_week </item>
+      <item> mcal_day_of_year </item>
+      <item> mcal_days_in_month </item>
+      <item> mcal_delete_calendar </item>
+      <item> mcal_delete_event </item>
+      <item> mcal_event_add_attribute </item>
+      <item> mcal_event_init </item>
+      <item> mcal_event_set_alarm </item>
+      <item> mcal_event_set_category </item>
+      <item> mcal_event_set_class </item>
+      <item> mcal_event_set_description </item>
+      <item> mcal_event_set_end </item>
+      <item> mcal_event_set_recur_daily </item>
+      <item> mcal_event_set_recur_monthly_mday </item>
+      <item> mcal_event_set_recur_monthly_wday </item>
+      <item> mcal_event_set_recur_none </item>
+      <item> mcal_event_set_recur_weekly </item>
+      <item> mcal_event_set_recur_yearly </item>
+      <item> mcal_event_set_start </item>
+      <item> mcal_event_set_title </item>
+      <item> mcal_expunge </item>
+      <item> mcal_fetch_current_stream_event </item>
+      <item> mcal_fetch_event </item>
+      <item> mcal_is_leap_year </item>
+      <item> mcal_list_alarms </item>
+      <item> mcal_list_events </item>
+      <item> mcal_next_recurrence </item>
+      <item> mcal_open </item>
+      <item> mcal_popen </item>
+      <item> mcal_rename_calendar </item>
+      <item> mcal_reopen </item>
+      <item> mcal_snooze </item>
+      <item> mcal_store_event </item>
+      <item> mcal_time_valid </item>
+      <item> mcal_week_of_year </item>
+      <item> mcrypt_cbc </item>
+      <item> mcrypt_cfb </item>
+      <item> mcrypt_create_iv </item>
+      <item> mcrypt_decrypt </item>
+      <item> mcrypt_enc_get_algorithms_name </item>
+      <item> mcrypt_enc_get_block_size </item>
+      <item> mcrypt_enc_get_iv_size </item>
+      <item> mcrypt_enc_get_key_size </item>
+      <item> mcrypt_enc_get_modes_name </item>
+      <item> mcrypt_enc_get_supported_key_sizes </item>
+      <item> mcrypt_enc_is_block_algorithm </item>
+      <item> mcrypt_enc_is_block_algorithm_mode </item>
+      <item> mcrypt_enc_is_block_mode </item>
+      <item> mcrypt_enc_self_test </item>
+      <item> mcrypt_encrypt </item>
+      <item> mcrypt_generic </item>
+      <item> mcrypt_generic_deinit </item>
+      <item> mcrypt_generic_end </item>
+      <item> mcrypt_generic_init </item>
+      <item> mcrypt_get_block_size </item>
+      <item> mcrypt_get_cipher_name </item>
+      <item> mcrypt_get_iv_size </item>
+      <item> mcrypt_get_key_size </item>
+      <item> mcrypt_list_algorithms </item>
+      <item> mcrypt_list_modes </item>
+      <item> mcrypt_module_close </item>
+      <item> mcrypt_module_get_algo_block_size </item>
+      <item> mcrypt_module_get_algo_key_size </item>
+      <item> mcrypt_module_get_supported_key_sizes </item>
+      <item> mcrypt_module_is_block_algorithm </item>
+      <item> mcrypt_module_is_block_algorithm_mode </item>
+      <item> mcrypt_module_is_block_mode </item>
+      <item> mcrypt_module_open </item>
+      <item> mcrypt_module_self_test </item>
+      <item> mcrypt_ofb </item>
+      <item> md5 </item>
+      <item> md5_file </item>
+      <item> mdecrypt_generic </item>
+      <item> memory_get_peak_usage </item>
+      <item> memory_get_usage </item>
+      <item> metaphone </item>
+      <item> method_exists </item>
+      <item> mhash </item>
+      <item> mhash_count </item>
+      <item> mhash_get_block_size </item>
+      <item> mhash_get_hash_name </item>
+      <item> mhash_keygen_s2k </item>
+      <item> microtime </item>
+      <item> min </item>
+      <item> ming_setcubicthreshold </item>
+      <item> ming_setscale </item>
+      <item> ming_useswfversion </item>
+      <item> mkdir </item>
+      <item> mktime </item>
+      <item> money_format </item>
+      <item> move_uploaded_file </item>
+      <item> msession_connect </item>
+      <item> msession_count </item>
+      <item> msession_create </item>
+      <item> msession_destroy </item>
+      <item> msession_disconnect </item>
+      <item> msession_find </item>
+      <item> msession_get </item>
+      <item> msession_get_array </item>
+      <item> msession_getdata </item>
+      <item> msession_inc </item>
+      <item> msession_list </item>
+      <item> msession_listvar </item>
+      <item> msession_lock </item>
+      <item> msession_plugin </item>
+      <item> msession_randstr </item>
+      <item> msession_set </item>
+      <item> msession_set_array </item>
+      <item> msession_setdata </item>
+      <item> msession_timeout </item>
+      <item> msession_uniq </item>
+      <item> msession_unlock </item>
+      <item> msg_get_queue </item>
+      <item> msg_receive </item>
+      <item> msg_remove_queue </item>
+      <item> msg_send </item>
+      <item> msg_set_queue </item>
+      <item> msg_stat_queue </item>
+      <item> msql </item>
+      <item> msql_affected_rows </item>
+      <item> msql_close </item>
+      <item> msql_connect </item>
+      <item> msql_create_db </item>
+      <item> msql_createdb </item>
+      <item> msql_data_seek </item>
+      <item> msql_dbname </item>
+      <item> msql_drop_db </item>
+      <item> msql_dropdb </item>
+      <item> msql_error </item>
+      <item> msql_fetch_array </item>
+      <item> msql_fetch_field </item>
+      <item> msql_fetch_object </item>
+      <item> msql_fetch_row </item>
+      <item> msql_field_seek </item>
+      <item> msql_fieldflags </item>
+      <item> msql_fieldlen </item>
+      <item> msql_fieldname </item>
+      <item> msql_fieldtable </item>
+      <item> msql_fieldtype </item>
+      <item> msql_free_result </item>
+      <item> msql_freeresult </item>
+      <item> msql_list_dbs </item>
+      <item> msql_list_fields </item>
+      <item> msql_list_tables </item>
+      <item> msql_listdbs </item>
+      <item> msql_listfields </item>
+      <item> msql_listtables </item>
+      <item> msql_num_fields </item>
+      <item> msql_num_rows </item>
+      <item> msql_numfields </item>
+      <item> msql_numrows </item>
+      <item> msql_pconnect </item>
+      <item> msql_query </item>
+      <item> msql_regcase </item>
+      <item> msql_result </item>
+      <item> msql_select_db </item>
+      <item> msql_selectdb </item>
+      <item> msql_tablename </item>
+      <item> mssql_bind </item>
+      <item> mssql_close </item>
+      <item> mssql_connect </item>
+      <item> mssql_data_seek </item>
+      <item> mssql_execute </item>
+      <item> mssql_fetch_array </item>
+      <item> mssql_fetch_assoc </item>
+      <item> mssql_fetch_batch </item>
+      <item> mssql_fetch_field </item>
+      <item> mssql_fetch_object </item>
+      <item> mssql_fetch_row </item>
+      <item> mssql_field_length </item>
+      <item> mssql_field_name </item>
+      <item> mssql_field_seek </item>
+      <item> mssql_field_type </item>
+      <item> mssql_free_result </item>
+      <item> mssql_get_last_message </item>
+      <item> mssql_guid_string </item>
+      <item> mssql_init </item>
+      <item> mssql_min_error_severity </item>
+      <item> mssql_min_message_severity </item>
+      <item> mssql_next_result </item>
+      <item> mssql_num_fields </item>
+      <item> mssql_num_rows </item>
+      <item> mssql_pconnect </item>
+      <item> mssql_query </item>
+      <item> mssql_result </item>
+      <item> mssql_rows_affected </item>
+      <item> mssql_select_db </item>
+      <item> mt_getrandmax </item>
+      <item> mt_rand </item>
+      <item> mt_srand </item>
+      <item> muscat_close </item>
+      <item> muscat_get </item>
+      <item> muscat_give </item>
+      <item> muscat_setup </item>
+      <item> muscat_setup_net </item>
+      <item> mysql </item>
+      <item> mysql_affected_rows </item>
+      <item> mysql_client_encoding </item>
+      <item> mysql_close </item>
+      <item> mysql_connect </item>
+      <item> mysql_data_seek </item>
+      <item> mysql_db_name </item>
+      <item> mysql_db_query </item>
+      <item> mysql_errno </item>
+      <item> mysql_error </item>
+      <item> mysql_escape_string </item>
+      <item> mysql_fetch_array </item>
+      <item> mysql_fetch_assoc </item>
+      <item> mysql_fetch_field </item>
+      <item> mysql_fetch_lengths </item>
+      <item> mysql_fetch_object </item>
+      <item> mysql_fetch_row </item>
+      <item> mysql_field_flags </item>
+      <item> mysql_field_len </item>
+      <item> mysql_field_name </item>
+      <item> mysql_field_seek </item>
+      <item> mysql_field_table </item>
+      <item> mysql_field_type </item>
+      <item> mysql_free_result </item>
+      <item> mysql_get_client_info </item>
+      <item> mysql_get_host_info </item>
+      <item> mysql_get_proto_info </item>
+      <item> mysql_get_server_info </item>
+      <item> mysql_info </item>
+      <item> mysql_insert_id </item>
+      <item> mysql_list_dbs </item>
+      <item> mysql_list_processes </item>
+      <item> mysql_num_fields </item>
+      <item> mysql_num_rows </item>
+      <item> mysql_pconnect </item>
+      <item> mysql_ping </item>
+      <item> mysql_query </item>
+      <item> mysql_real_escape_string </item>
+      <item> mysql_result </item>
+      <item> mysql_select_db </item>
+      <item> mysql_set_charset </item>
+      <item> mysql_stat </item>
+      <item> mysql_table_name </item>
+      <item> mysql_thread_id </item>
+      <item> mysql_unbuffered_query </item>
+      <item> mysqli_affected_rows </item>
+      <item> mysqli_autocommit </item>
+      <item> mysqli_bind_param </item>
+      <item> mysqli_bind_result </item>
+      <item> mysqli_change_user </item>
+      <item> mysqli_character_set_name </item>
+      <item> mysqli_client_encoding </item>
+      <item> mysqli_close </item>
+      <item> mysqli_commit </item>
+      <item> mysqli_connect </item>
+      <item> mysqli_connect_errno </item>
+      <item> mysqli_connect_error </item>
+      <item> mysqli_data_seek </item>
+      <item> mysqli_debug </item>
+      <item> mysqli_dump_debug_info </item>
+      <item> mysqli_errno </item>
+      <item> mysqli_error </item>
+      <item> mysqli_escape_string </item>
+      <item> mysqli_execute </item>
+      <item> mysqli_fetch </item>
+      <item> mysqli_fetch_array </item>
+      <item> mysqli_fetch_assoc </item>
+      <item> mysqli_fetch_field </item>
+      <item> mysqli_fetch_field_direct </item>
+      <item> mysqli_fetch_fields </item>
+      <item> mysqli_fetch_lengths </item>
+      <item> mysqli_fetch_object </item>
+      <item> mysqli_fetch_row </item>
+      <item> mysqli_field_count </item>
+      <item> mysqli_field_seek </item>
+      <item> mysqli_field_tell </item>
+      <item> mysqli_free_result </item>
+      <item> mysqli_get_cache_stats </item>
+      <item> mysqli_get_client_info </item>
+      <item> mysqli_get_client_stats </item>
+      <item> mysqli_get_client_version </item>
+      <item> mysqli_get_host_info </item>
+      <item> mysqli_get_metadata </item>
+      <item> mysqli_get_proto_info </item>
+      <item> mysqli_get_server_info </item>
+      <item> mysqli_get_server_version </item>
+      <item> mysqli_info </item>
+      <item> mysqli_init </item>
+      <item> mysqli_insert_id </item>
+      <item> mysqli_kill </item>
+      <item> mysqli_more_results </item>
+      <item> mysqli_multi_query </item>
+      <item> mysqli_next_result </item>
+      <item> mysqli_num_fields </item>
+      <item> mysqli_num_rows </item>
+      <item> mysqli_options </item>
+      <item> mysqli_param_count </item>
+      <item> mysqli_ping </item>
+      <item> mysqli_prepare </item>
+      <item> mysqli_query </item>
+      <item> mysqli_real_connect </item>
+      <item> mysqli_real_escape_string </item>
+      <item> mysqli_real_query </item>
+      <item> mysqli_refresh </item>
+      <item> mysqli_report </item>
+      <item> mysqli_rollback </item>
+      <item> mysqli_select_db </item>
+      <item> mysqli_send_long_data </item>
+      <item> mysqli_set_charset </item>
+      <item> mysqli_set_local_infile_default </item>
+      <item> mysqli_set_local_infile_handler </item>
+      <item> mysqli_set_opt </item>
+      <item> mysqli_sqlstate </item>
+      <item> mysqli_ssl_set </item>
+      <item> mysqli_stat </item>
+      <item> mysqli_stmt_affected_rows </item>
+      <item> mysqli_stmt_attr_get </item>
+      <item> mysqli_stmt_attr_set </item>
+      <item> mysqli_stmt_bind_param </item>
+      <item> mysqli_stmt_bind_result </item>
+      <item> mysqli_stmt_close </item>
+      <item> mysqli_stmt_data_seek </item>
+      <item> mysqli_stmt_errno </item>
+      <item> mysqli_stmt_error </item>
+      <item> mysqli_stmt_execute </item>
+      <item> mysqli_stmt_fetch </item>
+      <item> mysqli_stmt_field_count </item>
+      <item> mysqli_stmt_free_result </item>
+      <item> mysqli_stmt_get_warnings </item>
+      <item> mysqli_stmt_init </item>
+      <item> mysqli_stmt_insert_id </item>
+      <item> mysqli_stmt_num_rows </item>
+      <item> mysqli_stmt_param_count </item>
+      <item> mysqli_stmt_prepare </item>
+      <item> mysqli_stmt_reset </item>
+      <item> mysqli_stmt_result_metadata </item>
+      <item> mysqli_stmt_send_long_data </item>
+      <item> mysqli_stmt_sqlstate </item>
+      <item> mysqli_stmt_store_result </item>
+      <item> mysqli_store_result </item>
+      <item> mysqli_thread_id </item>
+      <item> mysqli_thread_safe </item>
+      <item> mysqli_use_result </item>
+      <item> mysqli_warning_count </item>
+      <item> natcasesort </item>
+      <item> natsort </item>
+      <item> ncurses_addch </item>
+      <item> ncurses_addchnstr </item>
+      <item> ncurses_addchstr </item>
+      <item> ncurses_addnstr </item>
+      <item> ncurses_addstr </item>
+      <item> ncurses_assume_default_colors </item>
+      <item> ncurses_attroff </item>
+      <item> ncurses_attron </item>
+      <item> ncurses_attrset </item>
+      <item> ncurses_baudrate </item>
+      <item> ncurses_beep </item>
+      <item> ncurses_bkgd </item>
+      <item> ncurses_bkgdset </item>
+      <item> ncurses_border </item>
+      <item> ncurses_bottom_panel </item>
+      <item> ncurses_can_change_color </item>
+      <item> ncurses_cbreak </item>
+      <item> ncurses_clear </item>
+      <item> ncurses_clrtobot </item>
+      <item> ncurses_clrtoeol </item>
+      <item> ncurses_color_content </item>
+      <item> ncurses_color_set </item>
+      <item> ncurses_curs_set </item>
+      <item> ncurses_def_prog_mode </item>
+      <item> ncurses_def_shell_mode </item>
+      <item> ncurses_define_key </item>
+      <item> ncurses_del_panel </item>
+      <item> ncurses_delay_output </item>
+      <item> ncurses_delch </item>
+      <item> ncurses_deleteln </item>
+      <item> ncurses_delwin </item>
+      <item> ncurses_doupdate </item>
+      <item> ncurses_echo </item>
+      <item> ncurses_echochar </item>
+      <item> ncurses_end </item>
+      <item> ncurses_erase </item>
+      <item> ncurses_erasechar </item>
+      <item> ncurses_filter </item>
+      <item> ncurses_flash </item>
+      <item> ncurses_flushinp </item>
+      <item> ncurses_getch </item>
+      <item> ncurses_getmaxyx </item>
+      <item> ncurses_getmouse </item>
+      <item> ncurses_getyx </item>
+      <item> ncurses_halfdelay </item>
+      <item> ncurses_has_colors </item>
+      <item> ncurses_has_ic </item>
+      <item> ncurses_has_il </item>
+      <item> ncurses_has_key </item>
+      <item> ncurses_hide_panel </item>
+      <item> ncurses_hline </item>
+      <item> ncurses_inch </item>
+      <item> ncurses_init </item>
+      <item> ncurses_init_color </item>
+      <item> ncurses_init_pair </item>
+      <item> ncurses_insch </item>
+      <item> ncurses_insdelln </item>
+      <item> ncurses_insertln </item>
+      <item> ncurses_insstr </item>
+      <item> ncurses_instr </item>
+      <item> ncurses_isendwin </item>
+      <item> ncurses_keyok </item>
+      <item> ncurses_keypad </item>
+      <item> ncurses_killchar </item>
+      <item> ncurses_longname </item>
+      <item> ncurses_meta </item>
+      <item> ncurses_mouse_trafo </item>
+      <item> ncurses_mouseinterval </item>
+      <item> ncurses_mousemask </item>
+      <item> ncurses_move </item>
+      <item> ncurses_move_panel </item>
+      <item> ncurses_mvaddch </item>
+      <item> ncurses_mvaddchnstr </item>
+      <item> ncurses_mvaddchstr </item>
+      <item> ncurses_mvaddnstr </item>
+      <item> ncurses_mvaddstr </item>
+      <item> ncurses_mvcur </item>
+      <item> ncurses_mvdelch </item>
+      <item> ncurses_mvgetch </item>
+      <item> ncurses_mvhline </item>
+      <item> ncurses_mvinch </item>
+      <item> ncurses_mvvline </item>
+      <item> ncurses_mvwaddstr </item>
+      <item> ncurses_napms </item>
+      <item> ncurses_new_panel </item>
+      <item> ncurses_newpad </item>
+      <item> ncurses_newwin </item>
+      <item> ncurses_nl </item>
+      <item> ncurses_nocbreak </item>
+      <item> ncurses_noecho </item>
+      <item> ncurses_nonl </item>
+      <item> ncurses_noqiflush </item>
+      <item> ncurses_noraw </item>
+      <item> ncurses_pair_content </item>
+      <item> ncurses_panel_above </item>
+      <item> ncurses_panel_below </item>
+      <item> ncurses_panel_window </item>
+      <item> ncurses_pnoutrefresh </item>
+      <item> ncurses_prefresh </item>
+      <item> ncurses_putp </item>
+      <item> ncurses_qiflush </item>
+      <item> ncurses_raw </item>
+      <item> ncurses_refresh </item>
+      <item> ncurses_replace_panel </item>
+      <item> ncurses_reset_prog_mode </item>
+      <item> ncurses_reset_shell_mode </item>
+      <item> ncurses_resetty </item>
+      <item> ncurses_savetty </item>
+      <item> ncurses_scr_dump </item>
+      <item> ncurses_scr_init </item>
+      <item> ncurses_scr_restore </item>
+      <item> ncurses_scr_set </item>
+      <item> ncurses_scrl </item>
+      <item> ncurses_show_panel </item>
+      <item> ncurses_slk_attr </item>
+      <item> ncurses_slk_attroff </item>
+      <item> ncurses_slk_attron </item>
+      <item> ncurses_slk_attrset </item>
+      <item> ncurses_slk_clear </item>
+      <item> ncurses_slk_color </item>
+      <item> ncurses_slk_init </item>
+      <item> ncurses_slk_noutrefresh </item>
+      <item> ncurses_slk_refresh </item>
+      <item> ncurses_slk_restore </item>
+      <item> ncurses_slk_set </item>
+      <item> ncurses_slk_touch </item>
+      <item> ncurses_standend </item>
+      <item> ncurses_standout </item>
+      <item> ncurses_start_color </item>
+      <item> ncurses_termattrs </item>
+      <item> ncurses_termname </item>
+      <item> ncurses_timeout </item>
+      <item> ncurses_top_panel </item>
+      <item> ncurses_typeahead </item>
+      <item> ncurses_ungetch </item>
+      <item> ncurses_ungetmouse </item>
+      <item> ncurses_update_panels </item>
+      <item> ncurses_use_default_colors </item>
+      <item> ncurses_use_env </item>
+      <item> ncurses_use_extended_names </item>
+      <item> ncurses_vidattr </item>
+      <item> ncurses_vline </item>
+      <item> ncurses_waddch </item>
+      <item> ncurses_waddstr </item>
+      <item> ncurses_wattroff </item>
+      <item> ncurses_wattron </item>
+      <item> ncurses_wattrset </item>
+      <item> ncurses_wborder </item>
+      <item> ncurses_wclear </item>
+      <item> ncurses_wcolor_set </item>
+      <item> ncurses_werase </item>
+      <item> ncurses_wgetch </item>
+      <item> ncurses_whline </item>
+      <item> ncurses_wmouse_trafo </item>
+      <item> ncurses_wmove </item>
+      <item> ncurses_wnoutrefresh </item>
+      <item> ncurses_wrefresh </item>
+      <item> ncurses_wstandend </item>
+      <item> ncurses_wstandout </item>
+      <item> ncurses_wvline </item>
+      <item> next </item>
+      <item> ngettext </item>
+      <item> nl2br </item>
+      <item> nl_langinfo </item>
+      <item> notes_body </item>
+      <item> notes_copy_db </item>
+      <item> notes_create_db </item>
+      <item> notes_create_note </item>
+      <item> notes_drop_db </item>
+      <item> notes_find_note </item>
+      <item> notes_header_info </item>
+      <item> notes_list_msgs </item>
+      <item> notes_mark_read </item>
+      <item> notes_mark_unread </item>
+      <item> notes_nav_create </item>
+      <item> notes_search </item>
+      <item> notes_unread </item>
+      <item> notes_version </item>
+      <item> number_format </item>
+      <item> ob_clean </item>
+      <item> ob_end_clean </item>
+      <item> ob_end_flush </item>
+      <item> ob_flush </item>
+      <item> ob_get_clean </item>
+      <item> ob_get_contents </item>
+      <item> ob_get_flush </item>
+      <item> ob_get_length </item>
+      <item> ob_get_level </item>
+      <item> ob_get_status </item>
+      <item> ob_gzhandler </item>
+      <item> ob_iconv_handler </item>
+      <item> ob_implicit_flush </item>
+      <item> ob_list_handlers </item>
+      <item> ob_start </item>
+      <item> oci_bind_array_by_name </item>
+      <item> oci_bind_by_name </item>
+      <item> oci_cancel </item>
+      <item> oci_close </item>
+      <item> oci_commit </item>
+      <item> oci_connect </item>
+      <item> oci_define_by_name </item>
+      <item> oci_error </item>
+      <item> oci_execute </item>
+      <item> oci_fetch </item>
+      <item> oci_fetch_all </item>
+      <item> oci_fetch_array </item>
+      <item> oci_fetch_assoc </item>
+      <item> oci_fetch_object </item>
+      <item> oci_fetch_row </item>
+      <item> oci_field_is_null </item>
+      <item> oci_field_name </item>
+      <item> oci_field_precision </item>
+      <item> oci_field_scale </item>
+      <item> oci_field_size </item>
+      <item> oci_field_type </item>
+      <item> oci_field_type_raw </item>
+      <item> oci_free_statement </item>
+      <item> oci_internal_debug </item>
+      <item> oci_lob_copy </item>
+      <item> oci_lob_is_equal </item>
+      <item> oci_new_collection </item>
+      <item> oci_new_connect </item>
+      <item> oci_new_cursor </item>
+      <item> oci_new_descriptor </item>
+      <item> oci_num_fields </item>
+      <item> oci_num_rows </item>
+      <item> oci_parse </item>
+      <item> oci_password_change </item>
+      <item> oci_pconnect </item>
+      <item> oci_result </item>
+      <item> oci_rollback </item>
+      <item> oci_server_version </item>
+      <item> oci_set_action </item>
+      <item> oci_set_client_identifier </item>
+      <item> oci_set_client_info </item>
+      <item> oci_set_edition </item>
+      <item> oci_set_module_name </item>
+      <item> oci_set_prefetch </item>
+      <item> oci_statement_type </item>
+      <item> ocibindbyname </item>
+      <item> ocicancel </item>
+      <item> ocicollappend </item>
+      <item> ocicollassign </item>
+      <item> ocicollassignelem </item>
+      <item> ocicollgetelem </item>
+      <item> ocicollmax </item>
+      <item> ocicollsize </item>
+      <item> ocicolltrim </item>
+      <item> ocicolumnisnull </item>
+      <item> ocicolumnname </item>
+      <item> ocicolumnprecision </item>
+      <item> ocicolumnscale </item>
+      <item> ocicolumnsize </item>
+      <item> ocicolumntype </item>
+      <item> ocicolumntyperaw </item>
+      <item> ocicommit </item>
+      <item> ocidefinebyname </item>
+      <item> ocierror </item>
+      <item> ociexecute </item>
+      <item> ocifetch </item>
+      <item> ocifetchstatement </item>
+      <item> ocifreecollection </item>
+      <item> ocifreecursor </item>
+      <item> ocifreedesc </item>
+      <item> ocifreestatement </item>
+      <item> ociinternaldebug </item>
+      <item> ociloadlob </item>
+      <item> ocilogoff </item>
+      <item> ocilogon </item>
+      <item> ocinewcollection </item>
+      <item> ocinewcursor </item>
+      <item> ocinewdescriptor </item>
+      <item> ocinlogon </item>
+      <item> ocinumcols </item>
+      <item> ociparse </item>
+      <item> ociplogon </item>
+      <item> ociresult </item>
+      <item> ocirollback </item>
+      <item> ocirowcount </item>
+      <item> ocisavelob </item>
+      <item> ocisavelobfile </item>
+      <item> ociserverversion </item>
+      <item> ocisetprefetch </item>
+      <item> ocistatementtype </item>
+      <item> ociwritelobtofile </item>
+      <item> octdec </item>
+      <item> odbc_autocommit </item>
+      <item> odbc_binmode </item>
+      <item> odbc_close </item>
+      <item> odbc_close_all </item>
+      <item> odbc_columnprivileges </item>
+      <item> odbc_columns </item>
+      <item> odbc_commit </item>
+      <item> odbc_connect </item>
+      <item> odbc_cursor </item>
+      <item> odbc_data_source </item>
+      <item> odbc_do </item>
+      <item> odbc_error </item>
+      <item> odbc_errormsg </item>
+      <item> odbc_exec </item>
+      <item> odbc_execute </item>
+      <item> odbc_fetch_array </item>
+      <item> odbc_fetch_into </item>
+      <item> odbc_fetch_object </item>
+      <item> odbc_fetch_row </item>
+      <item> odbc_field_len </item>
+      <item> odbc_field_name </item>
+      <item> odbc_field_num </item>
+      <item> odbc_field_precision </item>
+      <item> odbc_field_scale </item>
+      <item> odbc_field_type </item>
+      <item> odbc_foreignkeys </item>
+      <item> odbc_free_result </item>
+      <item> odbc_gettypeinfo </item>
+      <item> odbc_longreadlen </item>
+      <item> odbc_next_result </item>
+      <item> odbc_num_fields </item>
+      <item> odbc_num_rows </item>
+      <item> odbc_pconnect </item>
+      <item> odbc_prepare </item>
+      <item> odbc_primarykeys </item>
+      <item> odbc_procedurecolumns </item>
+      <item> odbc_procedures </item>
+      <item> odbc_result </item>
+      <item> odbc_result_all </item>
+      <item> odbc_rollback </item>
+      <item> odbc_setoption </item>
+      <item> odbc_specialcolumns </item>
+      <item> odbc_statistics </item>
+      <item> odbc_tableprivileges </item>
+      <item> odbc_tables </item>
+      <item> opendir </item>
+      <item> openlog </item>
+      <item> openssl_csr_export </item>
+      <item> openssl_csr_export_to_file </item>
+      <item> openssl_csr_new </item>
+      <item> openssl_csr_sign </item>
+      <item> openssl_error_string </item>
+      <item> openssl_free_key </item>
+      <item> openssl_get_privatekey </item>
+      <item> openssl_get_publickey </item>
+      <item> openssl_open </item>
+      <item> openssl_pkcs7_decrypt </item>
+      <item> openssl_pkcs7_encrypt </item>
+      <item> openssl_pkcs7_sign </item>
+      <item> openssl_pkcs7_verify </item>
+      <item> openssl_pkey_export </item>
+      <item> openssl_pkey_export_to_file </item>
+      <item> openssl_pkey_free </item>
+      <item> openssl_pkey_get_private </item>
+      <item> openssl_pkey_get_public </item>
+      <item> openssl_pkey_new </item>
+      <item> openssl_private_decrypt </item>
+      <item> openssl_private_encrypt </item>
+      <item> openssl_public_decrypt </item>
+      <item> openssl_public_encrypt </item>
+      <item> openssl_seal </item>
+      <item> openssl_sign </item>
+      <item> openssl_verify </item>
+      <item> openssl_x509_check_private_key </item>
+      <item> openssl_x509_checkpurpose </item>
+      <item> openssl_x509_export </item>
+      <item> openssl_x509_export_to_file </item>
+      <item> openssl_x509_free </item>
+      <item> openssl_x509_parse </item>
+      <item> openssl_x509_read </item>
+      <item> ord </item>
+      <item> output_add_rewrite_var </item>
+      <item> output_reset_rewrite_vars </item>
+      <item> overload </item>
+      <item> ovrimos_close </item>
+      <item> ovrimos_commit </item>
+      <item> ovrimos_connect </item>
+      <item> ovrimos_cursor </item>
+      <item> ovrimos_exec </item>
+      <item> ovrimos_execute </item>
+      <item> ovrimos_fetch_into </item>
+      <item> ovrimos_fetch_row </item>
+      <item> ovrimos_field_len </item>
+      <item> ovrimos_field_name </item>
+      <item> ovrimos_field_num </item>
+      <item> ovrimos_field_type </item>
+      <item> ovrimos_free_result </item>
+      <item> ovrimos_longreadlen </item>
+      <item> ovrimos_num_fields </item>
+      <item> ovrimos_num_rows </item>
+      <item> ovrimos_prepare </item>
+      <item> ovrimos_result </item>
+      <item> ovrimos_result_all </item>
+      <item> ovrimos_rollback </item>
+      <item> pack </item>
+      <item> parse_ini_file </item>
+      <item> parse_ini_string </item>
+      <item> parse_str </item>
+      <item> parse_url </item>
+      <item> passthru </item>
+      <item> pathinfo </item>
+      <item> pclose </item>
+      <item> pcntl_alarm </item>
+      <item> pcntl_exec </item>
+      <item> pcntl_fork </item>
+      <item> pcntl_getpriority </item>
+      <item> pcntl_setpriority </item>
+      <item> pcntl_signal </item>
+      <item> pcntl_wait </item>
+      <item> pcntl_waitpid </item>
+      <item> pcntl_wexitstatus </item>
+      <item> pcntl_wifexited </item>
+      <item> pcntl_wifsignaled </item>
+      <item> pcntl_wifstopped </item>
+      <item> pcntl_wstopsig </item>
+      <item> pcntl_wtermsig </item>
+      <item> pdf_add_annotation </item>
+      <item> pdf_add_bookmark </item>
+      <item> pdf_add_launchlink </item>
+      <item> pdf_add_locallink </item>
+      <item> pdf_add_note </item>
+      <item> pdf_add_outline </item>
+      <item> pdf_add_pdflink </item>
+      <item> pdf_add_thumbnail </item>
+      <item> pdf_add_weblink </item>
+      <item> pdf_arc </item>
+      <item> pdf_arcn </item>
+      <item> pdf_attach_file </item>
+      <item> pdf_begin_page </item>
+      <item> pdf_begin_pattern </item>
+      <item> pdf_begin_template </item>
+      <item> pdf_circle </item>
+      <item> pdf_clip </item>
+      <item> pdf_close </item>
+      <item> pdf_close_image </item>
+      <item> pdf_close_pdi </item>
+      <item> pdf_close_pdi_page </item>
+      <item> pdf_closepath </item>
+      <item> pdf_closepath_fill_stroke </item>
+      <item> pdf_closepath_stroke </item>
+      <item> pdf_concat </item>
+      <item> pdf_continue_text </item>
+      <item> pdf_curveto </item>
+      <item> pdf_delete </item>
+      <item> pdf_end_page </item>
+      <item> pdf_end_pattern </item>
+      <item> pdf_end_template </item>
+      <item> pdf_endpath </item>
+      <item> pdf_fill </item>
+      <item> pdf_fill_stroke </item>
+      <item> pdf_findfont </item>
+      <item> pdf_get_buffer </item>
+      <item> pdf_get_font </item>
+      <item> pdf_get_fontname </item>
+      <item> pdf_get_fontsize </item>
+      <item> pdf_get_image_height </item>
+      <item> pdf_get_image_width </item>
+      <item> pdf_get_majorversion </item>
+      <item> pdf_get_minorversion </item>
+      <item> pdf_get_parameter </item>
+      <item> pdf_get_pdi_parameter </item>
+      <item> pdf_get_pdi_value </item>
+      <item> pdf_get_value </item>
+      <item> pdf_initgraphics </item>
+      <item> pdf_lineto </item>
+      <item> pdf_makespotcolor </item>
+      <item> pdf_moveto </item>
+      <item> pdf_new </item>
+      <item> pdf_open </item>
+      <item> pdf_open_ccitt </item>
+      <item> pdf_open_file </item>
+      <item> pdf_open_gif </item>
+      <item> pdf_open_image </item>
+      <item> pdf_open_image_file </item>
+      <item> pdf_open_jpeg </item>
+      <item> pdf_open_memory_image </item>
+      <item> pdf_open_pdi </item>
+      <item> pdf_open_pdi_page </item>
+      <item> pdf_open_png </item>
+      <item> pdf_open_tiff </item>
+      <item> pdf_place_image </item>
+      <item> pdf_place_pdi_page </item>
+      <item> pdf_rect </item>
+      <item> pdf_restore </item>
+      <item> pdf_rotate </item>
+      <item> pdf_save </item>
+      <item> pdf_scale </item>
+      <item> pdf_set_border_color </item>
+      <item> pdf_set_border_dash </item>
+      <item> pdf_set_border_style </item>
+      <item> pdf_set_char_spacing </item>
+      <item> pdf_set_duration </item>
+      <item> pdf_set_font </item>
+      <item> pdf_set_horiz_scaling </item>
+      <item> pdf_set_info </item>
+      <item> pdf_set_info_author </item>
+      <item> pdf_set_info_creator </item>
+      <item> pdf_set_info_keywords </item>
+      <item> pdf_set_info_subject </item>
+      <item> pdf_set_info_title </item>
+      <item> pdf_set_leading </item>
+      <item> pdf_set_parameter </item>
+      <item> pdf_set_text_pos </item>
+      <item> pdf_set_text_rendering </item>
+      <item> pdf_set_text_rise </item>
+      <item> pdf_set_transition </item>
+      <item> pdf_set_value </item>
+      <item> pdf_set_word_spacing </item>
+      <item> pdf_setcolor </item>
+      <item> pdf_setdash </item>
+      <item> pdf_setflat </item>
+      <item> pdf_setfont </item>
+      <item> pdf_setgray </item>
+      <item> pdf_setgray_fill </item>
+      <item> pdf_setgray_stroke </item>
+      <item> pdf_setlinecap </item>
+      <item> pdf_setlinejoin </item>
+      <item> pdf_setlinewidth </item>
+      <item> pdf_setmatrix </item>
+      <item> pdf_setmiterlimit </item>
+      <item> pdf_setpolydash </item>
+      <item> pdf_setrgbcolor </item>
+      <item> pdf_setrgbcolor_fill </item>
+      <item> pdf_setrgbcolor_stroke </item>
+      <item> pdf_show </item>
+      <item> pdf_show_boxed </item>
+      <item> pdf_show_xy </item>
+      <item> pdf_skew </item>
+      <item> pdf_stringwidth </item>
+      <item> pdf_stroke </item>
+      <item> pdf_translate </item>
+      <item> pfpro_cleanup </item>
+      <item> pfpro_init </item>
+      <item> pfpro_process </item>
+      <item> pfpro_process_raw </item>
+      <item> pfpro_version </item>
+      <item> pdo_drivers </item>
+      <item> pfsockopen </item>
+      <item> pg_affected_rows </item>
+      <item> pg_cancel_query </item>
+      <item> pg_client_encoding </item>
+      <item> pg_clientencoding </item>
+      <item> pg_close </item>
+      <item> pg_cmdtuples </item>
+      <item> pg_connect </item>
+      <item> pg_connection_busy </item>
+      <item> pg_connection_reset </item>
+      <item> pg_connection_status </item>
+      <item> pg_convert </item>
+      <item> pg_copy_from </item>
+      <item> pg_copy_to </item>
+      <item> pg_dbname </item>
+      <item> pg_delete </item>
+      <item> pg_end_copy </item>
+      <item> pg_errormessage </item>
+      <item> pg_escape_bytea </item>
+      <item> pg_escape_string </item>
+      <item> pg_exec </item>
+      <item> pg_fetch_all </item>
+      <item> pg_fetch_array </item>
+      <item> pg_fetch_assoc </item>
+      <item> pg_fetch_object </item>
+      <item> pg_fetch_result </item>
+      <item> pg_fetch_row </item>
+      <item> pg_field_is_null </item>
+      <item> pg_field_name </item>
+      <item> pg_field_num </item>
+      <item> pg_field_prtlen </item>
+      <item> pg_field_size </item>
+      <item> pg_field_type </item>
+      <item> pg_fieldisnull </item>
+      <item> pg_fieldname </item>
+      <item> pg_fieldnum </item>
+      <item> pg_fieldprtlen </item>
+      <item> pg_fieldsize </item>
+      <item> pg_fieldtype </item>
+      <item> pg_free_result </item>
+      <item> pg_freeresult </item>
+      <item> pg_get_notify </item>
+      <item> pg_get_pid </item>
+      <item> pg_get_result </item>
+      <item> pg_getlastoid </item>
+      <item> pg_host </item>
+      <item> pg_insert </item>
+      <item> pg_last_error </item>
+      <item> pg_last_notice </item>
+      <item> pg_last_oid </item>
+      <item> pg_lo_close </item>
+      <item> pg_lo_create </item>
+      <item> pg_lo_export </item>
+      <item> pg_lo_import </item>
+      <item> pg_lo_open </item>
+      <item> pg_lo_read </item>
+      <item> pg_lo_read_all </item>
+      <item> pg_lo_seek </item>
+      <item> pg_lo_tell </item>
+      <item> pg_lo_unlink </item>
+      <item> pg_lo_write </item>
+      <item> pg_loclose </item>
+      <item> pg_locreate </item>
+      <item> pg_loexport </item>
+      <item> pg_loimport </item>
+      <item> pg_loopen </item>
+      <item> pg_loread </item>
+      <item> pg_loreadall </item>
+      <item> pg_lounlink </item>
+      <item> pg_lowrite </item>
+      <item> pg_meta_data </item>
+      <item> pg_num_fields </item>
+      <item> pg_num_rows </item>
+      <item> pg_numfields </item>
+      <item> pg_numrows </item>
+      <item> pg_options </item>
+      <item> pg_parameter_status </item>
+      <item> pg_pconnect </item>
+      <item> pg_ping </item>
+      <item> pg_port </item>
+      <item> pg_put_line </item>
+      <item> pg_query </item>
+      <item> pg_result </item>
+      <item> pg_result_error </item>
+      <item> pg_result_seek </item>
+      <item> pg_result_status </item>
+      <item> pg_select </item>
+      <item> pg_send_query </item>
+      <item> pg_set_client_encoding </item>
+      <item> pg_setclientencoding </item>
+      <item> pg_trace </item>
+      <item> pg_tty </item>
+      <item> pg_unescape_bytea </item>
+      <item> pg_untrace </item>
+      <item> pg_update </item>
+      <item> pg_version </item>
+      <item> php_egg_logo_guid </item>
+      <item> php_ini_loaded_file </item>
+      <item> php_ini_scanned_files </item>
+      <item> php_logo_guid </item>
+      <item> php_real_logo_guid </item>
+      <item> php_sapi_name </item>
+      <item> php_strip_whitespace </item>
+      <item> php_uname </item>
+      <item> phpcredits </item>
+      <item> phpinfo </item>
+      <item> phpversion </item>
+      <item> pi </item>
+      <item> png2wbmp </item>
+      <item> popen </item>
+      <item> pos </item>
+      <item> posix_ctermid </item>
+      <item> posix_errno </item>
+      <item> posix_get_last_error </item>
+      <item> posix_getcwd </item>
+      <item> posix_getegid </item>
+      <item> posix_geteuid </item>
+      <item> posix_getgid </item>
+      <item> posix_getgrgid </item>
+      <item> posix_getgrnam </item>
+      <item> posix_getgroups </item>
+      <item> posix_getlogin </item>
+      <item> posix_getpgid </item>
+      <item> posix_getpgrp </item>
+      <item> posix_getpid </item>
+      <item> posix_getppid </item>
+      <item> posix_getpwnam </item>
+      <item> posix_getpwuid </item>
+      <item> posix_getrlimit </item>
+      <item> posix_getsid </item>
+      <item> posix_getuid </item>
+      <item> posix_isatty </item>
+      <item> posix_kill </item>
+      <item> posix_mkfifo </item>
+      <item> posix_setegid </item>
+      <item> posix_seteuid </item>
+      <item> posix_setgid </item>
+      <item> posix_setpgid </item>
+      <item> posix_setsid </item>
+      <item> posix_setuid </item>
+      <item> posix_strerror </item>
+      <item> posix_times </item>
+      <item> posix_ttyname </item>
+      <item> posix_uname </item>
+      <item> pow </item>
+      <item> preg_filter </item>
+      <item> preg_grep </item>
+      <item> preg_last_error </item>
+      <item> preg_match </item>
+      <item> preg_match_all </item>
+      <item> preg_quote </item>
+      <item> preg_replace </item>
+      <item> preg_replace_callback </item>
+      <item> preg_split </item>
+      <item> prev </item>
+      <item> print </item>
+      <item> print_r </item>
+      <item> printer_abort </item>
+      <item> printer_close </item>
+      <item> printer_create_brush </item>
+      <item> printer_create_dc </item>
+      <item> printer_create_font </item>
+      <item> printer_create_pen </item>
+      <item> printer_delete_brush </item>
+      <item> printer_delete_dc </item>
+      <item> printer_delete_font </item>
+      <item> printer_delete_pen </item>
+      <item> printer_draw_bmp </item>
+      <item> printer_draw_chord </item>
+      <item> printer_draw_elipse </item>
+      <item> printer_draw_line </item>
+      <item> printer_draw_pie </item>
+      <item> printer_draw_rectangle </item>
+      <item> printer_draw_roundrect </item>
+      <item> printer_draw_text </item>
+      <item> printer_end_doc </item>
+      <item> printer_end_page </item>
+      <item> printer_get_option </item>
+      <item> printer_list </item>
+      <item> printer_logical_fontheight </item>
+      <item> printer_open </item>
+      <item> printer_select_brush </item>
+      <item> printer_select_font </item>
+      <item> printer_select_pen </item>
+      <item> printer_set_option </item>
+      <item> printer_start_doc </item>
+      <item> printer_start_page </item>
+      <item> printer_write </item>
+      <item> printf </item>
+      <item> proc_close </item>
+      <item> proc_get_status </item>
+      <item> proc_nice </item>
+      <item> proc_open </item>
+      <item> proc_terminate </item>
+      <item> property_exists </item>
+      <item> pspell_add_to_personal </item>
+      <item> pspell_add_to_session </item>
+      <item> pspell_check </item>
+      <item> pspell_clear_session </item>
+      <item> pspell_config_create </item>
+      <item> pspell_config_ignore </item>
+      <item> pspell_config_mode </item>
+      <item> pspell_config_personal </item>
+      <item> pspell_config_repl </item>
+      <item> pspell_config_runtogether </item>
+      <item> pspell_config_save_repl </item>
+      <item> pspell_new </item>
+      <item> pspell_new_config </item>
+      <item> pspell_new_personal </item>
+      <item> pspell_save_wordlist </item>
+      <item> pspell_store_replacement </item>
+      <item> pspell_suggest </item>
+      <item> putenv </item>
+      <item> qdom_error </item>
+      <item> qdom_tree </item>
+      <item> quoted_printable_decode </item>
+      <item> quoted_printable_encode </item>
+      <item> quotemeta </item>
+      <item> rad2deg </item>
+      <item> rand </item>
+      <item> range </item>
+      <item> rawurldecode </item>
+      <item> rawurlencode </item>
+      <item> read_exif_data </item>
+      <item> readdir </item>
+      <item> readfile </item>
+      <item> readgzfile </item>
+      <item> readline </item>
+      <item> readline_add_history </item>
+      <item> readline_clear_history </item>
+      <item> readline_completion_function </item>
+      <item> readline_info </item>
+      <item> readline_list_history </item>
+      <item> readline_read_history </item>
+      <item> readline_write_history </item>
+      <item> readlink </item>
+      <item> realpath </item>
+      <item> realpath_cache_get </item>
+      <item> realpath_cache_size </item>
+      <item> recode </item>
+      <item> recode_file </item>
+      <item> recode_string </item>
+      <item> register_shutdown_function </item>
+      <item> register_tick_function </item>
+      <item> rename </item>
+      <item> require </item>
+      <item> require_once </item>
+      <item> reset </item>
+      <item> restore_error_handler </item>
+      <item> restore_exception_handler </item>
+      <item> restore_include_path </item>
+      <item> rewind </item>
+      <item> rewinddir </item>
+      <item> rmdir </item>
+      <item> round </item>
+      <item> rsort </item>
+      <item> rtrim </item>
+      <item> scandir </item>
+      <item> sem_acquire </item>
+      <item> sem_get </item>
+      <item> sem_release </item>
+      <item> sem_remove </item>
+      <item> serialize </item>
+      <item> sesam_affected_rows </item>
+      <item> sesam_commit </item>
+      <item> sesam_connect </item>
+      <item> sesam_diagnostic </item>
+      <item> sesam_disconnect </item>
+      <item> sesam_errormsg </item>
+      <item> sesam_execimm </item>
+      <item> sesam_fetch_array </item>
+      <item> sesam_fetch_result </item>
+      <item> sesam_fetch_row </item>
+      <item> sesam_field_array </item>
+      <item> sesam_field_name </item>
+      <item> sesam_free_result </item>
+      <item> sesam_num_fields </item>
+      <item> sesam_query </item>
+      <item> sesam_rollback </item>
+      <item> sesam_seek_row </item>
+      <item> sesam_settransaction </item>
+      <item> session_cache_expire </item>
+      <item> session_cache_limiter </item>
+      <item> session_commit </item>
+      <item> session_decode </item>
+      <item> session_destroy </item>
+      <item> session_encode </item>
+      <item> session_get_cookie_params </item>
+      <item> session_id </item>
+      <item> session_is_registered </item>
+      <item> session_module_name </item>
+      <item> session_name </item>
+      <item> session_regenerate_id </item>
+      <item> session_register </item>
+      <item> session_save_path </item>
+      <item> session_set_cookie_params </item>
+      <item> session_set_save_handler </item>
+      <item> session_start </item>
+      <item> session_unregister </item>
+      <item> session_unset </item>
+      <item> session_write_close </item>
+      <item> set_error_handler </item>
+      <item> set_exception_handler </item>
+      <item> set_file_buffer </item>
+      <item> set_include_path </item>
+      <item> set_magic_quotes_runtime </item>
+      <item> set_socket_blocking </item>
+      <item> set_time_limit </item>
+      <item> setcookie </item>
+      <item> setlocale </item>
+      <item> setrawcookie </item>
+      <item> settype </item>
+      <item> sha1 </item>
+      <item> sha1_file </item>
+      <item> sha256 </item>
+      <item> sha256_file </item>
+      <item> shell_exec </item>
+      <item> shm_attach </item>
+      <item> shm_detach </item>
+      <item> shm_get_var </item>
+      <item> shm_put_var </item>
+      <item> shm_remove </item>
+      <item> shm_remove_var </item>
+      <item> shmop_close </item>
+      <item> shmop_delete </item>
+      <item> shmop_open </item>
+      <item> shmop_read </item>
+      <item> shmop_size </item>
+      <item> shmop_write </item>
+      <item> show_source </item>
+      <item> shuffle </item>
+      <item> similar_text </item>
+      <item> simplexml_import_dom </item>
+      <item> simplexml_load_file </item>
+      <item> simplexml_load_string </item>
+      <item> sin </item>
+      <item> sinh </item>
+      <item> sizeof </item>
+      <item> sleep </item>
+      <item> snmp3_get </item>
+      <item> snmp3_getnext </item>
+      <item> snmp3_real_walk </item>
+      <item> snmp3_set </item>
+      <item> snmp3_walk </item>
+      <item> snmp_get_quick_print </item>
+      <item> snmp_get_valueretrieval </item>
+      <item> snmp_read_mib </item>
+      <item> snmp_set_enum_print </item>
+      <item> snmp_set_oid_numeric_print </item>
+      <item> snmp_set_quick_print </item>
+      <item> snmp_set_valueretrieval </item>
+      <item> snmpget </item>
+      <item> snmpgetnext </item>
+      <item> snmprealwalk </item>
+      <item> snmpset </item>
+      <item> snmpwalk </item>
+      <item> snmpwalkoid </item>
+      <item> socket_accept </item>
+      <item> socket_bind </item>
+      <item> socket_clear_error </item>
+      <item> socket_close </item>
+      <item> socket_connect </item>
+      <item> socket_create </item>
+      <item> socket_create_listen </item>
+      <item> socket_create_pair </item>
+      <item> socket_get_option </item>
+      <item> socket_get_status </item>
+      <item> socket_getopt </item>
+      <item> socket_getpeername </item>
+      <item> socket_getsockname </item>
+      <item> socket_last_error </item>
+      <item> socket_listen </item>
+      <item> socket_read </item>
+      <item> socket_recv </item>
+      <item> socket_recvfrom </item>
+      <item> socket_select </item>
+      <item> socket_send </item>
+      <item> socket_sendto </item>
+      <item> socket_set_block </item>
+      <item> socket_set_blocking </item>
+      <item> socket_set_nonblock </item>
+      <item> socket_set_option </item>
+      <item> socket_set_timeout </item>
+      <item> socket_setopt </item>
+      <item> socket_shutdown </item>
+      <item> socket_strerror </item>
+      <item> socket_write </item>
+      <item> sort </item>
+      <item> soundex </item>
+      <item> spl_autoload </item>
+      <item> spl_autoload_call </item>
+      <item> spl_autoload_extensions </item>
+      <item> spl_autoload_functions </item>
+      <item> spl_autoload_register </item>
+      <item> spl_autoload_unregister </item>
+      <item> spl_classes </item>
+      <item> spl_object_hash </item>
+      <item> sprintf </item>
+      <item> sqlite_array_query </item>
+      <item> sqlite_busy_timeout </item>
+      <item> sqlite_changes </item>
+      <item> sqlite_close </item>
+      <item> sqlite_column </item>
+      <item> sqlite_create_aggregate </item>
+      <item> sqlite_create_function </item>
+      <item> sqlite_current </item>
+      <item> sqlite_error_string </item>
+      <item> sqlite_escape_string </item>
+      <item> sqlite_exec </item>
+      <item> sqlite_factory </item>
+      <item> sqlite_fetch_all </item>
+      <item> sqlite_fetch_array </item>
+      <item> sqlite_fetch_column_types </item>
+      <item> sqlite_fetch_object </item>
+      <item> sqlite_fetch_single </item>
+      <item> sqlite_fetch_string </item>
+      <item> sqlite_field_name </item>
+      <item> sqlite_has_more </item>
+      <item> sqlite_has_prev </item>
+      <item> sqlite_last_error </item>
+      <item> sqlite_last_insert_rowid </item>
+      <item> sqlite_libencoding </item>
+      <item> sqlite_libversion </item>
+      <item> sqlite_next </item>
+      <item> sqlite_num_fields </item>
+      <item> sqlite_num_rows </item>
+      <item> sqlite_open </item>
+      <item> sqlite_popen </item>
+      <item> sqlite_prev </item>
+      <item> sqlite_query </item>
+      <item> sqlite_rewind </item>
+      <item> sqlite_seek </item>
+      <item> sqlite_single_query </item>
+      <item> sqlite_udf_decode_binary </item>
+      <item> sqlite_udf_encode_binary </item>
+      <item> sqlite_unbuffered_query </item>
+      <item> sqlite_valid </item>
+      <item> sqrt </item>
+      <item> srand </item>
+      <item> sscanf </item>
+      <item> stat </item>
+      <item> str_getcsv </item>
+      <item> str_ireplace </item>
+      <item> str_pad </item>
+      <item> str_repeat </item>
+      <item> str_replace </item>
+      <item> str_rot13 </item>
+      <item> str_shuffle </item>
+      <item> str_split </item>
+      <item> str_word_count </item>
+      <item> strcasecmp </item>
+      <item> strchr </item>
+      <item> strcmp </item>
+      <item> strcoll </item>
+      <item> strcspn </item>
+      <item> stream_bucket_append </item>
+      <item> stream_bucket_make_writeable </item>
+      <item> stream_bucket_new </item>
+      <item> stream_bucket_prepend </item>
+      <item> stream_context_create </item>
+      <item> stream_context_get_default </item>
+      <item> stream_context_get_options </item>
+      <item> stream_context_get_params </item>
+      <item> stream_context_set_default </item>
+      <item> stream_context_set_option </item>
+      <item> stream_context_set_params </item>
+      <item> stream_copy_to_stream </item>
+      <item> stream_filter_append </item>
+      <item> stream_filter_prepend </item>
+      <item> stream_filter_register </item>
+      <item> stream_filter_remove </item>
+      <item> stream_get_contents </item>
+      <item> stream_get_filters </item>
+      <item> stream_get_line </item>
+      <item> stream_get_meta_data </item>
+      <item> stream_get_transports </item>
+      <item> stream_get_wrappers </item>
+      <item> stream_is_local </item>
+      <item> stream_register_wrapper </item>
+      <item> stream_resolve_include_path </item>
+      <item> stream_select </item>
+      <item> stream_set_blocking </item>
+      <item> stream_set_read_buffer </item>
+      <item> stream_set_timeout </item>
+      <item> stream_set_write_buffer </item>
+      <item> stream_socket_accept </item>
+      <item> stream_socket_client </item>
+      <item> stream_socket_enable_crypto </item>
+      <item> stream_socket_get_name </item>
+      <item> stream_socket_pair </item>
+      <item> stream_socket_recvfrom </item>
+      <item> stream_socket_sendto </item>
+      <item> stream_socket_server </item>
+      <item> stream_socket_shutdown </item>
+      <item> stream_supports_lock </item>
+      <item> stream_wrapper_register </item>
+      <item> stream_wrapper_restore </item>
+      <item> stream_wrapper_unregister </item>
+      <item> strftime </item>
+      <item> strip_tags </item>
+      <item> stripcslashes </item>
+      <item> stripos </item>
+      <item> stripslashes </item>
+      <item> stristr </item>
+      <item> strlen </item>
+      <item> strnatcasecmp </item>
+      <item> strnatcmp </item>
+      <item> strncasecmp </item>
+      <item> strncmp </item>
+      <item> strpbrk </item>
+      <item> strpos </item>
+      <item> strptime </item>
+      <item> strrchr </item>
+      <item> strrev </item>
+      <item> strripos </item>
+      <item> strrpos </item>
+      <item> strspn </item>
+      <item> strstr </item>
+      <item> strtok </item>
+      <item> strtolower </item>
+      <item> strtotime </item>
+      <item> strtoupper </item>
+      <item> strtr </item>
+      <item> strval </item>
+      <item> substr </item>
+      <item> substr_compare </item>
+      <item> substr_count </item>
+      <item> substr_replace </item>
+      <item> suhosin_encrypt_cookie </item>
+      <item> suhosin_get_raw_cookies </item>
+      <item> swf_actiongeturl </item>
+      <item> swf_actiongotoframe </item>
+      <item> swf_actiongotolabel </item>
+      <item> swf_actionnextframe </item>
+      <item> swf_actionplay </item>
+      <item> swf_actionprevframe </item>
+      <item> swf_actionsettarget </item>
+      <item> swf_actionstop </item>
+      <item> swf_actiontogglequality </item>
+      <item> swf_actionwaitforframe </item>
+      <item> swf_addbuttonrecord </item>
+      <item> swf_addcolor </item>
+      <item> swf_closefile </item>
+      <item> swf_definebitmap </item>
+      <item> swf_definefont </item>
+      <item> swf_defineline </item>
+      <item> swf_definepoly </item>
+      <item> swf_definerect </item>
+      <item> swf_definetext </item>
+      <item> swf_endbutton </item>
+      <item> swf_enddoaction </item>
+      <item> swf_endshape </item>
+      <item> swf_endsymbol </item>
+      <item> swf_fontsize </item>
+      <item> swf_fontslant </item>
+      <item> swf_fonttracking </item>
+      <item> swf_getbitmapinfo </item>
+      <item> swf_getfontinfo </item>
+      <item> swf_getframe </item>
+      <item> swf_labelframe </item>
+      <item> swf_lookat </item>
+      <item> swf_modifyobject </item>
+      <item> swf_mulcolor </item>
+      <item> swf_nextid </item>
+      <item> swf_oncondition </item>
+      <item> swf_openfile </item>
+      <item> swf_ortho </item>
+      <item> swf_ortho2 </item>
+      <item> swf_perspective </item>
+      <item> swf_placeobject </item>
+      <item> swf_polarview </item>
+      <item> swf_popmatrix </item>
+      <item> swf_posround </item>
+      <item> swf_pushmatrix </item>
+      <item> swf_removeobject </item>
+      <item> swf_rotate </item>
+      <item> swf_scale </item>
+      <item> swf_setfont </item>
+      <item> swf_setframe </item>
+      <item> swf_shapearc </item>
+      <item> swf_shapecurveto </item>
+      <item> swf_shapecurveto3 </item>
+      <item> swf_shapefillbitmapclip </item>
+      <item> swf_shapefillbitmaptile </item>
+      <item> swf_shapefilloff </item>
+      <item> swf_shapefillsolid </item>
+      <item> swf_shapelinesolid </item>
+      <item> swf_shapelineto </item>
+      <item> swf_shapemoveto </item>
+      <item> swf_showframe </item>
+      <item> swf_startbutton </item>
+      <item> swf_startdoaction </item>
+      <item> swf_startshape </item>
+      <item> swf_startsymbol </item>
+      <item> swf_textwidth </item>
+      <item> swf_translate </item>
+      <item> swf_viewport </item>
+      <item> swfaction </item>
+      <item> swfbitmap </item>
+      <item> swfbitmap.getheight </item>
+      <item> swfbitmap.getwidth </item>
+      <item> swfbutton </item>
+      <item> swfbutton.addaction </item>
+      <item> swfbutton.addshape </item>
+      <item> swfbutton.setaction </item>
+      <item> swfbutton.setdown </item>
+      <item> swfbutton.sethit </item>
+      <item> swfbutton.setover </item>
+      <item> swfbutton.setup </item>
+      <item> swfbutton_keypress </item>
+      <item> swfdisplayitem </item>
+      <item> swfdisplayitem.addcolor </item>
+      <item> swfdisplayitem.move </item>
+      <item> swfdisplayitem.moveto </item>
+      <item> swfdisplayitem.multcolor </item>
+      <item> swfdisplayitem.remove </item>
+      <item> swfdisplayitem.rotate </item>
+      <item> swfdisplayitem.rotateto </item>
+      <item> swfdisplayitem.scale </item>
+      <item> swfdisplayitem.scaleto </item>
+      <item> swfdisplayitem.setdepth </item>
+      <item> swfdisplayitem.setname </item>
+      <item> swfdisplayitem.setratio </item>
+      <item> swfdisplayitem.skewx </item>
+      <item> swfdisplayitem.skewxto </item>
+      <item> swfdisplayitem.skewy </item>
+      <item> swfdisplayitem.skewyto </item>
+      <item> swffill </item>
+      <item> swffill.moveto </item>
+      <item> swffill.rotateto </item>
+      <item> swffill.scaleto </item>
+      <item> swffill.skewxto </item>
+      <item> swffill.skewyto </item>
+      <item> swffont </item>
+      <item> swffont.getwidth </item>
+      <item> swfgradient </item>
+      <item> swfgradient.addentry </item>
+      <item> swfmorph </item>
+      <item> swfmorph.getshape1 </item>
+      <item> swfmorph.getshape2 </item>
+      <item> swfmovie </item>
+      <item> swfmovie.add </item>
+      <item> swfmovie.nextframe </item>
+      <item> swfmovie.output </item>
+      <item> swfmovie.remove </item>
+      <item> swfmovie.save </item>
+      <item> swfmovie.setbackground </item>
+      <item> swfmovie.setdimension </item>
+      <item> swfmovie.setframes </item>
+      <item> swfmovie.setrate </item>
+      <item> swfmovie.streammp3 </item>
+      <item> swfshape </item>
+      <item> swfshape.addfill </item>
+      <item> swfshape.drawcurve </item>
+      <item> swfshape.drawcurveto </item>
+      <item> swfshape.drawline </item>
+      <item> swfshape.drawlineto </item>
+      <item> swfshape.movepen </item>
+      <item> swfshape.movepento </item>
+      <item> swfshape.setleftfill </item>
+      <item> swfshape.setline </item>
+      <item> swfshape.setrightfill </item>
+      <item> swfsprite </item>
+      <item> swfsprite.add </item>
+      <item> swfsprite.nextframe </item>
+      <item> swfsprite.remove </item>
+      <item> swfsprite.setframes </item>
+      <item> swftext </item>
+      <item> swftext.addstring </item>
+      <item> swftext.getwidth </item>
+      <item> swftext.moveto </item>
+      <item> swftext.setcolor </item>
+      <item> swftext.setfont </item>
+      <item> swftext.setheight </item>
+      <item> swftext.setspacing </item>
+      <item> swftextfield </item>
+      <item> swftextfield.addstring </item>
+      <item> swftextfield.align </item>
+      <item> swftextfield.setbounds </item>
+      <item> swftextfield.setcolor </item>
+      <item> swftextfield.setfont </item>
+      <item> swftextfield.setheight </item>
+      <item> swftextfield.setindentation </item>
+      <item> swftextfield.setleftmargin </item>
+      <item> swftextfield.setlinespacing </item>
+      <item> swftextfield.setmargins </item>
+      <item> swftextfield.setname </item>
+      <item> swftextfield.setrightmargin </item>
+      <item> sybase_affected_rows </item>
+      <item> sybase_close </item>
+      <item> sybase_connect </item>
+      <item> sybase_data_seek </item>
+      <item> sybase_fetch_array </item>
+      <item> sybase_fetch_field </item>
+      <item> sybase_fetch_object </item>
+      <item> sybase_fetch_row </item>
+      <item> sybase_field_seek </item>
+      <item> sybase_free_result </item>
+      <item> sybase_get_last_message </item>
+      <item> sybase_min_client_severity </item>
+      <item> sybase_min_error_severity </item>
+      <item> sybase_min_message_severity </item>
+      <item> sybase_min_server_severity </item>
+      <item> sybase_num_fields </item>
+      <item> sybase_num_rows </item>
+      <item> sybase_pconnect </item>
+      <item> sybase_query </item>
+      <item> sybase_result </item>
+      <item> sybase_select_db </item>
+      <item> symlink </item>
+      <item> sys_get_temp_dir </item>
+      <item> sys_getloadavg </item>
+      <item> syslog </item>
+      <item> system </item>
+      <item> tan </item>
+      <item> tanh </item>
+      <item> tempnam </item>
+      <item> textdomain </item>
+      <item> time </item>
+      <item> time_nanosleep </item>
+      <item> time_sleep_until </item>
+      <item> timezone_abbreviations_list </item>
+      <item> timezone_identifiers_list </item>
+      <item> timezone_location_get </item>
+      <item> timezone_name_from_abbr </item>
+      <item> timezone_name_get </item>
+      <item> timezone_offset_get </item>
+      <item> timezone_open </item>
+      <item> timezone_transitions_get </item>
+      <item> timezone_version_get </item>
+      <item> tmpfile </item>
+      <item> token_get_all </item>
+      <item> token_name </item>
+      <item> touch </item>
+      <item> trigger_error </item>
+      <item> trim </item>
+      <item> uasort </item>
+      <item> ucfirst </item>
+      <item> ucwords </item>
+      <item> udm_add_search_limit </item>
+      <item> udm_alloc_agent </item>
+      <item> udm_api_version </item>
+      <item> udm_cat_list </item>
+      <item> udm_cat_path </item>
+      <item> udm_check_charset </item>
+      <item> udm_check_stored </item>
+      <item> udm_clear_search_limits </item>
+      <item> udm_close_stored </item>
+      <item> udm_crc32 </item>
+      <item> udm_errno </item>
+      <item> udm_error </item>
+      <item> udm_find </item>
+      <item> udm_free_agent </item>
+      <item> udm_free_ispell_data </item>
+      <item> udm_free_res </item>
+      <item> udm_get_doc_count </item>
+      <item> udm_get_res_field </item>
+      <item> udm_get_res_param </item>
+      <item> udm_load_ispell_data </item>
+      <item> udm_open_stored </item>
+      <item> udm_set_agent_param </item>
+      <item> uksort </item>
+      <item> umask </item>
+      <item> uniqid </item>
+      <item> unixtojd </item>
+      <item> unlink </item>
+      <item> unpack </item>
+      <item> unregister_tick_function </item>
+      <item> unserialize </item>
+      <item> unset </item>
+      <item> urldecode </item>
+      <item> urlencode </item>
+      <item> use_soap_error_handler </item>
+      <item> user_error </item>
+      <item> usleep </item>
+      <item> usort </item>
+      <item> utf8_decode </item>
+      <item> utf8_encode </item>
+      <item> var_dump </item>
+      <item> var_export </item>
+      <item> variant </item>
+      <item> version_compare </item>
+      <item> vfprintf </item>
+      <item> virtual </item>
+      <item> vpopmail_add_alias_domain </item>
+      <item> vpopmail_add_alias_domain_ex </item>
+      <item> vpopmail_add_domain </item>
+      <item> vpopmail_add_domain_ex </item>
+      <item> vpopmail_add_user </item>
+      <item> vpopmail_alias_add </item>
+      <item> vpopmail_alias_del </item>
+      <item> vpopmail_alias_del_domain </item>
+      <item> vpopmail_alias_get </item>
+      <item> vpopmail_alias_get_all </item>
+      <item> vpopmail_auth_user </item>
+      <item> vpopmail_del_domain </item>
+      <item> vpopmail_del_domain_ex </item>
+      <item> vpopmail_del_user </item>
+      <item> vpopmail_error </item>
+      <item> vpopmail_passwd </item>
+      <item> vpopmail_set_user_quota </item>
+      <item> vprintf </item>
+      <item> vsprintf </item>
+      <item> w32api_deftype </item>
+      <item> w32api_init_dtype </item>
+      <item> w32api_invoke_function </item>
+      <item> w32api_register_function </item>
+      <item> w32api_set_call_method </item>
+      <item> wddx_add_vars </item>
+      <item> wddx_deserialize </item>
+      <item> wddx_packet_end </item>
+      <item> wddx_packet_start </item>
+      <item> wddx_serialize_value </item>
+      <item> wddx_serialize_vars </item>
+      <item> wordwrap </item>
+      <item> xdebug_break </item>
+      <item> xdebug_call_class </item>
+      <item> xdebug_call_file </item>
+      <item> xdebug_call_function </item>
+      <item> xdebug_call_line </item>
+      <item> xdebug_clear_aggr_profiling_data </item>
+      <item> xdebug_debug_zval </item>
+      <item> xdebug_debug_zval_stdout </item>
+      <item> xdebug_disable </item>
+      <item> xdebug_dump_aggr_profiling_data </item>
+      <item> xdebug_dump_superglobals </item>
+      <item> xdebug_enable </item>
+      <item> xdebug_get_code_coverage </item>
+      <item> xdebug_get_collected_errors </item>
+      <item> xdebug_get_declared_vars </item>
+      <item> xdebug_get_formatted_function_stack </item>
+      <item> xdebug_get_function_count </item>
+      <item> xdebug_get_function_stack </item>
+      <item> xdebug_get_headers </item>
+      <item> xdebug_get_profiler_filename </item>
+      <item> xdebug_get_stack_depth </item>
+      <item> xdebug_get_tracefile_name </item>
+      <item> xdebug_is_enabled </item>
+      <item> xdebug_memory_usage </item>
+      <item> xdebug_peak_memory_usage </item>
+      <item> xdebug_print_function_stack </item>
+      <item> xdebug_start_code_coverage </item>
+      <item> xdebug_start_error_collection </item>
+      <item> xdebug_start_trace </item>
+      <item> xdebug_stop_code_coverage </item>
+      <item> xdebug_stop_error_collection </item>
+      <item> xdebug_stop_trace </item>
+      <item> xdebug_time_index </item>
+      <item> xdebug_var_dump </item>
+      <item> xml_error_string </item>
+      <item> xml_get_current_byte_index </item>
+      <item> xml_get_current_column_number </item>
+      <item> xml_get_current_line_number </item>
+      <item> xml_get_error_code </item>
+      <item> xml_parse </item>
+      <item> xml_parse_into_struct </item>
+      <item> xml_parser_create </item>
+      <item> xml_parser_create_ns </item>
+      <item> xml_parser_free </item>
+      <item> xml_parser_get_option </item>
+      <item> xml_parser_set_option </item>
+      <item> xml_set_character_data_handler </item>
+      <item> xml_set_default_handler </item>
+      <item> xml_set_element_handler </item>
+      <item> xml_set_end_namespace_decl_handler </item>
+      <item> xml_set_external_entity_ref_handler </item>
+      <item> xml_set_notation_decl_handler </item>
+      <item> xml_set_object </item>
+      <item> xml_set_processing_instruction_handler </item>
+      <item> xml_set_start_namespace_decl_handler </item>
+      <item> xml_set_unparsed_entity_decl_handler </item>
+      <item> xmldoc </item>
+      <item> xmldocfile </item>
+      <item> xmlrpc_decode </item>
+      <item> xmlrpc_decode_request </item>
+      <item> xmlrpc_encode </item>
+      <item> xmlrpc_encode_request </item>
+      <item> xmlrpc_get_type </item>
+      <item> xmlrpc_is_fault </item>
+      <item> xmlrpc_parse_method_descriptions </item>
+      <item> xmlrpc_server_add_introspection_data </item>
+      <item> xmlrpc_server_call_method </item>
+      <item> xmlrpc_server_create </item>
+      <item> xmlrpc_server_destroy </item>
+      <item> xmlrpc_server_register_introspection_callback </item>
+      <item> xmlrpc_server_register_method </item>
+      <item> xmlrpc_set_type </item>
+      <item> xmltree </item>
+      <item> xmlwriter_end_attribute </item>
+      <item> xmlwriter_end_cdata </item>
+      <item> xmlwriter_end_comment </item>
+      <item> xmlwriter_end_document </item>
+      <item> xmlwriter_end_dtd </item>
+      <item> xmlwriter_end_dtd_attlist </item>
+      <item> xmlwriter_end_dtd_element </item>
+      <item> xmlwriter_end_dtd_entity </item>
+      <item> xmlwriter_end_element </item>
+      <item> xmlwriter_end_pi </item>
+      <item> xmlwriter_flush </item>
+      <item> xmlwriter_full_end_element </item>
+      <item> xmlwriter_open_memory </item>
+      <item> xmlwriter_open_uri </item>
+      <item> xmlwriter_output_memory </item>
+      <item> xmlwriter_set_indent </item>
+      <item> xmlwriter_set_indent_string </item>
+      <item> xmlwriter_start_attribute </item>
+      <item> xmlwriter_start_attribute_ns </item>
+      <item> xmlwriter_start_cdata </item>
+      <item> xmlwriter_start_comment </item>
+      <item> xmlwriter_start_document </item>
+      <item> xmlwriter_start_dtd </item>
+      <item> xmlwriter_start_dtd_attlist </item>
+      <item> xmlwriter_start_dtd_element </item>
+      <item> xmlwriter_start_dtd_entity </item>
+      <item> xmlwriter_start_element </item>
+      <item> xmlwriter_start_element_ns </item>
+      <item> xmlwriter_start_pi </item>
+      <item> xmlwriter_text </item>
+      <item> xmlwriter_write_attribute </item>
+      <item> xmlwriter_write_attribute_ns </item>
+      <item> xmlwriter_write_cdata </item>
+      <item> xmlwriter_write_comment </item>
+      <item> xmlwriter_write_dtd </item>
+      <item> xmlwriter_write_dtd_attlist </item>
+      <item> xmlwriter_write_dtd_element </item>
+      <item> xmlwriter_write_dtd_entity </item>
+      <item> xmlwriter_write_element </item>
+      <item> xmlwriter_write_element_ns </item>
+      <item> xmlwriter_write_pi </item>
+      <item> xmlwriter_write_raw </item>
+      <item> xpath_eval </item>
+      <item> xpath_eval_expression </item>
+      <item> xpath_new_context </item>
+      <item> xptr_eval </item>
+      <item> xptr_new_context </item>
+      <item> xslt_create </item>
+      <item> xslt_errno </item>
+      <item> xslt_error </item>
+      <item> xslt_free </item>
+      <item> xslt_process </item>
+      <item> xslt_set_base </item>
+      <item> xslt_set_encoding </item>
+      <item> xslt_set_error_handler </item>
+      <item> xslt_set_log </item>
+      <item> xslt_set_sax_handler </item>
+      <item> xslt_set_sax_handlers </item>
+      <item> xslt_set_scheme_handler </item>
+      <item> xslt_set_scheme_handlers </item>
+      <item> yaz_addinfo </item>
+      <item> yaz_ccl_conf </item>
+      <item> yaz_ccl_parse </item>
+      <item> yaz_close </item>
+      <item> yaz_connect </item>
+      <item> yaz_database </item>
+      <item> yaz_element </item>
+      <item> yaz_errno </item>
+      <item> yaz_error </item>
+      <item> yaz_hits </item>
+      <item> yaz_itemorder </item>
+      <item> yaz_present </item>
+      <item> yaz_range </item>
+      <item> yaz_record </item>
+      <item> yaz_scan </item>
+      <item> yaz_scan_result </item>
+      <item> yaz_search </item>
+      <item> yaz_sort </item>
+      <item> yaz_syntax </item>
+      <item> yaz_wait </item>
+      <item> yp_all </item>
+      <item> yp_cat </item>
+      <item> yp_err_string </item>
+      <item> yp_errno </item>
+      <item> yp_first </item>
+      <item> yp_get_default_domain </item>
+      <item> yp_master </item>
+      <item> yp_match </item>
+      <item> yp_next </item>
+      <item> yp_order </item>
+      <item> zend_logo_guid </item>
+      <item> zend_version </item>
+      <item> zip_close </item>
+      <item> zip_entry_close </item>
+      <item> zip_entry_compressedsize </item>
+      <item> zip_entry_compressionmethod </item>
+      <item> zip_entry_filesize </item>
+      <item> zip_entry_name </item>
+      <item> zip_entry_open </item>
+      <item> zip_entry_read </item>
+      <item> zip_open </item>
+      <item> zip_read </item>
+      <item> zlib_get_coding_type </item>
+    </list>
+    <list name="special-variables">
+        <item> $GLOBALS </item>
+        <item> $_COOKIE </item>
+        <item> $_ENV </item>
+        <item> $_FILES </item>
+        <item> $_GET </item>
+        <item> $_POST </item>
+        <item> $_REQUEST </item>
+        <item> $_SERVER </item>
+        <item> $_SESSION </item>
+        <item> $php_errormsg </item>
+        <item> $this </item>
+    </list>
+    <list name="predefined-classes">
+        <item> APCIterator </item>
+        <item> AppendIterator </item>
+        <item> ArrayAccess </item>
+        <item> ArrayIterator </item>
+        <item> ArrayObject </item>
+        <item> BadFunctionCallException </item>
+        <item> BadMethodCallException </item>
+        <item> CachingIterator </item>
+        <item> Closure </item>
+        <item> Countable </item>
+        <item> DOMAttr </item>
+        <item> DOMCDATASection </item>
+        <item> DOMCharacterData </item>
+        <item> DOMComment </item>
+        <item> DOMConfiguration </item>
+        <item> DOMDocument </item>
+        <item> DOMDocumentFragment </item>
+        <item> DOMDocumentType </item>
+        <item> DOMDomError </item>
+        <item> DOMElement </item>
+        <item> DOMEntity </item>
+        <item> DOMEntityReference </item>
+        <item> DOMErrorHandler </item>
+        <item> DOMException </item>
+        <item> DOMImplementation </item>
+        <item> DOMImplementationList </item>
+        <item> DOMImplementationSource </item>
+        <item> DOMLocator </item>
+        <item> DOMNameList </item>
+        <item> DOMNameSpaceNode </item>
+        <item> DOMNamedNodeMap </item>
+        <item> DOMNode </item>
+        <item> DOMNodeList </item>
+        <item> DOMNotation </item>
+        <item> DOMProcessingInstruction </item>
+        <item> DOMStringExtend </item>
+        <item> DOMStringList </item>
+        <item> DOMText </item>
+        <item> DOMTypeinfo </item>
+        <item> DOMUserDataHandler </item>
+        <item> DOMXPath </item>
+        <item> DateInterval </item>
+        <item> DatePeriod </item>
+        <item> DateTime </item>
+        <item> DateTimeZone </item>
+        <item> Directory </item>
+        <item> DirectoryIterator </item>
+        <item> DomainException </item>
+        <item> EmptyIterator </item>
+        <item> ErrorException </item>
+        <item> Exception </item>
+        <item> FilesystemIterator </item>
+        <item> FilterIterator </item>
+        <item> GlobIterator </item>
+        <item> InfiniteIterator </item>
+        <item> InvalidArgumentException </item>
+        <item> Iterator </item>
+        <item> IteratorAggregate </item>
+        <item> IteratorIterator </item>
+        <item> LengthException </item>
+        <item> LibXMLError </item>
+        <item> LimitIterator </item>
+        <item> LogicException </item>
+        <item> MultipleIterator </item>
+        <item> MySQLi </item>
+        <item> MySQLi_Driver </item>
+        <item> MySQLi_SQL_Exception </item>
+        <item> MySQLi_Result </item>
+        <item> MySQLi_STMT </item>
+        <item> MySQLi_Warning </item>
+        <item> NoRewindIterator </item>
+        <item> OCI-Collection </item>
+        <item> OCI-LOB </item>
+        <item> OutOfBoundsException </item>
+        <item> OutOfRangeException </item>
+        <item> OuterIterator </item>
+        <item> OverflowException </item>
+        <item> PDO </item>
+        <item> PDOException </item>
+        <item> PDORow </item>
+        <item> PDOStatement </item>
+        <item> ParentIterator </item>
+        <item> Phar </item>
+        <item> PharData </item>
+        <item> PharException </item>
+        <item> PharFileInfo </item>
+        <item> RangeException </item>
+        <item> RecursiveArrayIterator </item>
+        <item> RecursiveCachingIterator </item>
+        <item> RecursiveDirectoryIterator </item>
+        <item> RecursiveFilterIterator </item>
+        <item> RecursiveIterator </item>
+        <item> RecursiveIteratorIterator </item>
+        <item> RecursiveRegexIterator </item>
+        <item> RecursiveTreeIterator </item>
+        <item> Reflection </item>
+        <item> ReflectionClass </item>
+        <item> ReflectionException </item>
+        <item> ReflectionExtension </item>
+        <item> ReflectionFunction </item>
+        <item> ReflectionFunctionAbstract </item>
+        <item> ReflectionMethod </item>
+        <item> ReflectionObject </item>
+        <item> ReflectionParameter </item>
+        <item> ReflectionProperty </item>
+        <item> Reflector </item>
+        <item> RegexIterator </item>
+        <item> RuntimeException </item>
+        <item> SQLite3 </item>
+        <item> SQLite3Result </item>
+        <item> SQLite3Stmt </item>
+        <item> SQLiteDatabase </item>
+        <item> SQLiteException </item>
+        <item> SQLiteResult </item>
+        <item> SQLiteUnbuffered </item>
+        <item> SeekableIterator </item>
+        <item> Serializable </item>
+        <item> SimpleXMLElement </item>
+        <item> SimpleXMLIterator </item>
+        <item> SplDoublyLinkedList </item>
+        <item> SplFileInfo </item>
+        <item> SplFileObject </item>
+        <item> SplFixedArray </item>
+        <item> SplHeap </item>
+        <item> SplMaxHeap </item>
+        <item> SplMinHeap </item>
+        <item> SplObjectStorage </item>
+        <item> SplObserver </item>
+        <item> SplPriorityQueue </item>
+        <item> SplQueue </item>
+        <item> SplStack </item>
+        <item> SplSubject </item>
+        <item> SplTempFileObject </item>
+        <item> Traversable </item>
+        <item> UnderflowException </item>
+        <item> UnexpectedValueException </item>
+        <item> XMLReader </item>
+        <item> XMLWriter </item>
+        <item> XSLTProcessor </item>
+        <item> ZipArchive </item>
+        <item> __PHP_Incomplete_Class </item>
+        <item> php_user_filter </item>
+        <item> stdClass </item>
+    </list>
+    <list name="deprecated">
+      <!-- Variables -->
+      <item> $HTTP_SERVER_VARS </item>
+      <item> $HTTP_SESSION_VARS </item>
+      <item> $HTTP_ENV_VARS </item>
+      <item> $HTTP_POST_FILES </item>
+      <item> $HTTP_COOKIE_VARS </item>
+      <item> $HTTP_POST_VARS </item>
+      <item> $HTTP_GET_VARS </item>
+      <item> $DOCUMENT_ROOT </item>
+
+      <!-- Functions -->
+      <item> call_user_method </item>
+      <item> call_user_method_array </item>
+      <item> ereg </item>
+      <item> ereg_replace </item>
+      <item> eregi </item>
+      <item> eregi_replace </item>
+      <item> mcrypt_ecb </item>
+      <item> mime_content_type </item>
+      <item> mysql_create_db </item>
+      <item> mysql_dbname </item>
+      <item> mysql_drop_db </item>
+      <item> mysql_fieldflags </item>
+      <item> mysql_fieldlen </item>
+      <item> mysql_fieldname </item>
+      <item> mysql_fieldtable </item>
+      <item> mysql_fieldtype </item>
+      <item> mysql_freeresult </item>
+      <item> mysql_list_fields </item>
+      <item> mysql_list_tables </item>
+      <item> mysql_listdbs </item>
+      <item> mysql_listfields </item>
+      <item> mysql_listtables </item>
+      <item> mysql_numfields </item>
+      <item> mysql_numrows </item>
+      <item> mysql_selectdb </item>
+      <item> mysql_tablename </item>
+      <item> mysqli_disable_reads_from_master </item>
+      <item> mysqli_disable_rpl_parse </item>
+      <item> mysqli_enable_reads_from_master </item>
+      <item> mysqli_enable_rpl_parse </item>
+      <item> mysqli_master_query </item>
+      <item> mysqli_rpl_parse_enabled </item>
+      <item> mysqli_rpl_probe </item>
+      <item> mysqli_rpl_query_type </item>
+      <item> mysqli_send_query </item>
+      <item> mysqli_slave_query </item>
+      <item> ocifetchinto </item>
+      <item> ora_bind </item>
+      <item> ora_close </item>
+      <item> ora_columnname </item>
+      <item> ora_columnsize </item>
+      <item> ora_columntype </item>
+      <item> ora_commit </item>
+      <item> ora_commitoff </item>
+      <item> ora_commiton </item>
+      <item> ora_do </item>
+      <item> ora_error </item>
+      <item> ora_errorcode </item>
+      <item> ora_exec </item>
+      <item> ora_fetch </item>
+      <item> ora_fetch_into </item>
+      <item> ora_getcolumn </item>
+      <item> ora_logoff </item>
+      <item> ora_logon </item>
+      <item> ora_numcols </item>
+      <item> ora_numrows </item>
+      <item> ora_open </item>
+      <item> ora_parse </item>
+      <item> ora_plogon </item>
+      <item> ora_rollback </item>
+      <item> php_check_syntax </item>
+      <item> split </item>
+      <item> spliti </item>
+      <item> sql_regcase </item>
+
+      <!-- Keywords -->
+      <item> var </item>
+
+      <!-- Constants -->
+      <item>OCI_DEFAULT</item>
+      <item>OCI_D_FILE</item>
+      <item>OCI_D_LOB</item>
+      <item>OCI_D_ROWID</item>
+      <item>OCI_EXACT_FETCH</item>
+      <item>OCI_SYSDATE</item>
+    </list>
+
+    <contexts>
+      <!-- JGM:  Added fallthrough so it will handle snippets that don't begin with <?php -->
+      <context name="start" lineEndContext="#stay" attribute="Normal Text" fallthrough="true" fallthroughContext="phpsource">
+        <RegExpr context="phpsource" attribute="Keyword" String="&lt;\?(?:=|php)?" insensitive="true" />
+        <StringDetect attribute="Keyword" context="#pop" String="?&gt;" />
+      </context>
+      <context name="phpsource" attribute="PHP Text" lineEndContext="#stay">
+        <DetectSpaces />
+        <StringDetect attribute="Keyword" context="#pop" String="?&gt;" lookAhead="true" />
+
+        <!-- Alternate PHP Block Syntax
+          -  http://www.php.net/manual/en/control-structures.alternative-syntax.php
+          -
+          -  We must treat the ternary and case/default statements specially so that the : in those can be
+          -  ignored.  Then otherwise we treat the : as a block start, and the 5 different end statements as
+          -  a block end.
+          -
+          -  The ternary and case/default switch to a context which short-circuits the : detection and
+          -  just pops back to this context instead of starting a block.
+          -
+          -  We can not use case/default as starting a block because they can be terminated by break. return
+          -  or not at all, making it impossible to determine where the block should end.
+          -
+          -  Additionally the paamayim nekudotayim (::) must not start a subcontext that is never terminated.
+          -->
+
+        <DetectChar attribute="Other" context="ternary" char="?" />
+        <RegExpr attribute="Keyword" context="case"  String="(case|default)(\s|:|$)" />
+        <Detect2Chars attribute="Normal Text" context="#stay" char=":" char1=":" />
+        <DetectChar attribute="Normal Text" context="#stay" char=":" beginRegion="Alternate Block" />
+        <RegExpr attribute="Control Structures" context="#stay" String="endif|endwhile|endfor|endforeach|endswitch" endRegion="Alternate Block" />
+        <!--/ Alternate PHP Block Syntax -->
+
+        <DetectChar attribute="Comment" context="onelinecomment" char="#" />
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="onelinecomment" char="/" char1="/" />
+        <Detect2Chars attribute="Comment" context="twolinecomment" char="/" char1="*" beginRegion="Comment" />
+        <keyword attribute="Error" context="#stay" String="deprecated"/>
+        <keyword attribute="Control Structures" context="#stay" String="control structures" />
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <keyword attribute="Classes" context="#stay" String="predefined-classes"/>
+        <DetectChar attribute="Error" context="#stay" char="@" />
+        <keyword attribute="Function" context="#stay" String="functions" />
+        <keyword attribute="Special method" context="#stay" String="special_methods" />
+        <keyword attribute="Library Constant" context="#stay" String="constants"/>
+        <RegExpr attribute="Constant" context="#stay" String="\b[A-Z_][A-Z_0-9]*\b"/>
+
+        <!-- Type casts -->
+        <RegExpr attribute="Types" context="#stay" String="\(\s*(&types;)\s*\)"/>
+
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="doublequotestring" char="&quot;" />
+        <DetectChar attribute="String" context="backquotestring" char="`" />
+        <DetectChar attribute="String" context="singlequotestring" char="'" />
+        <RegExpr attribute="Backslash Code" context="htmlheredoc" String="&lt;&lt;&lt;&quot;((EO)?HTML)&quot;" beginRegion="Heredoc" />
+        <RegExpr attribute="Backslash Code" context="cssheredoc" String="&lt;&lt;&lt;&quot;((EO)?CSS)&quot;" beginRegion="Heredoc" />
+        <RegExpr attribute="Backslash Code" context="javascriptheredoc" String="&lt;&lt;&lt;&quot;((EO)?JAVASCRIPT)&quot;" beginRegion="Heredoc" />
+        <RegExpr attribute="Backslash Code" context="mysqlheredoc" String="&lt;&lt;&lt;&quot;((EO)?MYSQL)&quot;" beginRegion="Heredoc" />
+        <RegExpr attribute="Backslash Code" context="heredoc" String="&lt;&lt;&lt;&quot;([A-Za-z_][A-Za-z0-9_]*)&quot;" beginRegion="Heredoc" />
+        <RegExpr attribute="Backslash Code" context="htmlheredoc" String="&lt;&lt;&lt;((EO)?HTML)\b" beginRegion="Heredoc" />
+        <RegExpr attribute="Backslash Code" context="cssheredoc" String="&lt;&lt;&lt;((EO)?CSS)\b" beginRegion="Heredoc" />
+        <RegExpr attribute="Backslash Code" context="javascriptheredoc" String="&lt;&lt;&lt;((EO)?JAVASCRIPT)\b" beginRegion="Heredoc" />
+        <RegExpr attribute="Backslash Code" context="mysqlheredoc" String="&lt;&lt;&lt;((EO)?MYSQL)\b" beginRegion="Heredoc" />
+        <RegExpr attribute="Backslash Code" context="heredoc" String="&lt;&lt;&lt;([A-Za-z_][A-Za-z0-9_]*)" beginRegion="Heredoc" />
+        <RegExpr attribute="Backslash Code" context="htmlnowdoc" String="&lt;&lt;&lt;'((EO)?HTML)'" beginRegion="Nowdoc" />
+        <RegExpr attribute="Backslash Code" context="cssnowdoc" String="&lt;&lt;&lt;'((EO)?CSS)'" beginRegion="Nowdoc" />
+        <RegExpr attribute="Backslash Code" context="javascriptnowdoc" String="&lt;&lt;&lt;'((EO)?JAVASCRIPT)'" beginRegion="Nowdoc" />
+        <RegExpr attribute="Backslash Code" context="mysqlnowdoc" String="&lt;&lt;&lt;'((EO)?MYSQL)'" beginRegion="Nowdoc" />
+        <RegExpr attribute="Backslash Code" context="nowdoc" String="&lt;&lt;&lt;'([A-Za-z_][A-Za-z0-9_]*)'" beginRegion="Nowdoc" />
+        <keyword attribute="Special Variable" context="#stay" String="special-variables"/>
+        <RegExpr attribute="Variable" context="#stay" String="\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*" />
+        <RegExpr attribute="String" context="#stay" String="[0123456789]*\.\.\.[0123456789]*" />
+        <RegExpr attribute="Binary" context="#stay" String="0[bB][01]+" />
+        <HlCOct attribute="Octal" context="#stay" />
+        <HlCHex attribute="Hex" context="#stay" />
+        <Float attribute="Float" context="#stay" />
+        <Int attribute="Decimal" context="#stay" />
+        <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="ternary" attribute="PHP Text" lineEndContext="#stay">
+        <!-- the paamayim nekudotayim (::) must not start a subcontext that is never terminated. -->
+        <Detect2Chars attribute="Normal Text" context="#stay" char=":" char1=":" />
+        <DetectChar attribute="Other" char=":" context="#pop" />
+        <IncludeRules context="phpsource" />
+      </context>
+
+      <context name="case" attribute="PHP Text" lineEndContext="#stay">
+        <IncludeRules context="ternary" />
+      </context>
+
+      <context name="onelinecomment" attribute="Comment" lineEndContext="#pop">
+        <StringDetect attribute="Keyword" context="#pop" lookAhead="true" String="?&gt;" />
+        <IncludeRules context="##Alerts" />
+      </context>
+      <context name="twolinecomment" attribute="Comment" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment" />
+        <IncludeRules context="##Alerts" />
+      </context>
+      <context name="doublebackquotestringcommon" attribute="String" lineEndContext="#stay">
+        <!-- Common rules for double quoted strings and backticks (execution operator) URL:
+              http://de3.php.net/manual/en/language.types.string.php#language.types.string.syntax.double -->
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="\" />
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="n" />
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="r" />
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="t" />
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="v" />
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="f" />
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="$" />
+        <RegExpr attribute="Backslash Code" context="#stay" String="\\[0-7]{1,3}" />
+        <RegExpr attribute="Backslash Code" context="#stay" String="\\x[0-9A-Fa-f]{1,2}" />
+        <RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\[[a-zA-Z0-9_]*\])*" />
+        <RegExpr attribute="Variable" context="#stay" String="\$\{[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\[[a-zA-Z0-9_]*\])*\}" />
+        <RegExpr attribute="Variable" context="#stay" String="\{\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\[([0-9]*|&quot;[^&quot;]*&quot;|\$[a-zA-Z]*)|'[^']*'|\])*(-&gt;[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\[[a-zA-Z0-9_]*\])*(\[([0-9]*|&quot;[a-zA-Z_]*&quot;)|'[a-zA-Z_]*'|\])*)*\}" />
+      </context>
+      <context name="backquotestring" attribute="String" lineEndContext="#stay">
+        <IncludeRules context="doublebackquotestringcommon" />
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="`" />
+        <DetectChar attribute="String" context="#pop" char="`" />
+      </context>
+      <context name="doublequotestring" attribute="String" lineEndContext="#stay">
+        <IncludeRules context="doublebackquotestringcommon" />
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="&quot;" />
+        <DetectChar attribute="String" context="#pop" char="&quot;" />
+      </context>
+      <context name="singlequotestring" attribute="String" lineEndContext="#stay">
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="'" />
+        <Detect2Chars attribute="Backslash Code" context="#stay" char="\" char1="\" />
+        <DetectChar attribute="String" context="#pop" char="'" />
+      </context>
+      <context name="htmlheredoc" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Heredoc" />
+        <IncludeRules context="commonheredoc" />
+        <IncludeRules context="##HTML" />
+      </context>
+      <context name="cssheredoc" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Heredoc" />
+        <IncludeRules context="commonheredoc" />
+        <IncludeRules context="##CSS" />
+      </context>
+      <context name="mysqlheredoc" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Heredoc" />
+        <IncludeRules context="commonheredoc" />
+        <IncludeRules context="##SQL (MySQL)" />
+      </context>
+      <context name="javascriptheredoc" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Heredoc" />
+        <IncludeRules context="commonheredoc" />
+        <IncludeRules context="Normal##JavaScript" />
+      </context>
+      <context name="heredoc" attribute="String" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Heredoc" />
+        <IncludeRules context="commonheredoc" />
+      </context>
+      <context name="commonheredoc" attribute="String" lineEndContext="#stay">
+        <RegExpr attribute="Variable" context="#stay" String="\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\[[a-zA-Z0-9_]*\])*" />
+        <RegExpr attribute="Variable" context="#stay" String="\$\{[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\[[a-zA-Z0-9_]*\])*\}" />
+        <RegExpr attribute="Variable" context="#stay" String="\{\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\[([0-9]*|&quot;[a-zA-Z_]*&quot;)|'[a-zA-Z_]*'|\])*(-&gt;[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\[[a-zA-Z0-9_]*\])*(\[([0-9]*|&quot;[a-zA-Z_]*&quot;)|'[a-zA-Z_]*'|\])*)*\}" />
+      </context>
+      <context name="htmlnowdoc" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Nowdoc" />
+        <IncludeRules context="commonnowdoc" />
+        <IncludeRules context="##HTML" />
+      </context>
+      <context name="cssnowdoc" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Nowdoc" />
+        <IncludeRules context="commonnowdoc" />
+        <IncludeRules context="##CSS" />
+      </context>
+      <context name="mysqlnowdoc" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Nowdoc" />
+        <IncludeRules context="commonnowdoc" />
+        <IncludeRules context="##SQL (MySQL)" />
+      </context>
+      <context name="javascriptnowdoc" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Nowdoc" />
+        <IncludeRules context="commonnowdoc" />
+        <IncludeRules context="Normal##JavaScript" />
+      </context>
+      <context name="nowdoc" attribute="String" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Nowdoc" />
+        <IncludeRules context="commonnowdoc" />
+      </context>
+      <context name="commonnowdoc" attribute="String" lineEndContext="#stay">
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
+      <itemData name="PHP Text" defStyleNum="dsNormal" spellChecking="false" />
+      <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
+      <itemData name="Classes" defStyleNum="dsKeyword" spellChecking="false" />
+      <itemData name="Function" defStyleNum="dsFunction" spellChecking="false" />
+      <itemData name="Special method" defStyleNum="dsFunction" spellChecking="false" />
+      <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" />
+      <itemData name="Binary" defStyleNum="dsBaseN" spellChecking="false" />
+      <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false" />
+      <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false" />
+      <itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />
+      <itemData name="String" defStyleNum="dsString" />
+      <itemData name="Comment" defStyleNum="dsComment" />
+      <itemData name="Special Variable" defStyleNum="dsKeyword" color="#5555FF" selColor="#ffffff" bold="1" italic="0" spellChecking="false" />
+      <itemData name="Variable" defStyleNum="dsKeyword" color="#5555FF" selColor="#ffffff" bold="0" italic="0" spellChecking="false" />
+      <itemData name="Library Constant" defStyleNum="dsKeyword" bold="1" spellChecking="false" />
+      <itemData name="Constant" defStyleNum="dsKeyword" bold="0" spellChecking="false" />
+      <itemData name="Control Structures" defStyleNum="dsKeyword" color="#A1A100" selColor="#ffffff" bold="0" italic="0" spellChecking="false" />
+      <itemData name="Backslash Code" defStyleNum="dsKeyword" color="#0F0F8F" selColor="#ffffff" bold="1" italic="0" spellChecking="false" />
+      <itemData name="Other" defStyleNum="dsOthers" spellChecking="false" />
+
+      <itemData name="HTML Tag" defStyleNum="dsKeyword" color="#0F0000" selColor="#ffffff" bold="1" italic="0" spellChecking="false" />
+      <itemData name="HTML Comment" defStyleNum="dsComment" />
+      <itemData name="Identifier" defStyleNum="dsOthers" spellChecking="false" />
+      <itemData name="Types" defStyleNum="dsDataType" spellChecking="false" />
+      <itemData name="Error" defStyleNum="dsError" spellChecking="false" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="/*" end="*/" />
+    </comments>
+    <keywords casesensitive="0" weakDeliminator="" additionalDeliminator="@" />
+  </general>
+</language>
diff --git a/xml/pike.xml b/xml/pike.xml
new file mode 100644
--- /dev/null
+++ b/xml/pike.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- FIXME: Find a way to prevent ranges (e.g. [1..] or [0..99]) from matching as floats. -pp -->
+<language name="Pike" version="2" kateversion="2.4" section="Scripts" extensions="*.pike" mimetype="application/x-pike;text/x-pike" casesensitive="1" author="Paul Pogonyshev" license="">
+  <highlighting>
+    <list name="keywords">
+      <item> break </item>
+      <item> case </item>
+      <item> class </item>
+      <item> continue </item>
+      <item> default </item>
+      <item> do </item>
+      <item> else </item>
+      <item> for </item>
+      <item> foreach </item>
+      <item> if </item>
+      <item> return </item>
+      <item> switch </item>
+      <item> while </item>
+    </list>
+    <list name="types">
+      <item> array </item>
+      <item> float </item>
+      <item> function </item>
+      <item> int </item>
+      <item> mapping </item>
+      <item> mixed </item>
+      <item> multiset> </item>
+      <item> object </item>
+      <item> program </item>
+      <item> static </item>
+      <item> string </item>
+      <item> void </item>
+    </list>
+    <list name="builtins">
+      <item> catch </item>
+      <item> gauge </item>
+      <item> sscanf </item>
+      <item> typeof </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+	<keyword attribute="Keyword" context="#stay" String="keywords"/>
+	<keyword attribute="Data Type" context="#stay" String="types"/>
+	<keyword attribute="Builtin Function" context="#stay" String="builtins"/>
+	<RegExpr attribute="Builtin Function" context="#stay" String="`([\+\-\*/%~&amp;\|^]|[!=&lt;&gt;]=|&lt;&lt;?|&gt;&gt;?|(\[\]|->)=?)"/>
+	<Float attribute="Float" context="#stay"/>
+	<RegExpr attribute="Binary" context="#stay" String="0[bB][01]+"/>
+	<HlCOct attribute="Octal" context="#stay"/>
+	<HlCHex attribute="Hex" context="#stay"/>
+	<Int attribute="Decimal" context="#stay"/>
+	<HlCChar attribute="Char" context="#stay"/>
+	<DetectChar attribute="Normal Text" context="#stay" char="{" beginRegion="Brace"/>
+	<DetectChar attribute="Normal Text" context="#stay" char="}" endRegion="Brace"/>
+	<DetectChar attribute="String" context="String" char="&quot;"/>
+	<Detect2Chars attribute="Comment" context="Line Comment" char="/" char1="/"/>
+	<Detect2Chars attribute="Comment" context="Line Comment" char="#" char1="!"/>
+	<Detect2Chars attribute="Comment" context="Block Comment" char="/" char1="*" beginRegion="Comment"/>
+	<RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="Outscoped" firstNonSpace="true"/>
+	<DetectChar attribute="Preprocessor" context="Preprocessor" char="#" firstNonSpace="true"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+	<RegExpr attribute="String Char" context="#stay" String="\\d[0-9]+"/>
+	<HlCStringChar attribute="String Char" context="#stay"/>
+	<DetectChar attribute="String" context="#pop" char="&quot;"/>
+	<LineContinue attribute="String" context="#stay"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Line Comment">
+	<RegExpr attribute="Note" context="#stay" String="(FIXME|TODO|NOT(IC)?E):?"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Block Comment">
+	<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+	<RegExpr attribute="Note" context="#stay" String="(FIXME|TODO|NOT(IC)?E):?"/>
+      </context>
+      <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
+	<RangeDetect attribute="Preprocessor Lib" context="#stay" char="&quot;" char1="&quot;"/>
+	<RangeDetect attribute="Preprocessor Lib" context="#stay" char="&lt;" char1="&gt;"/>
+	<Detect2Chars attribute="Comment" context="Line Comment" char="/" char1="/"/>
+	<Detect2Chars attribute="Comment" context="Block Comment" char="/" char1="*"/>
+	<LineContinue attribute="Preprocessor" context="#stay"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Outscoped">
+	<RegExpr attribute="Note" context="#stay" String="(FIXME|TODO|NOT(IC)?E):?"/>
+	<Detect2Chars attribute="Comment" context="Block Comment" 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|elif|else)" endRegion="Outscoped" firstNonSpace="true"/>
+      </context>         
+      <context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
+	<Detect2Chars attribute="Comment" context="Block Comment" 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"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"	defStyleNum="dsNormal"/>
+      <itemData name="Keyword"		defStyleNum="dsKeyword"/>
+      <itemData name="Builtin Function" defStyleNum="dsFunction"/>
+      <itemData name="Data Type"	defStyleNum="dsDataType"/>
+      <itemData name="Decimal"		defStyleNum="dsDecVal"/>
+      <itemData name="Hex"		defStyleNum="dsBaseN"/>
+      <itemData name="Octal"		defStyleNum="dsBaseN"/>
+      <itemData name="Binary"		defStyleNum="dsBaseN"/>
+      <itemData name="Float"		defStyleNum="dsFloat"/>
+      <itemData name="Char"		defStyleNum="dsChar"/>
+      <itemData name="String"		defStyleNum="dsString"/>
+      <itemData name="String Char"	defStyleNum="dsChar"/>
+      <itemData name="Comment"		defStyleNum="dsComment"/>
+      <itemData name="Note"		defStyleNum="dsAlert"/>
+      <itemData name="Preprocessor"	defStyleNum="dsOthers"/>
+      <itemData name="Preprocessor Lib" defStyleNum="dsString"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="#!"/>
+      <comment name="singleLine" start="//"/>
+      <comment name="multiLine" start="/*" end="*/"/>
+    </comments>
+    <keywords casesensitive="1"/>
+  </general>
+</language>
diff --git a/xml/postscript.xml b/xml/postscript.xml
new file mode 100644
--- /dev/null
+++ b/xml/postscript.xml
@@ -0,0 +1,434 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="PostScript" version="2" kateversion="2.2" section="Markup" extensions="*.ps;*.ai;*.eps" mimetype="application/postscript">
+<highlighting>
+	<list name="keywords">
+		<item> abs </item>
+		<item> add </item>
+		<item> aload </item>
+		<item> anchorsearch </item>
+		<item> and </item>
+		<item> arc </item>
+		<item> arcn </item>
+		<item> arct </item>
+		<item> arcto </item>
+		<item> array </item>
+		<item> ashow </item>
+		<item> astore </item>
+		<item> awidthshow </item>
+		<item> begin </item>
+		<item> bind </item>
+		<item> bitshift </item>
+		<item> ceiling </item>
+		<item> charpath </item>
+		<item> clear </item>
+		<item> cleartomark </item>
+		<item> clip </item>
+		<item> clippath </item>
+		<item> closepath </item>
+		<item> concat </item>
+		<item> concatmatrix </item>
+		<item> copy </item>
+		<item> count </item>
+		<item> counttomark </item>
+		<item> currentcmykcolor </item>
+		<item> currentdash </item>
+		<item> currentdict </item>
+		<item> currentfile </item>
+		<item> currentfont </item>
+		<item> currentgray </item>
+		<item> currentgstate </item>
+		<item> currenthsbcolor </item>
+		<item> currentlinecap </item>
+		<item> currentlinejoin </item>
+		<item> currentlinewidth </item>
+		<item> currentmatrix </item>
+		<item> currentpoint </item>
+		<item> currentrgbcolor </item>
+		<item> currentshared </item>
+		<item> curveto </item>
+		<item> cvi </item>
+		<item> cvlit </item>
+		<item> cvn </item>
+		<item> cvr </item>
+		<item> cvrs </item>
+		<item> cvs </item>
+		<item> cvx </item>
+		<item> def </item>
+		<item> defineusername </item>
+		<item> dict </item>
+		<item> div </item>
+		<item> dtransform </item>
+		<item> dup </item>
+		<item> end </item>
+		<item> eoclip </item>
+		<item> eofill </item>
+		<item> eoviewclip </item>
+		<item> eq </item>
+		<item> exch </item>
+		<item> exec </item>
+		<item> exit </item>
+		<item> file </item>
+		<item> fill </item>
+		<item> findfont </item>
+		<item> flattenpath </item>
+		<item> floor </item>
+		<item> flush </item>
+		<item> flushfile </item>
+		<item> for </item>
+		<item> forall </item>
+		<item> ge </item>
+		<item> get </item>
+		<item> getinterval </item>
+		<item> grestore </item>
+		<item> gsave </item>
+		<item> gstate </item>
+		<item> gt </item>
+		<item> identmatrix </item>
+		<item> idiv </item>
+		<item> idtransform </item>
+		<item> if </item>
+		<item> ifelse </item>
+		<item> image </item>
+		<item> imagemask </item>
+		<item> index </item>
+		<item> ineofill </item>
+		<item> infill </item>
+		<item> initviewclip </item>
+		<item> inueofill </item>
+		<item> inufill </item>
+		<item> invertmatrix </item>
+		<item> itransform </item>
+		<item> known </item>
+		<item> le </item>
+		<item> length </item>
+		<item> lineto </item>
+		<item> load </item>
+		<item> loop </item>
+		<item> lt </item>
+		<item> makefont </item>
+		<item> matrix </item>
+		<item> maxlength </item>
+		<item> mod </item>
+		<item> moveto </item>
+		<item> mul </item>
+		<item> ne </item>
+		<item> neg </item>
+		<item> newpath </item>
+		<item> not </item>
+		<item> null </item>
+		<item> or </item>
+		<item> pathbbox </item>
+		<item> pathforall </item>
+		<item> pop </item>
+		<item> print </item>
+		<item> printobject </item>
+		<item> put </item>
+		<item> putinterval </item>
+		<item> rcurveto </item>
+		<item> read </item>
+		<item> readhexstring </item>
+		<item> readline </item>
+		<item> readstring </item>
+		<item> rectclip </item>
+		<item> rectfill </item>
+		<item> rectstroke </item>
+		<item> rectviewclip </item>
+		<item> repeat </item>
+		<item> restore </item>
+		<item> rlineto </item>
+		<item> rmoveto </item>
+		<item> roll </item>
+		<item> rotate </item>
+		<item> round </item>
+		<item> save </item>
+		<item> scale </item>
+		<item> scalefont </item>
+		<item> search </item>
+		<item> selectfont </item>
+		<item> setbbox </item>
+		<item> setcachedevice </item>
+		<item> setcachedevice2 </item>
+		<item> setcharwidth </item>
+		<item> setcmykcolor </item>
+		<item> setdash </item>
+		<item> setfont </item>
+		<item> setgray </item>
+		<item> setgstate </item>
+		<item> sethsbcolor </item>
+		<item> setlinecap </item>
+		<item> setlinejoin </item>
+		<item> setlinewidth </item>
+		<item> setmatrix </item>
+		<item> setrgbcolor </item>
+		<item> setshared </item>
+		<item> shareddict </item>
+		<item> show </item>
+		<item> showpage </item>
+		<item> stop </item>
+		<item> stopped </item>
+		<item> store </item>
+		<item> string </item>
+		<item> stringwidth </item>
+		<item> stroke </item>
+		<item> strokepath </item>
+		<item> sub </item>
+		<item> systemdict </item>
+		<item> token </item>
+		<item> transform </item>
+		<item> translate </item>
+		<item> truncate </item>
+		<item> type </item>
+		<item> uappend </item>
+		<item> ucache </item>
+		<item> ueofill </item>
+		<item> ufill </item>
+		<item> undef </item>
+		<item> upath </item>
+		<item> userdict </item>
+		<item> ustroke </item>
+		<item> viewclip </item>
+		<item> viewclippath </item>
+		<item> where </item>
+		<item> widthshow </item>
+		<item> write </item>
+		<item> writehexstring </item>
+		<item> writeobject </item>
+		<item> writestring </item>
+		<item> wtranslation </item>
+		<item> xor </item>
+		<item> xshow </item>
+		<item> xyshow </item>
+		<item> yshow </item>
+		<item> FontDirectory </item>
+		<item> SharedFontDirectory </item>
+		<item> Courier </item>
+		<item> Courier-Bold </item>
+		<item> Courier-BoldOblique </item>
+		<item> Courier-Oblique </item>
+		<item> Helvetica </item>
+		<item> Helvetica-Bold </item>
+		<item> Helvetica-BoldOblique </item>
+		<item> Helvetica-Oblique </item>
+		<item> Symbol </item>
+		<item> Times-Bold </item>
+		<item> Times-BoldItalic </item>
+		<item> Times-Italic </item>
+		<item> Times-Roman </item>
+		<item> execuserobject </item>
+		<item> currentcolor </item>
+		<item> currentcolorspace </item>
+		<item> currentglobal </item>
+		<item> execform </item>
+		<item> filter </item>
+		<item> findresource </item>
+		<item> globaldict </item>
+		<item> makepattern </item>
+		<item> setcolor </item>
+		<item> setcolorspace </item>
+		<item> setglobal </item>
+		<item> setpagedevice </item>
+		<item> setpattern </item>
+		<item> ISOLatin1Encoding </item>
+		<item> StandardEncoding </item>
+		<item> atan </item>
+		<item> banddevice </item>
+		<item> bytesavailable </item>
+		<item> cachestatus </item>
+		<item> closefile </item>
+		<item> colorimage </item>
+		<item> condition </item>
+		<item> copypage </item>
+		<item> cos </item>
+		<item> countdictstack </item>
+		<item> countexecstack </item>
+		<item> cshow </item>
+		<item> currentblackgeneration </item>
+		<item> currentcacheparams </item>
+		<item> currentcolorscreen </item>
+		<item> currentcolortransfer </item>
+		<item> currentcontext </item>
+		<item> currentflat </item>
+		<item> currenthalftone </item>
+		<item> currenthalftonephase </item>
+		<item> currentmiterlimit </item>
+		<item> currentobjectformat </item>
+		<item> currentpacking </item>
+		<item> currentscreen </item>
+		<item> currentstrokeadjust </item>
+		<item> currenttransfer </item>
+		<item> currentundercolorremoval </item>
+		<item> defaultmatrix </item>
+		<item> definefont </item>
+		<item> deletefile </item>
+		<item> detach </item>
+		<item> deviceinfo </item>
+		<item> dictstack </item>
+		<item> echo </item>
+		<item> erasepage </item>
+		<item> errordict </item>
+		<item> execstack </item>
+		<item> executeonly </item>
+		<item> exp </item>
+		<item> false </item>
+		<item> filenameforall </item>
+		<item> fileposition </item>
+		<item> fork </item>
+		<item> framedevice </item>
+		<item> grestoreall </item>
+		<item> handleerror </item>
+		<item> initclip </item>
+		<item> initgraphics </item>
+		<item> initmatrix </item>
+		<item> instroke </item>
+		<item> inustroke </item>
+		<item> join </item>
+		<item> kshow </item>
+		<item> ln </item>
+		<item> lock </item>
+		<item> log </item>
+		<item> mark </item>
+		<item> monitor </item>
+		<item> noaccess </item>
+		<item> notify </item>
+		<item> nulldevice </item>
+		<item> packedarray </item>
+		<item> quit </item>
+		<item> rand </item>
+		<item> rcheck </item>
+		<item> readonly </item>
+		<item> realtime </item>
+		<item> renamefile </item>
+		<item> renderbands </item>
+		<item> resetfile </item>
+		<item> reversepath </item>
+		<item> rootfont </item>
+		<item> rrand </item>
+		<item> run </item>
+		<item> scheck </item>
+		<item> setblackgeneration </item>
+		<item> setcachelimit </item>
+		<item> setcacheparams </item>
+		<item> setcolorscreen </item>
+		<item> setcolortransfer </item>
+		<item> setfileposition </item>
+		<item> setflat </item>
+		<item> sethalftone </item>
+		<item> sethalftonephase </item>
+		<item> setmiterlimit </item>
+		<item> setobjectformat </item>
+		<item> setpacking </item>
+		<item> setscreen </item>
+		<item> setstrokeadjust </item>
+		<item> settransfer </item>
+		<item> setucacheparams </item>
+		<item> setundercolorremoval </item>
+		<item> sin </item>
+		<item> sqrt </item>
+		<item> srand </item>
+		<item> stack </item>
+		<item> status </item>
+		<item> statusdict </item>
+		<item> true </item>
+		<item> ucachestatus </item>
+		<item> undefinefont </item>
+		<item> usertime </item>
+		<item> ustrokepath </item>
+		<item> version </item>
+		<item> vmreclaim </item>
+		<item> vmstatus </item>
+		<item> wait </item>
+		<item> wcheck </item>
+		<item> xcheck </item>
+		<item> yield </item>
+		<item> defineuserobject </item>
+		<item> undefineuserobject </item>
+		<item> UserObjects </item>
+		<item> cleardictstack </item>
+		<item> setvmthreshold </item>
+		<item> currentcolorrendering </item>
+		<item> currentdevparams </item>
+		<item> currentoverprint </item>
+		<item> currentpagedevice </item>
+		<item> currentsystemparams </item>
+		<item> currentuserparams </item>
+		<item> defineresource </item>
+		<item> findencoding </item>
+		<item> gcheck </item>
+		<item> glyphshow </item>
+		<item> languagelevel </item>
+		<item> product </item>
+		<item> pstack </item>
+		<item> resourceforall </item>
+		<item> resourcestatus </item>
+		<item> revision </item>
+		<item> serialnumber </item>
+		<item> setcolorrendering </item>
+		<item> setdevparams </item>
+		<item> setoverprint </item>
+		<item> setsystemparams </item>
+		<item> setuserparams </item>
+		<item> startjob </item>
+		<item> undefineresource </item>
+		<item> GlobalFontDirectory </item>
+		<item> ASCII85Decode </item>
+		<item> ASCII85Encode </item>
+		<item> ASCIIHexDecode </item>
+		<item> ASCIIHexEncode </item>
+		<item> CCITTFaxDecode </item>
+		<item> CCITTFaxEncode </item>
+		<item> DCTDecode </item>
+		<item> DCTEncode </item>
+		<item> LZWDecode </item>
+		<item> LZWEncode </item>
+		<item> NullEncode </item>
+		<item> RunLengthDecode </item>
+		<item> RunLengthEncode </item>
+		<item> SubFileDecode </item>
+		<item> CIEBasedA </item>
+		<item> CIEBasedABC </item>
+		<item> DeviceCMYK </item>
+		<item> DeviceGray </item>
+		<item> DeviceRGB </item>
+		<item> Indexed </item>
+		<item> Pattern </item>
+		<item> Separation </item>
+		<item> CIEBasedDEF </item>
+		<item> CIEBasedDEFG </item>
+		<item> DeviceN </item>
+	</list>
+
+	<contexts>
+		<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+			<keyword attribute="Keyword" context="#stay" String="keywords"/>
+			<Detect2Chars attribute="Header" context="Header" char="%" char1="!"/>
+			<DetectChar attribute="Comment" context="Comment" char="%"/>
+			<Float attribute="Float" context="#stay"/>
+			<Int attribute="Decimal" context="#stay"/>
+		        <DetectChar attribute="String" context="String" char="("/>
+			<RegExpr attribute="Data Type" context="#stay" String="\/{1,2}[^\s\(\)\{\}\[\]%/]*"/>
+		</context>
+		<context attribute="Comment" lineEndContext="#pop" name="Comment"/>
+		<context attribute="Header" lineEndContext="#pop" name="Header"/>
+		<context attribute="String" lineEndContext="#stay" name="String">
+			<DetectChar attribute="String" context="#pop" char=")" />
+		</context>
+	</contexts>
+	<itemDatas>
+		<itemData name="Normal Text" defStyleNum="dsNormal"/>
+		<itemData name="Keyword" defStyleNum="dsKeyword"/>
+		<itemData name="Comment" defStyleNum="dsComment"/>
+		<itemData name="Header" defStyleNum="dsOthers"/>
+		<itemData name="Float" defStyleNum="dsFloat"/>
+		<itemData name="Decimal" defStyleNum="dsDecVal"/>
+		<itemData name="String" defStyleNum="dsString"/>
+		<itemData name="Data Type" defStyleNum="dsDataType"/>
+	</itemDatas>
+</highlighting>
+<general>
+	<comments>
+		<comment name="singleLine" start="%" />
+	</comments>
+	<keywords casesensitive="0" />
+</general>
+</language>
diff --git a/xml/prolog.xml b/xml/prolog.xml
new file mode 100644
--- /dev/null
+++ b/xml/prolog.xml
@@ -0,0 +1,1109 @@
+﻿<?xml version="1.0" encoding="UTF-8"?>
+<!-- [Purpose & Copyright]
+
+    Highlight ISO-Prolog texts or template/include for Prolog dialects
+    based on the ISO standard.
+
+    Includes detection of DCG since it is 'hooked' in the ISO standard.
+    Uses text style "Warning/ISO-bogus" where portability is likely to
+    fail.
+
+    This file is part of KDE's kate project.
+
+  copyright   : (C) 2012 by Torsten Eichstädt
+
+ **********************************************************************
+ * 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.                                       *
+ **********************************************************************
+-->
+<!DOCTYPE language SYSTEM "language.dtd"
+[<!-- [Regular Expressions, Character Classes & Important Tokens]
+E.g. the dot "." has so many different meanings (i.e. in an RegExpr 'any char',
+'fullstop' of a clause, etc. pp.) that I decided it's usefull to write these out
+to make the rules more expressive. -->
+
+<!-- RegExpr for graphic tokens.  Comment start "/*" is catched earlier. -->
+    <!ENTITY gr_char_iso    	"[#$&amp;*+\-./:&lt;=>?@^~\\]">
+
+<!-- RegExpr: The highlighting engine always strips newline, so this ok: -->
+    <!ENTITY any_nw         "[^ \t]">
+    <!ENTITY any            ".">
+
+<!-- RegExpr: we want to highlight some graphic tokens: Logic & Control
+    fullstop shall not be falsely detected if it is actually a list functor
+    comma is catched extra to highlight it as "Normal Text" in an arg_seq
+    (and the cut "!" is NOT an op) -->
+    <!ENTITY fullstop_iso          "\.(?!(\(|&gr_char_iso;))">
+    <!ENTITY logic_control_ops_iso "(;|->|\\\+|:-|=|\\=)(?!&gr_char_iso;)">
+
+    <!-- RegExpr: DCG (not my idea it is not reversed and named 'reduction') -->
+    <!ENTITY dcg_production_iso    "-->(?!&gr_char_iso;)">
+
+    <!-- RegExpr: partitioning of arithmetic operators:
+    - the 1st "arith_compare" always demand arithmetic evaluation
+      => highlight as "Arithmetics".
+    - the 2nd only at the right side of "is" or when an arith_compare applies.
+      They are used in other contexts as well, e.g. traditionally A-B is used
+      for 'a pair of something', the "^" in bagof/3 and setof/3.
+      => highlight as "Arithmetics" only in an arith_expr.
+    - the 3rd are true ISO bogus: it is not specified whether it is arithmetic
+      or logical shift, and for bitwise AND, OR and NEG the integer format is
+      unspecified => not portable, depend on Prolog implementation. -->
+    <!ENTITY arith_compare_iso  "(=:=|=\\=|=&lt;|&lt;|>=|>)(?!&gr_char_iso;)">
+    <!ENTITY arith_ops_mixed_iso      "(\+|-|\*|\^)(?!&gr_char_iso;)">
+    <!ENTITY arith_ops_int_iso      "//(?!&gr_char_iso;)">
+    <!ENTITY arith_ops_float_iso      "(/|\*\*)(?!&gr_char_iso;)">
+    <!ENTITY arith_bogus_iso  "(/\\|\\/|\\|&lt;&lt;|>>)(?!&gr_char_iso;)">
+
+    <!-- RegExpr: other predefined operators -->
+    <!ENTITY predefined_ops_iso "(\?-|==|\\==|@=&lt;|@&lt;|@>=|@>|=\.\.|@|:)(?!&gr_char_iso;)">
+
+    <!-- We treat a number as float if it includes a decimal dot or exponent -->
+    <!ENTITY float3_iso "[0-9]+E[+\-]?[0-9]+">
+    <!ENTITY float2_iso "[0-9]+\.[0-9]+">
+    <!ENTITY float1_iso "[0-9]+\.[0-9]+E[+\-]?[0-9]+">
+
+<!-- RegExpr for esc'd char code in quoted 'strings' e.g. "\007\" -->
+    <!ENTITY esc_oct_iso	"\\[0-7]+\\">
+    <!ENTITY esc_hex_iso	"\\x[a-fA-F0-9]+\\">
+
+<!-- Char classes for AnyChar, NOT RegExpr: no esc seqs, ranges, etc. pp. here!
+     Used to avoid expensive RegExpr whenever possible. -->
+    <!--  Not needed: any_alnum_under_iso:  use "DetectIdentifier" instead -->
+    <!ENTITY any_lower_iso         "abcdefghijklmnopqrstuvwxyz">
+    <!ENTITY any_upper_under_iso   "ABCDEFGHIJKLMNOPQRSTUVWXYZ_">
+    <!ENTITY any_bin_iso           "01">
+    <!ENTITY any_oct_iso           "01234567">
+    <!ENTITY any_dec_iso           "0123456789">
+    <!ENTITY any_hex_iso           "0123456789abcdefABCDEF">
+    <!ENTITY any_graphic_iso       "#$&amp;*+-./:&lt;=>?@^~\">
+
+    <!-- Common esc seq in quoted & char code (after "0'").
+    Tab is handled extra.  Esc'd newline is catched earlier. -->
+    <!ENTITY any_esc_iso		"abfnrtv\'`&quot;]">
+
+    <!ENTITY dot        ".">
+
+    <!-- Some solo chars for DetectChar -->
+    <!ENTITY comma	",">
+    <!ENTITY cut        "!">
+    <!ENTITY bar        "|">
+    <!ENTITY tab	"	">
+    <!ENTITY bs         "\">
+]>
+<language name="Prolog" section="Sources"
+	  version="3" kateversion="3.4"
+	  mimetype="text/x-prolog"
+	  extensions="*.prolog;*.dcg;*.pro"
+	  author="Torsten Eichstädt (torsten.eichstaedt@web.de)"
+	  license="LGPLv2+">
+
+<!-- [Terminology & Abbreviations In The Comments]
+    - Literal text is in double quotes "like this", single quotes sometimes used
+      for a 'terminus technicus'.
+    - "w/", "w/o", "s/t" mean 'with', 'without', and "sometimes" resp.
+    - Use "brace" instead of 'bracket'/'parenthesis' for any of "()[]{}"
+    - Specify "round", "list/squared", "curly", "opening" and "closing" brace.
+    - "quote/quoted/string" mean any of single-, double-, or back-quote(d)
+    - "seq" sequence, "nl" newline, "bs" backslash, "q" quote(d), "cc" char code
+    - "KISS" Keep it simple, stupid! (be pragmatic)
+    - "style" = "attribute" (the applied text style)
+    - Keep comments as short as possible and as descriptive as neccessary LOL
+-->
+<!-- [Documentation, Bugs, Limitations & Solutions, TODOs]
+################################################################################
+All bugs except three by the author. !FOLD THIS AWAY if long comments annoy you.
+
+BUG - Nobody's perfect - If I knew about the bug you found, it would have been
+      fixed already.
+ one- Takes a "shebang" at the start of text on other than the 1st line (Kate).
+ two- Indentation-based folding is not reliable (Kate; fixed in KDE 4.9?).
+ three- Folding is sometimes broken (Kate?).  See SOLUTIONS below.
+  4 - An optional leading sign is not highlighted as part of the number.
+  5 - A float w/o fractional part and exponent is highlighted as an integer.
+  6 - Detection of whitespace may not be 100% correct, only space/tab/newline.
+  7 - Handling inside arithmetic expressions might not be 100%.  See "AL GUSTO".
+ inf- see TODOs below.
+
+LIMITS of this parser
+    - Highlighting of syntax errors is as intuitive as possible, i.e. for an
+      invalid newline highlight the last token before and leading white of the
+      next line - but that's not always possible.  Use your built-in problem
+      solver (between your ears) when you do not know what the exact error is.
+    - The parser knows nothing about currently defined dynamic ops, but has to
+      respect possible definitions of dynamic ops.  That's why:
+    - Any sequence of 'graphic chars' (_incl. those containing a dot_) is taken
+      as _one_ graphic token, and not - as you might expect - your user-defined
+      operator followed by fullstop (or sequence of ops).
+    - A single dot in the outmost term of a clause is taken as a fullstop, even
+      if it is actually a user-defined operator.
+      - Else, a single dot is highlighted as "Warning" because it might be a
+        user-def'd op (usually an error, but can not decide w/o current_op/3).
+    - Detection of the fullstop relies upon the usual semantics of braces.
+    - Axioms of folding capabilities are: the literal fullstop as stop symbol
+      and the usual semantics of braces w/ pairs of opening and closing brace.
+   ?- period.
+uncaught exception: error(existence_error(procedure,current_op/3),highlight/2)
+
+SOLUTIONS
+    - Help the parser by puting whitespace (space/tab/nl) here and there, espc.
+      after the fullstop, or use quotes; e.g. '/*' does not begin a comment,
+      neither does '%', and ***'.' can be two operators.
+      Functored syntax should always do, e.g. */*(X,Y) is valid (and does not
+      begin a comment).
+    - Folding: s/t moving the mouse slightly below the marker shows what you
+      want, s/t an empty line helps (or removing an empty line), when it's
+      removed regions stay ok, or break auto-folding w/ non-white @begin of
+      line.  Try a newer kate version.
+
+AL GUSTO (simple changes):
+    - Change classification of built-in predicates: adjust the <list> below.
+    - Reminder for other changes: solo chars - DetectChar, graphic - RegExpr.
+    - bar "|" (solo) is highlighted as "other built-in operator" in lists, else
+      "Normal Text".  You may safely remove/comment out  the rules in contexts
+      "term/list/curly" below if you add in in context "operator" or "atomic".
+      If it shall be part of user-defined ops, it has to be added to "gr_char",
+      and a few rules need adjustment.  Search for "&bar;".  You may then safely
+      add it to "predefined_ops" above (don't forget to escape it).
+    - cut "!" (solo) can be adjusted like the bar.
+    - comma "," (solo) is "Normal Text" in lists, else "Logic & Control".  You
+      may safely remove/comment out the rules in "term/nested/list/curly" below
+      and handle it in the context "operator".
+    - Disable arith_expr: replace "context="arith_expr"" w/ "context="#stay""
+      in the rules in contexts "atomic" and "operator" (two or three occurrences).
+    - Disable indentation-based folding: in the section "general"@EOF:"folding".
+    - General guidelines: Be nice to slow/old hardware: avoid RegExpr (start w/
+      a RegExpr, test, then find a replacement), else match a RegExpr as late as
+      possible - it's expensive, a context switch is relatively cheap.
+      Eat as much text as possible in one run, e.g. in comments and quoted we
+      use "DetectIdentifier", else the engine would try all rules of the context
+      (w/ failure) and eat only one char on each run.
+    If your modification is kind of general, upload it and drop me a note.
+
+  The simplified syntax below should highlight 99.999% of ISO-Prolog texts
+correctly, as well as many non-ISO Prolog texts.
+  Else modify this file.  Save with new name in your HOME directory to
+.kde/share/apps/katepart/syntax/prolog-xy.xml You may read the NOTE at the end
+of this file.  WARNING: Be careful, though: the highlighting works according to
+it's program code, not neccessarily it's documentation...
+
+DONE- Parse (m)any (!) conforming Prolog texts w/ correct highlighting (LIMITS)
+    - Parse any erratic text w/o crash or endless loops and highlight errors
+    - Folding for multiline comments, clauses, nested terms, and quoted (LIMITS)
+    - Folding inside comments and of 1-line comments and clauses: indentation-
+      based like in Python, e.g.
+      my_pred(a).   % w/ marker@left (western style; depends on your settings)
+	my_pred(b). % you can fold
+	my_pred(c). % these lines
+      Inside clauses (i.e. context "term" and below) only explicit folding for
+      braces and quotes applies, except comments.  I did not find a better
+      solution, since the engine does not provide lookahead to the next line.
+    - Additionally, folding with %BEGIN ... %END (iff 1st nonwhite of the line).
+    - Classify built-ins (YMMV) for different highlighting, mainly:
+	- w/ side effects from 'outside world' (arithmetics, stream I/O,...)
+	- w/o side effects, only depend on user's program ('internal world')
+	- program logic & control constructs
+	- altering the clause knowledge base or Prolog state
+	- integer/float/mixed arithmetics, so one can see the type of the result
+	    - Iff it's an arithmetic expression; else arith ops and built-ins
+	      are highlighted normal.
+    - Incl. Sep2012 DRAFT Technical Corrigendum 2: Prolog - Part 1: General Core
+    - Incl. honourable Richard O'Keefe's remarks as warnings as "ISO bogus".
+    - Detect 'shebang' shell scripts, see BUGs
+    - Includes alert_indent.xml to highlight alert keywords in comments.
+    - Dot "." may be an _unquoted_ user-defined operator in nested terms (but is
+      highlighted as "Warning" 'cause it's more likely a typo than an user-def'd
+      op) and is only taken as fullstop and highlighted as "Logic & Control" in
+      the outmost term of a clause.
+    - Über-correct handling of quoted, escape seqs and "0'" (char code integer):
+	- detection of valid/invalid newline in quoted 'strings'.
+	- highlight whitespace after esc'd newline in quoted so it differs from
+	  whitespace contained in the quoted 'string'.
+	- Highlight esc'd tab and tab in quoted as "Warning" because some text
+	editors may convert them to space and it is easy to use "\t" instead.
+    - Preliminary: most names end w/ ISO; prepared to be included in syntax
+      files adapted for Prolog dialects.
+
+FIXME	When katepart can supply line numbers, fix the "shebang" rule.
+
+TODO sorted by priority
+  1 - [always] Cruise over all FIXMEs.
+  2 - Check if comma, cut & bar are really solo chars (where's the red book?).
+  3  - Check final Technical Corrigendum 2: Prolog - Part 1: General Core
+  4 - Buy ISO Prolog standard - Part 2: Modules.  Likely only keywords.  Need it
+      anyway.
+  5 - Make this strict-ISO and a "Prolog (portable)" that includes this file.
+  6 - Likewise, adopt for GNU & SWI Prolog and others.
+  8 - keywords 'phrase', streams depricated, etc.pp. ==> Prolog (portable).
+  9 - Likewise: shebang ==> Prolog (portable).
+ 10 - Check if shebang can span multiple (escaped) lines.
+ 11 - Check: all KB altering preds can have side effects (via resource_error)?
+ 12 - For next two TODOs: ask katepart dev to provide lookahead to the next line
+    13 - Folding for consecutive one-line comments [easy? HARD! Impossible.]
+    14 - Likewise, folding for consecutive clauses [HARD! Impossible.]
+    I can live w/ indentation-based folding as a workaround.  Not 100%, but ok.
+ 15 - +arg_seq (and list): "," as normal text: Detect name( [no layout; easy]
+ 16 - +Classify meta predicates.
+ 18 - The dollar "$" is commonly used as the 1st char of (unquoted?) atoms to
+      indicate 'internal mode', e.g. to declare a predicate as compile-in.
+      Does this mean the dollar is used as if it were a prefix op or is it part
+      of the atom?  Would be easy to implement.
+ 19 - Bug #4: could be partly fixed, some built-ins take only float not integer.
+ 20 - Bug them to better document weakDeliminators (and rename to delimiter ;)
+ 21 - Adjust doxygen syntax for Prolog (e.g. adapt doxygen-lua), and include it.
+ 22 - Check if vertical tab is white/layout; are there more non-printables?
+################################################################################
+-->
+<!-- [Facts & Implications Of The ISO Standard, as a reminder]
+  - 'layout' is whitespace (space/tab/newline) and/or comments.
+  - Braces (any of "(){}[]"), exclamation "!" (aka 'cut'), 'bar' "|", degree "°",
+    paragraph "§" and percent "%" are NOT 'graphic' chars, but 'solo' chars.
+  - The 'bar' "|" may be a predefined operator, and then a user-def'd op, too.
+  - There can only be (at most) one bar "|" in a list (written inside "[]"), and
+    no commata after it (after the bar).
+  - Graphic tokens are atoms (and solo chars are one-char atoms?).
+  - "{}" and "[]" are 'special atoms' (likewise "()"?).
+  - "{}" and "[]" shall not be operators (but round or single braces may be?).
+  - The fullstop "." is not a predefined postfix operator, and
+  - the list functor "." is not a predefined prefix operator.
+  - An unquoted graphic token shall not begin with "/*".
+  - Multiline comments shall not be nested.
+  - Floats are NOT written with lowercase "e" (i.e. not neccessarily an error if
+    e.g. "e" is a pre- or user-defined expr or op and the whole term is valid),
+  - and the fractional part and exponent of floats are optional (any and both).
+  - A leading minus immediately preceding a number is optional for all numbers
+    and then part of the number and not a prefix operator (currently beeing
+    clarified by the standard commitee if "immediately" includes layout, only
+    comments, or none of these at all ;) but
+  - the minus "-" is a predefined prefix- and infix operator...
+  - Terms are rewritten when read in, extendable by user-def'd rules (and these
+    may be dynamic), i.e. clauses are not restricted to the standard forms
+    (to the extent that the fullstop ending a clause may be omited at all) and
+  - the dot "." may be (solo or part of) an user-defined operator.
+  - A Prolog processor may use any character set, e.g. (multi-byte) Unicode.
+  - Virtually every token may be an (user- or predefined) operator, except a few
+    specifically excluded tokens (i.e. NOT just graphic and 'standard' atoms).
+  - All operators except the comma are dynamic (although the standard denotes
+    atoms as 'constants' ;), and
+  - (the comma may appear in a user-defined operator (beeing part of it)?).
+  (Now try to write syntax highlighting for Prolog w/o Prolog HAHAHA ;)
+-->
+    <highlighting>
+	<!-- aka "guru meditation trigger" -->
+	<list name="error term ISO">
+	    <item> error </item>
+	</list>
+	<list name="guru meditation terms ISO">
+	    <item> instantiation_error </item>
+	    <item> uninstantiation_error </item>
+	    <item> type_error </item>
+	    <item> domain_error </item>
+	    <item> existence_error </item>
+	    <item> permission_error </item>
+	    <item> representation_error </item>
+	    <item> evaluation_error </item>
+	    <item> resource_error </item>
+	    <item> syntax_error </item>
+	    <item> system_error </item>
+	</list>
+
+	<!-- These are in fact bogus, DO NOT USE them and bug the ISO standard
+	commitee to abandon char_conversion/2 and to apply common sense to the
+	semantics of include/1 and ensure_loaded/1, i.e. to handle recursion.
+	Bomb them w/ e-mails! It's not the purpose of a standard to fixate
+	errors till eternity. -->
+	<list name="bogus ISO">
+	    <item> char_conversion </item>
+	    <item> current_char_conversion </item>
+	    <item> include </item>
+	    <item> ensure_loaded </item>
+	    <!-- Use atan2 instead -->
+	    <item> atan </item>
+	    <!-- Unspecified integer representation/format -->
+	    <item> xor </item>
+	</list>
+	<list name="directives non-ISO">
+	    <!-- FIXME is this a top_level goal only? (consult :- include) -->
+	    <item> consult </item>
+	    <item> built_in </item>
+<!--GNU            <item> foreign </item> -->
+<!--GNU            <item> ensure_linked </item> -->
+<!--GNU            <item> built_in_fd </item> -->
+<!--             <item> if </item> -->
+<!-- 	    <item> else </item> -->
+<!-- 	    <item> endif </item> -->
+<!--             <item> elif </item> -->
+        </list>
+
+        <!-- including directive "initialization" -->
+        <list name="logic+control ISO">
+	    <item> initialization </item>
+<!-- 	    <item> ! </item> -->
+	    <item> fail </item>
+	    <item> repeat </item>
+	    <item> call </item>
+            <item> catch </item>
+	    <item> throw </item>
+	    <item> true </item>
+	    <item> false </item>
+	    <item> once </item>
+	</list>
+
+	<!-- including directive "dynamic" -->
+        <list name="dyn clause mgmt ISO">
+	    <item> dynamic </item>
+	    <item> asserta </item>
+            <item> assertz </item>
+            <item> retractall </item>
+	    <item> retract </item>
+	    <item> abolish </item>
+	    <item> clause </item>
+<!-- 	    <item> numbervars </item> -->
+<!-- 	    <item> current_predicate </item> -->
+	</list>
+	<list name="listing non-ISO">
+	    <!-- FIXME is this a top_level goal? -->
+	    <item> listing </item>
+<!-- standard/compatible	    <item> public </item> -->
+	</list>
+	<list name="terms ISO">
+	    <!-- keep tokens with same prefix sorted by length? -->
+	    <item> atom_concat </item>
+	    <item> atom_length </item>
+	    <item> atom_chars </item>
+	    <item> atom_codes </item>
+	    <item> arg </item>
+	    <item> subsumes_term </item>
+	    <item> acyclic_term </item>
+	    <item> char_code </item>
+	    <item> compare </item>
+	    <item> copy_term </item>
+	    <item> functor </item>
+	    <item> number_chars </item>
+	    <item> number_codes </item>
+<!--FIXME check if GNU or ISO 	    <item> sub_atom </item> -->
+	    <item> term_variables </item>
+	    <item> unify_with_occurs_check </item>
+	</list>
+	<list name="terms non-ISO">
+	    <!-- keep tokens with same prefix sorted by length? -->
+	    <item> number_atom </item>
+	    <item> expand_term </item>
+	    <item> term_expansion </item>
+
+	    <!--FIXME These go to streams non-ISO: -->
+	    <item> display </item>
+	    <item> print </item>
+	    <item> format </item>
+	    <item> portray_clause </item>
+	    <item> portray </item>
+	    <item> term_expansion </item>
+	</list>
+	<list name="DCG non-ISO">
+	    <item> phrase </item>
+	</list>
+	<list name="lists ISO">
+	    <item> sort </item>
+	    <item> keysort </item>
+	</list>
+	<list name="lists non-ISO">
+	    <item> append </item>
+	    <item> delete </item>
+	    <item> length </item>
+	    <item> last </item>
+	    <item> map_list </item>
+	    <item> min_list </item>
+	    <item> maplist </item>
+	    <item> msort </item>
+	    <item> memberchk </item>
+	    <item> member </item>
+	    <item> nth </item>
+	    <item> permutation </item>
+	    <item> reverse </item>
+	    <item> select </item>
+	    <item> prefix </item>
+	    <item> suffix </item>
+	    <item> sublist </item>
+	    <item> sum_list </item>
+	</list>
+	<list name="streams ISO">
+	    <item> open </item>
+<!--GNU	    <item> current_stream </item>-->
+	    <item> set_stream_position </item>
+	    <item> get_char </item>
+	    <item> get_code </item>
+	    <item> peek_char </item>
+	    <item> peek_code </item>
+	    <item> get_byte </item>
+	    <item> peek_byte </item>
+
+	    <item> put_char </item>
+	    <item> put_code </item>
+	    <item> put_byte </item>
+	    <item> nl </item>
+
+	    <item> read_term </item>
+	    <item> read </item>
+	    <item> write_canonical </item>
+	    <item> writeq </item>
+	    <item> write </item>
+	</list>
+	<list name="streams deprecated">
+	    <item> append </item>
+	    <item> seeing </item>
+	    <item> seen </item>
+	    <item> see </item>
+	    <item> telling </item>
+	    <item> tell </item>
+	    <item> told </item>
+	    <item> get0 </item>
+	    <item> get </item>
+	    <item> skip </item>
+	    <item> put </item>
+	    <item> tab </item>
+	</list>
+	<list name="arith eval ISO">
+	    <item> is </item>
+	</list>
+	<list name="arith ops int ISO">
+	    <item> rem </item>
+	    <item> mod </item>
+	    <item> div </item>
+	</list>
+        <list name="arith expr mixed ISO">
+<!--GNU	arith IF expr    <item> inc </item> -->
+<!--GNU	arith IF expr    <item> dec </item> -->
+	    <item> abs </item>
+	    <item> sign </item>
+	    <item> min </item>
+	    <item> max </item>
+        </list>
+        <list name="arith expr int ISO">
+<!--GNU	arith IF expr    <item> inc </item> -->
+<!--GNU	arith IF expr    <item> dec </item> -->
+	    <item> ceiling </item>
+	    <item> floor </item>
+	    <item> round </item>
+            <item> truncate </item>
+<!-- ISO bogus	    <item> xor </item> -->
+        </list>
+        <list name="arith expr float ISO">
+	    <item> pi </item>
+<!--GNU	(see pi)    <item> e </item> -->
+<!--GNU	(see pi)    <item> epsilon </item> -->
+	    <item> sqrt </item>
+	    <item> tan </item>
+	    <item> cos </item>
+	    <item> sin </item>
+	    <item> atan2 </item>
+	    <item> acos </item>
+	    <item> asin </item>
+	    <item> exp </item>
+            <item> log </item>
+	    <item> float </item>
+	    <item> float_fractional_part </item>
+            <item> float_integer_part </item>
+        </list>
+
+	<!-- including directives "op/multifile/discontigous" -->
+	<list name="prolog state ISO">
+	    <item> multifile </item>
+	    <item> discontigous </item>
+	    <item> op </item>
+	    <item> set_prolog_flag </item>
+	</list>
+	<list name="types ISO">
+	    <item> var </item>
+	    <item> nonvar </item>
+	    <item> atom </item>
+	    <item> integer </item>
+	    <item> float </item>
+	    <item> number </item>
+	    <item> atomic </item>
+	    <item> compound </item>
+	    <item> callable </item>
+	    <item> ground </item>
+	</list>
+	<!-- FIXME rename to "types non-ISO"? -->
+	<list name="list+is_list non-ISO">
+	    <item> list </item>
+	    <item> is_list </item>
+	<!--GNU            <item> partial_list </item> -->
+	    <!--GNU            <item> list_or_partial_list </item> -->
+	</list>
+	<list name="built-ins ISO">
+	    <item> current_op </item>
+	    <item> current_prolog_flag </item>
+	    <item> current_input </item>
+	    <item> current_output </item>
+
+	    <!-- These act on streams, but the permission_error is only thrown
+	    if the programmer tries to set_input(S) when S is alread an output
+	    stream and vice versa; so: not affected by 'outside world' -->
+	    <item> set_input </item>
+	    <item> set_output </item>
+
+	    <!-- may throw a system_error in GNU -->
+	    <item> close </item>
+
+	    <item> flush_output </item>
+
+	    <!-- may throw permission_error in GNU if S is an output stream -->
+	    <item> at_end_of_stream </item>
+
+	    <item> stream_property </item>
+	</list>
+
+	<!-- !FOLD the <context> rules & comments for an overview, then it's no magic. -->
+	<contexts>
+	<!-- Catch typos: style="Syntax Error" for all rules except comments and
+	quoted.  This helps to catch bugs in the rules itself, too.  Nice
+	debuging aid.  Note that (naturally) some of the syntax rules given in
+	EBNF are simplified and do not describe 100% valid Prolog.
+
+	    prolog text	:= shebang clause_seq | clause_seq
+	    clause_seq	:= clause clause_seq | empty
+	    clause      := layout term_seq fullstop | term_seq fullstop
+	-->
+	    <!-- shebang: ("#!") Detect shebang and fallthrough to clause_seq -->
+	    <context name="shebang" lineEndContext="clause" attribute="Syntax Error" >
+		<!-- no way: fallthrough="1" fallthroughContext="clause_seq" > -->
+		<Detect2Chars column="0" char="#" char1="!" context="1-comment" attribute="% italic predicates: w/ side effects" />
+		<!-- else fallthrough (workaround broken fallthrough) -->
+		<RegExpr String="&any;" lookAhead="true" context="clause" attribute="Syntax Error" />
+	    </context>
+
+	    <!-- syntax error (Test & Debug Aid, too): it's enough to highlight next token -->
+	    <context name="syntax_error" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
+		<DetectSpaces context="#pop" attribute="Syntax Error" />
+		<DetectIdentifier context="#pop" attribute="Syntax Error" />
+		<RegExpr String="&any;" context="#pop" attribute="Syntax Error" />
+	    </context>
+
+	    <!-- clause: Start a region for code folding and switch to term -->
+<!-- 	    <context name="clause" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" > -->
+	    <context name="clause" lineEndContext="#stay" attribute="Syntax Error" >
+		<IncludeRules context="layout" />
+		<!-- KISS: do not force term to detect an empty clause as syntax error -->
+		<RegExpr String="&fullstop_iso;" context="#stay" attribute="Warning (!use background)" />
+<!-- 		<RegExpr lookAhead="true" String="&any;" context="term" attribute="Syntax Error" /> -->
+		<RegExpr lookAhead="true" String="&any;" context="term" beginRegion="clause" attribute="Syntax Error" />
+	    </context>
+
+	    <!--term/nested/list/curly: the master/dispatcher -->
+	    <!-- (abbreviated): term := var | atomic | compound | "(" term ")"
+
+	    (term_seq := term "," term_seq | term    Not needed: comma is an op)
+	    term      := layout solo layout | layout solo | solo layout | solo
+	    solo      := var | atomic | compound | "(" term ")"
+	    compound  := op term | term op | term op term | functored | list
+	    functored := atom "(" arg_seq ")" | op "(" arg_seq ")"
+	    list      := "[" l_arg_seq "]" | double_quoted | "." "(" arg_seq ")"
+	    (if semantics of double_quoted not changed by set_prolog_flag/2)
+	    sorry I forgot curly: the DCG term but can not contain the fullstop.
+
+	    Comments in 'term' apply to the others as well.
+	    Note that eating layout once is enough, since we come back here.
+	    Only end the clause in the outmost term, which can only be term. -->
+	    <context name="term" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
+		<IncludeRules context="layout" />
+		<DetectChar char="(" context="nested" beginRegion="nested" attribute="( ) [ ]" />
+		<DetectChar char="[" context="list" beginRegion="list" attribute="( ) [ ]" />
+		<DetectChar char="{" context="curly" beginRegion="curly" attribute="{ DCG }" />
+		<DetectChar char="&comma;" context="#stay" attribute="Logic &amp; Control" />
+		<DetectChar char="&cut;" context="#stay" attribute="Logic &amp; Control" />
+		<DetectChar char="&bar;" context="#stay" attribute="Normal Text" />
+		<!-- lookAhead to give different style to the dot and the brace -->
+		<Detect2Chars lookAhead="true" char="&dot;" char1="(" context="list_functor" attribute="Syntax Error" />
+<!-- 		<RegExpr String="&fullstop_iso;" context="#pop" attribute="Logic &amp; Control" /> -->
+		<RegExpr String="&fullstop_iso;" context="#pop" endRegion="clause" attribute="Logic &amp; Control" />
+		<IncludeRules context="atomic" />
+		<!-- Default: anything not eaten here is a syntax error -->
+	    </context>
+	    <context name="nested" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
+		<IncludeRules context="layout" />
+		<DetectChar char=")" context="#pop" endRegion="nested" attribute="( ) [ ]" />
+		<DetectChar char="(" context="nested" beginRegion="nested" attribute="( ) [ ]" />
+		<DetectChar char="[" context="list" beginRegion="list" attribute="( ) [ ]" />
+		<DetectChar char="{" context="curly" beginRegion="curly" attribute="{ DCG }" />
+		<DetectChar char="&cut;" context="#stay" attribute="Logic &amp; Control" />
+		<DetectChar char="&comma;" context="#stay" attribute="Logic &amp; Control" />
+		<DetectChar char="&bar;" context="#stay" attribute="Normal Text" />
+		<Detect2Chars lookAhead="true" char="&dot;" char1="(" context="list_functor" attribute="Normal Text" />
+		<RegExpr String="&fullstop_iso;" context="#stay" attribute="Warning (!use background)" />
+		<IncludeRules context="atomic" />
+	    </context>
+	    <context name="list" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
+		<IncludeRules context="layout" />
+		<DetectChar char="(" context="nested" beginRegion="nested" attribute="( ) [ ]" />
+		<DetectChar char="]" context="#pop" endRegion="list" attribute="( ) [ ]" />
+		<DetectChar char="[" context="list" beginRegion="list" attribute="( ) [ ]" />
+		<DetectChar char="{" context="curly" beginRegion="curly" attribute="( ) [ ]" />
+		<DetectChar char="&comma;" context="#stay" attribute="Normal Text" />
+		<DetectChar char="&cut;" context="#stay" attribute="Normal Text" />
+		<DetectChar char="&bar;" context="#stay" attribute="other built-in operator" />
+		<Detect2Chars lookAhead="true" char="&dot;" char1="(" context="list_functor" attribute="Normal Text" />
+		<IncludeRules context="atomic" />
+	    </context>
+	    <context name="curly" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
+		<IncludeRules context="layout" />
+		<DetectChar char="(" context="nested" beginRegion="nested" attribute="( ) [ ]" />
+		<DetectChar char="[" context="list" beginRegion="list" attribute="( ) [ ]" />
+		<DetectChar char="}" context="#pop" endRegion="curly" attribute="{ DCG }" />
+		<DetectChar char="{" context="curly" beginRegion="curly" attribute="{ DCG }" />
+		<DetectChar char="&comma;" context="#stay" attribute="Logic &amp; Control" />
+		<DetectChar char="&cut;" context="#stay" attribute="Logic &amp; Control" />
+		<DetectChar char="&bar;" context="#stay" attribute="Normal Text" />
+		<Detect2Chars lookAhead="true" char="&dot;" char1="(" context="list_functor" attribute="Normal Text" />
+		<IncludeRules context="atomic" />
+	    </context>
+
+	    <!--  arith_expr := expr op expr | op expr | expr op | "(" expr ")"
+			expr := number_expr | var | arith_expr
+
+	    This is only a goody to highlight arith ops and detect syntax errors.
+	    If it causes problems, disable it: exchange context="arith_expr" in
+	    "atomic" and "operator" below with context="#stay" (two or three occurrences) -->
+	    <context name="arith_expr" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
+		<DetectChar char="(" context="nested_expr" beginRegion="nested" attribute="( ) [ ]" />
+		<DetectChar lookAhead="true" char=")" context="#pop" attribute="( ) [ ]" />
+		<DetectChar lookAhead="true" char="}" context="#pop" attribute="{ DCG }" />
+		<DetectChar lookAhead="true" char="]" context="#pop" attribute="( ) [ ]" />
+		<!-- FIXME check if cut may be an op, else (and in any case 99.9% likely) it's a usual cut here -->
+		<DetectChar lookAhead="true" char="&cut;" context="#pop" attribute="Logic &amp; Control" />
+		<DetectChar lookAhead="true" char="&comma;" context="#pop" attribute="Logic &amp; Control" />
+		<!-- bar & dot could be a user-def'd op, pre-def'd ops could be
+		redef'd; but let's assume the default and just end the expr -->
+		<DetectChar lookAhead="true" char="&bar;" context="#pop" attribute="other built-in operator" />
+		<RegExpr lookAhead="true" String="&fullstop_iso;" context="#pop" attribute="Logic &amp; Control" />
+		<RegExpr lookAhead="true" String="&logic_control_ops_iso;" context="#pop" attribute="Logic &amp; Control" />
+		<IncludeRules context="arith_expr_common" />
+	    </context>
+	    <context name="nested_expr" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
+		<DetectChar char="(" context="nested_expr" beginRegion="nested" attribute="( ) [ ]" />
+		<DetectChar char=")" context="#pop" endRegion="nested" attribute="( ) [ ]" />
+		<!-- FIXME check if cut may be an op, else it's a syntax error here -->
+		<DetectChar char="&cut;" context="#stay" attribute="Normal Text" />
+		<DetectChar char="&comma;" context="#stay" attribute="Syntax Error" />
+		<!-- bar & dot could be a user-def'd op, pre-def'd ops could be redef'd; else these were errors -->
+		<DetectChar char="&bar;" context="#stay" attribute="Normal Text" />
+		<RegExpr String="&logic_control_ops_iso;" context="#stay" attribute="other built-in operator" />
+		<IncludeRules context="arith_expr_common" />
+	    </context>
+
+	    <!-- list functor: assign style to the dot and let term/list/curly take the brace
+	    (We have no style "built-in term", so take "Normal text" or "built-in predicate")
+	    ASSERT 1st is the dot, else "Syntax Error" INTENTIONALLY -->
+	    <context name="list_functor" lineEndContext="syntax_error" attribute="Syntax Error" >
+		<DetectChar char="&dot;" context="#pop" attribute="other built-in predicate" />
+	    </context>
+
+	    <!-- single/double/back-quoted: handle esc seq and closing quote
+	    Comments in single-quoted apply to the others as well.
+	    Entry point is single/double/back-quoted (only to handle syntax error:
+	    nl after opening quote), sq/dq/bq is inside the string.
+	    lineEndContext should be "syntax_error", but then we couldn't handle
+	    a valid esc'd line continuation.  So we do that 'in vitro' (took me
+	    2 days w/ a plethora of useless rules to solve that puzzle LOL).
+	    On error must not #stay, else the error isn't shown iff white or empty -->
+	    <context name="sq" lineEndContext="#stay" attribute="'quo Ted'" noIndentationBasedFolding="true">
+<!-- 	    <context name="single-quoted" lineEndContext="#stay" attribute="'quo Ted'" > -->
+		<IncludeRules context="quoted_1st"/>
+		<!-- un-esc'd nl is a syntax error; match max seq (+), else the
+		error is only shown in the next line -->
+		<RegExpr String="(''|&esc_oct_iso;|&esc_hex_iso;|\\&any;|[^'\\]+)$"
+			context="syntax_error_sq" attribute="Syntax Error" />
+		<!-- Usual handling: -->
+		<Detect2Chars char="'" char1="'" context="#stay" attribute="escaped (!use background)" />
+		<DetectChar char="'" context="#pop#pop" endRegion="quoted" attribute="'quo Ted'" />
+		<IncludeRules context="quoted_last"/>
+		<!-- Default: literal content of the quoted string, context's style applies -->
+	    </context>
+	    <context name="dq" lineEndContext="#stay" attribute="&quot;double-quoted&quot;" noIndentationBasedFolding="true" >
+<!-- 	    <context name="double-quoted" lineEndContext="#stay" attribute="&quot;double-quoted&quot;" > -->
+		<IncludeRules context="quoted_1st"/>
+		<RegExpr String="(&quot;&quot;|&esc_oct_iso;|&esc_hex_iso;|\\&any;|[^&quot;\\]+)$"
+			context="syntax_error_dq" attribute="Syntax Error" />
+		<Detect2Chars char="&quot;" char1="&quot;" context="#stay" attribute="escaped (!use background)" />
+		<DetectChar char="&quot;" context="#pop#pop" endRegion="quoted" attribute="&quot;double-quoted&quot;" />
+		<IncludeRules context="quoted_last"/>
+	    </context>
+	    <context name="bq" lineEndContext="#stay" attribute="`back-quoted`" noIndentationBasedFolding="true" >
+<!-- 	    <context name="back-quoted" lineEndContext="#stay" attribute="`back-quoted`" > -->
+		<IncludeRules context="quoted_1st"/>
+		<RegExpr String="(``|&esc_oct_iso;|&esc_hex_iso;|\\&any;|[^`\\]+)$"
+			context="syntax_error_bq" attribute="Syntax Error" />
+		<Detect2Chars char="`" char1="`" attribute="escaped (!use background)" />
+		<DetectChar char="`" context="#pop#pop" endRegion="quoted" attribute="`back-quoted`" />
+		<IncludeRules context="quoted_last"/>
+	    </context>
+	    <context name="single-quoted" lineEndContext="#stay" attribute="'quo Ted'" >
+		<RegExpr String="'$" context="sq" beginRegion="quoted" attribute="Syntax Error" />
+		<DetectChar char="'" context="sq" beginRegion="quoted" attribute="'quo Ted'" />
+	    </context>
+	    <context name="double-quoted" lineEndContext="#stay" attribute="&quot;double-quoted&quot;" >
+		<RegExpr String="&quot;$" context="dq" beginRegion="quoted" attribute="Syntax Error" />
+		<DetectChar char="&quot;" context="dq" beginRegion="quoted" attribute="&quot;double-quoted&quot;" />
+	    </context>
+	    <context name="back-quoted" lineEndContext="#stay" attribute="`back-quoted`" >
+		<RegExpr String="`$" context="bq" beginRegion="quoted" attribute="Syntax Error" />
+		<DetectChar char="`" context="bq" beginRegion="quoted" attribute="`back-quoted`" />
+	    </context>
+
+	    <!-- syntax_error_q: highlight next token and proceed normal afterwards -->
+	    <context name="syntax_error_sq" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
+		<Detect2Chars char="\" char1="'" context="#pop" attribute="Syntax Error" />
+		<Detect2Chars char="'" char1="'" context="#pop" attribute="Syntax Error" />
+		<DetectChar char="'" context="#pop#pop#pop" endRegion="quoted" attribute="Syntax Error" />
+		<IncludeRules context="syntax_error"/>
+	    </context>
+	    <context name="syntax_error_dq" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
+		<Detect2Chars char="\" char1="&quot;" context="#pop" attribute="Syntax Error" />
+		<Detect2Chars char="&quot;" char1="&quot;" context="#pop" attribute="Syntax Error" />
+		<DetectChar char="&quot;" context="#pop#pop#pop" endRegion="quoted" attribute="Syntax Error" />
+		<IncludeRules context="syntax_error"/>
+	    </context>
+	    <context name="syntax_error_bq" lineEndContext="#stay" attribute="Syntax Error" noIndentationBasedFolding="true" >
+		<Detect2Chars char="\" char1="`" context="#pop" attribute="Syntax Error" />
+		<Detect2Chars char="`" char1="`" context="#pop" attribute="Syntax Error" />
+		<DetectChar char="`" context="#pop#pop#pop" endRegion="quoted" attribute="Syntax Error" />
+		<IncludeRules context="syntax_error"/>
+	    </context>
+
+	    <!-- char_code (after "0'"): esc seq, singleq twice, or any other -->
+	    <context name="char_code" lineEndContext="#pop" attribute="Syntax Error" >
+		<Detect2Chars char="'" char1="'" context="#pop" attribute="escaped (!use background)" />
+		<DetectChar char="'" context="#pop" attribute="Syntax Error" />
+		<DetectChar char="&bs;" context="esc_seq_cc" attribute="escaped (!use background)" />
+		<DetectChar char="&tab;" context="#pop" attribute="Warning (!use background)" />
+		<!-- Default _AND IF_ esc_seq #pops back here; we need this to #pop out -->
+		<RegExpr String="&any;" context="#pop" attribute="0'a (!use background)" />
+	    </context>
+	    <!-- "0'" or "0'\" at EOL is a syntax error, catched below.  If
+	    possible, highlight white @next line to make clear error is the nl -->
+	    <context name="syntax_error_cc" lineEndContext="#stay" attribute="Syntax Error"
+		    fallthrough="true" fallthroughContext="#pop" >
+		<DetectSpaces context="#pop" attribute="Syntax Error" />
+	    </context>
+
+	    <!-- esc_seq: it's not worth it to handle common for quoted and cc
+	    esc_seq_q: handle only cc in bs (e.g. "\007\"), else -> esc_seq_q2
+	    ASSERT esc'd newline is handled by the calling context
+	    ASSERT we get the leading bs here to highlight the whole thing -->
+	    <context name="esc_seq_q" lineEndContext="syntax_error" attribute="Syntax Error" >
+		<RegExpr String="&esc_oct_iso;" context="#pop" attribute="0'a (!use background)" />
+		<RegExpr String="&esc_hex_iso;" context="#pop" attribute="0'a (!use background)" />
+		<DetectChar char="&bs;" context="esc_seq_q2" attribute="escaped (!use background)" />
+	    </context>
+	    <!-- esc_seq_cc: #pop#pop out of cc on std esc seq, else pass char back
+	    ASSERT we do NOT need the leading bs here anymore -->
+	    <context name="esc_seq_cc" fallthrough="true" fallthroughContext="#pop"
+		    lineEndContext="#pop#pop" attribute="Syntax Error" >
+		<DetectChar char="&tab;" context="#pop#pop" attribute="Warning (!use background)" />
+		<AnyChar String="&any_esc_iso;" context="#pop#pop" attribute="escaped (!use background)" />
+	    </context>
+	    <!-- esc_seq_q2: Handle standard esc seq in quoted else pass char back
+	    ASSERT we do NOT need the leading bs here anymore -->
+	    <context name="esc_seq_q2" fallthrough="true" fallthroughContext="#pop#pop"
+		    lineEndContext="syntax_error" attribute="Syntax Error" >
+		<DetectChar char="&tab;" context="#pop#pop" attribute="Warning (!use background)" />
+		<AnyChar String="&any_esc_iso;" context="#pop#pop" attribute="escaped (!use background)" />
+	    </context>
+
+	    <!-- id,var,graphic: ASSERT calling context ashured 1st char is ok
+				 ASSERT we get the 1st char for id & var -->
+	    <context name="id" attribute="Syntax Error" lineEndContext="#stay" >
+		<DetectIdentifier context="#pop" attribute="Normal Text" />
+	    </context>
+	    <context name="var" attribute="Syntax Error" lineEndContext="#stay" >
+		<DetectIdentifier context="#pop" attribute="_VARIABLE" />
+	    </context>
+	    <context name="graphic" lineEndContext="#pop" attribute="Syntax Error" fallthrough="true" fallthroughContext="#pop" >
+		<AnyChar String="&any_graphic_iso;" context="#stay" attribute="Normal Text" />
+	    </context>
+
+	    <!-- numbers (after "0[box]") -->
+	    <context name="bin" lineEndContext="#pop" attribute="Syntax Error" fallthrough="true" fallthroughContext="#pop" >
+		<AnyChar String="&any_bin_iso;" context="#stay" attribute="0b1001 0o007 0xF1" />
+	    </context>
+	    <context name="oct" lineEndContext="#pop" attribute="Syntax Error" fallthrough="true" fallthroughContext="#pop" >
+		<AnyChar String="&any_oct_iso;" context="#stay" attribute="0b1001 0o007 0xF1" />
+	    </context>
+	    <context name="hex" lineEndContext="#pop" attribute="Syntax Error" fallthrough="true" fallthroughContext="#pop" >
+		<AnyChar String="&any_hex_iso;" context="#stay" attribute="0b1001 0o007 0xF1" />
+	    </context>
+
+	    <!-- comment-iso: multi-line comment, handle closing "*/" -->
+	    <context name="comment-iso" lineEndContext="#stay" attribute="% italic predicates: w/ side effects" >
+	    <!-- Nested comments are not allowed in strict ISO-Prolog - - >
+		<Detect2Chars char="/" char1="*" context="comment" beginRegion="comment"
+			    attribute="% italic predicates: w/ side effects" />-->
+		<Detect2Chars char="*" char1="/" context="#pop" endRegion="comment"
+			    attribute="% italic predicates: w/ side effects" />
+		<DetectSpaces />
+		<IncludeRules context="##Alerts_indent" />
+		<DetectIdentifier />
+	    </context>
+
+	    <!-- 1-line comment: #pop@EOL  -->
+	    <!-- Folding for consecutive 1-line comments: let indentation-based auto-folding work -->
+	    <context name="1-comment" lineEndContext="#pop" attribute="% italic predicates: w/ side effects" >
+		<DetectSpaces />
+		<IncludeRules context="##Alerts_indent" />
+		<DetectIdentifier />
+	    </context>
+	    <context name="region_marker" lineEndContext="#pop" attribute="%BEGIN folding region" noIndentationBasedFolding="true" >
+		<IncludeRules context="1-comment" />
+	    </context>
+	    <context name="layout_fold" lineEndContext="#stay" attribute="Syntax Error"
+		    fallthrough="true" fallthroughContext="#pop" >
+		<DetectSpaces attribute="Normal Text" />
+		<StringDetect String="%BEGIN" context="region_marker" attribute="%BEGIN folding region"
+			    firstNonSpace="true" beginRegion="user_region" />
+		<StringDetect String="%END" context="region_marker" attribute="%BEGIN folding region"
+			    firstNonSpace="true" endRegion="user_region" />
+		<DetectChar firstNonSpace="true" char="%" context="1-comment" attribute="% italic predicates: w/ side effects" />
+	    </context>
+
+<!--####### BEGIN sub rules to be included - <context> never taken -->
+
+	    <!-- Common for all quoted: Handle line continuation, esc seq, and most other input efficiently -->
+	    <context name="quoted_1st" lineEndContext="#stay" attribute="Syntax Error" >
+		<LineContinue attribute="escaped (!use background)" />
+		<DetectSpaces column="0" attribute="escaped (!use background)" />
+	    </context>
+	    <context name="quoted_last" lineEndContext="#stay" attribute="Syntax Error" >
+		<DetectChar lookAhead="true" char="&bs;" context="esc_seq_q" attribute="Syntax Error" />
+		<DetectChar char="&tab;" attribute="Warning (!use background)" />
+		<DetectIdentifier />
+		<DetectSpaces />
+	    </context>
+
+	    <!-- layout_seq := layout layout_seq
+		     layout := " " | tab | nl | comment -->
+	    <context name="layout" lineEndContext="#stay" attribute="Syntax Error" >
+		<DetectSpaces attribute="Normal Text" />
+		<Detect2Chars char="/" char1="*" context="comment-iso" attribute="% italic predicates: w/ side effects"
+			    beginRegion="comment" />
+		<StringDetect String="%BEGIN" context="region_marker" attribute="%BEGIN folding region"
+			    firstNonSpace="true" beginRegion="user_region" />
+		<StringDetect String="%END" context="region_marker" attribute="%BEGIN folding region"
+			    firstNonSpace="true" endRegion="user_region" />
+		<DetectChar firstNonSpace="true" char="%" context="layout_fold" attribute="% italic predicates: w/ side effects"
+			    lookAhead="true" />
+		<DetectChar firstNonSpace="false" char="%" context="1-comment" attribute="% italic predicates: w/ side effects" />
+	    </context>
+
+	    <!--atomic: the work horse -->
+	    <!-- (simplified) atomic := atom | number | op | var -->
+	    <context name="atomic" lineEndContext="#stay" attribute="Syntax Error" >
+		<!-- NOTE the order of rules is important... (as always)
+		Predefined 1st, unknown (user defined) last -->
+		<keyword String="logic+control ISO" context="#stay" attribute="Logic &amp; Control" />
+		<keyword String="types ISO" context="#stay" attribute="Type Checking" />
+		<keyword String="dyn clause mgmt ISO" context="#stay" attribute="Dynamic Clause Management" />
+		<keyword String="streams ISO" context="#stay" attribute="Stream I/O" />
+		<keyword String="terms ISO" context="#stay" attribute="other built-in predicate" />
+		<keyword String="prolog state ISO" context="#stay" attribute="Prolog State" />
+		<keyword String="DCG non-ISO" context="#stay" attribute="{ DCG }" />
+		<keyword String="arith eval ISO" context="arith_expr" attribute="Arithmetics" />
+		<!-- These are user predicates outside arit_expr -->
+<!-- 		<keyword String="arith expr mixed ISO" context="#stay" attribute="other built-in predicate" /> -->
+<!-- 		<keyword String="arith expr int ISO" context="#stay" attribute="other built-in predicate" /> -->
+<!-- 		<keyword String="arith expr float ISO" context="#stay" attribute="other built-in predicate" /> -->
+		<keyword String="built-ins ISO" context="#stay" attribute="other built-in predicate" />
+		<keyword String="error term ISO" context="#stay" attribute="Guru Meditation" />
+		<keyword String="guru meditation terms ISO" context="#stay" attribute="Guru Meditation Terms" />
+		<keyword String="bogus ISO" context="#stay" attribute="ISO Bogus" />
+
+		<!-- Match char code before quoted and ops... -->
+ 		<IncludeRules context="number" />
+
+		<!-- these depend on current_prolog_flag/2 so can all return a term i.e. a list (of char codes) -->
+		<DetectChar lookAhead="true" char="'" context="single-quoted" attribute="'quo Ted'" />
+		<DetectChar lookAhead="true" char="`" context="back-quoted" attribute="`back-quoted`" />
+		<DetectChar lookAhead="true" char="&quot;" context="double-quoted" attribute="&quot;double-quoted&quot;" />
+
+		<!-- ...and ops before atoms, else "div", "is" etc. are usual atoms -->
+ 		<IncludeRules context="operator" />
+		<AnyChar lookAhead="true" String="&any_lower_iso;" context="id" attribute="Normal Text" />
+		<AnyChar lookAhead="true" String="&any_upper_under_iso;" context="var" attribute="_VARIABLE" />
+		<AnyChar String="&any_graphic_iso;" context="graphic" attribute="Normal Text" />
+	    </context> <!-- atomic -->
+
+	    <!-- [(mostly) "atomic" for] arith_expr := arith_op | number_expr | var
+				      number_expr := number | built-in | user-def
+
+	    This is only a goody to highlight arith ops and detect syntax errors.
+	    If it causes problems, disable it: exchange context="arith_expr" in
+	    contexts "atomic" and "operator" with context="#stay" -->
+	    <context name="arith_expr_common" lineEndContext="#stay" attribute="Syntax Error" >
+		<IncludeRules context="layout" />
+		<IncludeRules context="number" />
+		<keyword String="arith eval ISO" context="#pop" attribute="Syntax Error" />
+		<keyword String="bogus ISO" context="#stay" attribute="ISO bogus" />
+		<keyword String="arith expr mixed ISO" context="#stay" attribute="Arithmetics" />
+		<keyword String="arith expr int ISO" context="#stay" attribute="Integer Arithmetics" />
+		<keyword String="arith expr float ISO" context="#stay" attribute="Float Arithmetics" />
+		<keyword String="arith ops int ISO" context="#stay" attribute="Integer Arithmetics" />
+		<RegExpr String="&arith_compare_iso;" context="#pop" attribute="Syntax Error" />
+		<RegExpr String="&arith_ops_mixed_iso;" context="#stay" attribute="Arithmetics" />
+		<RegExpr String="&arith_ops_int_iso;" context="#stay" attribute="Integer Arithmetics" />
+		<RegExpr String="&arith_ops_float_iso;" context="#stay" attribute="Float Arithmetics" />
+		<RegExpr String="&arith_bogus_iso;" context="#stay" attribute="ISO bogus" />
+		<!-- do not miss user-def'd arithmetic expr and number expr-->
+ 		<IncludeRules context="operator" />
+		<AnyChar lookAhead="true" String="&any_lower_iso;" context="id" attribute="Normal Text" />
+		<AnyChar lookAhead="true" String="&any_upper_under_iso;" context="var" attribute="_VARIABLE" />
+		<AnyChar String="&any_graphic_iso;" context="graphic" attribute="Normal Text" />
+	    </context>
+
+	    <!-- number := float | integer
+		integer := decimal | baseN | "0'" char_code
+		baseN   := "0b" [01]+ | "0o" [0-7]+ | "0x" [0-9a-fA-F]+ -->
+	    <context name="number" lineEndContext="#pop" attribute="Syntax Error" >
+		<!-- Match integers after other numbers -->
+		<!-- FIXME a minus may precede all numbers and is part of the number! -->
+		<RegExpr String="0'\\?$" context="syntax_error_cc" attribute="Syntax Error" />
+		<Detect2Chars char="0" char1="'" context="char_code" attribute="0'a (!use background)" />
+
+<!-- NOT: [box] could be a postfix op <RegExpr String="0[box]$" context="#stay" attribute="Syntax Error" /> -->
+		<Detect2Chars char="0" char1="b" context="bin" attribute="0b1001 0o007 0xF1" />
+		<Detect2Chars char="0" char1="o" context="oct" attribute="0b1001 0o007 0xF1" />
+		<Detect2Chars char="0" char1="x" context="hex" attribute="0b1001 0o007 0xF1" />
+
+		<RegExpr String="&float1_iso;" context="#stay" attribute="2.718281E-9" />
+		<RegExpr String="&float2_iso;" context="#stay" attribute="2.718281E-9" />
+		<RegExpr String="&float3_iso;" context="#stay" attribute="2.718281E-9" />
+		<Int context="#stay" attribute="1  2  3  42" />
+	    </context>
+
+	    <!-- operator := predefined_op | dynamic_op (which we can not detect)
+	    comma, single dot & bar are catched earlier above in term/list/curly -->
+	    <context name="operator" lineEndContext="#pop" attribute="Syntax Error" >
+		<keyword String="arith eval ISO" context="arith_expr" attribute="Arithmetics" />
+		<keyword String="arith ops int ISO" context="#stay" attribute="other built-in operator" />
+		<RegExpr String="&logic_control_ops_iso;" context="#stay" attribute="Logic &amp; Control" />
+		<RegExpr String="&predefined_ops_iso;" context="#stay" attribute="other built-in operator" />
+		<RegExpr String="&dcg_production_iso;" context="#stay" attribute="{ DCG }" />
+		<RegExpr String="&arith_compare_iso;" context="arith_expr" attribute="Arithmetics" />
+		<RegExpr String="&arith_ops_mixed_iso;" context="#stay" attribute="other built-in operator" />
+		<RegExpr String="&arith_ops_int_iso;" context="#stay" attribute="other built-in operator" />
+		<RegExpr String="&arith_ops_float_iso;" context="#stay" attribute="other built-in operator" />
+		<RegExpr String="&arith_bogus_iso;" context="#stay" attribute="ISO bogus" />
+	    </context>
+
+<!--####### END sub rules to be included - <context> never taken -->
+	</contexts>
+
+	<!-- The idea is to give all predicates that may be affected by the
+	"outside world" a common style (italic).  I.e. these can throw a
+	permission, evaluation, representation or resource_error, even though
+	the program itself is 100% correct.  E.g. you get_char/2 a char code 1
+	from a text stream (representation_error): not your mistake, but you
+	have to deal with that, too. -->
+	<itemDatas>
+	    <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
+	    <itemData name="_VARIABLE" defStyleNum="dsDataType" bold="false" spellChecking="false" />
+	    <itemData name="'quo  Ted'" defStyleNum="dsString" />
+	    <itemData name="`back-quoted`" defStyleNum="dsString" italic="true" />
+	    <!-- The standard wants double-quoted to be a list of char codes, but
+	    e.g. GNU Prolog allows that to be set with set_prolog_flag/2 -->
+	    <itemData name="&quot;double-quoted&quot;" defStyleNum="dsOthers" />
+	    <itemData name="escaped (!use background)" defStyleNum="dsChar" spellChecking="false"
+			 backgroundColor="#0C0C0C" selBackgroundColor="#FFFFFF" />
+
+	    <!-- Numbers -->
+	    <itemData name="2.718281E-9" defStyleNum="dsFloat" spellChecking="false" />
+	    <itemData name="1  2  3  42" defStyleNum="dsDecVal" spellChecking="false" />
+	    <itemData name="0b1001 0o007 0xF1" defStyleNum="dsBaseN" spellChecking="false" />
+	    <itemData name="0'a (!use background)" defStyleNum="dsBaseN" spellChecking="false"
+			 backgroundColor="#0C0C0C" selBackgroundColor="#FFFFFF" />
+
+	    <itemData name="( ) [ ]" defStyleNum="dsNormal" spellChecking="false" />
+	    <itemData name="{ DCG }" defStyleNum="dsKeyword" spellChecking="false" />
+	    <itemData name="Prolog State" defStyleNum="dsFunction" bold="true" spellChecking="false" />
+	    <itemData name="Type Checking" defStyleNum="dsDataType" spellChecking="false" />
+	    <itemData name="Logic &amp; Control" defStyleNum="dsKeyword" spellChecking="false" />
+	    <itemData name="other built-in operator" defStyleNum="dsFunction" spellChecking="false" />
+	    <itemData name="other built-in predicate" defStyleNum="dsFunction" spellChecking="false" />
+
+	    <!-- Comments (2nd not used, just a hint) -->
+	    <itemData name="% italic predicates: w/ side effects" defStyleNum="dsComment" />
+	    <itemData name="/* !avoid leading * to have folding */" defStyleNum="dsComment" />
+
+	    <!-- Predicates affected by 'outside world' -->
+	    <itemData name="Dynamic Clause Management" defStyleNum="dsKeyword" italic="true" spellChecking="false" />
+	    <itemData name="Stream I/O" defStyleNum="dsFunction" italic="true" spellChecking="false" />
+
+	    <!-- arithmetics: get the color of ints/floats; includes ops & expressions like pi -->
+	    <itemData name="Arithmetics" defStyleNum="dsDataType" bold="true" italic="true" spellChecking="false" />
+	    <itemData name="Integer Arithmetics" defStyleNum="dsDecVal" bold="true" italic="true" spellChecking="false" />
+	    <itemData name="Float Arithmetics" defStyleNum="dsFloat" bold="true" italic="true" spellChecking="false" />
+	    <itemData name="ISO Bogus" defStyleNum="dsAlert" bold="true" italic="true" spellChecking="false" />
+
+	    <!-- no way w/ buggy kate 3.8.5: get the color of default style dsError for error and terms -->
+	    <itemData name="Guru Meditation" defStyleNum="dsNormal" spellChecking="false"
+		    bold="true" italic="false" underline="false" color="#FF0000" selColor="#00FFFF" />
+	    <itemData name="Guru Meditation Terms" defStyleNum="dsNormal" spellChecking="false"
+		    bold="false" italic="true" underline="false" color="#FF0000" selColor="#00FFFF" />
+	    <itemData name="Syntax Error" defStyleNum="dsError" spellChecking="false" />
+	    <itemData name="Warning (!use background)" defStyleNum="dsAlert" spellChecking="false"
+			backgroundColor="#FC000C" selBackgroundColor="#03FFF3" />
+	    <itemData name="%BEGIN folding region" defStyleNum="dsRegionMarker" spellChecking="false" />
+	</itemDatas>
+    </highlighting>
+    <general>
+	<keywords casesensitive="true" additionalDeliminator="$#'&quot;`" />
+	<!-- let indentationsensitive folding provide it's magic -->
+	<folding indentationsensitive="true" />
+<!-- 	<EmptyLines> -->
+<!--        <EmptyLine regexpr="^[ /t]*(?!%).*$" /> -->
+<!-- 	</EmptyLines> -->
+	<comments>
+	    <comment name="singleLine" start="%" position="afterwhitespace" />
+	    <comment name="multiLine" start="/*" end="*/" region="comment" />
+	</comments>
+    </general>
+</language>
+<!--##### NOTE [HOWTO check your syntax file, extracted from language.dtd] #####
+
+	Copyright (c) 2001 Joseph Wenninger <jowenn@kde.org>
+        modified (c) 2002 Anders Lund <anders@alweb.dk>
+        modified (c) 2003 Simon Huerlimann <simon.huerlimann@access.unizh.ch>
+        modified (c) 2005 Dominik Haumann <dhdev@gmx.de>
+        modified (c) 2008 Wilbert Berendsen <info@wilbertberendsen.nl>
+
+    You can validate your syntax files using checkXML from the development
+    package of kdelibs [author: i.e. kdelibs-dev]:
+
+	checkXML yourSyntax.xml [author: | grep -v 'no template matches']
+
+    If you see any 'validity error' lines, you should fix them. If you get
+    a lot of 'No template matches' lines, everything's just fine. You've
+    produced a valid syntax file!
+
+    It's also possible to use the (much faster) xmllint which comes with the
+    GNOME (oops:-) XML Library libxml2:
+
+	xmllint - -dtdvalid language.dtd yourSyntax.xml
+	(don't use a space between the two - [author: dashes/minus]
+	That's just because XML comments don't allow that:-(
+
+    To use your syntax file, copy it to .kde/share/apps/katepart/syntax/ in
+    your home directory. You have to open a new instance of kwrite/kate to use
+    the new syntax file.
+-->
diff --git a/xml/pure.xml b/xml/pure.xml
new file mode 100644
--- /dev/null
+++ b/xml/pure.xml
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+
+ Pure syntax highlighting for kate. Usage:
+
+ - Copy this file either to ~/.kde/share/apps/katepart/syntax or to the global
+   /opt/kde3/share/apps/katepart/syntax directory (or wherever the Kate syntax
+   files are located on your system).
+
+ - You may also want to add a mime type for *.pure files so that your file
+   manager can recognize them.
+
+ - Fire up kate on your Pure script and enjoy the syntax highlighting.
+   Folding of comments and block structure is also supported.
+
+ Author: Albert Graef, with some fixes contributed by Eddie Rucker
+
+ 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., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+-->
+<language name="Pure" version="1.2" kateversion="2.4" section="Sources" extensions="*.pure">
+  <highlighting>
+    <list name="blockstarters">
+      <item> case </item>
+      <item> when </item>
+      <item> with </item>
+    </list>
+    <list name="blockenders">
+      <item> end </item>
+    </list>
+    <list name="keywords">
+      <item> const </item>
+      <item> def </item>
+      <item> else </item>
+      <item> extern </item>
+      <item> if </item>
+      <item> infix </item>
+      <item> infixl </item>
+      <item> infixr </item>
+      <item> interface </item>
+      <item> let </item>
+      <item> namespace </item>
+      <item> nonfix </item>
+      <item> of </item>
+      <item> otherwise </item>
+      <item> outfix </item>
+      <item> postfix </item>
+      <item> prefix </item>
+      <item> private </item>
+      <item> public </item>
+      <item> then </item>
+      <item> type </item>
+      <item> using </item>
+    </list>
+    <list name="special">
+      <item> catch </item>
+      <item> throw </item>
+      <item> __break__ </item>
+      <item> __trace__ </item>
+    </list>
+    <list name="types">
+      <item> bigint </item>
+      <item> bool </item>
+      <item> char </item>
+      <item> float  </item>
+      <item> double  </item>
+      <item> expr </item>
+      <item> short </item>
+      <item> int </item>
+      <item> long </item>
+      <item> string </item>
+      <item> pointer </item>
+      <item> void </item>
+      <item> int8 </item>
+      <item> int16 </item>
+      <item> int32 </item>
+      <item> int64 </item>
+      <item> matrix </item>
+      <item> dmatrix </item>
+      <item> cmatrix </item>
+      <item> imatrix </item>
+      <item> smatrix </item>
+      <item> nmatrix </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <DetectSpaces />
+        <keyword attribute="Keyword" context="#stay" String="blockstarters" beginRegion="Block" />
+        <keyword attribute="Keyword" context="#stay" String="blockenders" endRegion="Block" />
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Function" context="#stay" String="special"/>
+        <keyword attribute="Type" context="#stay" String="types"/>
+        <RegExpr attribute="Normal Text" context="#stay" String="[A-Za-z_][A-Za-z0-9_]*"/>
+        <RegExpr attribute="Number" context="#stay" String="0x[A-Za-z0-9]+"/>
+        <Float attribute="Number" context="#stay"/>
+        <Int attribute="Number" context="#stay"/>
+        <HlCChar attribute="Char" context="#stay"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <Detect2Chars attribute="Comment" context="Comment1" char="/" char1="*" beginRegion="Comment" />
+        <Detect2Chars attribute="Comment" context="Comment2" char="/" char1="/"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <LineContinue attribute="String" context="#stay"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Comment1">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Comment2"/>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="Keyword"     defStyleNum="dsKeyword" />
+      <itemData name="Function"    defStyleNum="dsFunction"/>
+      <itemData name="Type"        defStyleNum="dsDataType"/>
+      <itemData name="Number"      defStyleNum="dsDecVal" />
+      <itemData name="String"      defStyleNum="dsString" />
+      <itemData name="String Char" defStyleNum="dsChar"/>
+      <itemData name="Comment"     defStyleNum="dsComment" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="1" />
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="/*" end="*/" />
+    </comments>
+  </general>
+</language>
diff --git a/xml/purebasic.xml b/xml/purebasic.xml
new file mode 100644
--- /dev/null
+++ b/xml/purebasic.xml
@@ -0,0 +1,1766 @@
+<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE language SYSTEM "language.dtd">
+<language name="PureBasic" version="6" kateversion="2.3" section="Sources" extensions="*.pb;*.pbi" mimetype="text/x-purebasic" author="Alexander Clay (Tuireann@EpicBasic.org);Sven Langenkamp (ace@kylixforum.de)" license="LGPL" priority="1" >
+  <highlighting>
+    <list name="keywords">
+      <item> Break </item>
+      <item> Continue </item>
+      <item> For </item>
+      <item> ForEach </item>
+      <item> To </item>
+      <item> Step </item>
+      <item> Next </item>
+      <item> Gosub </item>
+      <item> Return </item>
+      <item> FakeReturn </item>
+      <item> If </item>
+      <item> Else </item>
+      <item> ElseIf </item>
+      <item> EndIf </item>
+      <item> Repeat </item>
+      <item> Until </item>
+      <item> Select </item>
+      <item> Case </item>
+      <item> Default </item>
+      <item> EndSelect </item>
+      <item> While </item>
+      <item> Wend </item>
+      <item> End </item>
+      <item> Structure </item>
+      <item> EndStructure </item>
+      <item> Interface </item>
+      <item> EndInterface </item>
+      <item> Extends </item>
+      <item> DefType </item>
+      <item> Dim </item>
+      <item> Enumeration </item>
+      <item> EndEnumeration </item>
+      <item> Global </item>
+      <item> Procedure </item>
+      <item> EndProcedure </item>
+      <item> ProcedureReturn </item>
+      <item> Shared </item>
+      <item> Protected </item>
+      <item> Static </item>
+      <item> Declare </item>
+      <item> DataSection </item>
+      <item> EndDataSection </item>
+      <item> Data </item>
+      <item> Restore </item>
+      <item> Read </item>
+      <item> IncludeFile </item>
+      <item> XIncludeFile </item>
+      <item> IncludeBinary </item>
+      <item> IncludePath </item>
+      <item> ProcedureDLL </item>
+      <item> NewList </item>
+      <item> Goto </item>
+      <item> With </item>
+      <item> DeclareModule </item>
+      <item> EndDeclareModule </item>
+      <item> Module </item>
+      <item> EndModule </item>
+      <item> UseModule </item>
+      <item> UnuseModule </item>
+    </list>
+    <list name="compiler">
+      <item> CompilerIf </item>
+      <item> CompilerElse </item>
+      <item> CompilerEndIf </item>
+      <item> CompilerSelect </item>
+      <item> CompilerCase </item>
+      <item> CompilerDefault </item>
+      <item> CompilerEndSelect </item>
+    </list>
+    <list name="debug">
+      <item> CallDebugger </item>
+      <item> Debug </item>
+    </list>
+    <list name="functions">
+      <item> ACos </item>
+      <item> ACosH </item>
+      <item> AESDecoder </item>
+      <item> AESEncoder </item>
+      <item> ASin </item>
+      <item> ASinH </item>
+      <item> ATan </item>
+      <item> ATan2 </item>
+      <item> ATanH </item>
+      <item> AbortFTPFile </item>
+      <item> Abs </item>
+      <item> Add3DArchive </item>
+      <item> AddBillboard </item>
+      <item> AddCipherBuffer </item>
+      <item> AddDate </item>
+      <item> AddElement </item>
+      <item> AddEntityAnimationTime </item>
+      <item> AddGadgetColumn </item>
+      <item> AddGadgetItem </item>
+      <item> AddGadgetItem3D </item>
+      <item> AddJSONElement </item>
+      <item> AddJSONMember </item>
+      <item> AddKeyboardShortcut </item>
+      <item> AddMailAttachment </item>
+      <item> AddMailAttachmentData </item>
+      <item> AddMailRecipient </item>
+      <item> AddMapElement </item>
+      <item> AddMaterialLayer </item>
+      <item> AddNodeAnimationTime </item>
+      <item> AddPackFile </item>
+      <item> AddPackMemory </item>
+      <item> AddSplinePoint </item>
+      <item> AddStaticGeometryEntity </item>
+      <item> AddStatusBarField </item>
+      <item> AddSubMesh </item>
+      <item> AddSysTrayIcon </item>
+      <item> AddTerrainTexture </item>
+      <item> AddVertexPoseReference </item>
+      <item> AddWindowTimer </item>
+      <item> AffectedDatabaseRows </item>
+      <item> AllocateMemory </item>
+      <item> AllocateStructure </item>
+      <item> Alpha </item>
+      <item> AlphaBlend </item>
+      <item> AmbientColor </item>
+      <item> AntialiasingMode </item>
+      <item> ApplyEntityForce </item>
+      <item> ApplyEntityImpulse </item>
+      <item> ArraySize </item>
+      <item> Asc </item>
+      <item> AttachEntityObject </item>
+      <item> AttachNodeObject </item>
+      <item> AttachRibbonEffect </item>
+      <item> AudioCDLength </item>
+      <item> AudioCDName </item>
+      <item> AudioCDStatus </item>
+      <item> AudioCDTrackLength </item>
+      <item> AudioCDTrackSeconds </item>
+      <item> AudioCDTracks </item>
+      <item> AvailableProgramOutput </item>
+      <item> AvailableScreenMemory </item>
+      <item> AvailableSerialPortInput </item>
+      <item> AvailableSerialPortOutput </item>
+      <item> BackColor </item>
+      <item> Base64Decoder </item>
+      <item> Base64Encoder </item>
+      <item> BillboardGroupCommonDirection </item>
+      <item> BillboardGroupCommonUpVector </item>
+      <item> BillboardGroupID </item>
+      <item> BillboardGroupMaterial </item>
+      <item> BillboardGroupX </item>
+      <item> BillboardGroupY </item>
+      <item> BillboardGroupZ </item>
+      <item> BillboardHeight </item>
+      <item> BillboardLocate </item>
+      <item> BillboardWidth </item>
+      <item> BillboardX </item>
+      <item> BillboardY </item>
+      <item> BillboardZ </item>
+      <item> Bin </item>
+      <item> BindEvent </item>
+      <item> BindGadgetEvent </item>
+      <item> BindMenuEvent </item>
+      <item> Blue </item>
+      <item> Box </item>
+      <item> BoxedGradient </item>
+      <item> BuildMeshShadowVolume </item>
+      <item> BuildMeshTangents </item>
+      <item> BuildStaticGeometry </item>
+      <item> BuildTerrain </item>
+      <item> ButtonGadget </item>
+      <item> ButtonGadget3D </item>
+      <item> ButtonImageGadget </item>
+      <item> CPUName </item>
+      <item> CRC32FileFingerprint </item>
+      <item> CRC32Fingerprint </item>
+      <item> CalendarGadget </item>
+      <item> CallCFunction </item>
+      <item> CallCFunctionFast </item>
+      <item> CallFunction </item>
+      <item> CallFunctionFast </item>
+      <item> CameraBackColor </item>
+      <item> CameraDirection </item>
+      <item> CameraDirectionX </item>
+      <item> CameraDirectionY </item>
+      <item> CameraDirectionZ </item>
+      <item> CameraFOV </item>
+      <item> CameraFixedYawAxis </item>
+      <item> CameraFollow </item>
+      <item> CameraID </item>
+      <item> CameraLookAt </item>
+      <item> CameraPitch </item>
+      <item> CameraProjectionMode </item>
+      <item> CameraProjectionX </item>
+      <item> CameraProjectionY </item>
+      <item> CameraRange </item>
+      <item> CameraRenderMode </item>
+      <item> CameraRoll </item>
+      <item> CameraViewHeight </item>
+      <item> CameraViewWidth </item>
+      <item> CameraViewX </item>
+      <item> CameraViewY </item>
+      <item> CameraX </item>
+      <item> CameraY </item>
+      <item> CameraYaw </item>
+      <item> CameraZ </item>
+      <item> CanvasGadget </item>
+      <item> CanvasOutput </item>
+      <item> CatchImage </item>
+      <item> CatchJSON </item>
+      <item> CatchMusic </item>
+      <item> CatchSound </item>
+      <item> CatchSprite </item>
+      <item> CatchXML </item>
+      <item> ChangeCurrentElement </item>
+      <item> ChangeGamma </item>
+      <item> ChangeListIconGadgetDisplay </item>
+      <item> ChangeSysTrayIcon </item>
+      <item> CheckBoxGadget </item>
+      <item> CheckBoxGadget3D </item>
+      <item> CheckDatabaseNull </item>
+      <item> CheckFTPConnection </item>
+      <item> CheckFilename </item>
+      <item> CheckObjectVisibility </item>
+      <item> ChildXMLNode </item>
+      <item> Chr </item>
+      <item> Circle </item>
+      <item> CircularGradient </item>
+      <item> ClearBillboards </item>
+      <item> ClearClipboard </item>
+      <item> ClearConsole </item>
+      <item> ClearDebugOutput </item>
+      <item> ClearGadgetItemList </item>
+      <item> ClearGadgetItems </item>
+      <item> ClearGadgetItems3D </item>
+      <item> ClearJSONElements </item>
+      <item> ClearJSONMembers </item>
+      <item> ClearList </item>
+      <item> ClearMap </item>
+      <item> ClearScreen </item>
+      <item> ClearSpline </item>
+      <item> ClipOutput </item>
+      <item> ClipSprite </item>
+      <item> CloseConsole </item>
+      <item> CloseCryptRandom </item>
+      <item> CloseDatabase </item>
+      <item> CloseFTP </item>
+      <item> CloseFile </item>
+      <item> CloseGadgetList </item>
+      <item> CloseGadgetList3D </item>
+      <item> CloseHelp </item>
+      <item> CloseLibrary </item>
+      <item> CloseNetworkConnection </item>
+      <item> CloseNetworkServer </item>
+      <item> ClosePack </item>
+      <item> ClosePreferences </item>
+      <item> CloseProgram </item>
+      <item> CloseScreen </item>
+      <item> CloseSerialPort </item>
+      <item> CloseSubMenu </item>
+      <item> CloseWindow </item>
+      <item> CloseWindow3D </item>
+      <item> CocoaMessage </item>
+      <item> ColorRequester </item>
+      <item> ComboBoxGadget </item>
+      <item> ComboBoxGadget3D </item>
+      <item> CompareMemory </item>
+      <item> CompareMemoryString </item>
+      <item> ComposeJSON </item>
+      <item> ComposeXML </item>
+      <item> CompositorEffectParameter </item>
+      <item> CompressMemory </item>
+      <item> ComputeSpline </item>
+      <item> ComputerName </item>
+      <item> ConeTwistJoint </item>
+      <item> ConicalGradient </item>
+      <item> ConnectionID </item>
+      <item> ConsoleColor </item>
+      <item> ConsoleCursor </item>
+      <item> ConsoleError </item>
+      <item> ConsoleLocate </item>
+      <item> ConsoleTitle </item>
+      <item> ContainerGadget </item>
+      <item> ContainerGadget3D </item>
+      <item> ConvertLocalToWorldPosition </item>
+      <item> ConvertWorldToLocalPosition </item>
+      <item> CopyArray </item>
+      <item> CopyDirectory </item>
+      <item> CopyEntity </item>
+      <item> CopyFile </item>
+      <item> CopyImage </item>
+      <item> CopyLight </item>
+      <item> CopyList </item>
+      <item> CopyMap </item>
+      <item> CopyMaterial </item>
+      <item> CopyMemory </item>
+      <item> CopyMemoryString </item>
+      <item> CopyMesh </item>
+      <item> CopySprite </item>
+      <item> CopyTexture </item>
+      <item> CopyXMLNode </item>
+      <item> Cos </item>
+      <item> CosH </item>
+      <item> CountBillboards </item>
+      <item> CountCPUs </item>
+      <item> CountGadgetItems </item>
+      <item> CountGadgetItems3D </item>
+      <item> CountLibraryFunctions </item>
+      <item> CountList </item>
+      <item> CountMaterialLayers </item>
+      <item> CountProgramParameters </item>
+      <item> CountRegularExpressionGroups </item>
+      <item> CountSplinePoints </item>
+      <item> CountString </item>
+      <item> CreateBillboardGroup </item>
+      <item> CreateCamera </item>
+      <item> CreateCompositorEffect </item>
+      <item> CreateCube </item>
+      <item> CreateCubeMapTexture </item>
+      <item> CreateCylinder </item>
+      <item> CreateDialog </item>
+      <item> CreateDirectory </item>
+      <item> CreateEntity </item>
+      <item> CreateFTPDirectory </item>
+      <item> CreateFile </item>
+      <item> CreateGadgetList </item>
+      <item> CreateImage </item>
+      <item> CreateImageMenu </item>
+      <item> CreateJSON </item>
+      <item> CreateLensFlareEffect </item>
+      <item> CreateLight </item>
+      <item> CreateLine3D </item>
+      <item> CreateMail </item>
+      <item> CreateMaterial </item>
+      <item> CreateMenu </item>
+      <item> CreateMesh </item>
+      <item> CreateMutex </item>
+      <item> CreateNetworkServer </item>
+      <item> CreateNode </item>
+      <item> CreateNodeAnimation </item>
+      <item> CreateNodeAnimationKeyFrame </item>
+      <item> CreatePack </item>
+      <item> CreateParticleEmitter </item>
+      <item> CreatePlane </item>
+      <item> CreatePopupImageMenu </item>
+      <item> CreatePopupMenu </item>
+      <item> CreatePreferences </item>
+      <item> CreateRegularExpression </item>
+      <item> CreateRenderTexture </item>
+      <item> CreateRibbonEffect </item>
+      <item> CreateSemaphore </item>
+      <item> CreateSphere </item>
+      <item> CreateSpline </item>
+      <item> CreateSprite </item>
+      <item> CreateStaticGeometry </item>
+      <item> CreateStatusBar </item>
+      <item> CreateTerrain </item>
+      <item> CreateText3D </item>
+      <item> CreateTexture </item>
+      <item> CreateThread </item>
+      <item> CreateToolBar </item>
+      <item> CreateVertexAnimation </item>
+      <item> CreateVertexPoseKeyFrame </item>
+      <item> CreateVertexTrack </item>
+      <item> CreateWater </item>
+      <item> CreateXML </item>
+      <item> CreateXMLNode </item>
+      <item> CryptRandom </item>
+      <item> CryptRandomData </item>
+      <item> CustomFilterCallback </item>
+      <item> CustomGradient </item>
+      <item> DESFingerprint </item>
+      <item> DatabaseColumnIndex </item>
+      <item> DatabaseColumnName </item>
+      <item> DatabaseColumnSize </item>
+      <item> DatabaseColumnType </item>
+      <item> DatabaseColumns </item>
+      <item> DatabaseDriverDescription </item>
+      <item> DatabaseDriverName </item>
+      <item> DatabaseError </item>
+      <item> DatabaseID </item>
+      <item> DatabaseQuery </item>
+      <item> DatabaseUpdate </item>
+      <item> Date </item>
+      <item> DateGadget </item>
+      <item> Day </item>
+      <item> DayOfWeek </item>
+      <item> DayOfYear </item>
+      <item> DefaultPrinter </item>
+      <item> DefineTerrainTile </item>
+      <item> Degree </item>
+      <item> Delay </item>
+      <item> DeleteDirectory </item>
+      <item> DeleteElement </item>
+      <item> DeleteFTPDirectory </item>
+      <item> DeleteFTPFile </item>
+      <item> DeleteFile </item>
+      <item> DeleteMapElement </item>
+      <item> DeleteXMLNode </item>
+      <item> DesktopDepth </item>
+      <item> DesktopFrequency </item>
+      <item> DesktopHeight </item>
+      <item> DesktopMouseX </item>
+      <item> DesktopMouseY </item>
+      <item> DesktopName </item>
+      <item> DesktopWidth </item>
+      <item> DesktopX </item>
+      <item> DesktopY </item>
+      <item> DetachEntityObject </item>
+      <item> DetachNodeObject </item>
+      <item> DetachRibbonEffect </item>
+      <item> DialogError </item>
+      <item> DialogGadget </item>
+      <item> DialogID </item>
+      <item> DialogWindow </item>
+      <item> DirectoryEntryAttributes </item>
+      <item> DirectoryEntryDate </item>
+      <item> DirectoryEntryName </item>
+      <item> DirectoryEntrySize </item>
+      <item> DirectoryEntryType </item>
+      <item> DisableEntityBody </item>
+      <item> DisableGadget </item>
+      <item> DisableGadget3D </item>
+      <item> DisableLightShadows </item>
+      <item> DisableMaterialLighting </item>
+      <item> DisableMenuItem </item>
+      <item> DisableParticleEmitter </item>
+      <item> DisableToolBarButton </item>
+      <item> DisableWindow </item>
+      <item> DisableWindow3D </item>
+      <item> DisplayPopupMenu </item>
+      <item> DisplaySprite </item>
+      <item> DisplayTransparentSprite </item>
+      <item> DoubleClickTime </item>
+      <item> DragFiles </item>
+      <item> DragImage </item>
+      <item> DragOSFormats </item>
+      <item> DragPrivate </item>
+      <item> DragText </item>
+      <item> DrawAlphaImage </item>
+      <item> DrawImage </item>
+      <item> DrawRotatedText </item>
+      <item> DrawText </item>
+      <item> DrawingBuffer </item>
+      <item> DrawingBufferPitch </item>
+      <item> DrawingBufferPixelFormat </item>
+      <item> DrawingFont </item>
+      <item> DrawingMode </item>
+      <item> EditorGadget </item>
+      <item> EditorGadget3D </item>
+      <item> EjectAudioCD </item>
+      <item> ElapsedMilliseconds </item>
+      <item> Ellipse </item>
+      <item> EllipticalGradient </item>
+      <item> EnableGadgetDrop </item>
+      <item> EnableGraphicalConsole </item>
+      <item> EnableHingeJointAngularMotor </item>
+      <item> EnableManualEntityBoneControl </item>
+      <item> EnableWindowDrop </item>
+      <item> EnableWorldCollisions </item>
+      <item> EnableWorldPhysics </item>
+      <item> EncodeImage </item>
+      <item> Engine3DStatus </item>
+      <item> EntityAngularFactor </item>
+      <item> EntityAnimationBlendMode </item>
+      <item> EntityAnimationStatus </item>
+      <item> EntityBonePitch </item>
+      <item> EntityBoneRoll </item>
+      <item> EntityBoneX </item>
+      <item> EntityBoneY </item>
+      <item> EntityBoneYaw </item>
+      <item> EntityBoneZ </item>
+      <item> EntityBoundingBox </item>
+      <item> EntityCollide </item>
+      <item> EntityCubeMapTexture </item>
+      <item> EntityCustomParameter </item>
+      <item> EntityFixedYawAxis </item>
+      <item> EntityID </item>
+      <item> EntityLinearFactor </item>
+      <item> EntityLookAt </item>
+      <item> EntityParentNode </item>
+      <item> EntityPhysicBody </item>
+      <item> EntityPitch </item>
+      <item> EntityRenderMode </item>
+      <item> EntityRoll </item>
+      <item> EntityVelocity </item>
+      <item> EntityX </item>
+      <item> EntityY </item>
+      <item> EntityYaw </item>
+      <item> EntityZ </item>
+      <item> EnvironmentVariableName </item>
+      <item> EnvironmentVariableValue </item>
+      <item> Eof </item>
+      <item> ErrorAddress </item>
+      <item> ErrorCode </item>
+      <item> ErrorFile </item>
+      <item> ErrorLine </item>
+      <item> ErrorMessage </item>
+      <item> ErrorRegister </item>
+      <item> ErrorTargetAddress </item>
+      <item> EventClient </item>
+      <item> EventData </item>
+      <item> EventDropAction </item>
+      <item> EventDropBuffer </item>
+      <item> EventDropFiles </item>
+      <item> EventDropImage </item>
+      <item> EventDropPrivate </item>
+      <item> EventDropSize </item>
+      <item> EventDropText </item>
+      <item> EventDropType </item>
+      <item> EventDropX </item>
+      <item> EventDropY </item>
+      <item> EventGadget </item>
+      <item> EventGadget3D </item>
+      <item> EventMenu </item>
+      <item> EventServer </item>
+      <item> EventTimer </item>
+      <item> EventType </item>
+      <item> EventType3D </item>
+      <item> EventWindow </item>
+      <item> EventWindow3D </item>
+      <item> EventlParam </item>
+      <item> EventwParam </item>
+      <item> ExamineAssembly </item>
+      <item> ExamineDatabaseDrivers </item>
+      <item> ExamineDesktops </item>
+      <item> ExamineDirectory </item>
+      <item> ExamineEnvironmentVariables </item>
+      <item> ExamineFTPDirectory </item>
+      <item> ExamineIPAddresses </item>
+      <item> ExamineJSONMembers </item>
+      <item> ExamineJoystick </item>
+      <item> ExamineKeyboard </item>
+      <item> ExamineLibraryFunctions </item>
+      <item> ExamineMD5Fingerprint </item>
+      <item> ExamineMouse </item>
+      <item> ExaminePack </item>
+      <item> ExaminePreferenceGroups </item>
+      <item> ExaminePreferenceKeys </item>
+      <item> ExamineRegularExpression </item>
+      <item> ExamineSHA1Fingerprint </item>
+      <item> ExamineScreenModes </item>
+      <item> ExamineWorldCollisions </item>
+      <item> ExamineXMLAttributes </item>
+      <item> Exp </item>
+      <item> ExplorerComboGadget </item>
+      <item> ExplorerListGadget </item>
+      <item> ExplorerTreeGadget </item>
+      <item> ExportJSON </item>
+      <item> ExportJSONSize </item>
+      <item> ExportXML </item>
+      <item> ExportXMLSize </item>
+      <item> ExtractJSONArray </item>
+      <item> ExtractJSONList </item>
+      <item> ExtractJSONMap </item>
+      <item> ExtractJSONStructure </item>
+      <item> ExtractRegularExpression </item>
+      <item> ExtractXMLArray </item>
+      <item> ExtractXMLList </item>
+      <item> ExtractXMLMap </item>
+      <item> ExtractXMLStructure </item>
+      <item> FTPDirectoryEntryAttributes </item>
+      <item> FTPDirectoryEntryDate </item>
+      <item> FTPDirectoryEntryName </item>
+      <item> FTPDirectoryEntryRaw </item>
+      <item> FTPDirectoryEntrySize </item>
+      <item> FTPDirectoryEntryType </item>
+      <item> FTPProgress </item>
+      <item> FetchEntityMaterial </item>
+      <item> FetchOrientation </item>
+      <item> FileBuffersSize </item>
+      <item> FileID </item>
+      <item> FileSeek </item>
+      <item> FileSize </item>
+      <item> FillArea </item>
+      <item> FillMemory </item>
+      <item> FindMapElement </item>
+      <item> FindString </item>
+      <item> FinishCipher </item>
+      <item> FinishDatabaseQuery </item>
+      <item> FinishDirectory </item>
+      <item> FinishFTPDirectory </item>
+      <item> FinishFingerprint </item>
+      <item> FinishMesh </item>
+      <item> FirstDatabaseRow </item>
+      <item> FirstElement </item>
+      <item> FirstWorldCollisionEntity </item>
+      <item> FlipBuffers </item>
+      <item> FlushFileBuffers </item>
+      <item> Fog </item>
+      <item> FontID </item>
+      <item> FontRequester </item>
+      <item> FormatDate </item>
+      <item> FormatXML </item>
+      <item> FrameGadget </item>
+      <item> FrameGadget3D </item>
+      <item> FreeArray </item>
+      <item> FreeBillboardGroup </item>
+      <item> FreeCamera </item>
+      <item> FreeDialog </item>
+      <item> FreeEffect </item>
+      <item> FreeEntity </item>
+      <item> FreeEntityJoints </item>
+      <item> FreeFont </item>
+      <item> FreeGadget </item>
+      <item> FreeGadget3D </item>
+      <item> FreeIP </item>
+      <item> FreeImage </item>
+      <item> FreeJSON </item>
+      <item> FreeJoint </item>
+      <item> FreeLight </item>
+      <item> FreeList </item>
+      <item> FreeMail </item>
+      <item> FreeMap </item>
+      <item> FreeMaterial </item>
+      <item> FreeMemory </item>
+      <item> FreeMenu </item>
+      <item> FreeMesh </item>
+      <item> FreeMovie </item>
+      <item> FreeMusic </item>
+      <item> FreeMutex </item>
+      <item> FreeNode </item>
+      <item> FreeNodeAnimation </item>
+      <item> FreeParticleEmitter </item>
+      <item> FreeRegularExpression </item>
+      <item> FreeSemaphore </item>
+      <item> FreeSound </item>
+      <item> FreeSound3D </item>
+      <item> FreeSpline </item>
+      <item> FreeSprite </item>
+      <item> FreeStaticGeometry </item>
+      <item> FreeStatusBar </item>
+      <item> FreeStructure </item>
+      <item> FreeTerrain </item>
+      <item> FreeText3D </item>
+      <item> FreeTexture </item>
+      <item> FreeToolBar </item>
+      <item> FreeWater </item>
+      <item> FreeXML </item>
+      <item> FrontColor </item>
+      <item> GadgetHeight </item>
+      <item> GadgetHeight3D </item>
+      <item> GadgetID </item>
+      <item> GadgetID3D </item>
+      <item> GadgetItemID </item>
+      <item> GadgetToolTip </item>
+      <item> GadgetToolTip3D </item>
+      <item> GadgetType </item>
+      <item> GadgetType3D </item>
+      <item> GadgetWidth </item>
+      <item> GadgetWidth3D </item>
+      <item> GadgetX </item>
+      <item> GadgetX3D </item>
+      <item> GadgetY </item>
+      <item> GadgetY3D </item>
+      <item> GetActiveGadget </item>
+      <item> GetActiveGadget3D </item>
+      <item> GetActiveWindow </item>
+      <item> GetActiveWindow3D </item>
+      <item> GetClientIP </item>
+      <item> GetClientPort </item>
+      <item> GetClipboardImage </item>
+      <item> GetClipboardText </item>
+      <item> GetCurrentDirectory </item>
+      <item> GetDatabaseBlob </item>
+      <item> GetDatabaseDouble </item>
+      <item> GetDatabaseFloat </item>
+      <item> GetDatabaseLong </item>
+      <item> GetDatabaseQuad </item>
+      <item> GetDatabaseString </item>
+      <item> GetEntityAnimationLength </item>
+      <item> GetEntityAnimationTime </item>
+      <item> GetEntityAnimationWeight </item>
+      <item> GetEntityAttribute </item>
+      <item> GetEntityCollisionGroup </item>
+      <item> GetEntityCollisionMask </item>
+      <item> GetEnvironmentVariable </item>
+      <item> GetExtensionPart </item>
+      <item> GetFTPDirectory </item>
+      <item> GetFileAttributes </item>
+      <item> GetFileDate </item>
+      <item> GetFilePart </item>
+      <item> GetFunction </item>
+      <item> GetFunctionEntry </item>
+      <item> GetGadgetAttribute </item>
+      <item> GetGadgetAttribute3D </item>
+      <item> GetGadgetColor </item>
+      <item> GetGadgetData </item>
+      <item> GetGadgetData3D </item>
+      <item> GetGadgetFont </item>
+      <item> GetGadgetItemAttribute </item>
+      <item> GetGadgetItemColor </item>
+      <item> GetGadgetItemData </item>
+      <item> GetGadgetItemData3D </item>
+      <item> GetGadgetItemState </item>
+      <item> GetGadgetItemState3D </item>
+      <item> GetGadgetItemText </item>
+      <item> GetGadgetItemText3D </item>
+      <item> GetGadgetState </item>
+      <item> GetGadgetState3D </item>
+      <item> GetGadgetText </item>
+      <item> GetGadgetText3D </item>
+      <item> GetHTTPHeader </item>
+      <item> GetHomeDirectory </item>
+      <item> GetJSONBoolean </item>
+      <item> GetJSONDouble </item>
+      <item> GetJSONElement </item>
+      <item> GetJSONFloat </item>
+      <item> GetJSONInteger </item>
+      <item> GetJSONMember </item>
+      <item> GetJSONQuad </item>
+      <item> GetJSONString </item>
+      <item> GetJointAttribute </item>
+      <item> GetLightColor </item>
+      <item> GetMailAttribute </item>
+      <item> GetMailBody </item>
+      <item> GetMaterialAttribute </item>
+      <item> GetMaterialColor </item>
+      <item> GetMenuItemState </item>
+      <item> GetMenuItemText </item>
+      <item> GetMenuTitleText </item>
+      <item> GetMeshData </item>
+      <item> GetMusicPosition </item>
+      <item> GetMusicRow </item>
+      <item> GetNodeAnimationKeyFrameTime </item>
+      <item> GetNodeAnimationLength </item>
+      <item> GetNodeAnimationTime </item>
+      <item> GetNodeAnimationWeight </item>
+      <item> GetOriginX </item>
+      <item> GetOriginY </item>
+      <item> GetPathPart </item>
+      <item> GetRuntimeDouble </item>
+      <item> GetRuntimeInteger </item>
+      <item> GetRuntimeString </item>
+      <item> GetScriptMaterial </item>
+      <item> GetScriptParticleEmitter </item>
+      <item> GetScriptTexture </item>
+      <item> GetSerialPortStatus </item>
+      <item> GetSoundFrequency </item>
+      <item> GetSoundPosition </item>
+      <item> GetTemporaryDirectory </item>
+      <item> GetTerrainTileHeightAtPoint </item>
+      <item> GetTerrainTileLayerBlend </item>
+      <item> GetToolBarButtonState </item>
+      <item> GetURLPart </item>
+      <item> GetW </item>
+      <item> GetWindowColor </item>
+      <item> GetWindowData </item>
+      <item> GetWindowState </item>
+      <item> GetWindowTitle </item>
+      <item> GetWindowTitle3D </item>
+      <item> GetX </item>
+      <item> GetXMLAttribute </item>
+      <item> GetXMLEncoding </item>
+      <item> GetXMLNodeName </item>
+      <item> GetXMLNodeOffset </item>
+      <item> GetXMLNodeText </item>
+      <item> GetXMLStandalone </item>
+      <item> GetY </item>
+      <item> GetZ </item>
+      <item> GrabDrawingImage </item>
+      <item> GrabImage </item>
+      <item> GrabSprite </item>
+      <item> GradientColor </item>
+      <item> Green </item>
+      <item> Hex </item>
+      <item> HideBillboardGroup </item>
+      <item> HideEffect </item>
+      <item> HideEntity </item>
+      <item> HideGadget </item>
+      <item> HideGadget3D </item>
+      <item> HideLight </item>
+      <item> HideMenu </item>
+      <item> HideParticleEmitter </item>
+      <item> HideWindow </item>
+      <item> HideWindow3D </item>
+      <item> HingeJoint </item>
+      <item> HingeJointMotorTarget </item>
+      <item> HostName </item>
+      <item> Hour </item>
+      <item> HyperLinkGadget </item>
+      <item> IPAddressField </item>
+      <item> IPAddressGadget </item>
+      <item> IPString </item>
+      <item> ImageDepth </item>
+      <item> ImageFormat </item>
+      <item> ImageGadget </item>
+      <item> ImageGadget3D </item>
+      <item> ImageHeight </item>
+      <item> ImageID </item>
+      <item> ImageOutput </item>
+      <item> ImageWidth </item>
+      <item> Infinity </item>
+      <item> InitAudioCD </item>
+      <item> InitEngine3D </item>
+      <item> InitJoystick </item>
+      <item> InitKeyboard </item>
+      <item> InitMouse </item>
+      <item> InitMovie </item>
+      <item> InitNetwork </item>
+      <item> InitScintilla </item>
+      <item> InitSound </item>
+      <item> InitSprite </item>
+      <item> Inkey </item>
+      <item> Input </item>
+      <item> InputEvent3D </item>
+      <item> InputRequester </item>
+      <item> InsertElement </item>
+      <item> InsertJSONArray </item>
+      <item> InsertJSONList </item>
+      <item> InsertJSONMap </item>
+      <item> InsertJSONStructure </item>
+      <item> InsertString </item>
+      <item> InsertXMLArray </item>
+      <item> InsertXMLList </item>
+      <item> InsertXMLMap </item>
+      <item> InsertXMLStructure </item>
+      <item> InstructionAddress </item>
+      <item> InstructionString </item>
+      <item> Int </item>
+      <item> IntQ </item>
+      <item> IsBillboardGroup </item>
+      <item> IsCamera </item>
+      <item> IsDatabase </item>
+      <item> IsDialog </item>
+      <item> IsDirectory </item>
+      <item> IsEffect </item>
+      <item> IsEntity </item>
+      <item> IsFile </item>
+      <item> IsFingerprint </item>
+      <item> IsFont </item>
+      <item> IsFtp </item>
+      <item> IsGadget </item>
+      <item> IsGadget3D </item>
+      <item> IsImage </item>
+      <item> IsInfinity </item>
+      <item> IsJSON </item>
+      <item> IsLibrary </item>
+      <item> IsLight </item>
+      <item> IsMail </item>
+      <item> IsMaterial </item>
+      <item> IsMenu </item>
+      <item> IsMesh </item>
+      <item> IsMovie </item>
+      <item> IsMusic </item>
+      <item> IsNaN </item>
+      <item> IsNode </item>
+      <item> IsParticleEmitter </item>
+      <item> IsProgram </item>
+      <item> IsRegularExpression </item>
+      <item> IsRuntime </item>
+      <item> IsScreenActive </item>
+      <item> IsSerialPort </item>
+      <item> IsSound </item>
+      <item> IsSound3D </item>
+      <item> IsSprite </item>
+      <item> IsStaticGeometry </item>
+      <item> IsStatusBar </item>
+      <item> IsSysTrayIcon </item>
+      <item> IsText3D </item>
+      <item> IsTexture </item>
+      <item> IsThread </item>
+      <item> IsToolBar </item>
+      <item> IsWindow </item>
+      <item> IsWindow3D </item>
+      <item> IsXML </item>
+      <item> JSONArraySize </item>
+      <item> JSONErrorLine </item>
+      <item> JSONErrorMessage </item>
+      <item> JSONErrorPosition </item>
+      <item> JSONMemberKey </item>
+      <item> JSONMemberValue </item>
+      <item> JSONObjectSize </item>
+      <item> JSONType </item>
+      <item> JSONValue </item>
+      <item> JoystickAxisX </item>
+      <item> JoystickAxisY </item>
+      <item> JoystickAxisZ </item>
+      <item> JoystickButton </item>
+      <item> JoystickName </item>
+      <item> KeyboardInkey </item>
+      <item> KeyboardMode </item>
+      <item> KeyboardPushed </item>
+      <item> KeyboardReleased </item>
+      <item> KillProgram </item>
+      <item> KillThread </item>
+      <item> LCase </item>
+      <item> LSet </item>
+      <item> LTrim </item>
+      <item> LastElement </item>
+      <item> Left </item>
+      <item> Len </item>
+      <item> LensFlareEffectColor </item>
+      <item> LibraryFunctionAddress </item>
+      <item> LibraryFunctionName </item>
+      <item> LibraryID </item>
+      <item> LightAttenuation </item>
+      <item> LightDirection </item>
+      <item> LightDirectionX </item>
+      <item> LightDirectionY </item>
+      <item> LightDirectionZ </item>
+      <item> LightID </item>
+      <item> LightLookAt </item>
+      <item> LightPitch </item>
+      <item> LightRoll </item>
+      <item> LightX </item>
+      <item> LightY </item>
+      <item> LightYaw </item>
+      <item> LightZ </item>
+      <item> Line </item>
+      <item> LineXY </item>
+      <item> LinearGradient </item>
+      <item> ListIconGadget </item>
+      <item> ListIndex </item>
+      <item> ListSize </item>
+      <item> ListViewGadget </item>
+      <item> ListViewGadget3D </item>
+      <item> LoadFont </item>
+      <item> LoadImage </item>
+      <item> LoadJSON </item>
+      <item> LoadMesh </item>
+      <item> LoadMovie </item>
+      <item> LoadMusic </item>
+      <item> LoadSound </item>
+      <item> LoadSound3D </item>
+      <item> LoadSprite </item>
+      <item> LoadTexture </item>
+      <item> LoadWorld </item>
+      <item> LoadXML </item>
+      <item> Loc </item>
+      <item> LockMutex </item>
+      <item> Lof </item>
+      <item> Log </item>
+      <item> Log10 </item>
+      <item> MD5FileFingerprint </item>
+      <item> MD5Fingerprint </item>
+      <item> MDIGadget </item>
+      <item> MailProgress </item>
+      <item> MainXMLNode </item>
+      <item> MakeIPAddress </item>
+      <item> MapKey </item>
+      <item> MapSize </item>
+      <item> MatchRegularExpression </item>
+      <item> MaterialBlendingMode </item>
+      <item> MaterialCullingMode </item>
+      <item> MaterialFilteringMode </item>
+      <item> MaterialFog </item>
+      <item> MaterialID </item>
+      <item> MaterialShadingMode </item>
+      <item> MaterialShininess </item>
+      <item> MemorySize </item>
+      <item> MemoryStatus </item>
+      <item> MemoryStringLength </item>
+      <item> MenuBar </item>
+      <item> MenuHeight </item>
+      <item> MenuID </item>
+      <item> MenuItem </item>
+      <item> MenuTitle </item>
+      <item> MergeLists </item>
+      <item> MeshFace </item>
+      <item> MeshID </item>
+      <item> MeshIndex </item>
+      <item> MeshIndexCount </item>
+      <item> MeshPoseCount </item>
+      <item> MeshPoseName </item>
+      <item> MeshRadius </item>
+      <item> MeshVertexColor </item>
+      <item> MeshVertexCount </item>
+      <item> MeshVertexNormal </item>
+      <item> MeshVertexPosition </item>
+      <item> MeshVertexTangent </item>
+      <item> MeshVertexTextureCoordinate </item>
+      <item> MessageRequester </item>
+      <item> Mid </item>
+      <item> Minute </item>
+      <item> Mod </item>
+      <item> Month </item>
+      <item> MouseButton </item>
+      <item> MouseDeltaX </item>
+      <item> MouseDeltaY </item>
+      <item> MouseLocate </item>
+      <item> MousePick </item>
+      <item> MouseRayCast </item>
+      <item> MouseWheel </item>
+      <item> MouseX </item>
+      <item> MouseY </item>
+      <item> MoveBillboard </item>
+      <item> MoveBillboardGroup </item>
+      <item> MoveCamera </item>
+      <item> MoveElement </item>
+      <item> MoveEntity </item>
+      <item> MoveEntityBone </item>
+      <item> MoveLight </item>
+      <item> MoveMemory </item>
+      <item> MoveNode </item>
+      <item> MoveParticleEmitter </item>
+      <item> MoveText3D </item>
+      <item> MoveXMLNode </item>
+      <item> MovieAudio </item>
+      <item> MovieHeight </item>
+      <item> MovieInfo </item>
+      <item> MovieLength </item>
+      <item> MovieSeek </item>
+      <item> MovieStatus </item>
+      <item> MovieWidth </item>
+      <item> MusicVolume </item>
+      <item> NaN </item>
+      <item> NetworkClientEvent </item>
+      <item> NetworkServerEvent </item>
+      <item> NewPrinterPage </item>
+      <item> NextDatabaseDriver </item>
+      <item> NextDatabaseRow </item>
+      <item> NextDirectoryEntry </item>
+      <item> NextElement </item>
+      <item> NextEnvironmentVariable </item>
+      <item> NextFTPDirectoryEntry </item>
+      <item> NextFingerprint </item>
+      <item> NextIPAddress </item>
+      <item> NextInstruction </item>
+      <item> NextJSONMember </item>
+      <item> NextLibraryFunction </item>
+      <item> NextMapElement </item>
+      <item> NextPackEntry </item>
+      <item> NextPreferenceGroup </item>
+      <item> NextPreferenceKey </item>
+      <item> NextRegularExpressionMatch </item>
+      <item> NextScreenMode </item>
+      <item> NextSelectedFilename </item>
+      <item> NextWorldCollision </item>
+      <item> NextXMLAttribute </item>
+      <item> NextXMLNode </item>
+      <item> NodeAnimationKeyFramePitch </item>
+      <item> NodeAnimationKeyFrameRoll </item>
+      <item> NodeAnimationKeyFrameX </item>
+      <item> NodeAnimationKeyFrameY </item>
+      <item> NodeAnimationKeyFrameYaw </item>
+      <item> NodeAnimationKeyFrameZ </item>
+      <item> NodeAnimationStatus </item>
+      <item> NodeFixedYawAxis </item>
+      <item> NodeID </item>
+      <item> NodeLookAt </item>
+      <item> NodePitch </item>
+      <item> NodeRoll </item>
+      <item> NodeX </item>
+      <item> NodeY </item>
+      <item> NodeYaw </item>
+      <item> NodeZ </item>
+      <item> NormalX </item>
+      <item> NormalY </item>
+      <item> NormalZ </item>
+      <item> NormalizeMesh </item>
+      <item> OSVersion </item>
+      <item> OnErrorCall </item>
+      <item> OnErrorDefault </item>
+      <item> OnErrorExit </item>
+      <item> OnErrorGoto </item>
+      <item> OpenConsole </item>
+      <item> OpenCryptRandom </item>
+      <item> OpenDatabase </item>
+      <item> OpenDatabaseRequester </item>
+      <item> OpenFTP </item>
+      <item> OpenFile </item>
+      <item> OpenFileRequester </item>
+      <item> OpenGLGadget </item>
+      <item> OpenGadgetList </item>
+      <item> OpenGadgetList3D </item>
+      <item> OpenHelp </item>
+      <item> OpenLibrary </item>
+      <item> OpenNetworkConnection </item>
+      <item> OpenPack </item>
+      <item> OpenPreferences </item>
+      <item> OpenScreen </item>
+      <item> OpenSerialPort </item>
+      <item> OpenSubMenu </item>
+      <item> OpenWindow </item>
+      <item> OpenWindow3D </item>
+      <item> OpenWindowedScreen </item>
+      <item> OpenXMLDialog </item>
+      <item> OptionGadget </item>
+      <item> OptionGadget3D </item>
+      <item> OutputDepth </item>
+      <item> OutputHeight </item>
+      <item> OutputWidth </item>
+      <item> PackEntryName </item>
+      <item> PackEntrySize </item>
+      <item> PackEntryType </item>
+      <item> PanelGadget </item>
+      <item> PanelGadget3D </item>
+      <item> ParentXMLNode </item>
+      <item> Parse3DScripts </item>
+      <item> ParseDate </item>
+      <item> ParseJSON </item>
+      <item> ParseXML </item>
+      <item> ParticleColorFader </item>
+      <item> ParticleColorRange </item>
+      <item> ParticleEmissionRate </item>
+      <item> ParticleEmitterDirection </item>
+      <item> ParticleEmitterID </item>
+      <item> ParticleEmitterX </item>
+      <item> ParticleEmitterY </item>
+      <item> ParticleEmitterZ </item>
+      <item> ParticleMaterial </item>
+      <item> ParticleSize </item>
+      <item> ParticleSpeedFactor </item>
+      <item> ParticleTimeToLive </item>
+      <item> ParticleVelocity </item>
+      <item> PathRequester </item>
+      <item> PauseAudioCD </item>
+      <item> PauseMovie </item>
+      <item> PauseSound </item>
+      <item> PauseThread </item>
+      <item> PeekA </item>
+      <item> PeekB </item>
+      <item> PeekC </item>
+      <item> PeekD </item>
+      <item> PeekF </item>
+      <item> PeekI </item>
+      <item> PeekL </item>
+      <item> PeekQ </item>
+      <item> PeekS </item>
+      <item> PeekU </item>
+      <item> PeekW </item>
+      <item> PickX </item>
+      <item> PickY </item>
+      <item> PickZ </item>
+      <item> Pitch </item>
+      <item> PlayAudioCD </item>
+      <item> PlayMovie </item>
+      <item> PlayMusic </item>
+      <item> PlaySound </item>
+      <item> PlaySound3D </item>
+      <item> Plot </item>
+      <item> Point </item>
+      <item> PointJoint </item>
+      <item> PointPick </item>
+      <item> PokeA </item>
+      <item> PokeB </item>
+      <item> PokeC </item>
+      <item> PokeD </item>
+      <item> PokeF </item>
+      <item> PokeI </item>
+      <item> PokeL </item>
+      <item> PokeQ </item>
+      <item> PokeS </item>
+      <item> PokeU </item>
+      <item> PokeW </item>
+      <item> PopListPosition </item>
+      <item> PopMapPosition </item>
+      <item> PostEvent </item>
+      <item> Pow </item>
+      <item> PreferenceComment </item>
+      <item> PreferenceGroup </item>
+      <item> PreferenceGroupName </item>
+      <item> PreferenceKeyName </item>
+      <item> PreferenceKeyValue </item>
+      <item> PreviousDatabaseRow </item>
+      <item> PreviousElement </item>
+      <item> PreviousXMLNode </item>
+      <item> Print </item>
+      <item> PrintN </item>
+      <item> PrintRequester </item>
+      <item> PrinterOutput </item>
+      <item> PrinterPageHeight </item>
+      <item> PrinterPageWidth </item>
+      <item> ProgramExitCode </item>
+      <item> ProgramFilename </item>
+      <item> ProgramID </item>
+      <item> ProgramParameter </item>
+      <item> ProgramRunning </item>
+      <item> ProgressBarGadget </item>
+      <item> ProgressBarGadget3D </item>
+      <item> PurifierGranularity </item>
+      <item> PushListPosition </item>
+      <item> PushMapPosition </item>
+      <item> RGB </item>
+      <item> RGBA </item>
+      <item> RSet </item>
+      <item> RTrim </item>
+      <item> Radian </item>
+      <item> RaiseError </item>
+      <item> Random </item>
+      <item> RandomData </item>
+      <item> RandomSeed </item>
+      <item> RandomizeArray </item>
+      <item> RandomizeList </item>
+      <item> RawKey </item>
+      <item> RayCast </item>
+      <item> RayCollide </item>
+      <item> RayPick </item>
+      <item> ReAllocateMemory </item>
+      <item> ReadAsciiCharacter </item>
+      <item> ReadByte </item>
+      <item> ReadCharacter </item>
+      <item> ReadConsoleData </item>
+      <item> ReadData </item>
+      <item> ReadDouble </item>
+      <item> ReadFile </item>
+      <item> ReadFloat </item>
+      <item> ReadInteger </item>
+      <item> ReadLong </item>
+      <item> ReadPreferenceDouble </item>
+      <item> ReadPreferenceFloat </item>
+      <item> ReadPreferenceInteger </item>
+      <item> ReadPreferenceLong </item>
+      <item> ReadPreferenceQuad </item>
+      <item> ReadPreferenceString </item>
+      <item> ReadProgramData </item>
+      <item> ReadProgramError </item>
+      <item> ReadProgramString </item>
+      <item> ReadQuad </item>
+      <item> ReadSerialPortData </item>
+      <item> ReadString </item>
+      <item> ReadStringFormat </item>
+      <item> ReadUnicodeCharacter </item>
+      <item> ReadWord </item>
+      <item> ReceiveFTPFile </item>
+      <item> ReceiveHTTPFile </item>
+      <item> ReceiveNetworkData </item>
+      <item> Red </item>
+      <item> RegularExpressionError </item>
+      <item> RegularExpressionGroup </item>
+      <item> RegularExpressionGroupLength </item>
+      <item> RegularExpressionGroupPosition </item>
+      <item> RegularExpressionMatchLength </item>
+      <item> RegularExpressionMatchPosition </item>
+      <item> RegularExpressionMatchString </item>
+      <item> RegularExpressionNamedGroup </item>
+      <item> RegularExpressionNamedGroupLength </item>
+      <item> RegularExpressionNamedGroupPosition </item>
+      <item> ReleaseMouse </item>
+      <item> ReloadMaterial </item>
+      <item> RemoveBillboard </item>
+      <item> RemoveEnvironmentVariable </item>
+      <item> RemoveGadgetColumn </item>
+      <item> RemoveGadgetItem </item>
+      <item> RemoveGadgetItem3D </item>
+      <item> RemoveJSONElement </item>
+      <item> RemoveJSONMember </item>
+      <item> RemoveKeyboardShortcut </item>
+      <item> RemoveMailRecipient </item>
+      <item> RemoveMaterialLayer </item>
+      <item> RemovePackFile </item>
+      <item> RemovePreferenceGroup </item>
+      <item> RemovePreferenceKey </item>
+      <item> RemoveString </item>
+      <item> RemoveSysTrayIcon </item>
+      <item> RemoveWindowTimer </item>
+      <item> RemoveXMLAttribute </item>
+      <item> RenameFTPFile </item>
+      <item> RenameFile </item>
+      <item> RenderWorld </item>
+      <item> ReplaceRegularExpression </item>
+      <item> ReplaceString </item>
+      <item> ResetGradientColors </item>
+      <item> ResetList </item>
+      <item> ResetMap </item>
+      <item> ResetMaterial </item>
+      <item> ResetProfiler </item>
+      <item> ResizeBillboard </item>
+      <item> ResizeGadget </item>
+      <item> ResizeGadget3D </item>
+      <item> ResizeImage </item>
+      <item> ResizeJSONElements </item>
+      <item> ResizeMovie </item>
+      <item> ResizeParticleEmitter </item>
+      <item> ResizeWindow </item>
+      <item> ResizeWindow3D </item>
+      <item> ResolveXMLAttributeName </item>
+      <item> ResolveXMLNodeName </item>
+      <item> ResumeAudioCD </item>
+      <item> ResumeMovie </item>
+      <item> ResumeSound </item>
+      <item> ResumeThread </item>
+      <item> ReverseString </item>
+      <item> RibbonEffectColor </item>
+      <item> RibbonEffectWidth </item>
+      <item> Right </item>
+      <item> Roll </item>
+      <item> RootXMLNode </item>
+      <item> RotateBillboardGroup </item>
+      <item> RotateCamera </item>
+      <item> RotateEntity </item>
+      <item> RotateEntityBone </item>
+      <item> RotateLight </item>
+      <item> RotateMaterial </item>
+      <item> RotateNode </item>
+      <item> RotateSprite </item>
+      <item> Round </item>
+      <item> RoundBox </item>
+      <item> RunProgram </item>
+      <item> SHA1FileFingerprint </item>
+      <item> SHA1Fingerprint </item>
+      <item> SaveDebugOutput </item>
+      <item> SaveFileRequester </item>
+      <item> SaveImage </item>
+      <item> SaveJSON </item>
+      <item> SaveMesh </item>
+      <item> SaveRenderTexture </item>
+      <item> SaveSprite </item>
+      <item> SaveTerrain </item>
+      <item> SaveXML </item>
+      <item> ScaleEntity </item>
+      <item> ScaleMaterial </item>
+      <item> ScaleNode </item>
+      <item> ScaleText3D </item>
+      <item> ScintillaGadget </item>
+      <item> ScintillaSendMessage </item>
+      <item> ScreenDepth </item>
+      <item> ScreenHeight </item>
+      <item> ScreenID </item>
+      <item> ScreenModeDepth </item>
+      <item> ScreenModeHeight </item>
+      <item> ScreenModeRefreshRate </item>
+      <item> ScreenModeWidth </item>
+      <item> ScreenOutput </item>
+      <item> ScreenWidth </item>
+      <item> ScrollAreaGadget </item>
+      <item> ScrollAreaGadget3D </item>
+      <item> ScrollBarGadget </item>
+      <item> ScrollBarGadget3D </item>
+      <item> ScrollMaterial </item>
+      <item> Second </item>
+      <item> SecondWorldCollisionEntity </item>
+      <item> SelectElement </item>
+      <item> SelectedFilePattern </item>
+      <item> SelectedFontColor </item>
+      <item> SelectedFontName </item>
+      <item> SelectedFontSize </item>
+      <item> SelectedFontStyle </item>
+      <item> SendFTPFile </item>
+      <item> SendMail </item>
+      <item> SendNetworkData </item>
+      <item> SendNetworkString </item>
+      <item> SerialPortError </item>
+      <item> SerialPortID </item>
+      <item> SerialPortTimeouts </item>
+      <item> ServerID </item>
+      <item> SetActiveGadget </item>
+      <item> SetActiveGadget3D </item>
+      <item> SetActiveWindow </item>
+      <item> SetActiveWindow3D </item>
+      <item> SetClipboardImage </item>
+      <item> SetClipboardText </item>
+      <item> SetCurrentDirectory </item>
+      <item> SetDatabaseBlob </item>
+      <item> SetDragCallback </item>
+      <item> SetDropCallback </item>
+      <item> SetEntityAnimationLength </item>
+      <item> SetEntityAnimationTime </item>
+      <item> SetEntityAnimationWeight </item>
+      <item> SetEntityAttribute </item>
+      <item> SetEntityCollisionFilter </item>
+      <item> SetEntityMaterial </item>
+      <item> SetEnvironmentVariable </item>
+      <item> SetFTPDirectory </item>
+      <item> SetFileAttributes </item>
+      <item> SetFileDate </item>
+      <item> SetFrameRate </item>
+      <item> SetGUITheme3D </item>
+      <item> SetGadgetAttribute </item>
+      <item> SetGadgetAttribute3D </item>
+      <item> SetGadgetColor </item>
+      <item> SetGadgetData </item>
+      <item> SetGadgetData3D </item>
+      <item> SetGadgetFont </item>
+      <item> SetGadgetItemAttribute </item>
+      <item> SetGadgetItemColor </item>
+      <item> SetGadgetItemData </item>
+      <item> SetGadgetItemData3D </item>
+      <item> SetGadgetItemImage </item>
+      <item> SetGadgetItemState </item>
+      <item> SetGadgetItemState3D </item>
+      <item> SetGadgetItemText </item>
+      <item> SetGadgetItemText3D </item>
+      <item> SetGadgetState </item>
+      <item> SetGadgetState3D </item>
+      <item> SetGadgetText </item>
+      <item> SetGadgetText3D </item>
+      <item> SetJSONArray </item>
+      <item> SetJSONBoolean </item>
+      <item> SetJSONDouble </item>
+      <item> SetJSONFloat </item>
+      <item> SetJSONInteger </item>
+      <item> SetJSONNull </item>
+      <item> SetJSONObject </item>
+      <item> SetJSONQuad </item>
+      <item> SetJSONString </item>
+      <item> SetJointAttribute </item>
+      <item> SetLightColor </item>
+      <item> SetMailAttribute </item>
+      <item> SetMailBody </item>
+      <item> SetMaterialAttribute </item>
+      <item> SetMaterialColor </item>
+      <item> SetMenuItemState </item>
+      <item> SetMenuItemText </item>
+      <item> SetMenuTitleText </item>
+      <item> SetMeshData </item>
+      <item> SetMeshMaterial </item>
+      <item> SetMusicPosition </item>
+      <item> SetNodeAnimationKeyFramePosition </item>
+      <item> SetNodeAnimationKeyFrameRotation </item>
+      <item> SetNodeAnimationKeyFrameScale </item>
+      <item> SetNodeAnimationLength </item>
+      <item> SetNodeAnimationTime </item>
+      <item> SetNodeAnimationWeight </item>
+      <item> SetOrientation </item>
+      <item> SetOrigin </item>
+      <item> SetRenderQueue </item>
+      <item> SetRuntimeDouble </item>
+      <item> SetRuntimeInteger </item>
+      <item> SetRuntimeString </item>
+      <item> SetSerialPortStatus </item>
+      <item> SetSoundFrequency </item>
+      <item> SetSoundPosition </item>
+      <item> SetTerrainTileHeightAtPoint </item>
+      <item> SetTerrainTileLayerBlend </item>
+      <item> SetToolBarButtonState </item>
+      <item> SetURLPart </item>
+      <item> SetWindowCallback </item>
+      <item> SetWindowColor </item>
+      <item> SetWindowData </item>
+      <item> SetWindowState </item>
+      <item> SetWindowTitle </item>
+      <item> SetWindowTitle3D </item>
+      <item> SetXMLAttribute </item>
+      <item> SetXMLEncoding </item>
+      <item> SetXMLNodeName </item>
+      <item> SetXMLNodeOffset </item>
+      <item> SetXMLNodeText </item>
+      <item> SetXMLStandalone </item>
+      <item> SetupTerrains </item>
+      <item> ShortcutGadget </item>
+      <item> ShowAssemblyViewer </item>
+      <item> ShowCallstack </item>
+      <item> ShowDebugOutput </item>
+      <item> ShowGUI </item>
+      <item> ShowLibraryViewer </item>
+      <item> ShowMemoryViewer </item>
+      <item> ShowProfiler </item>
+      <item> ShowVariableViewer </item>
+      <item> ShowWatchlist </item>
+      <item> Sign </item>
+      <item> SignalSemaphore </item>
+      <item> Sin </item>
+      <item> SinH </item>
+      <item> SkyBox </item>
+      <item> SkyDome </item>
+      <item> SliderJoint </item>
+      <item> SmartWindowRefresh </item>
+      <item> SortArray </item>
+      <item> SortList </item>
+      <item> SortStructuredArray </item>
+      <item> SortStructuredList </item>
+      <item> SoundCone3D </item>
+      <item> SoundID3D </item>
+      <item> SoundLength </item>
+      <item> SoundListenerLocate </item>
+      <item> SoundPan </item>
+      <item> SoundRange3D </item>
+      <item> SoundStatus </item>
+      <item> SoundVolume </item>
+      <item> SoundVolume3D </item>
+      <item> Space </item>
+      <item> SpinGadget </item>
+      <item> SpinGadget3D </item>
+      <item> SplinePointX </item>
+      <item> SplinePointY </item>
+      <item> SplinePointZ </item>
+      <item> SplineX </item>
+      <item> SplineY </item>
+      <item> SplineZ </item>
+      <item> SplitList </item>
+      <item> SplitterGadget </item>
+      <item> SpotLightRange </item>
+      <item> SpriteBlendingMode </item>
+      <item> SpriteCollision </item>
+      <item> SpriteDepth </item>
+      <item> SpriteHeight </item>
+      <item> SpriteID </item>
+      <item> SpriteOutput </item>
+      <item> SpritePixelCollision </item>
+      <item> SpriteQuality </item>
+      <item> SpriteWidth </item>
+      <item> Sqr </item>
+      <item> StartAESCipher </item>
+      <item> StartDrawing </item>
+      <item> StartEntityAnimation </item>
+      <item> StartNodeAnimation </item>
+      <item> StartPrinting </item>
+      <item> StartProfiler </item>
+      <item> StatusBarHeight </item>
+      <item> StatusBarID </item>
+      <item> StatusBarImage </item>
+      <item> StatusBarProgress </item>
+      <item> StatusBarText </item>
+      <item> StickyWindow </item>
+      <item> StopAudioCD </item>
+      <item> StopDrawing </item>
+      <item> StopEntityAnimation </item>
+      <item> StopMovie </item>
+      <item> StopMusic </item>
+      <item> StopNodeAnimation </item>
+      <item> StopPrinting </item>
+      <item> StopProfiler </item>
+      <item> StopSound </item>
+      <item> StopSound3D </item>
+      <item> Str </item>
+      <item> StrD </item>
+      <item> StrF </item>
+      <item> StrU </item>
+      <item> StringByteLength </item>
+      <item> StringField </item>
+      <item> StringGadget </item>
+      <item> StringGadget3D </item>
+      <item> SubMeshCount </item>
+      <item> Sun </item>
+      <item> SwapElements </item>
+      <item> SwitchCamera </item>
+      <item> SysTrayIconToolTip </item>
+      <item> Tan </item>
+      <item> TanH </item>
+      <item> TerrainHeight </item>
+      <item> TerrainLocate </item>
+      <item> TerrainMousePick </item>
+      <item> TerrainPhysicBody </item>
+      <item> TerrainRenderMode </item>
+      <item> TerrainTileHeightAtPosition </item>
+      <item> TerrainTileLayerMapSize </item>
+      <item> TerrainTilePointX </item>
+      <item> TerrainTilePointY </item>
+      <item> TerrainTileSize </item>
+      <item> Text3DAlignment </item>
+      <item> Text3DCaption </item>
+      <item> Text3DColor </item>
+      <item> Text3DID </item>
+      <item> TextGadget </item>
+      <item> TextGadget3D </item>
+      <item> TextHeight </item>
+      <item> TextWidth </item>
+      <item> TextureHeight </item>
+      <item> TextureID </item>
+      <item> TextureOutput </item>
+      <item> TextureWidth </item>
+      <item> ThreadID </item>
+      <item> ThreadPriority </item>
+      <item> ToolBarHeight </item>
+      <item> ToolBarID </item>
+      <item> ToolBarImageButton </item>
+      <item> ToolBarSeparator </item>
+      <item> ToolBarStandardButton </item>
+      <item> ToolBarToolTip </item>
+      <item> TrackBarGadget </item>
+      <item> TransformMesh </item>
+      <item> TransformSprite </item>
+      <item> TransparentSpriteColor </item>
+      <item> TreeGadget </item>
+      <item> Trim </item>
+      <item> TruncateFile </item>
+      <item> TryLockMutex </item>
+      <item> TrySemaphore </item>
+      <item> UCase </item>
+      <item> URLDecoder </item>
+      <item> URLEncoder </item>
+      <item> UnbindEvent </item>
+      <item> UnbindGadgetEvent </item>
+      <item> UnbindMenuEvent </item>
+      <item> UnclipOutput </item>
+      <item> UncompressMemory </item>
+      <item> UncompressPackFile </item>
+      <item> UncompressPackMemory </item>
+      <item> UnlockMutex </item>
+      <item> UpdateEntityAnimation </item>
+      <item> UpdateMesh </item>
+      <item> UpdateMeshBoundingBox </item>
+      <item> UpdateRenderTexture </item>
+      <item> UpdateSplinePoint </item>
+      <item> UpdateTerrain </item>
+      <item> UpdateTerrainTileLayerBlend </item>
+      <item> UpdateVertexPoseReference </item>
+      <item> UseAudioCD </item>
+      <item> UseBriefLZPacker </item>
+      <item> UseFLACSoundDecoder </item>
+      <item> UseGadgetList </item>
+      <item> UseJCALG1Packer </item>
+      <item> UseJPEG2000ImageDecoder </item>
+      <item> UseJPEG2000ImageEncoder </item>
+      <item> UseJPEGImageDecoder </item>
+      <item> UseJPEGImageEncoder </item>
+      <item> UseLZMAPacker </item>
+      <item> UseODBCDatabase </item>
+      <item> UseOGGSoundDecoder </item>
+      <item> UsePNGImageDecoder </item>
+      <item> UsePNGImageEncoder </item>
+      <item> UsePostgreSQLDatabase </item>
+      <item> UseSQLiteDatabase </item>
+      <item> UseTGAImageDecoder </item>
+      <item> UseTIFFImageDecoder </item>
+      <item> UseZipPacker </item>
+      <item> UserName </item>
+      <item> Val </item>
+      <item> ValD </item>
+      <item> ValF </item>
+      <item> VertexPoseReferenceCount </item>
+      <item> WaitProgram </item>
+      <item> WaitSemaphore </item>
+      <item> WaitThread </item>
+      <item> WaitWindowEvent </item>
+      <item> WaterColor </item>
+      <item> WaterHeight </item>
+      <item> WebGadget </item>
+      <item> WebGadgetPath </item>
+      <item> WindowBounds </item>
+      <item> WindowEvent </item>
+      <item> WindowEvent3D </item>
+      <item> WindowHeight </item>
+      <item> WindowHeight3D </item>
+      <item> WindowID </item>
+      <item> WindowID3D </item>
+      <item> WindowMouseX </item>
+      <item> WindowMouseY </item>
+      <item> WindowOutput </item>
+      <item> WindowWidth </item>
+      <item> WindowWidth3D </item>
+      <item> WindowX </item>
+      <item> WindowX3D </item>
+      <item> WindowY </item>
+      <item> WindowY3D </item>
+      <item> WorldCollisionAppliedImpulse </item>
+      <item> WorldCollisionContact </item>
+      <item> WorldCollisionNormal </item>
+      <item> WorldDebug </item>
+      <item> WorldGravity </item>
+      <item> WorldShadows </item>
+      <item> WriteAsciiCharacter </item>
+      <item> WriteByte </item>
+      <item> WriteCharacter </item>
+      <item> WriteConsoleData </item>
+      <item> WriteData </item>
+      <item> WriteDouble </item>
+      <item> WriteFloat </item>
+      <item> WriteInteger </item>
+      <item> WriteLong </item>
+      <item> WritePreferenceDouble </item>
+      <item> WritePreferenceFloat </item>
+      <item> WritePreferenceInteger </item>
+      <item> WritePreferenceLong </item>
+      <item> WritePreferenceQuad </item>
+      <item> WritePreferenceString </item>
+      <item> WriteProgramData </item>
+      <item> WriteProgramString </item>
+      <item> WriteProgramStringN </item>
+      <item> WriteQuad </item>
+      <item> WriteSerialPortData </item>
+      <item> WriteSerialPortString </item>
+      <item> WriteString </item>
+      <item> WriteStringFormat </item>
+      <item> WriteStringN </item>
+      <item> WriteUnicodeCharacter </item>
+      <item> WriteWord </item>
+      <item> XMLAttributeName </item>
+      <item> XMLAttributeValue </item>
+      <item> XMLChildCount </item>
+      <item> XMLError </item>
+      <item> XMLErrorLine </item>
+      <item> XMLErrorPosition </item>
+      <item> XMLNodeFromID </item>
+      <item> XMLNodeFromPath </item>
+      <item> XMLNodePath </item>
+      <item> XMLNodeType </item>
+      <item> XMLStatus </item>
+      <item> Yaw </item>
+      <item> Year </item>
+      <item> ZoomSprite </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+
+        <AnyChar attribute="Operator" String="-+*/%|=!&lt;&gt;!^&amp;~" context="#stay"/>
+
+        <AnyChar attribute="Separator" String=",.:()[]\" context="#stay"/>
+
+        <RegExpr attribute="Keyword" context="#stay" String="\b(if)([\s]|$)" insensitive="true" beginRegion="IfRegion"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(endif)([\s]|$)" insensitive="true" endRegion="IfRegion"/>
+
+        <RegExpr attribute="Keyword" context="#stay" String="\b(while)([\s]|$)" insensitive="true" beginRegion="WhileRegion"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(wend)([\s]|$)" insensitive="true" endRegion="WhileRegion"/>
+
+        <RegExpr attribute="Keyword" context="#stay" String="\b(repeat)([\s]|$)" insensitive="true" beginRegion="RepeatRegion"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(until)([\s]|$)" insensitive="true" endRegion="RepeatRegion"/>
+
+        <RegExpr attribute="Keyword" context="#stay" String="\b(select)([\s]|$)" insensitive="true" beginRegion="SelectRegion"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(endselect)([\s]|$)" insensitive="true" endRegion="SelectRegion"/>
+
+        <RegExpr attribute="Keyword" context="#stay" String="\b(for|foreach)([\s]|$)" insensitive="true" beginRegion="ForRegion"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(next)([\s]|$)" insensitive="true" endRegion="ForRegion"/>
+
+        <RegExpr attribute="Keyword" context="#stay" String="\b(procedure|proceduredll)([.\s]|$)" insensitive="true" beginRegion="ProcedureRegion"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(endprocedure)([\s]|$)" insensitive="true" endRegion="ProcedureRegion"/>
+
+        <RegExpr attribute="Keyword" context="#stay" String="\b(structure)([\s]|$)" insensitive="true" beginRegion="StructureRegion"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(endstructure)([\s]|$)" insensitive="true" endRegion="StructureRegion"/>
+
+        <RegExpr attribute="Keyword" context="#stay" String="\b(interface)([\s]|$)" insensitive="true" beginRegion="InterfaceRegion"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(endinterface)([\s]|$)" insensitive="true" endRegion="InterfaceRegion"/>
+
+        <RegExpr attribute="Keyword" context="#stay" String="\b(enumeration)([\s]|$)" insensitive="true" beginRegion="EnumerationRegion"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(endenumeration)([\s]|$)" insensitive="true" endRegion="EnumerationRegion"/>
+
+        <RegExpr attribute="Keyword" context="#stay" String="\b(datasection)([\s]|$)" insensitive="true" beginRegion="DataSectionRegion"/>
+        <RegExpr attribute="Keyword" context="#stay" String="\b(enddatasection)([\s]|$)" insensitive="true" endRegion="DataSectionRegion"/>
+
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+
+        <RegExpr attribute="Compiler Keyword" context="#stay" String="\b(compilerif)([\s]|$)" insensitive="true" beginRegion="CompilerIfRegion"/>
+        <RegExpr attribute="Compiler Keyword" context="#stay" String="\b(compilerendif)([\s]|$)" insensitive="true" endRegion="CompilerIfRegion"/>
+
+        <RegExpr attribute="Compiler Keyword" context="#stay" String="\b(compilerselect)([\s]|$)" insensitive="true" beginRegion="CompilerSelectRegion"/>
+        <RegExpr attribute="Compiler Keyword" context="#stay" String="\b(compilerendselect)([\s]|$)" insensitive="true" endRegion="CompilerEndSelectRegion"/>
+
+        <keyword attribute="Compiler Keyword" context="#stay" String="compiler"/>
+
+        <keyword attribute="Functions" context="#stay" String="functions"/>
+
+        <keyword attribute="Debug Keyword" context="#stay" String="debug"/>
+
+        <RegExpr attribute="Constant" context="#stay" String="\#+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"/>
+
+        <Float attribute="Number" context="#stay"/>
+        <Int attribute="Number" context="#stay"/>
+
+        <DetectChar attribute="String" context="String" char="&quot;" />
+
+        <RegExpr attribute="Region Marker" context="#stay" String="^\s*;+\s*BEGIN.*$" beginRegion="marker"/>
+        <RegExpr attribute="Region Marker" context="#stay" String="^\s*;+\s*END.*$" endRegion="marker"/>
+
+        <DetectChar attribute="Comment" context="Comment1" char=";"/>
+
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Comment1">
+        <keyword attribute="Number" context="#stay" String="attention" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Operator" defStyleNum="dsNormal"/>
+      <itemData name="Separator" defStyleNum="dsNormal"/>
+      <itemData name="Keyword" defStyleNum="dsKeyword"/>
+      <itemData name="Debug Keyword" defStyleNum="dsKeyword"/>
+      <itemData name="Compiler Keyword" defStyleNum="dsKeyword"/>
+      <itemData name="Functions" defStyleNum="dsFunction"/>
+      <itemData name="Constant" defStyleNum="dsDataType"/>
+      <itemData name="Number" defStyleNum="dsDecVal"/>
+      <itemData name="String" defStyleNum="dsString"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="0" />
+    <comments>
+      <comment name="singleLine" start=";" />
+    </comments>
+  </general>
+</language>
+<!-- // kate: space-indent on; indent-width 3; replace-tabs on; -->
diff --git a/xml/python.xml b/xml/python.xml
new file mode 100644
--- /dev/null
+++ b/xml/python.xml
@@ -0,0 +1,682 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language>
+<!-- Python syntax highlightning v0.9 by Per Wigren -->
+<!-- Python syntax highlighting v1.9 by Michael Bueker (improved keyword differentiation) -->
+<!-- Python syntax highlighting v1.97 by Paul Giannaros -->
+<!-- Python syntax highlighting v1.99 by Primoz Anzur -->
+<!-- Python syntax highlighting v2.01 by Paul Giannaros:
+	* full format character support
+	* unicode string modifier supported -->
+<!-- v2.02 remove RegExpr for nums and make indent consistent -->
+<!-- v2.03 highlight decorators, remove operator regex, don't highlight parens as operators -->
+<!-- v2.04 make alerts visible even if they are directly after ''' or # without a space -->
+<!-- v2.06 decorator names can (and often do) contain periods -->
+<!-- v2.07 add support for %prog and co, see bug 142832 -->
+<!-- v2.08 add missing overloaders, new Python 3 statements, builtins, and keywords -->
+<!-- v2.29 recognize escape sequenzes correctly -->
+<language name="Python" version="4" style="python" kateversion="5.0" section="Scripts" extensions="*.py;*.pyw;SConstruct;SConscript" mimetype="application/x-python;text/x-python" casesensitive="1" author="Michael Bueker" license="">
+	<highlighting>
+		<list name="import">
+			<item> import </item>
+			<item> from </item>
+			<item> as </item>
+		</list>
+		<list name="defs">
+			<item> class </item>
+			<item> def </item>
+			<item> del </item>
+			<item> global </item>
+			<item> lambda </item>
+			<item> nonlocal </item>
+		</list>
+		<list name="operators">
+			<item> and </item>
+			<item> in </item>
+			<item> is </item>
+			<item> not </item>
+			<item> or </item>
+		</list>
+		<list name="flow">
+			<item> assert </item>
+			<item> break </item>
+			<item> continue </item>
+			<item> elif </item>
+			<item> else </item>
+			<item> except </item>
+			<item> finally </item>
+			<item> for </item>
+			<item> if </item>
+			<item> pass </item>
+			<item> raise </item>
+			<item> return </item>
+			<item> try </item>
+			<item> while </item>
+			<item> with </item>
+			<item> yield </item>
+			<item> async </item>
+			<item> await </item>
+		</list>
+		<list name="builtinfuncs">
+			<item> __import__ </item>
+			<item> abs </item>
+			<item> all </item>
+			<item> any </item>
+			<item> apply </item>
+			<item> ascii </item>
+			<item> basestring </item>
+			<item> bin </item>
+			<item> bool </item>
+			<item> buffer </item>
+			<item> bytearray </item>
+			<item> bytes </item>
+			<item> callable </item>
+			<item> chr </item>
+			<item> classmethod </item>
+			<item> cmp </item>
+			<item> coerce </item>
+			<item> compile </item>
+			<item> complex </item>
+			<item> delattr </item>
+			<item> dict </item>
+			<item> dir </item>
+			<item> divmod </item>
+			<item> enumerate </item>
+			<item> eval </item>
+			<item> exec </item>
+			<item> execfile </item>
+			<item> file </item>
+			<item> filter </item>
+			<item> float </item>
+			<item> format </item>
+			<item> frozenset </item>
+			<item> getattr </item>
+			<item> globals </item>
+			<item> hasattr </item>
+			<item> hash </item>
+			<item> help </item>
+			<item> hex </item>
+			<item> id </item>
+			<item> input </item>
+			<item> int </item>
+			<item> intern </item>
+			<item> isinstance </item>
+			<item> issubclass </item>
+			<item> iter </item>
+			<item> len </item>
+			<item> list </item>
+			<item> locals </item>
+			<item> long </item>
+			<item> map </item>
+			<item> max </item>
+			<item> memoryview </item>
+			<item> min </item>
+			<item> next </item>
+			<item> object </item>
+			<item> oct </item>
+			<item> open </item>
+			<item> ord </item>
+			<item> pow </item>
+			<item> print </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>
+			<item> unicode </item>
+			<item> vars </item>
+			<item> xrange </item>
+			<item> zip </item>
+		</list>
+		<list name="specialvars">
+			<item> None </item>
+			<item> self </item>
+			<item> True </item>
+			<item> False </item>
+			<item> NotImplemented </item>
+			<item> Ellipsis </item>
+			<item> __debug__ </item>
+			<item> __file__ </item>
+			<item> __name__ </item>
+		</list>
+		<list name="bindings">
+			<item> SIGNAL </item>
+			<item> SLOT </item>
+			<item> connect </item>
+		</list>
+		<list name="overloaders">
+			<item>__new__</item>
+			<item>__init__</item>
+			<item>__del__</item>
+			<item>__repr__</item>
+			<item>__str__</item>
+			<item>__lt__</item>
+			<item>__le__</item>
+			<item>__eq__</item>
+			<item>__ne__</item>
+			<item>__gt__</item>
+			<item>__ge__</item>
+			<item>__cmp__</item>
+			<item>__rcmp__</item>
+			<item>__hash__</item>
+			<item>__nonzero__</item>
+			<item>__unicode__</item>
+			<item>__getattr__</item>
+			<item>__setattr__</item>
+			<item>__delattr__</item>
+			<item>__getattribute__</item>
+			<item>__get__</item>
+			<item>__set__</item>
+			<item>__delete__</item>
+			<item>__call__</item>
+			<item>__len__</item>
+			<item>__getitem__</item>
+			<item>__setitem__</item>
+			<item>__delitem__</item>
+			<item>__iter__</item>
+			<item>__reversed__</item>
+			<item>__contains__</item>
+			<item>__getslice__</item>
+			<item>__setslice__</item>
+			<item>__delslice__</item>
+			<item>__add__</item>
+			<item>__sub__</item>
+			<item>__mul__</item>
+			<item>__floordiv__</item>
+			<item>__mod__</item>
+			<item>__divmod__</item>
+			<item>__pow__</item>
+			<item>__lshift__</item>
+			<item>__rshift__</item>
+			<item>__and__</item>
+			<item>__xor__</item>
+			<item>__or__</item>
+			<item>__div__</item>
+			<item>__truediv__</item>
+			<item>__radd__</item>
+			<item>__rsub__</item>
+			<item>__rmul__</item>
+			<item>__rdiv__</item>
+			<item>__rtruediv__</item>
+			<item>__rfloordiv__</item>
+			<item>__rmod__</item>
+			<item>__rdivmod__</item>
+			<item>__rpow__</item>
+			<item>__rlshift__</item>
+			<item>__rrshift__</item>
+			<item>__rand__</item>
+			<item>__rxor__</item>
+			<item>__ror__</item>
+			<item>__iadd__</item>
+			<item>__isub__</item>
+			<item>__imul__</item>
+			<item>__idiv__</item>
+			<item>__itruediv__</item>
+			<item>__ifloordiv__</item>
+			<item>__imod__</item>
+			<item>__ipow__</item>
+			<item>__ilshift__</item>
+			<item>__irshift__</item>
+			<item>__iand__</item>
+			<item>__ixor__</item>
+			<item>__ior__</item>
+			<item>__neg__</item>
+			<item>__pos__</item>
+			<item>__abs__</item>
+			<item>__invert__</item>
+			<item>__complex__</item>
+			<item>__int__</item>
+			<item>__long__</item>
+			<item>__float__</item>
+			<item>__oct__</item>
+			<item>__hex__</item>
+			<item>__index__</item>
+			<item>__coerce__</item>
+			<item>__enter__</item>
+			<item>__exit__</item>
+			<item>__bytes__</item>
+			<item>__format__</item>
+			<item>__next__</item>
+			<item>__dir__</item>
+			<item>__await__</item>
+			<item>__aiter__</item>
+			<item>__anext__</item>
+			<item>__aenter__</item>
+			<item>__aexit__</item>
+		</list>
+		<list name="exceptions">
+			<!--
+				Exceptions list resources used:
+				- http://docs.python.org/2.7/library/exceptions.html#exception-hierarchy
+				- http://docs.python.org/3.4/library/exceptions.html#exception-hierarchy
+			-->
+			<item>ArithmeticError</item>
+			<item>AssertionError</item>
+			<item>AttributeError</item>
+			<item>BaseException</item>
+			<item>BlockingIOError</item>
+			<item>BrokenPipeError</item>
+			<item>BufferError</item>
+			<item>BytesWarning</item>
+			<item>ChildProcessError</item>
+			<item>ConnectionAbortedError</item>
+			<item>ConnectionError</item>
+			<item>ConnectionRefusedError</item>
+			<item>ConnectionResetError</item>
+			<item>DeprecationWarning</item>
+			<item>EnvironmentError</item>
+			<item>EOFError</item>
+			<item>Exception</item>
+			<item>FileExistsError</item>
+			<item>FileNotFoundError</item>
+			<item>FloatingPointError</item>
+			<item>FutureWarning</item>
+			<item>GeneratorExit</item>
+			<item>ImportError</item>
+			<item>ImportWarning</item>
+			<item>IndentationError</item>
+			<item>IndexError</item>
+			<item>InterruptedError</item>
+			<item>IOError</item>
+			<item>IsADirectoryError</item>
+			<item>KeyboardInterrupt</item>
+			<item>KeyError</item>
+			<item>LookupError</item>
+			<item>MemoryError</item>
+			<item>NameError</item>
+			<item>NotADirectoryError</item>
+			<item>NotImplementedError</item>
+			<item>OSError</item>
+			<item>OverflowError</item>
+			<item>PendingDeprecationWarning</item>
+			<item>PermissionError</item>
+			<item>ProcessLookupError</item>
+			<item>ReferenceError</item>
+			<item>ResourceWarning</item>
+			<item>RuntimeError</item>
+			<item>RuntimeWarning</item>
+			<item>StandardError</item>
+			<item>StopIteration</item>
+			<item>SyntaxError</item>
+			<item>SyntaxWarning</item>
+			<item>SystemError</item>
+			<item>SystemExit</item>
+			<item>TabError</item>
+			<item>TimeoutError</item>
+			<item>TypeError</item>
+			<item>UnboundLocalError</item>
+			<item>UnicodeDecodeError</item>
+			<item>UnicodeEncodeError</item>
+			<item>UnicodeError</item>
+			<item>UnicodeTranslateError</item>
+			<item>UnicodeWarning</item>
+			<item>UserWarning</item>
+			<item>ValueError</item>
+			<item>Warning</item>
+			<item>WindowsError</item>
+			<item>ZeroDivisionError</item>
+		</list>
+		<contexts>
+			<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+				<keyword attribute="Import" String="import" context="#stay"/>
+				<keyword attribute="Definition Keyword" String="defs" context="#stay"/>
+				<keyword attribute="Operator Keyword" String="operators" 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"/>
+				<keyword attribute="Extensions" String="bindings" context="#stay"/>
+				<keyword attribute="Exceptions" String="exceptions" context="#stay"/>
+				<keyword attribute="Overloaders" String="overloaders" context="#stay"/>
+				<RegExpr attribute="Normal Text" String="[a-zA-Z_][a-zA-Z_0-9]{2,}" 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"/>
+				<Float attribute="Float" context="#stay" />
+				<HlCHex attribute="Hex" context="#stay"/>
+				<HlCOct attribute="Octal" context="#stay"/>
+				<Int attribute="Int" context="#stay">
+					<StringDetect attribute="Int" String="L" insensitive="true" context="#stay"/>
+				</Int>
+
+				<DetectChar attribute="Normal Text" char="{" context="Dictionary" beginRegion="Dictionary"/>
+				<DetectChar attribute="Normal Text" char="[" context="List" beginRegion="List"/>
+				<DetectChar attribute="Normal Text" char="(" context="Tuple" beginRegion="Tuple"/>
+
+				<IncludeRules context="CommentVariants" />
+
+				<DetectChar attribute="Comment" char="#" context="Hash comment"/>
+
+				<IncludeRules context="StringVariants" />
+
+				<RegExpr attribute="Decorator" String="@[_a-zA-Z][\._a-zA-Z0-9]*" firstNonSpace="true"/>
+				<AnyChar attribute="Operator" String="+*/%\|=;\!&lt;&gt;!^&amp;~-@" context="#stay"/>
+			</context>
+
+			<context name="#CheckForString" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+				<DetectSpaces/>
+				<LineContinue attribute="Normal Text" context="CheckForStringNext"/>
+			</context>
+
+			<context name="CheckForStringNext" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+				<DetectSpaces/>
+				<LineContinue attribute="Normal Text" context="CheckForStringNext"/>
+				<IncludeRules context="StringVariants"/>
+			</context>
+
+			<context name="StringVariants" attribute="Normal Text" lineEndContext="#stay">
+				<DetectSpaces/>
+
+				<RegExpr attribute="String" String="u?'''"                insensitive="true" context="Triple A-string" beginRegion="Triple A-region"/>
+				<RegExpr attribute="String" String="u?&quot;&quot;&quot;" insensitive="true" context="Triple Q-string" beginRegion="Triple Q-region"/>
+				<RegExpr attribute="String" String="u?'"                  insensitive="true" context="Single A-string"/>
+				<RegExpr attribute="String" String="u?&quot;"             insensitive="true" context="Single Q-string"/>
+
+				<RegExpr attribute="Raw String" String="(u?r|ru)'''"                insensitive="true" context="Raw Triple A-string" beginRegion="Triple A-region"/>
+				<RegExpr attribute="Raw String" String="(u?r|ru)&quot;&quot;&quot;" insensitive="true" context="Raw Triple Q-string" beginRegion="Triple Q-region"/>
+				<RegExpr attribute="Raw String" String="(u?r|ru)'"                  insensitive="true" context="Raw A-string"/>
+				<RegExpr attribute="Raw String" String="(u?r|ru)&quot;"             insensitive="true" context="Raw Q-string"/>
+
+				<StringDetect attribute="F-String" String="f'''"                insensitive="true" context="Triple A-F-String" beginRegion="Triple A-region"/>
+				<StringDetect attribute="F-String" String="f&quot;&quot;&quot;" insensitive="true" context="Triple Q-F-String" beginRegion="Triple Q-region"/>
+				<StringDetect attribute="F-String" String="f'"                  insensitive="true" context="Single A-F-String"/>
+				<StringDetect attribute="F-String" String="f&quot;"             insensitive="true" context="Single Q-F-String"/>
+
+				<RegExpr attribute="Raw F-String" String="(fr|rf)'''"                insensitive="true" context="Raw Triple A-F-String" beginRegion="Triple A-region"/>
+				<RegExpr attribute="Raw F-String" String="(fr|rf)&quot;&quot;&quot;" insensitive="true" context="Raw Triple Q-F-String" beginRegion="Triple Q-region"/>
+				<RegExpr attribute="Raw F-String" String="(fr|rf)'"                  insensitive="true" context="Raw A-F-String"/>
+				<RegExpr attribute="Raw F-String" String="(fr|rf)&quot;"             insensitive="true" context="Raw Q-F-String"/>
+			</context>
+
+			<context name="CommentVariants" attribute="Normal Text" lineEndContext="#stay">
+				<DetectSpaces/>
+
+				<RegExpr attribute="Comment" String="u?'''"                insensitive="true" firstNonSpace="true" context="Triple A-comment" beginRegion="Triple A-region"/>
+				<RegExpr attribute="Comment" String="u?&quot;&quot;&quot;" insensitive="true" firstNonSpace="true" context="Triple Q-comment" beginRegion="Triple Q-region"/>
+				<RegExpr attribute="Comment" String="u?'"                  insensitive="true" firstNonSpace="true" context="Single A-comment"/>
+				<RegExpr attribute="Comment" String="u?&quot;"             insensitive="true" firstNonSpace="true" context="Single Q-comment"/>
+
+				<RegExpr attribute="Comment" String="(u?r|ru)'''"                insensitive="true" firstNonSpace="true" context="Triple A-comment" beginRegion="Triple A-region"/>
+				<RegExpr attribute="Comment" String="(u?r|ru)&quot;&quot;&quot;" insensitive="true" firstNonSpace="true" context="Triple Q-comment" beginRegion="Triple Q-region"/>
+				<RegExpr attribute="Comment" String="(u?r|ru)'"                  insensitive="true" firstNonSpace="true" context="Single A-comment"/>
+				<RegExpr attribute="Comment" String="(u?r|ru)&quot;"             insensitive="true" firstNonSpace="true" context="Single Q-comment"/>
+			</context>
+
+			<context name="Dictionary" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<DetectSpaces/>
+				<DetectChar attribute="Normal Text" char="}" context="#pop" endRegion="Dictionary"/>
+				<IncludeRules context="StringVariants" />
+				<IncludeRules context="Normal" />
+			</context>
+
+			<context name="List" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<DetectSpaces/>
+				<DetectChar attribute="Normal Text" char="]" context="#pop" endRegion="List"/>
+				<IncludeRules context="StringVariants" />
+				<IncludeRules context="Normal" />
+			</context>
+
+			<context name="Tuple" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<DetectSpaces/>
+				<DetectChar attribute="Normal Text" char=")" context="#pop" endRegion="Tuple"/>
+				<IncludeRules context="StringVariants" />
+				<IncludeRules context="Normal" />
+			</context>
+
+			<!-- Comments -->
+
+			<context name="Hash comment" attribute="Comment" lineEndContext="#pop">
+				<IncludeRules context="##Alerts" />
+				<IncludeRules context="##Modelines" />
+			</context>
+
+			<context name="Triple A-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<StringDetect attribute="Comment" String="'''" context="#pop" endRegion="Triple A-region"/>
+				<IncludeRules context="##Alerts_indent" />
+			</context>
+
+			<context name="Triple Q-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<HlCChar attribute="Comment" context="#stay"/>
+				<StringDetect attribute="Comment" String="&quot;&quot;&quot;" context="#pop" endRegion="Triple Q-region"/>
+				<IncludeRules context="##Alerts_indent" />
+			</context>
+
+			<context name="Single A-comment" attribute="Comment" lineEndContext="#stay">
+				<HlCStringChar attribute="Comment" context="#stay"/>
+				<DetectChar attribute="Comment" char="'" context="#pop"/>
+				<IncludeRules context="##Alerts_indent" />
+			</context>
+
+			<context name="Single Q-comment" attribute="Comment" lineEndContext="#stay">
+				<HlCStringChar attribute="Comment" context="#stay"/>
+				<DetectChar attribute="Comment" char="&quot;" context="#pop"/>
+				<IncludeRules context="##Alerts_indent" />
+			</context>
+
+			<!-- Strings -->
+
+			<!-- format characters -->
+			<context name="stringformat" attribute="String Substitution" lineEndContext="#stay">
+				<!-- Python 2 style. Syntax:
+				     1. start character '%'
+				     2. [optional] Mapping key, e.g. '(foo)'
+				     3. [optional] Conversion flags, one of '#0- +'
+				     4. [optional] Minimum width, integer or '*'
+				     5. [optional] Precision, '.' followed by integer or '*'
+				     6. [optional] Length modifier, one of 'hlL'
+				     7. conversion type, one of 'crsdiouxXeEfFgG%'
+				     [Special cases: %prog and %default - see http://docs.python.org/library/optparse.html]
+				-->
+				<RegExpr attribute="String Substitution" String="%((\([a-zA-Z0-9_]+\))?[#0\- +]?([1-9][0-9]*|\*)?(\.([1-9][0-9]*|\*))?[hlL]?[crsdiouxXeEfFgG%]|prog|default)" context="#stay"/>
+				<!-- http://docs.python.org/2/library/string.html#format-string-syntax:
+				     replacement_field ::=  "{" [field_name] ["!" conversion] [":" format_spec] "}"
+				     field_name        ::=  arg_name ("." attribute_name | "[" element_index "]")*
+				     arg_name          ::=  [identifier | integer]
+				     attribute_name    ::=  identifier
+				     element_index     ::=  integer | index_string
+				     index_string      ::=  <any source character except "]"> +
+				     conversion        ::=  "r" | "s"
+				     format_spec       ::=  [[fill]align][sign][#][0][width][,][.precision][type]
+				     fill              ::=  <any character>
+				     align             ::=  "<" | ">" | "=" | "^"
+				     sign              ::=  "+" | "-" | " "
+				     width             ::=  integer
+				     precision         ::=  integer
+				     type              ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
+				-->
+				<RegExpr attribute="String Substitution" String="\{(([a-zA-Z0-9_]+|[0-9]+)(\.[a-zA-Z0-9_]+|\[[^ \]]+\])*)?(![rs])?(:([^}]?[&lt;&gt;=^])?[ +-]?#?0?[0-9]*(\.[0-9]+)?[bcdeEfFgGnosxX%]?)?\}" context="#stay"/>
+				<Detect2Chars attribute="String Substitution" char="{" char1="{" context="#stay" />
+				<Detect2Chars attribute="String Substitution" char="}" char1="}" context="#stay" />
+			</context>
+
+			<!-- escape characters -->
+			<context name="stringescape" attribute="String Char" lineEndContext="#stay">
+				<!-- As this highlighting style is for both, Python 2 and 3,
+				we do not know if a normal string is “unicode” or not. So we
+				-->
+				<RegExpr attribute="String Char" String="\\[\\'&quot;abfnrtv]" context="#stay"/>
+				<RegExpr attribute="String Char" String="\\[0-7]{1,3}" context="#stay"/>
+				<RegExpr attribute="String Char" String="\\x[0-9A-Fa-f]{2}" context="#stay"/>
+				<RegExpr attribute="String Char" String="\\u[0-9A-Fa-f]{4}" context="#stay"/>
+				<RegExpr attribute="String Char" String="\\U[0-9A-Fa-f]{8}" context="#stay"/>
+				<RegExpr attribute="String Char" String="\\N\{[a-zA-Z0-9\- ]+\}" context="#stay"/>
+			</context>
+
+			<!-- f-literals -->
+			<context name="stringinterpolation" attribute="F-String" lineEndContext="#stay">
+				<Detect2Chars attribute="String Char" char="{" char1="{" context="#stay"/>
+				<DetectChar attribute="String Substitution" char="{" context="String Interpolation"/>
+			</context>
+			<context name="String Interpolation" attribute="String Substitution" lineEndContext="#stay">
+				<DetectChar attribute="Error" char="\" context="#pop"/>
+				<RegExpr attribute="String Substitution" String="(![rs])?(:([^}]?[&lt;&gt;=^])?[ +-]?#?0?[0-9]*(\.[0-9]+)?[bcdeEfFgGnosxX%]?)?\}" context="#pop"/>
+				<IncludeRules context="Normal"/> <!-- TODO: create expression context instead -->
+			</context>
+
+
+			<!--
+			It follows a Binary tree of string kinds (not even touching byte literals).
+			The levels are:
+			1. triple- vs. single-quoted
+			2. apostrophe vs. quotation mark
+			3. static vs. interpolated (f-literal)
+			4. escaped vs. raw
+			Adding byte literals wouldn’t make the current 2⁴ into 2⁵ contexts, as there are no byte f-literals
+			-->
+
+
+			<!-- Triple-quoted A-strings -->
+			<context name="Triple A-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<IncludeRules context="stringescape"/>
+				<IncludeRules context="stringformat"/>
+				<StringDetect attribute="String" String="'''" context="#pop#CheckForString" endRegion="Triple A-region"/>
+			</context>
+
+			<context name="Raw Triple A-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<HlCStringChar attribute="Raw String" context="#stay"/>
+				<IncludeRules context="stringformat"/>
+				<StringDetect attribute="Raw String" String="'''" context="#pop#CheckForString" endRegion="Triple A-region"/>
+			</context>
+
+			<context name="Triple A-F-String" attribute="F-String" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<IncludeRules context="stringescape"/>
+				<IncludeRules context="stringinterpolation"/>
+				<StringDetect attribute="F-String" String="'''" context="#pop#CheckForString" endRegion="Triple A-region"/>
+			</context>
+
+			<context name="Raw Triple A-F-String" attribute="Raw F-String" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<HlCStringChar attribute="Raw F-String" context="#stay"/>
+				<IncludeRules context="stringinterpolation"/>
+				<StringDetect attribute="Raw F-String" String="'''" context="#pop#CheckForString" endRegion="Triple A-region"/>
+			</context>
+
+			<!-- Triple-quoted Q-strings -->
+			<context name="Triple Q-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<IncludeRules context="stringescape"/>
+				<IncludeRules context="stringformat"/>
+				<StringDetect attribute="String" String="&quot;&quot;&quot;" context="#pop#CheckForString" endRegion="Triple Q-region"/>
+			</context>
+
+			<context name="Raw Triple Q-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<HlCStringChar attribute="Raw String" context="#stay"/>
+				<IncludeRules context="stringformat"/>
+				<StringDetect attribute="Raw String" String="&quot;&quot;&quot;" context="#pop#CheckForString" endRegion="Triple Q-region"/>
+			</context>
+
+			<context name="Triple Q-F-String" attribute="F-String" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<IncludeRules context="stringescape"/>
+				<IncludeRules context="stringinterpolation"/>
+				<StringDetect attribute="F-String" String="&quot;&quot;&quot;" context="#pop#CheckForString" endRegion="Triple Q-region"/>
+			</context>
+
+			<context name="Raw Triple Q-F-String" attribute="Raw F-String" lineEndContext="#stay" noIndentationBasedFolding="true">
+				<HlCStringChar attribute="Raw F-String" context="#stay"/>
+				<IncludeRules context="stringinterpolation"/>
+				<StringDetect attribute="Raw F-String" String="&quot;&quot;&quot;" context="#pop#CheckForString" endRegion="Triple Q-region"/>
+			</context>
+
+
+			<!-- Single-quoted A-strings -->
+			<context name="Single A-string" attribute="String" lineEndContext="#stay">
+				<IncludeRules context="stringescape"/>
+				<IncludeRules context="stringformat"/>
+				<DetectChar attribute="String" char="'" context="#pop#CheckForString"/>
+			</context>
+
+			<context name="Raw A-string" attribute="Raw String" lineEndContext="#stay">
+				<HlCStringChar attribute="Raw String" context="#stay"/>
+				<IncludeRules context="stringformat"/>
+				<DetectChar attribute="Raw String" char="'" context="#pop#CheckForString"/>
+			</context>
+
+			<context name="Single A-F-String" attribute="F-String" lineEndContext="#stay">
+				<IncludeRules context="stringescape"/>
+				<IncludeRules context="stringinterpolation"/>
+				<DetectChar attribute="F-String" char="'" context="#pop#CheckForString"/>
+			</context>
+
+			<context name="Raw A-F-String" attribute="Raw F-String" lineEndContext="#stay">
+				<HlCStringChar attribute="Raw F-String" context="#stay"/>
+				<IncludeRules context="stringinterpolation"/>
+				<DetectChar attribute="Raw F-String" char="'" context="#pop#CheckForString"/>
+			</context>
+
+			<!-- Single-quoted Q-strings -->
+			<context name="Single Q-string" attribute="String" lineEndContext="#stay">
+				<IncludeRules context="stringescape"/>
+				<IncludeRules context="stringformat"/>
+				<DetectChar attribute="String" char="&quot;" context="#pop#CheckForString"/>
+			</context>
+
+			<context name="Raw Q-string" attribute="Raw String" lineEndContext="#stay">
+				<HlCStringChar attribute="Raw String" context="#stay"/>
+				<IncludeRules context="stringformat"/>
+				<DetectChar attribute="Raw String" char="&quot;" context="#pop#CheckForString"/>
+			</context>
+
+			<context name="Single Q-F-String" attribute="F-String" lineEndContext="#stay">
+				<IncludeRules context="stringescape"/>
+				<IncludeRules context="stringinterpolation"/>
+				<DetectChar attribute="F-String" char="&quot;" context="#pop#CheckForString"/>
+			</context>
+
+			<context name="Raw Q-F-String" attribute="Raw F-String" lineEndContext="#stay">
+				<HlCStringChar attribute="Raw F-String" context="#stay"/>
+				<IncludeRules context="stringinterpolation"/>
+				<DetectChar attribute="Raw F-String" char="&quot;" context="#pop#CheckForString"/>
+			</context>
+		</contexts>
+
+		<itemDatas>
+			<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
+			<itemData name="Definition Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
+			<itemData name="Operator" defStyleNum="dsOperator" spellChecking="false"/>
+			<itemData name="Operator Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
+			<itemData name="Flow Control Keyword" defStyleNum="dsControlFlow" spellChecking="false"/>
+			<itemData name="Builtin Function" defStyleNum="dsBuiltIn" spellChecking="false"/>
+			<itemData name="Special Variable" defStyleNum="dsVariable" spellChecking="false"/>
+			<itemData name="Extensions" defStyleNum="dsExtension" spellChecking="false"/>
+			<itemData name="Exceptions" defStyleNum="dsPreprocessor" spellChecking="false"/>
+			<itemData name="Overloaders" defStyleNum="dsFunction" spellChecking="false"/>
+			<itemData name="Import" defStyleNum="dsImport" spellChecking="false"/>
+			<itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/>
+			<itemData name="Int" defStyleNum="dsDecVal" spellChecking="false"/>
+			<itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/>
+			<itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false"/>
+			<itemData name="Complex" defStyleNum="dsOthers" spellChecking="false"/>
+			<itemData name="Comment" defStyleNum="dsComment"/>
+			<itemData name="String" defStyleNum="dsString"/>
+			<itemData name="Raw String" defStyleNum="dsVerbatimString"/>
+			<itemData name="F-String" defStyleNum="dsSpecialString"/>
+			<itemData name="Raw F-String" defStyleNum="dsVerbatimString"/>
+			<itemData name="String Char" defStyleNum="dsChar" spellChecking="false"/>
+			<itemData name="String Substitution" defStyleNum="dsSpecialChar" spellChecking="false"/>
+			<itemData name="Decorator" defStyleNum="dsAttribute" spellChecking="false"/>
+			<itemData name="Error" defStyleNum="dsError"/>
+		</itemDatas>
+	</highlighting>
+	<general>
+		<folding indentationsensitive="1" />
+		<emptyLines>
+			<emptyLine regexpr="(?:\s+|\s*#.*)"/>
+		</emptyLines>
+		<comments>
+			<comment name="singleLine" start="#" position="afterwhitespace"/>
+		</comments>
+		<indentation mode="python" />
+		<keywords casesensitive="1" additionalDeliminator="#'"/>
+	</general>
+</language>
+
+<!-- kate: space-indent off; indent-width 4; -->
diff --git a/xml/r.xml b/xml/r.xml
new file mode 100644
--- /dev/null
+++ b/xml/r.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- Kate 2.5 (KDE 3.5) highlighting module for R
+	based on an earlier version by E.L. Willighagen. Code folding code by Ben Goodrich
+	version 2.0: (c) 2006 Thomas Friedrichsmeier, Arne Henningsen, and the RKWard Team
+	license: GPL v2
+	Kate   : http://kate.kde.org/
+	R      : http://www.r-project.org/
+	RKWard : http://rkward.sourceforge.net/
+	-->
+<language version="6" kateversion="5.0" name="R Script" section="Scientific" extensions="*.R;*.r;*.S;*.s;*.q" mimetype="" license="GPLv2">
+<highlighting>
+
+	<list name="controls">
+		<item> for </item>
+		<item> in </item>
+		<item> next </item>
+		<item> break </item>
+		<item> while </item>
+		<item> repeat </item>
+		<item> if </item>
+		<item> else </item>
+		<item> switch </item>
+		<item> function </item>
+	</list>
+	<list name="words">
+		<item> TRUE </item>
+		<item> FALSE </item>
+		<item> NULL </item>
+		<item> NA </item>
+		<item> NA_integer_ </item>
+		<item> NA_real_ </item>
+		<item> NA_complex_ </item>
+		<item> NA_character_ </item>
+		<item> Inf </item>
+		<item> NaN </item>
+	</list>
+
+	<contexts>
+		<!-- This context is really only good for detecting unexpected closing braces '}'. Since opening braces go to ctx0 (and nesting in there), this context is only active on the base level -->
+		<context attribute="Normal Text" lineEndContext="#stay" name="level0">
+			<IncludeRules context="CommonRules"/>
+
+			<DetectChar attribute="Error" context="#stay" char="}" />
+			<DetectChar attribute="Error" context="#stay" char=")"/>
+		</context>
+
+		<context attribute="Normal Text" lineEndContext="#stay" name="ctx0">
+			<IncludeRules context="CommonRules"/>
+
+			<DetectChar attribute="Symbol" context="#pop" char="}" endRegion="Brace1" />
+			<DetectChar attribute="Error" context="#stay" char=")"/>
+		</context>
+
+		<context attribute="Normal Text" lineEndContext="#stay" name="parenthesis">
+			<LineContinue attribute="Boolean" context="#stay"/>
+			<DetectChar attribute="Symbol" context="#pop" char=")"/>
+
+			<RegExpr attribute="Identifier" context="#stay" String="[a-zA-Z_\.][0-9a-zA-Z_\.]*[\s]*=(?=([^=]|$))"/>
+
+			<IncludeRules context="CommonRules"/>
+			<DetectChar attribute="Error" context="#stay" char="}" />
+		</context>
+
+		<context attribute="String" lineEndContext="#stay" name="string">
+			<DetectChar attribute="String" context="#pop" char="&quot;"/>
+			<HlCStringChar attribute="String Char" context="#stay"/>
+		</context>
+
+		<context attribute="String" lineEndContext="#stay" name="string2">
+			<DetectChar attribute="String" context="#pop" char="'"/>
+			<HlCStringChar attribute="String Char" context="#stay"/>
+		</context>
+
+		<context attribute="Identifier" lineEndContext="#stay" name="backquotedsymbol">
+			<DetectChar attribute="String" context="#pop" char="`"/>
+			<HlCStringChar attribute="String Char" context="#stay"/>
+		</context>
+
+		<context attribute="Normal Text" lineEndContext="#stay" name="operator_rhs" fallthrough="true" fallthroughContext="#pop">
+			<!-- While there is nothing of interest, stay in the context -->
+			<StringDetect attribute="Headline" context="Headline" String="##"/>
+			<DetectChar attribute="Comment" context="Comment" char="#"/>
+			<DetectChar attribute="String" context="#stay" char=" "/>
+			<!-- Operators other than +, -, and ! directly after another operator are an error. -->
+			<RegExpr attribute="Error" context="#stay" String="(\*|/|&lt;|&gt;|\!=|=|\||&amp;|:|\^|@|\$|~)"/>
+		</context>
+
+		<context attribute="Headline" lineEndContext="#pop" name="Headline">
+			<IncludeRules context="##Alerts" />
+		</context>
+		<context attribute="Comment" lineEndContext="#pop" name="Comment">
+			<IncludeRules context="##Alerts" />
+		</context>
+
+		<!-- This context is not really used, but contains the common rules -->
+		<context name="CommonRules" lineEndContext="#stay" attribute="Normal Text" >
+			<DetectChar attribute="String" context="string" char="&quot;"/>
+			<DetectChar attribute="String" context="string2" char="'"/>
+			<DetectChar attribute="String" context="backquotedsymbol" char="`"/>
+			<keyword attribute="Control Structure" context="#stay" String="controls"/>
+			<keyword attribute="Reserved Words" context="#stay" String="words"/>
+			<Float attribute="Float" context="#stay"/>
+			<Int attribute="Int" context="#stay"/>
+			<RegExpr attribute="Keyword" context="#stay" String="[a-zA-Z_]+[a-zA-Z_\.0-9]*(?=[\s]*[(])"/>
+			<RegExpr attribute="Keyword" context="#stay" String="\.[a-zA-Z_\.]+[a-zA-Z_\.0-9]*(?=[\s]*[(])"/>
+			<RegExpr attribute="Symbol" context="parenthesis" String="\("/>
+			<StringDetect attribute="Headline" context="Headline" String="##"/>
+			<DetectChar attribute="Comment" context="Comment" char="#"/>
+
+			<!-- For (assignment) operators, enter a new context operator_rhs to check what follows (generally, that should not be another op) -->
+			<RegExpr attribute="Assign" context="operator_rhs" String="[&lt;]{1,2}\-"/>
+			<RegExpr attribute="Assign" context="operator_rhs" String="\-[&gt;]{1,2}"/>
+			<RegExpr attribute="Assign" context="operator_rhs" String="=(?!=)"/>
+			<RegExpr attribute="Operator" context="operator_rhs" String="(\+|\-|\*{1,2}|/|&lt;=?|&gt;=?|={1,2}|\!=?|\|{1,2}|&amp;{1,2}|:{1,3}|\^|@|\$|~)"/>
+			<RegExpr attribute="Operator" context="operator_rhs" String="%[^%]*%"/>
+
+			<DetectChar attribute="Symbol" context="ctx0" char="{" beginRegion="Brace1" />
+
+			<!-- This is needed only to assist variable based indentation -->
+			<DetectChar attribute="Symbol" context="#stay" char="[" />
+			<DetectChar attribute="Symbol" context="#stay" char="]" />
+		</context>
+	</contexts>
+
+	<itemDatas>
+	<!-- KDE default colors: http://accessibility.kde.org/oxygen.php?color=white -->
+		<itemData name="Normal Text" defStyleNum="dsNormal"/>
+		<itemData name="Symbol" defStyleNum="dsNormal"/>
+		<itemData name="Keyword" defStyleNum="dsKeyword"/>
+		<itemData name="Identifier" defStyleNum="dsDataType"/>
+		<itemData name="String" defStyleNum="dsString"/>
+		<itemData name="Headline" defStyleNum="dsNormal" color="#b00000" selColor="#b00000" bold="1" italic="0"/> <!-- KDE default color: text 5 -->
+		<itemData name="Comment" defStyleNum="dsComment"/>
+		<itemData name="Assign" defStyleNum="dsNormal" color="#336366" selColor="#ccc099" bold="1" italic="0"/> <!-- KDE default color: text 7 -->
+		<itemData name="Control Structure" defStyleNum="dsControlFlow"/>
+		<itemData name="Reserved Words" defStyleNum="dsOthers"/>
+		<itemData name="Error" defStyleNum="dsError"/>
+		<itemData name="Operator" defStyleNum="dsOperator"/>
+		<itemData name="String Char"  defStyleNum="dsChar"/>
+		<itemData name="Float" defStyleNum="dsFloat"/>
+		<itemData name="Int" defStyleNum="dsDecVal"/>
+	</itemDatas>
+</highlighting>
+
+<general>
+	<comments>
+		<comment name="singleLine" start="#" end=""/>
+	</comments>
+	<keywords casesensitive="true" weakDeliminator="." additionalDeliminator="$"/>
+</general>
+</language>
diff --git a/xml/relaxng.xml b/xml/relaxng.xml
new file mode 100644
--- /dev/null
+++ b/xml/relaxng.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+	<!ENTITY qname    "[A-Za-z_:][\w.:_-]*">
+	<!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&qname;);">
+]>
+
+<!--
+  Kate syntax highlighting for RELAX NG
+  2007 by Thomas Schraitle (tom_schr AT web DOT de)
+  Derived from the XSLT syntax file from Peter Lammich
+  Published under the LGPL
+
+  TODO:
+   - More modularization (how?)
+   - Namespace rules
+-->
+
+<language version="1"
+          kateversion="2.4"
+          name="RELAX NG"
+          section="Markup"
+          extensions="*.rng;*.RNG"
+          license="LGPL"
+          author="Thomas Schraitle (tom_schr AT web DOT de)">
+  <highlighting>
+    <list name="relaxngnames">
+      <item> anyName </item>
+      <item> attribute </item>
+      <item> choice </item>
+      <item> data </item>
+      <item> define </item>
+      <item> div </item>
+      <item> element </item>
+      <item> empty </item>
+      <item> except </item>
+      <item> externalRef </item>
+      <item> grammar </item>
+      <item> group </item>
+      <item> include </item>
+      <item> interleave </item>
+      <item> list </item>
+      <item> mixed </item>
+      <item> name </item>
+      <item> notAllowed </item>
+      <item> nsName </item>
+      <item> oneOrMore </item>
+      <item> optional </item>
+      <item> param </item>
+      <item> parentRef </item>
+      <item> ref </item>
+      <item> start </item>
+      <item> text </item>
+      <item> value </item>
+      <item> zeroOrMore </item>
+    </list>
+
+    <contexts>
+      <context name="normalText" attribute="Normal Text" lineEndContext="#stay">
+         <StringDetect attribute="Comment" context="comment" String="&lt;!--" beginRegion="comment"/>
+         <DetectChar attribute="Tag" context="tagname" char="&lt;" />
+         <RegExpr attribute="Entity Reference" context="#stay" String="&entref;" />
+      </context>
+
+      <context name="detectEntRef" attribute="Normal Text" lineEndContext="#stay">
+         <RegExpr attribute="Entity Reference" context="#stay" String="&entref;" />
+      </context>
+
+      <context name="tagname" attribute="Tag" lineEndContext="#stay">
+         <keyword attribute="RELAX NG Tag" context="attributes" String="relaxngnames" />
+         <RegExpr attribute="Attribute" context="attributes" String="\s*" />
+         <DetectChar attribute="Tag" context="#pop" char="&gt;" />
+      </context>
+      
+      <context name="attributes" attribute="Attribute" lineEndContext="#stay">
+         <Detect2Chars attribute="Tag" context="#pop#pop" char="/" char1="&gt;" />
+         <DetectChar attribute="Tag" context="#pop#pop" char="&gt;" />
+         <RegExpr attribute="Normal Text" context="attrValue" String="\s*=\s*" />
+      </context>
+      
+      <context name="attrValue" attribute="Invalid" lineEndContext="#stay">
+         <Detect2Chars attribute="Invalid" context="#pop#pop#pop" char="/" char1="&gt;" />
+         <DetectChar attribute="Invalid" context="#pop#pop#pop" char="&gt;" />
+         <DetectChar attribute="Attribute Value" context="string" char="&quot;" />
+      </context>
+      
+      <context name="string" attribute="Attribute Value" lineEndContext="#stay">
+         <DetectChar attribute="Attribute Value" context="#pop#pop" char="&quot;" />
+         <IncludeRules context="detectEntRef" />
+      </context>
+      
+      <context name="comment" attribute="Comment" lineEndContext="#stay">
+        <DetectSpaces/>
+        <StringDetect attribute="Comment" context="#pop"  String="--&gt;" endRegion="comment"/>
+        <RegExpr attribute="Error" context="#stay" String="-(-(?!-&gt;))+"/>
+        <IncludeRules context="##Alerts"/>
+        <DetectIdentifier/>
+      </context>      
+    </contexts>
+    
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Tag" defStyleNum="dsKeyword"/>
+      <itemData name="Invalid" defStyleNum="dsError"/>
+      <itemData name="Attribute" defStyleNum="dsOthers"/>
+      <itemData name="Attribute Value" defStyleNum="dsString" color="#800000" selColor="#ffffff" bold="0" italic="0"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="RELAX NG Tags" defStyleNum="dsKeyword" color="#000080" selColor="#ffffff" bold="1" italic="0" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="multiLine" start="&lt;!--" end="--&gt;" />
+    </comments>
+    <keywords casesensitive="0" weakDeliminator="-:" additionalDeliminator="&quot;{}"/>
+  </general>
+</language>
diff --git a/xml/relaxngcompact.xml b/xml/relaxngcompact.xml
new file mode 100644
--- /dev/null
+++ b/xml/relaxngcompact.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="RelaxNG-Compact" version="1" kateversion="2.4" section="Markup" extensions="*.rnc" casesensitive="1" author="Rintze Zelle" license="LGPL">
+  <highlighting>
+    <list name="Keywords">
+      <item> default </item>
+      <item> datatypes </item>
+      <item> div </item>
+      <item> empty </item>
+      <item> external </item>
+      <item> grammar </item>
+      <item> include </item>
+      <item> inherit </item>
+      <item> list </item>
+      <item> mixed </item>
+      <item> namespace </item>
+      <item> notAllowed </item>
+      <item> parent </item>
+      <item> start </item>
+      <item> token </item>      
+    </list>
+    <list name="Node Names">
+      <item> attribute </item>
+      <item> element </item>    
+    </list>    
+    <list name="Datatypes">
+      <item> string </item>
+      <item> text </item>    
+      <item> xsd:anyURI </item>
+      <item> xsd:base64Binary </item>
+      <item> xsd:boolean </item>
+      <item> xsd:byte </item>
+      <item> xsd:date </item>
+      <item> xsd:dateTime </item>
+      <item> xsd:decimal </item>
+      <item> xsd:double </item>
+      <item> xsd:duration </item>
+      <item> xsd:ENTITIES </item>
+      <item> xsd:ENTITY </item>
+      <item> xsd:float </item>
+      <item> xsd:gDay </item>
+      <item> xsd:gMonth </item>
+      <item> xsd:gMonthDay </item>
+      <item> xsd:gYear </item>
+      <item> xsd:gYearMonth </item>
+      <item> xsd:hexBinary </item>
+      <item> xsd:ID </item>
+      <item> xsd:IDREF </item>
+      <item> xsd:IDREFS </item>
+      <item> xsd:int </item>
+      <item> xsd:integer </item>
+      <item> xsd:language </item>
+      <item> xsd:long </item>
+      <item> xsd:Name </item>
+      <item> xsd:NCName </item>
+      <item> xsd:negativeInteger </item>
+      <item> xsd:NMTOKEN </item>
+      <item> xsd:NMTOKENS </item>
+      <item> xsd:nonNegativeInteger </item>
+      <item> xsd:nonPositiveInteger </item>
+      <item> xsd:normalizedString </item>
+      <item> xsd:NOTATION </item>
+      <item> xsd:positiveInteger </item>
+      <item> xsd:QName </item>
+      <item> xsd:short </item>
+      <item> xsd:string </item> 
+      <item> xsd:time </item>
+      <item> xsd:token </item>
+      <item> xsd:unsignedByte </item>
+      <item> xsd:unsignedInt </item>
+      <item> xsd:unsignedLong </item>
+      <item> xsd:unsignedShort </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text" >
+        <DetectChar attribute="Comments" char="#" firstNonSpace="true" context="Comments"/>
+	<DetectChar attribute="String" char="&quot;" context="String" />
+	<keyword attribute="Keywords" context="#stay" String="Keywords" />
+	<keyword attribute="Keywords" context="Node Names" String="Node Names" />
+	<keyword attribute="Datatypes" context="#stay" String="Datatypes" />
+	<RegExpr attribute="Definitions" context="Definitions" String="[\w\.-]+[\s]+=" lookAhead="true" />
+      </context>
+      <context attribute="Comments" lineEndContext="#pop" name="Comments" >
+      </context>
+      <context attribute="String" lineEndContext="#stay" name="String" >
+        <DetectChar attribute="String" context="#pop" char="&quot;" />
+      </context>
+      <context attribute="Node Names" lineEndContext="#pop" name="Node Names" >
+        <DetectChar attribute="Node Names" context="#pop" char="{" lookAhead="true" />
+      </context>
+      <context attribute="Definitions" lineEndContext="#pop" name="Definitions" >
+        <DetectChar attribute="Definitions" context="#pop#pop" char="=" lookAhead="true" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="Comments" defStyleNum="dsComment" />
+      <itemData name="String" defStyleNum="dsString" />
+      <itemData name="Keywords" defStyleNum="dsKeyword" />
+      <itemData name="Datatypes" defStyleNum="dsDataType" />
+      <itemData name="Node Names" defStyleNum="dsOthers" />
+      <itemData name="Definitions" defStyleNum="dsFunction" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords weakDeliminator="-:"/>
+  </general>
+</language>
diff --git a/xml/rest.xml b/xml/rest.xml
new file mode 100644
--- /dev/null
+++ b/xml/rest.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+        <!ENTITY inlinestart "(^|[-\s&apos;&quot;\(\[{&lt;/:‘“’«¡¿‐‑‒–— ])">
+        <!ENTITY inlineend "(?=[-\s’”»‐‑‒–— &apos;&quot;\)\]}&gt;/:\.,;!\?\\]|$)">
+        <!ENTITY SimpleReferenceNameChars "\w_\.:\+\-">
+]>
+<!--
+  This file is part of KDE's kate project.
+
+  Copyright 2010 Matt Williams (matt@milliams.com)
+  Copyright 2014 Matthew Woehlke (mw_triad@users.sourceforge.net)
+  -->
+<language name="reStructuredText" extensions="*.rst" section="Markup" mimetype="text/x-rst" version="2" kateversion="2.4" casesensitive="1">
+
+  <highlighting>
+
+    <contexts>
+      <context name="Normal" attribute="Normal" lineEndContext="#stay">
+        <RegExpr attribute="Bold" context="#stay" String="&inlinestart;\*\*[^\s].*\*\*&inlineend;" minimal="true"/>
+        <RegExpr attribute="Italic" context="#stay" String="&inlinestart;\*[^\s].*\*&inlineend;" minimal="true"/>
+        <IncludeRules context="InlineMarkup"/>
+        <RegExpr attribute="Footnote" context="#stay" String="^\s*\.\. \[(\d+|#|\*|#[&SimpleReferenceNameChars;]+)\]\s" minimal="true" column="0"/>
+        <RegExpr attribute="Citation" context="#stay" String="^\s*\.\. \[[&SimpleReferenceNameChars;]+\]\s" minimal="true" column="0"/>
+        <RegExpr attribute="HyperlinkTarget" context="#stay" String="^\s*(\.\. (__:|_[&SimpleReferenceNameChars; ]+:(\s|$))|__ )" minimal="true" column="0"/>
+        <RegExpr attribute="Code" String="^\s*\.\. code-block::" context="CodeBlock" column="0"/>
+        <RegExpr attribute="Directive" context="#stay" String="^\s*\.\. [\w-_\.]+::(\s|$)" minimal="true" column="0"/>
+        <RegExpr attribute="Code" String="::$" context="CodeBlock" />
+        <RegExpr attribute="SubstitutionDefinition" context="#stay" String="^\s*\.\. \|[&SimpleReferenceNameChars; ]+\|\s+[&SimpleReferenceNameChars;]+::\s" minimal="true" column="0"/>
+        <RegExpr attribute="Field" String=":(?=([^:]*\\:)*[^:]*:(\s|$))" context="Field" firstNonSpace="true"/>
+        <RegExpr attribute="Comment" context="Comment" String="^(\s*)\.\.\s(?![\w-_\.]+::(\s|$))" column="0"/>
+      </context>
+
+      <context name="InlineMarkup" attribute="Normal" lineEndContext="#stay">
+        <RegExpr attribute="InlineLiteral" context="#stay" String="&inlinestart;``[^\s].*``&inlineend;" minimal="true"/>
+        <RegExpr attribute="SubstitutionReference" context="#stay" String="&inlinestart;\|[^\s].*\|&inlineend;" minimal="true"/>
+        <RegExpr attribute="InlineInternalTarget" context="#stay" String="&inlinestart;_`[^\s].*`&inlineend;" minimal="true"/>
+        <RegExpr attribute="FootnoteReference" context="#stay" String="&inlinestart;\[[&SimpleReferenceNameChars;]+\]_&inlineend;" minimal="true"/>
+        <RegExpr attribute="HyperlinkReference" context="#stay" String="&inlinestart;`[^\s].*`_&inlineend;" minimal="true"/>
+        <RegExpr attribute="HyperlinkReference" context="#stay" String="&inlinestart;\w+_&inlineend;" minimal="true"/>
+        <RegExpr attribute="InterpretedText" context="TrailingRole" String="&inlinestart;`[^\s].*`(?=:[\w-_\.\+]+:)" minimal="true"/>
+        <RegExpr attribute="Role" String=":[\w-_\.\+]+:(?=`)" context="Role"/>
+      </context>
+
+      <context name="Field" attribute="Field" lineEndContext="#stay">
+        <DetectChar attribute="Field" context="#pop" char=":"/>
+        <Detect2Chars attribute="Field" context="#stay" char="\" char1=":"/>
+        <RegExpr attribute="FieldBold" context="#stay" String="&inlinestart;\*\*[^\s].*\*\*&inlineend;" minimal="true"/>
+        <RegExpr attribute="FieldItalic" context="#stay" String="&inlinestart;\*[^\s].*\*&inlineend;" minimal="true"/>
+        <IncludeRules context="InlineMarkup"/>
+      </context>
+      <context name="InterpretedText" attribute="InterpretedText" lineEndContext="#pop">
+        <DetectChar attribute="InterpretedText" char="`" context="#pop" />
+      </context>
+      <context name="Role" attribute="Role" lineEndContext="#pop">
+        <DetectChar attribute="InterpretedText" char="`" context="#pop!InterpretedText" />
+      </context>
+      <context name="TrailingRole" attribute="Role" lineEndContext="#pop">
+        <RegExpr attribute="Role" String=":[\w-_\.\+]+:" context="#pop"/>
+      </context>
+      <context name="Comment" attribute="Comment" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Code" String="^%1   " context="#stay" column="0" dynamic="true"/>
+        <RegExpr attribute="Normal" String="^(.|$)" lookAhead="true" column="0" context="#pop"/>
+        <IncludeRules context="##Alerts"/>
+      </context>
+
+      <context name="CodeBlock" attribute="Code" lineEndContext="#stay">
+        <RegExpr attribute="Code" String="^(\s+)(?=\S)" context="Code" column="0"/>
+      </context>
+
+      <context name="Code" attribute="Code" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Code" String="^%1" context="#stay" column="0" dynamic="true"/>
+        <RegExpr attribute="Normal" String="^(.|$)" lookAhead="true" context="#pop#pop" column="0"/>
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal" defStyleNum="dsNormal" />
+      <itemData name="Bold" defStyleNum="dsNormal" bold="1" />
+      <itemData name="Italic" defStyleNum="dsNormal" italic="1" />
+      <itemData name="InlineLiteral" defStyleNum="dsDataType" />
+      <itemData name="SubstitutionReference" defStyleNum="dsFunction" />
+      <itemData name="InlineInternalTarget" defStyleNum="dsFunction" />
+      <itemData name="FootnoteReference" defStyleNum="dsOthers" />
+      <itemData name="InterpretedText" defStyleNum="dsDecVal" />
+      <itemData name="HyperlinkReference" defStyleNum="dsOthers" />
+      <itemData name="Field" defStyleNum="dsFunction" />
+      <itemData name="FieldBold" defStyleNum="dsFunction" bold="1" />
+      <itemData name="FieldItalic" defStyleNum="dsFunction" italic="1" />
+      <itemData name="Footnote" defStyleNum="dsDataType" />
+      <itemData name="Citation" defStyleNum="dsDataType" />
+      <itemData name="HyperlinkTarget" defStyleNum="dsDataType" />
+      <itemData name="Directive" defStyleNum="dsDataType" />
+      <itemData name="SubstitutionDefinition" defStyleNum="dsDataType" />
+      <itemData name="Role" defStyleNum="dsKeyword" />
+      <itemData name="Code" defStyleNum="dsDataType" />
+      <itemData name="Comment" defStyleNum="dsComment" />
+    </itemDatas>
+
+  </highlighting>
+
+  <general>
+    <folding indentationsensitive="true" />
+    <comments>
+      <comment name="singleLine" start=".."/>
+    </comments>
+  </general>
+
+</language>
diff --git a/xml/rhtml.xml b/xml/rhtml.xml
new file mode 100644
--- /dev/null
+++ b/xml/rhtml.xml
@@ -0,0 +1,1234 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+	<!ENTITY name    "[A-Za-z_:][\w.:_-]*">
+	<!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
+]>
+	
+<!--
+	RHTML syntax highlighting definition for Kate. It combines the ruby and
+	html syntax grammars. Some ideas, and the list of Rails method names were 
+	taken from an rhtml kate grammar for Quanta based on earlier versions of
+	the syntax highlighters.
+	
+	Copyright (C) 2004  by Sebastian Vuorinen (sebastian dot vuorinen at helsinki dot fi)
+	Copyright (C) 2004  by Stefan Lang (langstefan@gmx.at)
+	Copyright (C) 2006  by Wilbert Berendsen (wilbert@kde.nl
+	Copyright (C) 2005  by Chris Martin (linux@chriscodes.com
+	Copyright (C) 2006  by Richard Dale (rdale@foton.es)
+	
+	This library is free software; you can redistribute it and/or
+	modify it under the terms of the GNU Library General Public
+	License as published by the Free Software Foundation; either
+	version 2 of the License, or (at your option) any later version.
+	
+	This library is distributed in the hope that it will be useful,
+	but WITHOUT ANY WARRANTY; without even the implied warranty of
+	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+	Library General Public License for more details.
+	
+	You should have received a copy of the GNU Library General Public
+	License along with this library; if not, write to the
+	Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+	Boston, MA  02110-1301, USA.
+-->
+	
+<!--
+	TODO:	* Regular expressions spanning over multiple lines
+	work only if newlines are escaped.
+	* "Nested" HERE documents aren't recognized.
+	* Division is detected correctly only, if whitespace
+	is around the "/" operator.
+	E.g.:	detected correctly:				1 / 2
+	"/" interpreted as regex start:		1/2
+-->
+	
+<!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->
+<language name="Ruby/Rails/RHTML" version="4" kateversion="2.4" section="Markup" extensions="*.rhtml;*.html.erb" mimetype="" author="Richard Dale rdale@foton.es" license="LGPLv2+">
+	
+	<highlighting>
+	
+		<list name="keywords">
+			<item> BEGIN </item>
+			<item> END </item>
+			<item> and </item>
+			<item> begin </item>
+			<item> break </item>
+			<item> case </item>
+			<item> defined? </item>
+			<item> do </item>
+			<item> else </item>
+			<item> elsif </item>
+			<item> end </item>
+			<item> ensure </item>
+			<item> for </item>
+			<item> if </item>
+			<item> in </item>
+			<item> include </item>
+			<item> next </item>
+			<item> not </item>
+			<item> or </item>
+			<item> redo </item>
+			<item> rescue </item>
+			<item> retry </item>
+			<item> return </item>
+			<item> then </item>
+			<item> unless </item>
+			<item> until </item>
+			<item> when </item>
+			<item> while </item>
+			<item> yield </item>
+		</list>
+		
+		<list name="access-control">
+			<item> private_class_method </item>
+			<item> private </item>
+			<item> protected </item>
+			<item> public_class_method </item>
+			<item> public </item>
+		</list>
+
+		<list name="attribute-definitions">
+			<item> attr_reader </item>
+			<item> attr_writer </item>
+			<item> attr_accessor </item>
+		</list>
+		
+		<list name="definitions">
+			<item> alias </item>
+			<item> module </item>
+			<item> class </item>
+			<item> def </item>
+			<item> undef </item>
+		</list>
+		
+		<list name="pseudo-variables">
+			<item> self </item>
+			<item> super </item>
+			<item> nil </item>
+			<item> false </item>
+			<item> true </item>
+			<item> caller </item>
+			<item> __FILE__ </item>
+			<item> __LINE__ </item>
+		</list>
+		
+		<list name="default-globals">
+			<item> $stdout </item>
+			<item> $defout </item>
+			<item> $stderr </item>
+			<item> $deferr </item>
+			<item> $stdin </item>
+		</list>
+		
+		<!-- Kernel module methods.
+			NOTE: Methods ending in ? or !
+				are included below as regexes.
+		-->
+		<list name="kernel-methods">
+			<!-- backquote ` -->
+			<item> abort </item>
+			<item> at_exit </item>
+			<item> autoload </item>
+			<item> autoload? </item>
+			<item> binding </item>
+			<item> block_given? </item>
+			<item> callcc </item>
+			<item> caller </item>
+			<item> catch </item>
+			<item> chomp </item>
+			<item> chomp! </item>
+			<item> chop </item>
+			<item> chop! </item>
+			<item> eval </item>
+			<item> exec </item>
+			<item> exit </item>
+			<item> exit! </item>
+			<item> fail </item>
+			<item> fork </item>
+			<item> format </item>
+			<item> getc </item>
+			<item> gets </item>
+			<item> global_variables </item>
+			<item> gsub </item>
+			<item> gsub! </item>
+			<item> iterator? </item>
+			<item> lambda </item>
+			<item> load </item>
+			<item> local_variables </item>
+			<item> loop </item>
+			<item> method_missing </item>
+			<item> open </item>
+			<item> p </item>
+			<item> print </item>
+			<item> printf </item>
+			<item> proc </item>
+			<item> putc </item>
+			<item> puts </item>
+			<item> raise </item>
+			<item> rand </item>
+			<item> readline </item>
+			<item> readlines </item>
+			<item> require </item>
+			<item> scan </item>
+			<item> select </item>
+			<item> set_trace_func </item>
+			<item> sleep </item>
+			<item> split </item>
+			<item> sprintf </item>
+			<item> srand </item>
+			<item> sub </item>
+			<item> sub! </item>
+			<item> syscall </item>
+			<item> system </item>
+			<item> test </item>
+			<item> throw </item>
+			<item> trace_var </item>
+			<item> trap </item>
+			<item> untrace_var </item>
+			<item> warn </item>
+			
+			<!-- ActionView methods from Rails docs -->
+			<item>auto_complete_field</item>
+			<item>auto_complete_result</item>
+			<item>auto_discovery_link_tag</item>
+			<item>auto_link</item>
+			<item>benchmark</item>
+			<item>button_to</item>
+			<item>cache</item>
+			<item>capture</item>
+			<item>check_box</item>
+			<item>check_box_tag</item>
+			<item>collection_select</item>
+			<item>concat</item>
+			<item>content_for</item>
+			<item>content_tag</item>
+			<item>country_options_for_select</item>
+			<item>country_select</item>
+			<item>current_page?</item>
+			<item>date_select</item>
+			<item>datetime_select</item>
+			<item>debug</item>
+			<item>define_javascript_functions</item>
+			<item>distance_of_time_in_words</item>
+			<item>distance_of_time_in_words_to_now</item>
+			<item>draggable_element</item>
+			<item>drop_receiving_element</item>
+			<item>end_form_tag</item>
+			<item>error_message_on</item>
+			<item>error_messages_for</item>
+			<item>escape_javascript</item>
+			<item>evaluate_remote_response</item>
+			<item>excerpt</item>
+			<item>file_field</item>
+			<item>file_field_tag</item>
+			<item>finish_upload_status</item>
+			<item>form</item>
+			<item>form_remote_tag</item>
+			<item>form_tag</item>
+			<item>form_tag_with_upload_progress</item>
+			<item>h</item>
+			<item>hidden_field</item>
+			<item>hidden_field_tag</item>
+			<item>highlight</item>
+			<item>human_size</item>
+			<item>image_path</item>
+			<item>image_submit_tag</item>
+			<item>image_tag</item>
+			<item>input</item>
+			<item>javascript_include_tag</item>
+			<item>javascript_path</item>
+			<item>javascript_tag</item>
+			<item>link_image_to</item>
+			<item>link_to</item>
+			<item>link_to_function</item>
+			<item>link_to_if</item>
+			<item>link_to_image</item>
+			<item>link_to_remote</item>
+			<item>link_to_unless</item>
+			<item>link_to_unless_current</item>
+			<item>mail_to</item>
+			<item>markdown</item>
+			<item>number_to_currency</item>
+			<item>number_to_human_size</item>
+			<item>number_to_percentage</item>
+			<item>number_to_phone</item>
+			<item>number_with_delimiter</item>
+			<item>number_with_precision</item>
+			<item>observe_field</item>
+			<item>observe_form</item>
+			<item>option_groups_from_collection_for_select</item>
+			<item>options_for_select</item>
+			<item>options_from_collection_for_select</item>
+			<item>pagination_links</item>
+			<item>password_field</item>
+			<item>password_field_tag</item>
+			<item>periodically_call_remote</item>
+			<item>pluralize</item>
+			<item>radio_button</item>
+			<item>radio_button_tag</item>
+			<item>register_template_handler</item>
+			<item>render</item>
+			<item>render_file</item>
+			<item>render_template</item>
+			<item>sanitize</item>
+			<item>select</item>
+			<item>select_date</item>
+			<item>select_datetime</item>
+			<item>select_day</item>
+			<item>select_hour</item>
+			<item>select_minute</item>
+			<item>select_month</item>
+			<item>select_second</item>
+			<item>select_tag</item>
+			<item>select_time</item>
+			<item>select_year</item>
+			<item>simple_format</item>
+			<item>sortable_element</item>
+			<item>start_form_tag</item>
+			<item>strip_links</item>
+			<item>stylesheet_link_tag</item>
+			<item>stylesheet_path</item>
+			<item>submit_tag</item>
+			<item>submit_to_remote</item>
+			<item>tag</item>
+			<item>text_area</item>
+			<item>text_area_tag</item>
+			<item>text_field</item>
+			<item>text_field_tag</item>
+			<item>text_field_with_auto_complete</item>
+			<item>textilize</item>
+			<item>textilize_without_paragraph</item>
+			<item>time_ago_in_words</item>
+			<item>time_zone_options_for_select</item>
+			<item>time_zone_select</item>
+			<item>truncate</item>
+			<item>update_element_function</item>
+			<item>upload_progress_status</item>
+			<item>upload_progress_text</item>
+			<item>upload_progress_update_bar_js</item>
+			<item>upload_status_progress_bar_tag</item>
+			<item>upload_status_tag</item>
+			<item>upload_status_text_tag</item>
+			<item>url_for</item>
+			<item>visual_effect</item>
+			<item>word_wrap</item>
+		</list>
+		
+		<list name="attention">
+			<item> TODO </item>
+			<item> FIXME </item>
+			<item> NOTE </item>
+		</list>
+		
+		<contexts>
+			
+		<!-- BEGIN HTML contexts -->
+			<context name="Start" attribute="Normal Text" lineEndContext="#stay">
+				<IncludeRules context="FindHTML" />
+			</context>
+			
+			<context name="FindHTML" attribute="Normal Text" lineEndContext="#stay">
+				<DetectSpaces/>
+				<DetectIdentifier/>
+				
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				<StringDetect attribute="Keyword" context="rubysourceline" String="%" />
+				
+				<StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+				<StringDetect attribute="CDATA" context="CDATA" String="&lt;![CDATA[" beginRegion="cdata" />
+				<RegExpr attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE\s+" beginRegion="doctype" />
+				<RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:-]*" beginRegion="pi" />
+				<RegExpr attribute="Element" context="CSS" String="&lt;style\b" insensitive="true" beginRegion="style" />
+				<RegExpr attribute="Element" context="JS" String="&lt;script\b" insensitive="true" beginRegion="script" />
+				<RegExpr attribute="Element" context="El Open" String="&lt;pre\b" insensitive="true" beginRegion="pre" />
+				<RegExpr attribute="Element" context="El Open" String="&lt;div\b" insensitive="true" beginRegion="div" />
+				<RegExpr attribute="Element" context="El Open" String="&lt;table\b" insensitive="true" beginRegion="table" />
+				<RegExpr attribute="Element" context="El Open" String="&lt;&name;" />
+				<RegExpr attribute="Element" context="El Close" String="&lt;/pre\b" insensitive="true" endRegion="pre" />
+				<RegExpr attribute="Element" context="El Close" String="&lt;/div\b" insensitive="true" endRegion="div" />
+				<RegExpr attribute="Element" context="El Close" String="&lt;/table\b" insensitive="true" endRegion="table" />
+				<RegExpr attribute="Element" context="El Close" String="&lt;/&name;" />
+				<!-- as long as kde gives DTDs the text/html mimetype--><IncludeRules context="FindDTDRules" />
+				<IncludeRules context="FindEntityRefs" />
+			</context>
+			
+			<context name="FindEntityRefs" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+				<AnyChar attribute="Error" context="#stay" String="&amp;&lt;" />
+			</context>
+			
+			<context name="FindPEntityRefs" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+				<RegExpr attribute="PEntityRef" context="#stay" String="%&name;;" />
+				<AnyChar attribute="Error" context="#stay" String="&amp;%" />
+			</context>
+			
+			<context name="FindAttributes" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Attribute" context="#stay" String="&name;" column="0"/>
+				<RegExpr attribute="Attribute" context="#stay" String="\s+&name;" />
+				<DetectChar attribute="Attribute" context="Value" char="=" />
+			</context>
+			
+			<context name="FindDTDRules" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
+			</context>
+			
+			
+			<context name="Comment" attribute="Comment" lineEndContext="#stay">
+				<DetectSpaces/>
+				<IncludeRules context="##Alerts" />
+				<DetectIdentifier/>
+				<StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment" />
+				<RegExpr attribute="Error" context="#stay" String="-(-(?!-&gt;))+" />
+			</context>
+			
+			<context name="CDATA" attribute="Normal Text" lineEndContext="#stay">
+				<DetectSpaces/>
+				<DetectIdentifier/>
+				<StringDetect attribute="CDATA" context="#pop" String="]]&gt;" endRegion="cdata" />
+				<StringDetect attribute="EntityRef" context="#stay" String="]]&amp;gt;" />
+			</context>
+			
+			<context name="PI" attribute="Normal Text" lineEndContext="#stay">
+				<Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1="&gt;" endRegion="pi" />
+			</context>
+			
+			<context name="Doctype" attribute="Normal Text" lineEndContext="#stay">
+				<DetectChar attribute="Doctype" context="#pop" char="&gt;" endRegion="doctype" />
+				<DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
+			</context>
+			
+			<context name="Doctype Internal Subset" attribute="Normal Text" lineEndContext="#stay">
+				<DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
+				<IncludeRules context="FindDTDRules" />
+				<StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+				<RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:-]*" beginRegion="pi" />
+				<IncludeRules context="FindPEntityRefs" />
+			</context>
+			
+			<context name="Doctype Markupdecl" attribute="Normal Text" lineEndContext="#stay">
+				<DetectChar attribute="Doctype" context="#pop" char="&gt;" />
+				<DetectChar attribute="Value" context="Doctype Markupdecl DQ" char="&quot;" />
+				<DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="&apos;" />
+			</context>
+			
+			<context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<DetectChar attribute="Value" context="#pop" char="&quot;" />
+				<IncludeRules context="FindPEntityRefs" />
+			</context>
+			
+			<context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<DetectChar attribute="Value" context="#pop" char="&apos;" />
+				<IncludeRules context="FindPEntityRefs" />
+			</context>
+			
+			<context name="El Open" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" />
+				<DetectChar attribute="Element" context="#pop" char="&gt;" />
+				<IncludeRules context="FindAttributes" />
+				<RegExpr attribute="Error" context="#stay" String="\S" />
+			</context>
+			
+			<context name="El Close" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<DetectChar attribute="Element" context="#pop" char="&gt;" />
+				<RegExpr attribute="Error" context="#stay" String="\S" />
+			</context>
+			
+			<context name="El Close 2" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<DetectChar attribute="Element" context="#pop#pop#pop" char="&gt;" />
+				<RegExpr attribute="Error" context="#stay" String="\S" />
+			</context>
+			
+			<context name="El Close 3" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<DetectChar attribute="Element" context="#pop#pop#pop#pop" char="&gt;" />
+				<RegExpr attribute="Error" context="#stay" String="\S" />
+			</context>
+			
+			<context name="CSS" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="style" />
+				<DetectChar attribute="Element" context="CSS content" char="&gt;" />
+				<IncludeRules context="FindAttributes" />
+				<RegExpr attribute="Error" context="#stay" String="\S" />
+			</context>
+			
+			<context name="CSS content" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<RegExpr attribute="Element" context="El Close 2" String="&lt;/style\b" insensitive="true" endRegion="style" />
+				<IncludeRules context="##CSS" includeAttrib="true"/>
+			</context>
+			
+			<context name="JS" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="script" />
+				<DetectChar attribute="Element" context="JS content" char="&gt;" />
+				<IncludeRules context="FindAttributes" />
+				<RegExpr attribute="Error" context="#stay" String="\S" />
+			</context>
+			
+			<context name="JS content" attribute="Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<RegExpr attribute="Element" context="El Close 2" String="&lt;/script\b" insensitive="true" endRegion="script" />
+				<RegExpr attribute="Comment" context="JS comment close" String="//(?=.*&lt;/script\b)" insensitive="true" />
+				<IncludeRules context="Normal##JavaScript" includeAttrib="true"/>
+			</context>
+			
+			<context name="JS comment close" attribute="Comment" lineEndContext="#pop">
+				<RegExpr attribute="Element" context="El Close 3" String="&lt;/script\b" insensitive="true" endRegion="script" />
+				<IncludeRules context="##Alerts" />
+			</context>
+			
+			<context name="Value" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="Value NQ">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<DetectChar attribute="Value" context="Value DQ" char="&quot;" />
+				<DetectChar attribute="Value" context="Value SQ" char="&apos;" />
+				<DetectSpaces />
+			</context>
+			
+			<context name="Value NQ" attribute="Normal Text" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<IncludeRules context="FindEntityRefs" />
+				<RegExpr attribute="Value" context="#stay" String="/(?!&gt;)" />
+				<RegExpr attribute="Value" context="#stay" String="[^/&gt;&lt;&quot;&apos;\s]" />
+			</context>
+			
+			<context name="Value DQ" attribute="Value" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<DetectChar attribute="Value" context="#pop#pop" char="&quot;" />
+				<IncludeRules context="FindEntityRefs" />
+			</context>
+			
+			<context name="Value SQ" attribute="Value" lineEndContext="#stay">
+				<RegExpr attribute="Keyword" context="rubysource" String="&lt;%=?" />
+				
+				<DetectChar attribute="Value" context="#pop#pop" char="&apos;" />
+				<IncludeRules context="FindEntityRefs" />
+  			</context>	
+		<!-- END HTML contexts -->
+		
+		<!-- BEGIN Ruby contexts -->
+		
+			<!-- A single line of ruby source after a '%' ERB tag -->
+			<context name="rubysourceline" attribute="RUBY RAILS ERB Text" lineEndContext="#pop">
+				<IncludeRules context="rubysource" />
+			</context>
+			
+			<context name="rubysource" attribute="RUBY RAILS ERB Text" lineEndContext="#stay">
+				<!-- ruby ignores newline after \ -->
+				<LineContinue attribute="Ruby Normal Text" context="Line Continue"/>
+				
+				<RegExpr attribute="Keyword" context="#pop" String="-?%&gt;" />
+				
+				<!-- __END__ token on own line. -->
+				<RegExpr attribute="Keyword" String="__END__$" context="DATA" column="0"/>
+				
+				<!-- "shebang" line -->
+				<RegExpr attribute="Keyword" String="#!\/.*" context="#stay" column="0"/>
+				
+				<!-- "def" - "end" blocks -->
+				<!-- check for statement modifiers with regexes -->
+				<RegExpr attribute="Keyword" String="(\=|\(|\[|\{)\s*(if|unless|while|until)\b" context="#stay" beginRegion="def block"/>
+				<RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block" firstNonSpace="true"/>
+				<RegExpr attribute="Keyword" String="\;\s*(while|until)\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
+				<RegExpr attribute="Keyword" String="(if|unless)\b" context="#stay" beginRegion="def block" firstNonSpace="true"/>
+				<RegExpr attribute="Keyword" String="\;\s*(if|unless)\b" context="#stay" beginRegion="def block"/>
+				<RegExpr attribute="Keyword" String="\bclass\b" context="#stay" beginRegion="def block"/>
+				<RegExpr attribute="Keyword" String="\bmodule\b" context="#stay" beginRegion="def block"/>
+				<RegExpr attribute="Keyword" String="\bbegin\b" context="#stay" beginRegion="def block"/>
+				<RegExpr attribute="Keyword" String="\bfor\b(?!.*\bdo\b)" context="#stay" beginRegion="def block"/>
+				<RegExpr attribute="Keyword" String="\bcase\b" context="#stay" beginRegion="def block"/>
+				<RegExpr attribute="Keyword" String="\bdo\b" context="#stay" beginRegion="def block"/>
+				<RegExpr attribute="Keyword" String="\bdef\b" context="#stay" beginRegion="def block"/>
+				<RegExpr attribute="Keyword" String="\bend\b" context="#stay" endRegion="def block"/>
+				<!-- elsif/else close the current block and start a new one -->
+				<RegExpr attribute="Keyword" String="(\b|^\s*)(else|elsif|rescue|ensure)(\s+|$)" context="#stay" endRegion="def block" beginRegion="def block"/>
+				
+				<StringDetect attribute="Operator" String="..." context="#stay"/>
+				<Detect2Chars attribute="Operator" char="." char1="." context="#stay"/>
+				
+				<!-- marks a message (being sent, not defined) -->
+				<RegExpr attribute="Message" String="\.[_a-z][_a-zA-Z0-9]*(\?|\!|\b)" context="#stay"/>
+				
+				<!-- Check for "ASCII code operator". e.g.: ?a -->
+				<RegExpr attribute="Dec" String="\s\?(\\M\-)?(\\C\-)?\\?\S" context="#stay"/>
+				
+				<keyword attribute="Keyword" String="keywords" context="#stay"/>
+				<keyword attribute="Attribute Definition" String="attribute-definitions"  context="#stay"/>
+				<keyword attribute="Access Control" String="access-control" context="#stay"/>
+				<keyword attribute="Definition" String="definitions"  context="#stay" />
+				<keyword attribute="Pseudo variable" String="pseudo-variables"  context="#stay"/>
+				<keyword attribute="Default globals" String="default-globals" context="#stay"/>
+				<keyword attribute="Kernel methods" String="kernel-methods" context="#stay"/>
+				
+				<!-- (global) vars starting with $
+					Match them before $_.
+					-->
+				<RegExpr attribute="Global Variable" String="\$[a-zA-Z_0-9]+" context="#stay"/>
+				<RegExpr attribute="Global Variable" String="\$\-[a-zA-z_]\b" context="#stay"/>
+				<!-- special-character globals -->
+				<RegExpr attribute="Default globals" String="\$[\d_*`\!:?'/\\\-\&amp;]" context="#stay"/>
+				<RegExpr attribute="Global Constant" String="\b[_A-Z]+[A-Z_0-9]+\b" context="#stay"/>
+				<!-- Generally a module or class name like "File", "MyModule_1", .. -->
+				<RegExpr attribute="Constant" String="\b[A-Z]+_*([0-9]|[a-z])[_a-zA-Z0-9]*\b" context="#stay"/>
+				
+				<RegExpr attribute="Hex" String="\b\-?0[xX][_0-9a-fA-F]+" context="#stay"/>
+				<RegExpr attribute="Bin" String="\b\-?0[bB][_01]+" context="#stay"/>
+				<RegExpr attribute="Octal" String="\b\-?0[1-7][_0-7]*" context="#stay"/>
+				<RegExpr attribute="Float" String="\b\-?[0-9][0-9_]*\.[0-9][0-9_]*([eE]\-?[1-9][0-9]*(\.[0-9]*)?)?" context="#stay"/>
+				<RegExpr attribute="Dec" String="\b\-?[1-9][0-9_]*\b" context="#stay"/>
+				<Int attribute="Dec" context="#stay"/>
+				<HlCChar attribute="Char" context="#stay"/>
+				
+				<!-- Check for =begin before assignment operator. -->
+				<StringDetect attribute="Blockcomment" String="=begin" context="Embedded documentation" beginRegion="comment block" column="0"/>
+				
+				<!-- recognize the beginning of a HEREDOC
+					This uses new features in Kate 2.3 and later
+					
+					There is no other chance of keeping heredoc apart from the
+					push operator '<<' than requiring to put space between the operator
+										and the string.
+										-->
+				<RegExpr attribute="Operator" context="find_indented_heredoc" String="\s*&lt;&lt;-(?=\w+|[&quot;'])" beginRegion="HereDocument" />
+				<RegExpr attribute="Operator" context="find_heredoc" String="\s*&lt;&lt;(?=\w+|[&quot;'])" beginRegion="HereDocument" />
+				
+				<DetectChar attribute="Operator" char="." context="#stay"/>
+				<Detect2Chars attribute="Operator" char="&amp;" char1="&amp;" context="#stay"/>
+				<Detect2Chars attribute="Operator" char="|" char1="|" context="#stay"/>
+				<RegExpr attribute="Operator" String="\s[\?\:\%/]\s" context="#stay"/>
+				<RegExpr attribute="Operator" String="[|&amp;&lt;&gt;\^\+*~\-=]+" context="#stay"/>
+				<!-- regexp hack -->
+				<RegExpr attribute="Operator" String="\s!" context="#stay"/>
+				<RegExpr attribute="Operator" String="/=\s" context="#stay" insensitive="0"/>
+				<StringDetect attribute="Operator" String="%=" context="#stay" insensitive="0"/>
+				<Detect2Chars attribute="Operator" char=":" char1=":" context="Member Access"/>
+				
+				<RegExpr attribute="Symbol" String=":[a-zA-Z_][a-zA-Z0-9_]*" context="#stay"/>
+				
+				<DetectChar attribute="String" char="&quot;" context="Quoted String"/>
+				<DetectChar attribute="Raw String" char="'" context="Apostrophed String"/>
+				<DetectChar attribute="Command" char="`" context="Command String"/>
+				
+				<StringDetect attribute="Normal Text" String="?#" context="#stay"/>
+				
+				<RegExpr attribute="Comment" String="#\s*BEGIN.*$"  context="#stay" beginRegion="marker" column="0"/>
+				<RegExpr attribute="Comment" String="#\s*END.*$"  context="#stay" endRegion="marker" column="0"/>
+				<RegExpr attribute="Comment" String="#"  context="Comment Line" firstNonSpace="true"/>
+				<RegExpr attribute="Comment" String="\s#"  context="General Comment"/>
+				
+				<RegExpr attribute="Delimiter" String="[\[\]]+"  context="#stay"/>
+				<DetectChar attribute="Delimiter" char="{" context="#stay" beginRegion="def block"/>
+				<DetectChar attribute="Delimiter" char="}" context="#stay" endRegion="def block"/>
+				
+				<RegExpr attribute="Instance Variable" String="@[a-zA-Z_0-9]+" context="#stay"/>
+				<RegExpr attribute="Class Variable" String="@@[a-zA-Z_0-9]+" context="#stay"/>
+				
+				<!-- handle the different regular expression formats -->
+				<DetectChar attribute="Regular Expression" char="/" context="RegEx 1"/>
+				
+				<!-- recognize the beginning of a general delimited input format -->
+				<!-- this moves to the next context to separate out the exact nature of the GDL input -->
+				<RegExpr attribute="GDL input" context="find_gdl_input" String="\s*[%](?=[Qqxw]?[^\s&gt;])" beginRegion="GdlInput" />
+			</context>
+			
+			<context name="Line Continue" attribute="Ruby Normal Text" lineEndContext="#pop">
+				<RegExpr attribute="Keyword" String="(while|until)\b(?!.*\bdo\b)" context="#stay" firstNonSpace="true"/>
+				<RegExpr attribute="Keyword" String="(if|unless)\b" context="#stay" firstNonSpace="true"/>
+				<IncludeRules context="rubysource"/>
+			</context>
+			
+			<context name="Quoted String" attribute="String" lineEndContext="#stay">
+				<StringDetect attribute="String" String="\\" context="#stay"/>
+				<RegExpr attribute="String" String="\\\&quot;" context="#stay"/>
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+				<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+				<!--HlCChar attribute="Char" context="#pop"/-->
+				<DetectChar char="&quot;" attribute="String" context="#pop"/>
+			</context>
+			
+			<context name="Apostrophed String" attribute="Raw String" lineEndContext="#stay">
+				<!-- <HlCChar attribute="Char" context="#pop"/> -->
+				<StringDetect attribute="String" String="\\" context="#stay"/>
+				<RegExpr attribute="String" String="\\\'" context="#stay"/>
+				<DetectChar char="'" attribute="Raw String" context="#pop"/>
+			</context>
+			
+			<context name="Command String" attribute="Command" lineEndContext="#stay">
+				<StringDetect attribute="String" String="\\" context="#stay"/>
+				<RegExpr attribute="String" String="\\\`" context="#stay"/>
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+				<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+				<HlCChar attribute="Char" context="#pop"/>
+				<DetectChar char="`" attribute="Command" context="#pop"/>
+			</context>
+			
+			<context name="Embedded documentation" attribute="Ruby Comment" lineEndContext="#stay">
+				<StringDetect attribute="Ruby Comment" String="=end" context="#pop" endRegion="comment block" column="0"/>
+			</context>
+			
+			<context name="RegEx 1" attribute="Regular Expression" lineEndContext="#stay">
+				<RegExpr attribute="Regular Expression" String="\\\/" context="#stay"/>
+				<RegExpr attribute="Regular Expression" String="[^\\]$" context="#pop"/>
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+				<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+				<RegExpr attribute="Regular Expression" String="/[uiomxn]*" context="#pop"/>
+			</context>
+			
+			<!-- Substitutions can be nested -->
+			<context name="Subst" attribute="Ruby Normal Text" lineEndContext="#stay">
+				<DetectChar attribute="Substitution" char="}" context="#pop"/>
+				<!-- Highlight substitution as code. -->
+				<IncludeRules context="rubysource"/>
+			</context>
+			
+			<context name="Short Subst" attribute="Substitution" lineEndContext="#pop">
+				<!-- Check for e.g.: "#@var#@@xy" -->
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="#stay"/>
+				<RegExpr attribute="Substitution" String="\w(?!\w)" context="#pop"/>
+			</context>
+			
+			<!-- This handles access of nested module classes and class methods -->
+			<context name="Member Access" attribute="Member" lineEndContext="#pop">
+				<!-- marks a message (being sent, not defined) -->
+				<RegExpr attribute="Message" String="\.?[_a-z]\w*(\?|\!)?(?=[^\w\d\.\:])" context="#pop"/>
+				<RegExpr attribute="Message" String="\.?[_a-z]\w*(\?|\!)?" context="#stay"/>
+				<RegExpr attribute="Constant" String="[A-Z]+_*(\d|[a-z])\w*(?=[^\w\d\.\:])" context="#pop"/>
+				<RegExpr attribute="Constant" String="[A-Z]+_*([0-9]|[a-z])\w*" context="#stay"/>
+				<RegExpr attribute="Constant Value" String="[_A-Z][_A-Z0-9]*(?=[^\w\d\.\:])" context="#pop"/>
+				<RegExpr attribute="Constant Value" String="[_A-Z][_A-Z0-9]*" context="#stay"/>
+				<Detect2Chars attribute="Operator" char=":" char1=":" context="#stay"/>
+				<DetectChar attribute="Member" char="." context="#stay"/>
+				
+				<AnyChar attribute="Operator" String="=+-*/%|&amp;[]{}~" context="#pop"/>
+				<DetectChar attribute="Ruby Comment" char="#" context="#pop"/>
+				<AnyChar attribute="Ruby Normal Text" String="()\" context="#pop"/>
+				<RegExpr attribute="Member" String="\W" context="#pop"/>
+			</context>
+			
+			<context name="Comment Line" attribute="Ruby Comment" lineEndContext="#pop">
+				<RegExpr attribute="Ruby Comment" String="\w\:\:\s" context="RDoc Label"/>
+				<keyword attribute="Alert" String="attention" context="#stay"/>
+				<RegExpr attribute="Keyword" context="#pop#pop" String="-?%&gt;" />
+			</context>
+			
+			<context name="General Comment" attribute="Ruby Comment" lineEndContext="#pop">
+				<keyword attribute="Dec" String="attention" context="#stay"/>
+			</context>
+			
+			<context name="RDoc Label" attribute="RDoc Value" lineEndContext="#pop"/>
+			
+			<!-- HEREDOC support
+				The contexts below support both normal and indented heredocs
+				-->
+			<!-- here we markup the heredoc markers -->
+			<context name="find_heredoc" attribute="Ruby Normal Text" lineEndContext="#pop" >
+				<RegExpr attribute="Keyword" context="apostrophed_normal_heredoc" String="'(\w+)'" />
+				<RegExpr attribute="Keyword" context="normal_heredoc" String="&quot;?(\w+)&quot;?" />
+			</context>
+			<context name="find_indented_heredoc" attribute="Ruby Normal Text" lineEndContext="#pop" >
+				<RegExpr attribute="Keyword" context="apostrophed_indented_heredoc" String="'(\w+)'" />
+				<RegExpr attribute="Keyword" context="indented_heredoc" String="&quot;?(\w+)&quot;?" />
+			</context>
+			<!-- these are the real heredoc contexts -->
+			<context name="indented_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
+				<!--				<RegExpr attribute="Keyword" context="#pop#pop" String="^\s*%1$" dynamic="true" endRegion="HereDocument"/>-->
+				<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
+				<IncludeRules context="heredoc_rules" />
+			</context>
+			<context name="apostrophed_indented_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
+				<!--				<RegExpr attribute="Keyword" context="#pop#pop" String="^\s*%1$" dynamic="true" endRegion="HereDocument"/>-->
+				<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
+			</context>
+			
+			<context name="normal_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
+				<!--				<RegExpr attribute="Keyword" context="#pop#pop" String="^%1$" dynamic="true" endRegion="HereDocument"/>-->
+				<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" column="0"/>
+				<IncludeRules context="heredoc_rules" />
+			</context>
+			<context name="apostrophed_normal_heredoc" attribute="Ruby Normal Text" lineEndContext="#stay" dynamic="true">
+				<!--				<RegExpr attribute="Keyword" context="#pop#pop" String="^%1$" dynamic="true" endRegion="HereDocument"/>-->
+				<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" column="0"/>
+			</context>
+			
+			<!-- rules for heredoc types -->
+			<context name="heredoc_rules" attribute="Ruby Normal Text" lineEndContext="#stay">
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+				<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+			</context>
+			
+			<!-- General delimited input support
+				The contexts below handle the various gdl formats
+				-->
+			<context name="find_gdl_input" attribute="Ruby Normal Text" lineEndContext="#pop">
+				
+				<!-- handle token arrays -->
+				<RegExpr attribute="GDL input" context="gdl_token_array_1" String="w\(" />
+				<RegExpr attribute="GDL input" context="gdl_token_array_2" String="w\{" />
+				<RegExpr attribute="GDL input" context="gdl_token_array_3" String="w\[" />
+				<RegExpr attribute="GDL input" context="gdl_token_array_4" String="w&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_token_array_5" String="w([^\s\w])" />
+				
+				<!-- handle apostrophed strings -->
+				<RegExpr attribute="GDL input" context="gdl_apostrophed_1" String="q\(" />
+				<RegExpr attribute="GDL input" context="gdl_apostrophed_2" String="q\{" />
+				<RegExpr attribute="GDL input" context="gdl_apostrophed_3" String="q\[" />
+				<RegExpr attribute="GDL input" context="gdl_apostrophed_4" String="q&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_apostrophed_5" String="q([^\s\w])" />
+				
+				<!-- handle shell commands -->
+				<RegExpr attribute="GDL input" context="gdl_shell_command_1" String="x\(" />
+				<RegExpr attribute="GDL input" context="gdl_shell_command_2" String="x\{" />
+				<RegExpr attribute="GDL input" context="gdl_shell_command_3" String="x\[" />
+				<RegExpr attribute="GDL input" context="gdl_shell_command_4" String="x&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_shell_command_5" String="x([^\s\w])" />
+				
+				<!-- handle regular expressions -->
+				<RegExpr attribute="GDL input" context="gdl_regexpr_1" String="r\(" />
+				<RegExpr attribute="GDL input" context="gdl_regexpr_2" String="r\{" />
+				<RegExpr attribute="GDL input" context="gdl_regexpr_3" String="r\[" />
+				<RegExpr attribute="GDL input" context="gdl_regexpr_4" String="r&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_regexpr_5" String="r([^\s\w])" />
+				
+				<!-- handle double-quoted strings -->
+				<!-- 
+					be careful to make this the last GDL ruleset, because the rule for
+					the short form %?foo? will otherwise catch any of the other formats
+					-->
+				<RegExpr attribute="GDL input" context="gdl_dq_string_1" String="Q?\(" />
+				<RegExpr attribute="GDL input" context="gdl_dq_string_2" String="Q?\{" />
+				<RegExpr attribute="GDL input" context="gdl_dq_string_3" String="Q?\[" />
+				<RegExpr attribute="GDL input" context="gdl_dq_string_4" String="Q?&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_dq_string_5" String="Q?([^\s\w])" />
+				
+			</context>
+			<!-- double-quoted string specific contexts follow -->
+			<context name="gdl_dq_string_1" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="dq_string_rules" />
+				<Detect2Chars attribute="String" char="\" char1=")" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_dq_string_1_nested" char="(" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_dq_string_1_nested" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="dq_string_rules" />
+				<DetectChar attribute="String" context="gdl_dq_string_1_nested" char="(" />
+				<DetectChar attribute="String" context="#pop" char=")" />
+			</context>
+			<!-- note that here substitution should win over nesting -->
+			<context name="gdl_dq_string_2" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="dq_string_rules" />
+				<Detect2Chars attribute="String" char="\" char1="}" context="#stay"/>
+				<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+				<DetectChar attribute="String" context="gdl_dq_string_2_nested" char="{" />
+			</context>
+			<context name="gdl_dq_string_2_nested" attribute="String" lineEndContext="#stay" >
+				<DetectChar attribute="String" context="gdl_dq_string_2_nested" char="{" />
+				<DetectChar attribute="String" context="#pop" char="}" />
+				<IncludeRules context="dq_string_rules" />
+			</context>
+			
+			<context name="gdl_dq_string_3" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="dq_string_rules" />
+				<Detect2Chars attribute="String" char="\" char1="]" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_dq_string_3_nested" char="[" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_dq_string_3_nested" attribute="String" lineEndContext="#stay" >
+				<DetectChar attribute="String" context="gdl_dq_string_3_nested" char="[" />
+				<DetectChar attribute="String" context="#pop" char="]" />
+				<IncludeRules context="dq_string_rules" />
+			</context>
+			
+			<context name="gdl_dq_string_4" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="dq_string_rules" />
+				<Detect2Chars attribute="String" char="\" char1="&gt;" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_dq_string_4_nested" char="&lt;" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_dq_string_4_nested" attribute="String" lineEndContext="#stay" >
+				<DetectChar attribute="String" context="gdl_dq_string_4_nested" char="&lt;" />
+				<DetectChar attribute="String" context="#pop" char="&gt;" />
+				<IncludeRules context="dq_string_rules" />
+			</context>
+			
+			<!-- this format doesn't allow nesting. it is terminated by the next occurrence of the
+				delimiter character
+				-->
+			<context name="gdl_dq_string_5" attribute="String" lineEndContext="#stay" dynamic="true">
+				<IncludeRules context="dq_string_rules" />
+				<RegExpr attribute="String" String="\\%1" context="#stay" dynamic="true" />
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+			</context>
+			<!-- rules to be included in all dq_string contexts -->
+			<context name="dq_string_rules" attribute="String" lineEndContext="#stay" >
+				<Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+				<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+			</context>
+			
+			<!-- token array specific contexts -->
+			
+			<context name="gdl_token_array_1" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<Detect2Chars attribute="String" char="\" char1=")" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_token_array_1_nested" char="(" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_token_array_1_nested" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<DetectChar attribute="String" context="gdl_token_array_1_nested" char="(" />
+				<DetectChar attribute="String" context="#pop" char=")" />
+			</context>
+			
+			<context name="gdl_token_array_2" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<Detect2Chars attribute="String" char="\" char1="}" context="#stay"/>
+				<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+				<DetectChar attribute="String" context="gdl_token_array_2_nested" char="{" />
+			</context>
+			<context name="gdl_token_array_2_nested" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<DetectChar attribute="String" context="gdl_token_array_2_nested" char="{" />
+				<DetectChar attribute="String" context="#pop" char="}" />
+			</context>
+			
+			<context name="gdl_token_array_3" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<Detect2Chars attribute="String" char="\" char1="]" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_token_array_3_nested" char="[" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_token_array_3_nested" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<DetectChar attribute="String" context="gdl_token_array_3_nested" char="[" />
+				<DetectChar attribute="String" context="#pop" char="]" />
+			</context>
+			
+			<context name="gdl_token_array_4" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<Detect2Chars attribute="String" char="\" char1="&gt;" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_token_array_4_nested" char="&lt;" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_token_array_4_nested" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<DetectChar attribute="String" context="gdl_token_array_4_nested" char="&lt;" />
+				<DetectChar attribute="String" context="#pop" char="&gt;" />
+			</context>
+			
+			<!-- this format doesn't allow nesting. it is terminated by the next occurrence of the
+				delimiter character
+				-->
+			<context name="gdl_token_array_5" attribute="String" lineEndContext="#stay" dynamic="true">
+				<IncludeRules context="token_array_rules" />
+				<RegExpr attribute="String" String="\\%1" context="#stay" dynamic="true"/>
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+			</context>
+			
+			<!-- rules to be included in all token_array contexts -->
+			<context name="token_array_rules" attribute="String" lineEndContext="#stay" >
+				<StringDetect attribute="String" String="\\" context="#stay"/>
+			</context>
+			
+			<!-- apostrophed string specific contexts -->
+			
+			<context name="gdl_apostrophed_1" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<Detect2Chars attribute="Raw String" char="\" char1=")" context="#stay"/>
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_1_nested" char="(" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_apostrophed_1_nested" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_1_nested" char="(" />
+				<DetectChar attribute="Raw String" context="#pop" char=")" />
+			</context>
+			
+			<context name="gdl_apostrophed_2" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<Detect2Chars attribute="Raw String" char="\" char1="}" context="#stay"/>
+				<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_2_nested" char="{" />
+			</context>
+			<context name="gdl_apostrophed_2_nested" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_2_nested" char="{" />
+				<DetectChar attribute="Raw String" context="#pop" char="}" />
+			</context>
+			
+			<context name="gdl_apostrophed_3" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<Detect2Chars attribute="Raw String" char="\" char1="]" context="#stay"/>
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_3_nested" char="[" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_apostrophed_3_nested" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_3_nested" char="[" />
+				<DetectChar attribute="Raw String" context="#pop" char="]" />
+			</context>
+			
+			<context name="gdl_apostrophed_4" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<Detect2Chars attribute="Raw String" char="\" char1="&gt;" context="#stay"/>
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="&lt;" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_apostrophed_4_nested" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="&lt;" />
+				<DetectChar attribute="Raw String" context="#pop" char="&gt;" />
+			</context>
+			
+			<!-- this format doesn't allow nesting. it is terminated by the next occurrence of the
+				delimiter character
+				-->
+			<context name="gdl_apostrophed_5" attribute="Raw String" lineEndContext="#stay" dynamic="true">
+				<IncludeRules context="apostrophed_rules" />
+				<RegExpr attribute="Raw String" String="\\%1" context="#stay" dynamic="true"/>
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+			</context>
+			
+			<!-- rules to be included in all apostrophed contexts -->
+			<context name="apostrophed_rules" attribute="Raw String" lineEndContext="#stay" >
+				<Detect2Chars attribute="Raw String" char="\" char1="\" context="#stay"/>
+			</context>
+			
+			<!-- shell command specific contexts -->
+			
+			<context name="gdl_shell_command_1" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<Detect2Chars attribute="Command" char="\" char1=")" context="#stay"/>
+				<DetectChar attribute="Command" context="gdl_shell_command_1_nested" char="(" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_shell_command_1_nested" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<DetectChar attribute="Command" context="gdl_shell_command_1_nested" char="(" />
+				<DetectChar attribute="Command" context="#pop" char=")" />
+			</context>
+			
+			<context name="gdl_shell_command_2" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<Detect2Chars attribute="Command" char="\" char1="}" context="#stay"/>
+				<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+				<DetectChar attribute="Command" context="gdl_shell_command_2_nested" char="{" />
+			</context>
+			<context name="gdl_shell_command_2_nested" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<DetectChar attribute="Command" context="gdl_shell_command_2_nested" char="{" />
+				<DetectChar attribute="Command" context="#pop" char="}" />
+			</context>
+			
+			<context name="gdl_shell_command_3" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<Detect2Chars attribute="Command" char="\" char1="]" context="#stay"/>
+				<DetectChar attribute="Command" context="gdl_shell_command_3_nested" char="[" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_shell_command_3_nested" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<DetectChar attribute="Command" context="gdl_shell_command_3_nested" char="[" />
+				<DetectChar attribute="Command" context="#pop" char="]" />
+			</context>
+			
+			<context name="gdl_shell_command_4" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<Detect2Chars attribute="Command" char="\" char1="&gt;" context="#stay"/>
+				<DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="&lt;" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_shell_command_4_nested" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="&lt;" />
+				<DetectChar attribute="Command" context="#pop" char="&gt;" />
+			</context>
+			
+			<!-- this format doesn't allow nesting. it is terminated by the next occurrence of the
+				delimiter character
+				-->
+			<context name="gdl_shell_command_5" attribute="Command" lineEndContext="#stay" dynamic="true">
+				<IncludeRules context="shell_command_rules" />
+				<RegExpr attribute="Command" String="\\%1" context="#stay" dynamic="true" />
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+			</context>
+			
+			<!-- rules to be included in all shell_command contexts -->
+			<context name="shell_command_rules" attribute="Command" lineEndContext="#stay" >
+				<Detect2Chars attribute="Command" char="\" char1="\" context="#stay"/>
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+				<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+			</context>
+			
+			<!-- regular expression specific contexts -->
+			
+			<context name="gdl_regexpr_1" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<Detect2Chars attribute="Regular Expression" char="\" char1=")" context="#stay"/>
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_1_nested" char="(" />
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\)[uiomxn]*" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_regexpr_1_nested" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_1_nested" char="(" />
+				<DetectChar attribute="Regular Expression" context="#pop" char=")" />
+			</context>
+			
+			<context name="gdl_regexpr_2" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<Detect2Chars attribute="Regular Expression" char="\" char1="}" context="#stay"/>
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\}[uiomxn]*" endRegion="GdlInput" />
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_2_nested" char="{" />
+			</context>
+			<context name="gdl_regexpr_2_nested" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_2_nested" char="{" />
+				<DetectChar attribute="Regular Expression" context="#pop" char="}" />
+			</context>
+			
+			<context name="gdl_regexpr_3" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<Detect2Chars attribute="Regular Expression" char="\" char1="]" context="#stay"/>
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_3_nested" char="[" />
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\][uiomxn]*" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_regexpr_3_nested" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_3_nested" char="[" />
+				<DetectChar attribute="Regular Expression" context="#pop" char="]" />
+			</context>
+			
+			<context name="gdl_regexpr_4" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<Detect2Chars attribute="Regular Expression" char="\" char1="&gt;" context="#stay"/>
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="&lt;" />
+				<RegExpr attribute="GDL input" context="#pop#pop" String="&gt;[uiomxn]*" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_regexpr_4_nested" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="&lt;" />
+				<DetectChar attribute="Regular Expression" context="#pop" char="&gt;" />
+			</context>
+			
+			<!-- this format doesn't allow nesting. it is terminated by the next occurrence 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" />
+			<itemData name="EntityRef" defStyleNum="dsDecVal" />
+			<itemData name="PEntityRef" defStyleNum="dsDecVal" />
+			<itemData name="Error" defStyleNum="dsError" />
+		<!-- END HTML itemData -->
+		
+		</itemDatas>
+	</highlighting>
+	<general>
+		<comments>
+			<comment name="multiLine" start="&lt;!--" end="--&gt;" />
+		</comments>
+		<keywords casesensitive="1" weakDeliminator="!?"/> 
+	</general>
+</language>
diff --git a/xml/roff.xml b/xml/roff.xml
new file mode 100644
--- /dev/null
+++ b/xml/roff.xml
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+  <!ENTITY roffidc "[^]\s]">
+  <!ENTITY roffid  "(&roffidc;|\(&roffidc;{2}|\[&roffidc;+\])">
+  <!ENTITY roffnum "([0-9]+)">
+  <!ENTITY argsep1 "([^\\]|\\[&#37; |\^{}'`\-!?@)/,&amp;:~0E_acdeprtu])">
+  <!ENTITY argsep2 "([^\\0-9]|\\[&#37;:{}'`\-_!@/cep])">
+]>
+<language name="Roff" section="Markup" version="2" kateversion="2.4" extensions="" author="Matthew Woehlke (mw_triad@users.sourceforge.net)" license="GPL">
+
+  <highlighting>
+
+    <list name="layout">
+      <item>br</item>
+      <item>sp</item>
+    </list>
+
+    <list name="formatting">
+    </list>
+
+    <list name="gnuext">
+    </list>
+
+    <contexts>
+
+      <!-- root context -->
+      <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="DetectComments"/>
+        <DetectChar attribute="Other Macros" context="DetectDirective" char="." column="0"/>
+        <IncludeRules context="DetectOthers"/>
+      </context>
+
+      <context name="DetectComments" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="Comment" String="\.\s*\\&quot;" column="0"/>
+        <Detect2Chars attribute="Comment" context="Comment" char="\\" char1="&quot;"/>
+        <Detect2Chars attribute="Comment" context="Comment" char="\\" char1="#"/>
+      </context>
+
+      <!-- catch glyphc, registers, strings, etc -->
+      <context name="DetectOthers" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="DetectComments"/>
+        <DetectChar attribute="Escape" context="DetectEscape" char="\\" lookAhead="true"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+      </context>
+
+      <!-- detect escapes -->
+      <context name="DetectEscape" attribute="Error" lineEndContext="#pop">
+        <RegExpr attribute="Register" context="#pop" String="\\(\*|n[+-]?)&roffid;"/>
+        <RegExpr attribute="Font" context="#pop" String="\\[fF]&roffid;"/>
+        <RegExpr attribute="Font" context="#pop" String="\\f([0-9]|\([0-9][0-9]|\[[0-9]+\])"/>
+        <RegExpr attribute="Font" context="#pop" String="\\s(\[([1-3][0-9]|[04-9])\]|[04-9]|[+-][0-9]|([+-]?\(|\([+-])[0-9][0-9])"/>
+        <Detect2Chars attribute="Escape" context="#pop" char="\\" char1="\\"/>
+        <RegExpr attribute="Escape" context="#pop" String="\\(\$[0-9*@]|[.:&#37; |^{}_!?@)/,&amp;:~0acdeEprtu])"/>
+        <RegExpr attribute="Escape" context="Argument" String="\\[ABDXZbow]&argsep1;"/>
+        <RegExpr attribute="Escape" context="#pop" String="\\[gkmMVYz]&roffid;"/>
+        <RegExpr attribute="Escape" context="#pop" String="\\O([0-4]|\[5[lrci][^]]\])"/>
+        <RegExpr attribute="Escape" context="Measurement" String="\\[hHSvx]&argsep1;"/>
+        <RegExpr attribute="Escape" context="Measurement" String="\\[lL]&argsep1;\|?"/> <!-- TODO - optional trailing &glyph; -->
+        <RegExpr attribute="Escape" context="Argument" String="\\R&argsep1;"/> <!-- TODO - &roffid; (register), measurement -->
+        <RegExpr attribute="Glyph" context="GlyphArgument" String="\\C&argsep1;"/>
+        <RegExpr attribute="Glyph" context="#pop" String="\\N&argsep2;[0-9]+\1"/>
+        <RegExpr attribute="Glyph" context="#pop" String="\\&roffid;"/>
+        <RegExpr attribute="Escape" context="#pop" String="\\$"/>
+        <DetectChar attribute="Error" context="#pop" char="\\"/>
+      </context>
+
+      <!-- directive start -->
+      <context name="DetectDirective" attribute="Other Macros" lineEndContext="#pop">
+        <keyword attribute="Layout Macros" context="Directive" String="layout"/>
+        <keyword attribute="Format Macros" context="Directive" String="formatting"/>
+        <keyword attribute="GNU Macros" context="Directive" String="gnuext"/>
+        <RegExpr attribute="Other Macros" context="dsDirective" String="\s*ds\b" column="1"/>
+        <RegExpr attribute="Other Macros" context="deDirective" String="\s*de\b" column="1" beginRegion="de"/>
+        <RegExpr attribute="Other Macros" context="daDirective" String="\s*da(?=\s+[A-Za-z]+)" column="1" beginRegion="di"/>
+        <RegExpr attribute="Other Macros" context="diDirective" String="\s*di(?=\s+[A-Za-z]+)" column="1" beginRegion="di"/>
+        <RegExpr attribute="Other Macros" context="Directive" String="\s*[A-Za-z]+\b" column="1"/>
+      </context>
+
+      <!-- comment -->
+      <context name="Comment" attribute="Comment" lineEndContext="#pop">
+        <IncludeRules context="##Alerts"/>
+      </context>
+
+      <!-- error -->
+      <context name="Error" attribute="Error" lineEndContext="#stay"/>
+
+      <!-- generic directive -->
+      <context name="Directive" attribute="Identifier" lineEndContext="#pop">
+        <Float attribute="Number" context="#stay"/>
+        <Int attribute="Number" context="#stay"/>
+        <Detect2Chars attribute="Comment" context="Comment" char="\\" char1="&quot;"/>
+        <IncludeRules context="DetectOthers"/>
+      </context>
+
+      <!-- quoted string -->
+      <context name="String" attribute="String" lineEndContext="#pop">
+        <Detect2Chars attribute="Escape" context="#stay" char="\\" char1="&quot;"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+        <IncludeRules context="DetectOthers"/>
+      </context>
+
+      <!-- \!, \? escapes -->
+      <context name="LiteralSL" attribute="Normal Text" lineEndContext="#pop"/>
+      <context name="LiteralIL" attribute="Normal Text" lineEndContext="Error">
+        <Detect2Chars attribute="Escape" context="#stay" char="\\" char1="\\"/>
+        <Detect2Chars attribute="Escape" context="#pop" char="\\" char1="?"/>
+      </context>
+
+      <!-- escape argument -->
+      <context name="Argument" attribute="String" lineEndContext="Error" dynamic="true">
+        <RegExpr attribute="Escape" context="#pop#pop" String="%1" dynamic="true"/>
+        <IncludeRules context="DetectOthers"/>
+      </context>
+
+      <!-- glyph escape argument -->
+      <context name="GlyphArgument" attribute="Glyph" lineEndContext="Error" dynamic="true">
+        <RegExpr attribute="Glyph" context="#pop#pop" String="%1" dynamic="true"/>
+      </context>
+
+      <!-- measurement (or expression) escape argument -->
+      <context name="Measurement" attribute="Error" lineEndContext="Error" dynamic="true">
+        <RegExpr attribute="Escape" context="#pop#pop" String="%1" dynamic="true"/>
+        <!-- TODO -->
+      </context>
+
+      <!-- .de directive -->
+      <context name="deDirective" attribute="Identifier" lineEndContext="deBody"/>
+      <context name="deBody" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars attribute="Other Macros" context="#pop#pop" char="." char1="." column="0" endRegion="de"/>
+        <IncludeRules context="Normal"/>
+      </context>
+
+      <!-- .di directives -->
+      <context name="diDirective" attribute="Identifier" lineEndContext="diBody"/>
+      <context name="diBody" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Other Macros" context="#pop#pop" String="\.\s*di\b" column="0" endRegion="di"/>
+        <Detect2Chars attribute="Escape" context="LiteralSL" char="\\" char1="!"/>
+        <Detect2Chars attribute="Escape" context="LiteralIL" char="\\" char1="?"/>
+        <IncludeRules context="Normal"/>
+      </context>
+
+      <!-- .da directives -->
+      <context name="daDirective" attribute="Identifier" lineEndContext="daBody"/>
+      <context name="daBody" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Other Macros" context="#pop#pop" String="\.\s*da\b" column="0" endRegion="di"/>
+        <Detect2Chars attribute="Escape" context="LiteralSL" char="\\" char1="!"/>
+        <Detect2Chars attribute="Escape" context="LiteralIL" char="\\" char1="?"/>
+        <IncludeRules context="Normal"/>
+      </context>
+
+      <!-- .ds directive -->
+      <context name="dsDirective" attribute="Identifier" lineEndContext="#pop">
+        <Int attribute="Number" context="#stay"/>
+        <Float attribute="Number" context="#stay"/>
+        <Detect2Chars attribute="Comment" context="Comment" char="\\" char1="&quot;"/>
+        <DetectChar attribute="String" context="dsString" char="&quot;"/>
+        <IncludeRules context="DetectOthers"/>
+      </context>
+
+      <!-- .ds quoted value -->
+      <context name="dsString" attribute="String" lineEndContext="#pop">
+        <IncludeRules context="DetectOthers"/>
+      </context>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text"    defStyleNum="dsNormal"/>
+      <itemData name="Comment"        defStyleNum="dsComment"/>
+      <itemData name="Layout Macros"  defStyleNum="dsKeyword"/>
+      <itemData name="Format Macros"  defStyleNum="dsKeyword"/>
+      <itemData name="GNU Macros"     defStyleNum="dsDataType"/>
+      <itemData name="Other Macros"   defStyleNum="dsFunction"/>
+      <itemData name="Identifier"     defStyleNum="dsString"/>
+      <itemData name="Number"         defStyleNum="dsDecVal"/>
+      <itemData name="Register"       defStyleNum="dsOthers"/>
+      <itemData name="Font"           defStyleNum="dsOthers"/>
+      <itemData name="Glyph"          defStyleNum="dsOthers"/>
+      <itemData name="Escape"         defStyleNum="dsChar"/>
+      <itemData name="String"         defStyleNum="dsString"/>
+      <itemData name="Error"          defStyleNum="dsError"/>
+    </itemDatas>
+
+  </highlighting>
+
+  <general>
+
+    <comments>
+      <comment name="singleLine" start=".\&quot;" />
+    </comments>
+
+    <keywords casesensitive="1"/>
+
+  </general>
+
+</language>
diff --git a/xml/ruby.xml b/xml/ruby.xml
new file mode 100644
--- /dev/null
+++ b/xml/ruby.xml
@@ -0,0 +1,924 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+
+<!--
+  Ruby syntax highlighting definition for Kate.
+
+  Copyright (C) 2004  by Sebastian Vuorinen (sebastian dot vuorinen at helsinki dot fi)
+  Copyright (C) 2004  by Stefan Lang (langstefan@gmx.at)
+  Copyright (C) 2008  by Robin Pedersen (robinpeder@gmail.com)
+  Copyright (C) 2011  by Miquel Sabaté (mikisabate@gmail.com)
+
+  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: Division after gdl contexts is interpreted as regexp
+-->
+
+<!-- Hold the "language" opening tag on a single line, as mentioned in "language.dtd". -->
+<language name="Ruby" section="Scripts"
+	  version="3" kateversion="3.3"
+	  extensions="*.rb;*.rjs;*.rxml;*.xml.erb;*.js.erb;*.rake;Rakefile;Gemfile;*.gemspec;Vagrantfile"
+	  mimetype="application/x-ruby"
+	  style="ruby" indenter="ruby"
+	  author="Stefan Lang (langstefan@gmx.at), Sebastian Vuorinen (sebastian.vuorinen@helsinki.fi), Robin Pedersen (robinpeder@gmail.com), Miquel Sabaté (mikisabate@gmail.com)" license="LGPLv2+">
+
+	<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> 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> 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> require_relative </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>
+		</list>
+
+                <list name="mixin-methods">
+                  <item>extend</item>
+                  <item>include</item>
+                  <item>prepend</item>
+                </list>
+
+		<contexts>
+			<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+				<!-- ruby ignores newline after \ -->
+				<LineContinue attribute="Normal Text" context="Line Continue"/>
+
+				<!-- __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 -->
+				<DetectChar attribute="Operator" char="{" context="Find closing block brace" beginRegion="def block"/>
+				<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" />
+				<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(else|elsif|rescue|ensure)\b" 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="check_div_2"/>
+
+				<!-- Check for "ASCII code operator". e.g.: ?a -->
+				<RegExpr attribute="Dec" String="\s\?(\\M\-)?(\\C\-)?\\?\S" context="check_div_1"/>
+
+				<keyword attribute="Keyword" String="keywords" context="#stay"/>
+				<keyword attribute="Attribute Definition" String="attribute-definitions"  context="check_div_2"/>
+				<keyword attribute="Access Control" String="access-control" context="check_div_2"/>
+				<keyword attribute="Definition" String="definitions"  context="#stay" />
+				<keyword attribute="Pseudo variable" String="pseudo-variables"  context="check_div_1"/>
+				<keyword attribute="Default globals" String="default-globals" context="check_div_2"/>
+				<keyword attribute="Kernel methods" String="kernel-methods" context="check_div_2"/>
+                                <keyword attribute="Module mixin methods" String="mixin-methods" context="check_div_2"/>
+
+				<!-- (global) vars starting with $
+						Match them before $_.
+				-->
+				<RegExpr attribute="Global Variable" String="\$[a-zA-Z_0-9]+" context="check_div_1"/>
+				<RegExpr attribute="Global Variable" String="\$\-[a-zA-z_]\b" context="check_div_1"/>
+				<!-- special-character globals -->
+				<RegExpr attribute="Default globals" String="\$[\d_*`+@;,.~=\!\$:?'/\\\-\&amp;&quot;&gt;&lt;]" context="check_div_1"/>
+				<RegExpr attribute="Global Constant" String="\b[_A-Z]+[A-Z_0-9]+\b" context="check_div_2"/>
+				<!-- 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="check_div_2"/>
+
+				<!-- Numeric values. Note that we have to allow underscores between two digits (thus the creepy regular expressions). -->
+				<RegExpr attribute="Hex" String="\b\-?0[xX]([0-9a-fA-F]|_[0-9a-fA-F])+" context="check_div_1"/>
+				<RegExpr attribute="Bin" String="\b\-?0[bB]([01]|_[01])+" context="check_div_1"/>
+				<RegExpr attribute="Octal" String="\b\-?0[1-7]([0-7]|_[0-7])*" context="check_div_1"/>
+				<RegExpr attribute="Float" String="\b\-?[0-9]([0-9]|_[0-9])*\.[0-9]([0-9]|_[0-9])*([eE]\-?[1-9]([0-9]|_[0-9])*(\.[0-9]*)?)?" context="check_div_1"/>
+				<RegExpr attribute="Dec" String="\b\-?[1-9]([0-9]|_[0-9])*\b" context="check_div_1"/>
+				<Int attribute="Dec" context="check_div_1"/>
+				<HlCChar attribute="Char" context="check_div_1"/>
+
+				<!-- Check for =begin before assignment operator. -->
+				<RegExpr attribute="Blockcomment" String="^=begin(?:\s|$)" context="Embedded documentation" beginRegion="comment block" column="0"/>
+
+				<!-- recognize the beginning of a HEREDOC
+					This uses new features in Kate 2.3 and later
+
+					There is no other chance of keeping heredoc apart from the
+					push operator '<<' than requiring to put space between the operator
+					and the string.
+				-->
+				<RegExpr attribute="Operator" context="find_indented_heredoc" String="\s*&lt;&lt;-(?=\w+|[&quot;'])" beginRegion="HereDocument" />
+				<RegExpr attribute="Operator" context="find_heredoc" String="\s*&lt;&lt;(?=\w+|[&quot;'])" beginRegion="HereDocument" />
+
+				<DetectChar attribute="Operator" char="." context="#stay"/>
+				<Detect2Chars attribute="Operator" char="&amp;" char1="&amp;" context="#stay"/>
+				<Detect2Chars attribute="Operator" char="|" char1="|" context="#stay"/>
+				<RegExpr attribute="Operator" String="\s[\?\:\%]\s" context="#stay"/>
+				<RegExpr attribute="Operator" String="[|&amp;&lt;&gt;\^\+*~\-=]+" context="#stay"/>
+				<!-- regexp hack -->
+				<RegExpr attribute="Operator" String="\s!" context="#stay"/>
+				<RegExpr attribute="Operator" String="/=\s" context="#stay" insensitive="0"/>
+				<StringDetect attribute="Operator" String="%=" context="#stay" insensitive="0"/>
+				<Detect2Chars attribute="Operator" char=":" char1=":" context="Member Access"/>
+
+				<RegExpr attribute="Symbol" String=":(@{1,2}|\$)?[a-zA-Z_][a-zA-Z0-9_]*[=?!]?" context="check_div_1"/>
+				<RegExpr attribute="Symbol" String=":\[\]=?" context="check_div_1"/>
+
+				<RegExpr attribute="Symbol" String="(@{1,2}|\$)?[a-zA-Z_][a-zA-Z0-9_]*[=?!]?: " context="check_div_1"/>
+				<RegExpr attribute="Symbol" String="\[\]=?: " context="check_div_1"/>
+
+				<DetectChar attribute="String" char="&quot;" context="Quoted String"/>
+				<DetectChar attribute="Raw String" char="'" context="Apostrophed String"/>
+				<DetectChar attribute="Command" char="`" context="Command String"/>
+
+				<StringDetect attribute="Normal Text" String="?#" context="#stay"/>
+
+				<RegExpr attribute="Comment" String="#\s*BEGIN.*$"  context="#stay" beginRegion="marker" column="0"/>
+				<RegExpr attribute="Comment" String="#\s*END.*$"  context="#stay" endRegion="marker" column="0"/>
+				<DetectChar attribute="Comment" char="#" context="General Comment"/>
+
+				<DetectChar attribute="Delimiter" char="["  context="#stay"/>
+				<DetectChar attribute="Delimiter" char="]"  context="check_div_1"/>
+				<DetectChar attribute="Delimiter" char="{" context="#stay" beginRegion="def block"/>
+				<DetectChar attribute="Delimiter" char="}" context="check_div_1" endRegion="def block"/>
+
+				<RegExpr attribute="Instance Variable" String="@[a-zA-Z_0-9]+" context="check_div_1"/>
+				<RegExpr attribute="Class Variable" String="@@[a-zA-Z_0-9]+" context="check_div_1"/>
+
+				<!-- 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*[%](?=[QqxwW]?[^\s])" beginRegion="GdlInput" />
+
+				<DetectChar attribute="Normal Text" char=")" context="check_div_1"/>
+				<DetectIdentifier attribute="Normal Text" context="check_div_2"/>
+
+			</context>
+
+			<!-- In the following contexts, a slash character ('/') is a division operator -->
+			<!-- Everywhere else, it's a regular expression delimiter -->
+
+			<!-- A slash is always a division operator, even if preceeded by whitespace -->
+			<context name="check_div_1" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop" lineEndContext="#pop">
+				<RegExpr attribute="Normal Text" String="\s*" context="#stay"/>
+				<AnyChar attribute="Operator" String="/%" context="#pop"/>
+			</context>
+
+			<!-- Same as check_div_1, but with double pop to exit the surrounding context -->
+			<context name="check_div_1_pop" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop#pop" lineEndContext="#pop#pop">
+				<RegExpr attribute="Normal Text" String="\s*" context="#stay"/>
+				<AnyChar attribute="Operator" String="/%" context="#pop#pop"/>
+			</context>
+
+			<!-- A slash is division operator if it's the first character, or if preceeded and followed by whitespace -->
+			<context name="check_div_2" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop" lineEndContext="#pop">
+				<AnyChar attribute="Operator" String="/%" context="#pop"/>
+				<RegExpr attribute="Normal Text" String="\s+" context="check_div_2_internal"/>
+			</context>
+
+			<!-- Internal context used by check_div_2 -->
+			<context name="check_div_2_internal" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop#pop" lineEndContext="#pop#pop">
+<!-- 				<DetectChar attribute="Operator" char="%" context="#pop#pop"/> -->
+				<RegExpr attribute="Operator" String="[/%](?=\s)" context="#pop#pop"/>
+			</context>
+
+			<!-- Same as check_div_2, but with double pop to exit the surrounding context -->
+			<context name="check_div_2_pop" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop#pop" lineEndContext="#pop#pop">
+				<AnyChar attribute="Operator" String="/%" context="#pop#pop"/>
+				<RegExpr attribute="Normal Text" String="\s+" context="check_div_2_pop_internal"/>
+			</context>
+
+			<!-- Internal context used by check_div_2_pop -->
+			<context name="check_div_2_pop_internal" attribute="Normal Text" fallthrough="true" fallthroughContext="#pop#pop#pop" lineEndContext="#pop#pop#pop">
+				<DetectChar attribute="Operator" char="%" context="#pop#pop#pop"/>
+				<RegExpr attribute="Operator" String="/(?=\s)" context="#pop#pop#pop"/>
+			</context>
+
+			<context name="Line Continue" attribute="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="Normal"/>
+			</context>
+
+			<context name="Find closing block brace" attribute="Normal Text" lineEndContext="#stay">
+				<DetectChar attribute="Operator" char="}" context="check_div_1_pop" endRegion="def block"/>
+				<IncludeRules context="Normal"/>
+			</context>
+
+			<context name="Quoted String" attribute="String" lineEndContext="#stay">
+				<StringDetect attribute="String" String="\\" context="#stay"/>
+				<RegExpr attribute="String" String="\\\&quot;" context="#stay"/>
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+				<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+				<DetectChar char="&quot;" attribute="String" context="check_div_1_pop"/>
+			</context>
+
+			<context name="Apostrophed String" attribute="Raw String" lineEndContext="#stay">
+				<StringDetect attribute="String" String="\\" context="#stay"/>
+				<RegExpr attribute="String" String="\\\'" context="#stay"/>
+				<DetectChar char="'" attribute="Raw String" context="check_div_1_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"/>
+				<DetectChar char="`" attribute="Command" context="check_div_1_pop"/>
+			</context>
+
+			<context name="Embedded documentation" attribute="Blockcomment" lineEndContext="#stay">
+				<RegExpr attribute="Comment" String="^=end(?:\s.*|$)" context="#pop" endRegion="comment block" column="0"/>
+				<IncludeRules context="##Alerts" />
+			</context>
+
+			<context name="RegEx 1" attribute="Regular Expression" lineEndContext="#stay">
+				<RegExpr attribute="Regular Expression" String="\\\/" context="#stay"/>
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+				<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+				<RegExpr attribute="Regular Expression" String="/[uiomxn]*" context="check_div_1_pop"/>
+			</context>
+
+			<!-- Substitutions can be nested -->
+			<context name="Subst" attribute="Normal Text" lineEndContext="#stay">
+				<DetectChar attribute="Substitution" char="}" context="#pop"/>
+				<!-- Highlight substitution as code. -->
+				<IncludeRules context="Normal"/>
+			</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="check_div_2_pop"/>
+				<RegExpr attribute="Message" String="\.?[_a-z]\w*(\?|\!)?" context="#stay"/>
+				<RegExpr attribute="Constant" String="[A-Z]+_*(\d|[a-z])\w*(?=[^\w\d\.\:])" context="check_div_2_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="check_div_2_pop"/>
+				<RegExpr attribute="Constant Value" String="[_A-Z][_A-Z0-9]*" context="#stay"/>
+				<Detect2Chars attribute="Operator" char=":" char1=":" context="#stay"/>
+				<DetectChar attribute="Member" char="." context="#stay"/>
+
+				<AnyChar attribute="Operator" String="=+-*/%|&amp;[]{}~" context="#pop"/>
+				<DetectChar attribute="Comment" char="#" context="#pop"/>
+				<AnyChar attribute="Normal Text" String="()\" context="#pop"/>
+				<RegExpr attribute="Member" String="\W" context="#pop"/>
+			</context>
+
+			<context name="Comment Line" attribute="Comment" lineEndContext="#pop">
+				<RegExpr attribute="Comment" String="\w\:\:\s" context="RDoc Label"/>
+				<IncludeRules context="##Alerts" />
+			</context>
+
+			<context name="General Comment" attribute="Comment" lineEndContext="#pop">
+				<IncludeRules context="##Alerts" />
+			</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="Normal Text" lineEndContext="#pop" >
+				<RegExpr attribute="Keyword" context="apostrophed_normal_heredoc" String="'(\w+)'" />
+				<RegExpr attribute="Keyword" context="normal_heredoc" String="&quot;?(\w+)&quot;?" />
+			</context>
+			<context name="find_indented_heredoc" attribute="Normal Text" lineEndContext="#pop" >
+				<RegExpr attribute="Keyword" context="apostrophed_indented_heredoc" String="'(\w+)'" />
+				<RegExpr attribute="Keyword" context="indented_heredoc" String="&quot;?(\w+)&quot;?" />
+			</context>
+			<!-- these are the real heredoc contexts -->
+			<context name="indented_heredoc" attribute="Here Document" lineEndContext="#stay" dynamic="true">
+				<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="Here Document" lineEndContext="#stay" dynamic="true">
+				<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" firstNonSpace="true"/>
+			</context>
+
+			<context name="normal_heredoc" attribute="Here Document" lineEndContext="#stay" dynamic="true">
+				<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="Here Document" lineEndContext="#stay" dynamic="true">
+				<RegExpr attribute="Keyword" context="#pop#pop" String="%1$" dynamic="true" endRegion="HereDocument" column="0"/>
+			</context>
+
+			<!-- rules for heredoc types -->
+			<context name="heredoc_rules" attribute="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="Normal Text" lineEndContext="#pop">
+
+				<!-- handle token arrays -->
+				<RegExpr attribute="GDL input" context="gdl_token_array_1" String="w\(" />
+				<RegExpr attribute="GDL input" context="gdl_token_array_2" String="w\{" />
+				<RegExpr attribute="GDL input" context="gdl_token_array_3" String="w\[" />
+				<RegExpr attribute="GDL input" context="gdl_token_array_4" String="w&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_token_array_5" String="w([^\s\w])" />
+
+				<!-- handle token arrays -->
+				<RegExpr attribute="GDL input" context="gdl_token_array_1" String="W\(" />
+				<RegExpr attribute="GDL input" context="gdl_token_array_2" String="W\{" />
+				<RegExpr attribute="GDL input" context="gdl_token_array_3" String="W\[" />
+				<RegExpr attribute="GDL input" context="gdl_token_array_4" String="W&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_token_array_5" String="W([^\s\w])" />
+
+				<!-- handle apostrophed strings -->
+				<RegExpr attribute="GDL input" context="gdl_apostrophed_1" String="q\(" />
+				<RegExpr attribute="GDL input" context="gdl_apostrophed_2" String="q\{" />
+				<RegExpr attribute="GDL input" context="gdl_apostrophed_3" String="q\[" />
+				<RegExpr attribute="GDL input" context="gdl_apostrophed_4" String="q&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_apostrophed_5" String="q([^\s\w])" />
+
+				<!-- handle shell commands -->
+				<RegExpr attribute="GDL input" context="gdl_shell_command_1" String="x\(" />
+				<RegExpr attribute="GDL input" context="gdl_shell_command_2" String="x\{" />
+				<RegExpr attribute="GDL input" context="gdl_shell_command_3" String="x\[" />
+				<RegExpr attribute="GDL input" context="gdl_shell_command_4" String="x&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_shell_command_5" String="x([^\s\w])" />
+
+				<!-- handle regular expressions -->
+				<RegExpr attribute="GDL input" context="gdl_regexpr_1" String="r\(" />
+				<RegExpr attribute="GDL input" context="gdl_regexpr_2" String="r\{" />
+				<RegExpr attribute="GDL input" context="gdl_regexpr_3" String="r\[" />
+				<RegExpr attribute="GDL input" context="gdl_regexpr_4" String="r&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_regexpr_5" String="r([^\s\w])" />
+
+				<!-- handle double-quoted strings -->
+				<!--
+					  be careful to make this the last GDL ruleset, because the rule for
+					  the short form %?foo? will otherwise catch any of the other formats
+				-->
+				<RegExpr attribute="GDL input" context="gdl_dq_string_1" String="Q?\(" />
+				<RegExpr attribute="GDL input" context="gdl_dq_string_2" String="Q?\{" />
+				<RegExpr attribute="GDL input" context="gdl_dq_string_3" String="Q?\[" />
+				<RegExpr attribute="GDL input" context="gdl_dq_string_4" String="Q?&lt;" />
+				<!-- then we handle the 'any char' format -->
+				<RegExpr attribute="GDL input" context="gdl_dq_string_5" String="Q?([^\s\w])" />
+
+			</context>
+			<!-- double-quoted string specific contexts follow -->
+			<context name="gdl_dq_string_1" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="dq_string_rules" />
+				<Detect2Chars attribute="String" char="\" char1=")" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_dq_string_1_nested" char="(" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_dq_string_1_nested" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="dq_string_rules" />
+				<DetectChar attribute="String" context="gdl_dq_string_1_nested" char="(" />
+				<DetectChar attribute="String" context="#pop" char=")" />
+			</context>
+			<!-- note that here substitution should win over nesting -->
+			<context name="gdl_dq_string_2" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="dq_string_rules" />
+				<Detect2Chars attribute="String" char="\" char1="}" context="#stay"/>
+				<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+				<DetectChar attribute="String" context="gdl_dq_string_2_nested" char="{" />
+			</context>
+			<context name="gdl_dq_string_2_nested" attribute="String" lineEndContext="#stay" >
+				<DetectChar attribute="String" context="gdl_dq_string_2_nested" char="{" />
+				<DetectChar attribute="String" context="#pop" char="}" />
+				<IncludeRules context="dq_string_rules" />
+			</context>
+
+			<context name="gdl_dq_string_3" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="dq_string_rules" />
+				<Detect2Chars attribute="String" char="\" char1="]" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_dq_string_3_nested" char="[" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_dq_string_3_nested" attribute="String" lineEndContext="#stay" >
+				<DetectChar attribute="String" context="gdl_dq_string_3_nested" char="[" />
+				<DetectChar attribute="String" context="#pop" char="]" />
+				<IncludeRules context="dq_string_rules" />
+			</context>
+
+			<context name="gdl_dq_string_4" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="dq_string_rules" />
+				<Detect2Chars attribute="String" char="\" char1="&gt;" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_dq_string_4_nested" char="&lt;" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_dq_string_4_nested" attribute="String" lineEndContext="#stay" >
+				<DetectChar attribute="String" context="gdl_dq_string_4_nested" char="&lt;" />
+				<DetectChar attribute="String" context="#pop" char="&gt;" />
+				<IncludeRules context="dq_string_rules" />
+			</context>
+
+			<!-- this format doesn't allow nesting. it is terminated by the next occurrence of the
+				delimiter character
+			 -->
+			<context name="gdl_dq_string_5" attribute="String" lineEndContext="#stay" dynamic="true">
+				<IncludeRules context="dq_string_rules" />
+				<RegExpr attribute="String" String="\\%1" context="#stay" dynamic="true" />
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+			</context>
+			<!-- rules to be included in all dq_string contexts -->
+			<context name="dq_string_rules" attribute="String" lineEndContext="#stay" >
+				<Detect2Chars attribute="String" char="\" char1="\" context="#stay"/>
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+				<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+			</context>
+
+			<!-- token array specific contexts -->
+
+			<context name="gdl_token_array_1" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<Detect2Chars attribute="String" char="\" char1=")" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_token_array_1_nested" char="(" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_token_array_1_nested" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<DetectChar attribute="String" context="gdl_token_array_1_nested" char="(" />
+				<DetectChar attribute="String" context="#pop" char=")" />
+			</context>
+
+			<context name="gdl_token_array_2" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<Detect2Chars attribute="String" char="\" char1="}" context="#stay"/>
+				<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+				<DetectChar attribute="String" context="gdl_token_array_2_nested" char="{" />
+			</context>
+			<context name="gdl_token_array_2_nested" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<DetectChar attribute="String" context="gdl_token_array_2_nested" char="{" />
+				<DetectChar attribute="String" context="#pop" char="}" />
+			</context>
+
+			<context name="gdl_token_array_3" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<Detect2Chars attribute="String" char="\" char1="]" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_token_array_3_nested" char="[" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_token_array_3_nested" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<DetectChar attribute="String" context="gdl_token_array_3_nested" char="[" />
+				<DetectChar attribute="String" context="#pop" char="]" />
+			</context>
+
+			<context name="gdl_token_array_4" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<Detect2Chars attribute="String" char="\" char1="&gt;" context="#stay"/>
+				<DetectChar attribute="String" context="gdl_token_array_4_nested" char="&lt;" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_token_array_4_nested" attribute="String" lineEndContext="#stay" >
+				<IncludeRules context="token_array_rules" />
+				<DetectChar attribute="String" context="gdl_token_array_4_nested" char="&lt;" />
+				<DetectChar attribute="String" context="#pop" char="&gt;" />
+			</context>
+
+			<!-- this format doesn't allow nesting. it is terminated by the next occurrence of the
+				delimiter character
+			 -->
+			<context name="gdl_token_array_5" attribute="String" lineEndContext="#stay" dynamic="true">
+				<IncludeRules context="token_array_rules" />
+				<RegExpr attribute="String" String="\\%1" context="#stay" dynamic="true"/>
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+			</context>
+
+			<!-- rules to be included in all token_array contexts -->
+			<context name="token_array_rules" attribute="String" lineEndContext="#stay" >
+				<StringDetect attribute="String" String="\\" context="#stay"/>
+			</context>
+
+			<!-- apostrophed string specific contexts -->
+
+			<context name="gdl_apostrophed_1" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<Detect2Chars attribute="Raw String" char="\" char1=")" context="#stay"/>
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_1_nested" char="(" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_apostrophed_1_nested" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_1_nested" char="(" />
+				<DetectChar attribute="Raw String" context="#pop" char=")" />
+			</context>
+
+			<context name="gdl_apostrophed_2" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<Detect2Chars attribute="Raw String" char="\" char1="}" context="#stay"/>
+				<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_2_nested" char="{" />
+			</context>
+			<context name="gdl_apostrophed_2_nested" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_2_nested" char="{" />
+				<DetectChar attribute="Raw String" context="#pop" char="}" />
+			</context>
+
+			<context name="gdl_apostrophed_3" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<Detect2Chars attribute="Raw String" char="\" char1="]" context="#stay"/>
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_3_nested" char="[" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_apostrophed_3_nested" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_3_nested" char="[" />
+				<DetectChar attribute="Raw String" context="#pop" char="]" />
+			</context>
+
+			<context name="gdl_apostrophed_4" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<Detect2Chars attribute="Raw String" char="\" char1="&gt;" context="#stay"/>
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="&lt;" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_apostrophed_4_nested" attribute="Raw String" lineEndContext="#stay" >
+				<IncludeRules context="apostrophed_rules" />
+				<DetectChar attribute="Raw String" context="gdl_apostrophed_4_nested" char="&lt;" />
+				<DetectChar attribute="Raw String" context="#pop" char="&gt;" />
+			</context>
+
+			<!-- this format doesn't allow nesting. it is terminated by the next occurrence of the
+				delimiter character
+			 -->
+			<context name="gdl_apostrophed_5" attribute="Raw String" lineEndContext="#stay" dynamic="true">
+				<IncludeRules context="apostrophed_rules" />
+				<RegExpr attribute="Raw String" String="\\%1" context="#stay" dynamic="true"/>
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+			</context>
+
+			<!-- rules to be included in all apostrophed contexts -->
+			<context name="apostrophed_rules" attribute="Raw String" lineEndContext="#stay" >
+				<Detect2Chars attribute="Raw String" char="\" char1="\" context="#stay"/>
+			</context>
+
+			<!-- shell command specific contexts -->
+
+			<context name="gdl_shell_command_1" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<Detect2Chars attribute="Command" char="\" char1=")" context="#stay"/>
+				<DetectChar attribute="Command" context="gdl_shell_command_1_nested" char="(" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char=")" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_shell_command_1_nested" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<DetectChar attribute="Command" context="gdl_shell_command_1_nested" char="(" />
+				<DetectChar attribute="Command" context="#pop" char=")" />
+			</context>
+
+			<context name="gdl_shell_command_2" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<Detect2Chars attribute="Command" char="\" char1="}" context="#stay"/>
+				<DetectChar attribute="GDL input" context="#pop#pop" char="}" endRegion="GdlInput" />
+				<DetectChar attribute="Command" context="gdl_shell_command_2_nested" char="{" />
+			</context>
+			<context name="gdl_shell_command_2_nested" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<DetectChar attribute="Command" context="gdl_shell_command_2_nested" char="{" />
+				<DetectChar attribute="Command" context="#pop" char="}" />
+			</context>
+
+			<context name="gdl_shell_command_3" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<Detect2Chars attribute="Command" char="\" char1="]" context="#stay"/>
+				<DetectChar attribute="Command" context="gdl_shell_command_3_nested" char="[" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="]" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_shell_command_3_nested" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<DetectChar attribute="Command" context="gdl_shell_command_3_nested" char="[" />
+				<DetectChar attribute="Command" context="#pop" char="]" />
+			</context>
+
+			<context name="gdl_shell_command_4" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<Detect2Chars attribute="Command" char="\" char1="&gt;" context="#stay"/>
+				<DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="&lt;" />
+				<DetectChar attribute="GDL input" context="#pop#pop" char="&gt;" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_shell_command_4_nested" attribute="Command" lineEndContext="#stay" >
+				<IncludeRules context="shell_command_rules" />
+				<DetectChar attribute="Command" context="gdl_shell_command_4_nested" char="&lt;" />
+				<DetectChar attribute="Command" context="#pop" char="&gt;" />
+			</context>
+
+			<!-- this format doesn't allow nesting. it is terminated by the next occurrence of the
+				delimiter character
+			 -->
+			<context name="gdl_shell_command_5" attribute="Command" lineEndContext="#stay" dynamic="true">
+				<IncludeRules context="shell_command_rules" />
+				<RegExpr attribute="Command" String="\\%1" context="#stay" dynamic="true" />
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\s*%1" dynamic="true" endRegion="GdlInput" />
+			</context>
+
+			<!-- rules to be included in all shell_command contexts -->
+			<context name="shell_command_rules" attribute="Command" lineEndContext="#stay" >
+				<Detect2Chars attribute="Command" char="\" char1="\" context="#stay"/>
+				<RegExpr attribute="Substitution" String="#@{1,2}" context="Short Subst"/>
+				<Detect2Chars attribute="Substitution" char="#" char1="{" context="Subst"/>
+			</context>
+
+			<!-- regular expression specific contexts -->
+
+			<context name="gdl_regexpr_1" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<Detect2Chars attribute="Regular Expression" char="\" char1=")" context="#stay"/>
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_1_nested" char="(" />
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\)[uiomxn]*" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_regexpr_1_nested" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_1_nested" char="(" />
+				<DetectChar attribute="Regular Expression" context="#pop" char=")" />
+			</context>
+
+			<context name="gdl_regexpr_2" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<Detect2Chars attribute="Regular Expression" char="\" char1="}" context="#stay"/>
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\}[uiomxn]*" endRegion="GdlInput" />
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_2_nested" char="{" />
+			</context>
+			<context name="gdl_regexpr_2_nested" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_2_nested" char="{" />
+				<DetectChar attribute="Regular Expression" context="#pop" char="}" />
+			</context>
+
+			<context name="gdl_regexpr_3" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<Detect2Chars attribute="Regular Expression" char="\" char1="]" context="#stay"/>
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_3_nested" char="[" />
+				<RegExpr attribute="GDL input" context="#pop#pop" String="\][uiomxn]*" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_regexpr_3_nested" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_3_nested" char="[" />
+				<DetectChar attribute="Regular Expression" context="#pop" char="]" />
+			</context>
+
+			<context name="gdl_regexpr_4" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<Detect2Chars attribute="Regular Expression" char="\" char1="&gt;" context="#stay"/>
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="&lt;" />
+				<RegExpr attribute="GDL input" context="#pop#pop" String="&gt;[uiomxn]*" endRegion="GdlInput" />
+			</context>
+			<context name="gdl_regexpr_4_nested" attribute="Regular Expression" lineEndContext="#stay" >
+				<IncludeRules context="regexpr_rules" />
+				<DetectChar attribute="Regular Expression" context="gdl_regexpr_4_nested" char="&lt;" />
+				<DetectChar attribute="Regular Expression" context="#pop" char="&gt;" />
+			</context>
+
+			<!-- this format doesn't allow nesting. it is terminated by the next occurrence 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"/>
+		</contexts>
+
+		<itemDatas>
+			<itemData name="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="Module mixin 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="Comment" defStyleNum="dsComment"/>
+			<itemData name="Blockcomment" defStyleNum="dsComment"/>
+			<itemData name="Region Marker" defStyleNum="dsNormal" color="#0000ff"/>
+			<itemData name="RDoc Value" defStyleNum="dsOthers"/>
+
+			<itemData name="Here Document" defStyleNum="dsOthers"/>
+
+			<!-- use these to mark errors and alerts things -->
+			<itemData name="Error" defStyleNum="dsError" />
+
+			<itemData name="Delimiter" defStyleNum="dsNormal" color="#FF9FEC"/>
+			<itemData name="Expression" defStyleNum="dsOthers"/>
+			<itemData name="Operator" defStyleNum="dsNormal" color="#FF9FEC"/>
+		</itemDatas>
+	</highlighting>
+	<general>
+		<comments>
+			<comment name="singleLine" start="#"/>
+		</comments>
+		<keywords casesensitive="1" weakDeliminator="!?"/>
+	</general>
+</language>
diff --git a/xml/rust.xml b/xml/rust.xml
new file mode 100644
--- /dev/null
+++ b/xml/rust.xml
@@ -0,0 +1,366 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Copyright (c) 2015 The Rust Project Developers
+
+    Permission is hereby granted, free of charge, to any
+    person obtaining a copy of this software and associated
+    documentation files (the "Software"), to deal in the
+    Software without restriction, including without
+    limitation the rights to use, copy, modify, merge,
+    publish, distribute, sublicense, and/or sell copies of
+    the Software, and to permit persons to whom the Software
+    is furnished to do so, subject to the following
+    conditions:
+
+    The above copyright notice and this permission notice
+    shall be included in all copies or substantial portions
+    of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+    ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+    TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+    PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+    SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+    CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+    IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+    DEALINGS IN THE SOFTWARE.
+-->
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+	<!-- FIXME: Kate's regex engine has very limited support for
+	predefined char classes, so making rustIdent consistent with actual
+	Rust identifiers will be a bit difficult -->
+	<!ENTITY rustIdent "[a-zA-Z_][a-zA-Z_0-9]*">
+	<!ENTITY rustIntSuf "([iu](8|16|32|64)?)?">
+]>
+<language name="Rust" version="4" kateversion="5.0" section="Sources" extensions="*.rs" mimetype="text/rust" priority="15" license="MIT" author="The Rust Project Developers">
+<highlighting>
+	<list name="fn">
+		<item> fn </item>
+	</list>
+	<list name="type">
+		<item> type </item>
+	</list>
+	<list name="keywords">
+		<item> abstract </item>
+		<item> alignof </item>
+		<item> as </item>
+		<item> become </item>
+		<item> box </item>
+		<item> break </item>
+		<item> const </item>
+		<item> continue </item>
+		<item> crate </item>
+		<item> do </item>
+		<item> else </item>
+		<item> enum </item>
+		<item> extern </item>
+		<item> final </item>
+		<item> for </item>
+		<item> if </item>
+		<item> impl </item>
+		<item> in </item>
+		<item> let </item>
+		<item> loop </item>
+		<item> macro </item>
+		<item> match </item>
+		<item> mod </item>
+		<item> move </item>
+		<item> mut </item>
+		<item> offsetof </item>
+		<item> override </item>
+		<item> priv </item>
+		<item> proc </item>
+		<item> pub </item>
+		<item> pure </item>
+		<item> ref </item>
+		<item> return </item>
+		<item> Self </item>
+		<item> self </item>
+		<item> sizeof </item>
+		<item> static </item>
+		<item> struct </item>
+		<item> super </item>
+		<item> trait </item>
+		<item> type </item>
+		<item> typeof </item>
+		<item> unsafe </item>
+		<item> unsized </item>
+		<item> use </item>
+		<item> virtual </item>
+		<item> where </item>
+		<item> while </item>
+		<item> yield </item>
+	</list>
+	<list name="traits">
+		<item> AsSlice </item>
+		<item> CharExt </item>
+		<item> Clone </item>
+		<item> Copy </item>
+		<item> Debug </item>
+		<item> Decodable </item>
+		<item> Default </item>
+		<item> Display </item>
+		<item> DoubleEndedIterator </item>
+		<item> Drop </item>
+		<item> Encodable </item>
+		<item> Eq </item>
+		<item> Default </item>
+		<item> Extend </item>
+		<item> Fn </item>
+		<item> FnMut </item>
+		<item> FnOnce </item>
+		<item> FromPrimitive </item>
+		<item> Hash </item>
+		<item> Iterator </item>
+		<item> IteratorExt </item>
+		<item> MutPtrExt </item>
+		<item> Ord </item>
+		<item> PartialEq </item>
+		<item> PartialOrd </item>
+		<item> PtrExt </item>
+		<item> Rand </item>
+		<item> Send </item>
+		<item> Sized </item>
+		<item> SliceConcatExt </item>
+		<item> SliceExt </item>
+		<item> Str </item>
+		<item> StrExt </item>
+		<item> Sync </item>
+		<item> ToString </item>
+	</list>
+	<list name="types">
+		<item> bool </item>
+		<item> int </item>
+		<item> isize </item>
+		<item> uint </item>
+		<item> usize </item>
+		<item> i8 </item>
+		<item> i16 </item>
+		<item> i32 </item>
+		<item> i64 </item>
+		<item> u8 </item>
+		<item> u16 </item>
+		<item> u32 </item>
+		<item> u64 </item>
+		<item> f32 </item>
+		<item> f64 </item>
+		<item> float </item>
+		<item> char </item>
+		<item> str </item>
+		<item> Option </item>
+		<item> Result </item>
+		<item> Self </item>
+		<item> Box </item>
+		<item> Vec </item>
+		<item> String </item>
+	</list>
+	<list name="ctypes">
+		<item> c_float </item>
+		<item> c_double </item>
+		<item> c_void </item>
+		<item> FILE </item>
+		<item> fpos_t </item>
+		<item> DIR </item>
+		<item> dirent </item>
+		<item> c_char </item>
+		<item> c_schar </item>
+		<item> c_uchar </item>
+		<item> c_short </item>
+		<item> c_ushort </item>
+		<item> c_int </item>
+		<item> c_uint </item>
+		<item> c_long </item>
+		<item> c_ulong </item>
+		<item> size_t </item>
+		<item> ptrdiff_t </item>
+		<item> clock_t </item>
+		<item> time_t </item>
+		<item> c_longlong </item>
+		<item> c_ulonglong </item>
+		<item> intptr_t </item>
+		<item> uintptr_t </item>
+		<item> off_t </item>
+		<item> dev_t </item>
+		<item> ino_t </item>
+		<item> pid_t </item>
+		<item> mode_t </item>
+		<item> ssize_t </item>
+	</list>
+	<list name="self">
+		<item> self </item>
+	</list>
+	<list name="constants">
+		<item> true </item>
+		<item> false </item>
+		<item> Some </item>
+		<item> None </item>
+		<item> Ok </item>
+		<item> Err </item>
+		<item> Success </item>
+		<item> Failure </item>
+		<item> Cons </item>
+		<item> Nil </item>
+	</list>
+	<list name="cconstants">
+		<item> EXIT_FAILURE </item>
+		<item> EXIT_SUCCESS </item>
+		<item> RAND_MAX </item>
+		<item> EOF </item>
+		<item> SEEK_SET </item>
+		<item> SEEK_CUR </item>
+		<item> SEEK_END </item>
+		<item> _IOFBF </item>
+		<item> _IONBF </item>
+		<item> _IOLBF </item>
+		<item> BUFSIZ </item>
+		<item> FOPEN_MAX </item>
+		<item> FILENAME_MAX </item>
+		<item> L_tmpnam </item>
+		<item> TMP_MAX </item>
+		<item> O_RDONLY </item>
+		<item> O_WRONLY </item>
+		<item> O_RDWR </item>
+		<item> O_APPEND </item>
+		<item> O_CREAT </item>
+		<item> O_EXCL </item>
+		<item> O_TRUNC </item>
+		<item> S_IFIFO </item>
+		<item> S_IFCHR </item>
+		<item> S_IFBLK </item>
+		<item> S_IFDIR </item>
+		<item> S_IFREG </item>
+		<item> S_IFMT </item>
+		<item> S_IEXEC </item>
+		<item> S_IWRITE </item>
+		<item> S_IREAD </item>
+		<item> S_IRWXU </item>
+		<item> S_IXUSR </item>
+		<item> S_IWUSR </item>
+		<item> S_IRUSR </item>
+		<item> F_OK </item>
+		<item> R_OK </item>
+		<item> W_OK </item>
+		<item> X_OK </item>
+		<item> STDIN_FILENO </item>
+		<item> STDOUT_FILENO </item>
+		<item> STDERR_FILENO </item>
+	</list>
+	<contexts>
+		<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+			<DetectSpaces/>
+			<keyword String="fn" attribute="Keyword" context="Function"/>
+			<keyword String="type" attribute="Keyword" context="Type"/>
+			<keyword String="keywords" attribute="Keyword" context="#stay"/>
+			<keyword String="types" attribute="Type" context="#stay"/>
+			<keyword String="traits" attribute="Trait" context="#stay"/>
+			<keyword String="ctypes" attribute="CType" context="#stay"/>
+			<keyword String="self" attribute="Self" context="#stay"/>
+			<keyword String="constants" attribute="Constant" context="#stay"/>
+			<keyword String="cconstants" attribute="CConstant" context="#stay"/>
+			<Detect2Chars char="/" char1="/" attribute="Comment" context="Commentar 1"/>
+			<Detect2Chars char="/" char1="*" attribute="Comment" context="Commentar 2" beginRegion="Comment"/>
+			<RegExpr String="0x[0-9a-fA-F_]+&rustIntSuf;" attribute="Number" context="#stay"/>
+			<RegExpr String="0o[0-7_]+&rustIntSuf;" attribute="Number" context="#stay"/>
+			<RegExpr String="0b[0-1_]+&rustIntSuf;" attribute="Number" context="#stay"/>
+			<RegExpr String="[0-9][0-9_]*\.[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64|f)?" attribute="Number" context="#stay"/>
+			<RegExpr String="[0-9][0-9_]*&rustIntSuf;" attribute="Number" context="#stay"/>
+			<Detect2Chars char="#" char1="[" attribute="Attribute" context="Attribute" beginRegion="Attribute"/>
+			<StringDetect String="#![" attribute="Attribute" context="Attribute" beginRegion="Attribute"/>
+			<RegExpr String="&rustIdent;::" attribute="Scope"/>
+			<RegExpr String="&rustIdent;!" attribute="Macro"/>
+			<RegExpr String="&apos;&rustIdent;(?!&apos;)" attribute="Lifetime"/>
+			<DetectChar char="{" attribute="Symbol" context="#stay" beginRegion="Brace" />
+			<DetectChar char="}" attribute="Symbol" context="#stay" endRegion="Brace" />
+                        <Detect2Chars char="r" char1="&quot;" attribute="String" context="RawString"/>
+                        <StringDetect String="r##&quot;" attribute="String" context="RawHashed2"/>
+                        <StringDetect String="r#&quot;" attribute="String" context="RawHashed1"/>
+			<DetectChar char="&quot;" attribute="String" context="String"/>
+			<DetectChar char="&apos;" attribute="Character" context="Character"/>
+			<DetectChar char="[" attribute="Symbol" context="#stay" beginRegion="Bracket" />
+			<DetectChar char="]" attribute="Symbol" context="#stay" endRegion="Bracket" />
+			<DetectIdentifier/>
+		</context>
+		<context attribute="Attribute" lineEndContext="#stay" name="Attribute">
+			<DetectChar char="]" attribute="Attribute" context="#pop" endRegion="Attribute"/>
+			<IncludeRules context="Normal"/>
+		</context>
+		<context attribute="Definition" lineEndContext="#stay" name="Function">
+			<DetectSpaces/>
+			<DetectChar char="(" attribute="Normal Text" context="#pop"/>
+			<DetectChar char="&lt;" attribute="Normal Text" context="#pop"/>
+		</context>
+		<context attribute="Definition" lineEndContext="#stay" name="Type">
+			<DetectSpaces/>
+			<DetectChar char="=" attribute="Normal Text" context="#pop"/>
+			<DetectChar char="&lt;" attribute="Normal Text" context="#pop"/>
+			<DetectChar char=";" attribute="Normal Text" context="#pop"/>
+		</context>
+                <!-- Rustc allows strings to extend over multiple lines, and the
+                only thing a backshash at end-of-line does is remove the whitespace. -->
+                <context attribute="String" lineEndContext="#stay" name="String">
+                        <DetectChar char="\" attribute="CharEscape" context="CharEscape"/>
+                        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+                </context>
+		<context attribute="String" lineEndContext="#stay" name="RawString">
+			<DetectChar attribute="String" context="#pop" char="&quot;"/>
+		</context>
+                <!-- These rules are't complete: they won't match r###"abc"### -->
+                <context attribute="String" lineEndContext="#stay" name="RawHashed1">
+                        <Detect2Chars attribute="String" context="#pop" char="&quot;" char1="#"/>
+                </context>
+                <context attribute="String" lineEndContext="#stay" name="RawHashed2">
+                        <StringDetect attribute="String" context="#pop" String="&quot;##"/>
+                </context>
+		<context attribute="Character" lineEndContext="#pop" name="Character">
+			<DetectChar char="\" attribute="CharEscape" context="CharEscape"/>
+			<DetectChar attribute="Character" context="#pop" char="&apos;"/>
+		</context>
+		<context attribute="CharEscape" lineEndContext="#pop" name="CharEscape">
+			<AnyChar String="nrt\&apos;&quot;" attribute="CharEscape" context="#pop"/>
+			<RegExpr String="x[0-9a-fA-F]{2}" attribute="CharEscape" context="#pop"/>
+			<RegExpr String="u\{[0-9a-fA-F]{1,6}\}" attribute="CharEscape" context="#pop"/>
+			<RegExpr String="u[0-9a-fA-F]{4}" attribute="CharEscape" context="#pop"/>
+			<RegExpr String="U[0-9a-fA-F]{8}" attribute="CharEscape" context="#pop"/>
+			<RegExpr String="." attribute="Error" context="#pop"/>
+		</context>
+		<context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
+		<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+			<DetectSpaces/>
+			<Detect2Chars char="/" char1="*" attribute="Comment" context="Commentar 2" beginRegion="Comment"/>
+			<Detect2Chars char="*" char1="/" attribute="Comment" context="#pop" endRegion="Comment"/>
+		</context>
+	</contexts>
+	<itemDatas>
+		<itemData name="Normal Text"  defStyleNum="dsNormal"/>
+		<itemData name="Keyword"      defStyleNum="dsKeyword" spellChecking="0"/>
+		<itemData name="Self"         defStyleNum="dsKeyword" spellChecking="0"/>
+		<itemData name="Type"         defStyleNum="dsDataType" spellChecking="0"/>
+		<itemData name="Trait"        defStyleNum="dsBuiltIn" spellChecking="0"/>
+		<itemData name="CType"        defStyleNum="dsDataType" spellChecking="0"/>
+		<itemData name="Constant"     defStyleNum="dsConstant" spellChecking="0"/>
+		<itemData name="CConstant"    defStyleNum="dsConstant" spellChecking="0"/>
+		<itemData name="Definition"   defStyleNum="dsNormal"/>
+		<itemData name="Comment"      defStyleNum="dsComment"/>
+		<itemData name="Scope"        defStyleNum="dsNormal"/>
+		<itemData name="Number"       defStyleNum="dsDecVal"/>
+		<itemData name="String"       defStyleNum="dsString"/>
+		<itemData name="CharEscape"   defStyleNum="dsSpecialChar"/>
+		<itemData name="Character"    defStyleNum="dsChar"/>
+		<itemData name="Macro"        defStyleNum="dsPreprocessor"/>
+		<itemData name="Symbol"       defStyleNum="dsOperator"/>
+		<itemData name="Attribute"    defStyleNum="dsAttribute"/>
+		<itemData name="Lifetime"     defStyleNum="dsOthers" spellChecking="0"/>
+		<itemData name="Error"        defStyleNum="dsError"/>
+	</itemDatas>
+</highlighting>
+<general>
+	<comments>
+		<comment name="singleLine" start="//" />
+		<comment name="multiLine" start="/*" end="*/" region="Comment"/>
+	</comments>
+	<keywords casesensitive="1" />
+</general>
+</language>
+
diff --git a/xml/scala.xml b/xml/scala.xml
new file mode 100644
--- /dev/null
+++ b/xml/scala.xml
@@ -0,0 +1,3503 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Scala" version="2" kateversion="2.3" section="Sources"
+          extensions="*.scala" mimetype="text/x-scala" license="LGPL"
+          author="Stephane Micheloud (stephane.micheloud@epfl.ch)">
+<!--
+First version added to reository was 1.0 downloaded from
+https://lampsvn.epfl.ch/trac/scala/browser/scala-tool-support/trunk/src/kate/scala.xml?format=raw
+
+adapted from "java.xml" by Alfredo Luiz Foltran Fialho (alfoltran@ig.com.br)
+-->
+  <highlighting>
+    <list name="scala2">
+      <item> Actor </item>
+      <item> ActorProxy </item>
+      <item> ActorTask </item>
+      <item> ActorThread </item>
+      <item> AllRef </item>
+      <item> Any </item>
+      <item> AnyRef </item>
+      <item> Application </item>
+      <item> AppliedType </item>
+      <item> Array </item>
+      <item> ArrayBuffer </item>
+      <item> Attribute </item>
+      <item> BoxedArray </item>
+      <item> BoxedBooleanArray </item>
+      <item> BoxedByteArray </item>
+      <item> BoxedCharArray </item>
+      <item> Buffer </item>
+      <item> BufferedIterator </item>
+      <item> Char </item>
+      <item> Console </item>
+      <item> Enumeration </item>
+      <item> Fluid </item>
+      <item> Function </item>
+      <item> IScheduler </item>
+      <item> ImmutableMapAdaptor </item>
+      <item> ImmutableSetAdaptor </item>
+      <item> Int </item>
+      <item> Iterable </item>
+      <item> List </item>
+      <item> ListBuffer </item>
+      <item> None </item>
+      <item> Option </item>
+      <item> Ordered </item>
+      <item> Pair </item>
+      <item> PartialFunction </item>
+      <item> Pid </item>
+      <item> Predef </item>
+      <item> PriorityQueue </item>
+      <item> PriorityQueueProxy </item>
+      <item> Reaction </item>
+      <item> Ref </item>
+      <item> Responder </item>
+      <item> RichInt </item>
+      <item> RichString </item>
+      <item> Rule </item>
+      <item> RuleTransformer </item>
+      <item> Script </item>
+      <item> Seq </item>
+      <item> SerialVersionUID </item>
+      <item> Some </item>
+      <item> Stream </item>
+      <item> Symbol </item>
+      <item> TcpService </item>
+      <item> TcpServiceWorker </item>
+      <item> Triple </item>
+      <item> Unit </item>
+      <item> Value </item>
+      <item> WorkerThread </item>
+      <item> serializable </item>
+      <item> transient </item>
+      <item> volatile </item>
+    </list>
+    <list name="java15">
+      <item> ACTIVE </item>
+      <item> ACTIVITY_COMPLETED </item>
+      <item> ACTIVITY_REQUIRED </item>
+      <item> ARG_IN </item>
+      <item> ARG_INOUT </item>
+      <item> ARG_OUT </item>
+      <item> AWTError </item>
+      <item> AWTEvent </item>
+      <item> AWTEventListener </item>
+      <item> AWTEventListenerProxy </item>
+      <item> AWTEventMulticaster </item>
+      <item> AWTException </item>
+      <item> AWTKeyStroke </item>
+      <item> AWTPermission </item>
+      <item> AbstractAction </item>
+      <item> AbstractBorder </item>
+      <item> AbstractButton </item>
+      <item> AbstractCellEditor </item>
+      <item> AbstractCollection </item>
+      <item> AbstractColorChooserPanel </item>
+      <item> AbstractDocument </item>
+      <item> AbstractDocument.AttributeContext </item>
+      <item> AbstractDocument.Content </item>
+      <item> AbstractDocument.ElementEdit </item>
+      <item> AbstractExecutorService </item>
+      <item> AbstractInterruptibleChannel </item>
+      <item> AbstractLayoutCache </item>
+      <item> AbstractLayoutCache.NodeDimensions </item>
+      <item> AbstractList </item>
+      <item> AbstractListModel </item>
+      <item> AbstractMap </item>
+      <item> AbstractMethodError </item>
+      <item> AbstractPreferences </item>
+      <item> AbstractQueue </item>
+      <item> AbstractQueuedSynchronizer </item>
+      <item> AbstractSelectableChannel </item>
+      <item> AbstractSelectionKey </item>
+      <item> AbstractSelector </item>
+      <item> AbstractSequentialList </item>
+      <item> AbstractSet </item>
+      <item> AbstractSpinnerModel </item>
+      <item> AbstractTableModel </item>
+      <item> AbstractUndoableEdit </item>
+      <item> AbstractWriter </item>
+      <item> AccessControlContext </item>
+      <item> AccessControlException </item>
+      <item> AccessController </item>
+      <item> AccessException </item>
+      <item> Accessible </item>
+      <item> AccessibleAction </item>
+      <item> AccessibleAttributeSequence </item>
+      <item> AccessibleBundle </item>
+      <item> AccessibleComponent </item>
+      <item> AccessibleContext </item>
+      <item> AccessibleEditableText </item>
+      <item> AccessibleExtendedComponent </item>
+      <item> AccessibleExtendedTable </item>
+      <item> AccessibleExtendedText </item>
+      <item> AccessibleHyperlink </item>
+      <item> AccessibleHypertext </item>
+      <item> AccessibleIcon </item>
+      <item> AccessibleKeyBinding </item>
+      <item> AccessibleObject </item>
+      <item> AccessibleRelation </item>
+      <item> AccessibleRelationSet </item>
+      <item> AccessibleResourceBundle </item>
+      <item> AccessibleRole </item>
+      <item> AccessibleSelection </item>
+      <item> AccessibleState </item>
+      <item> AccessibleStateSet </item>
+      <item> AccessibleStreamable </item>
+      <item> AccessibleTable </item>
+      <item> AccessibleTableModelChange </item>
+      <item> AccessibleText </item>
+      <item> AccessibleTextSequence </item>
+      <item> AccessibleValue </item>
+      <item> AccountException </item>
+      <item> AccountExpiredException </item>
+      <item> AccountLockedException </item>
+      <item> AccountNotFoundException </item>
+      <item> Acl </item>
+      <item> AclEntry </item>
+      <item> AclNotFoundException </item>
+      <item> Action </item>
+      <item> ActionEvent </item>
+      <item> ActionListener </item>
+      <item> ActionMap </item>
+      <item> ActionMapUIResource </item>
+      <item> Activatable </item>
+      <item> ActivateFailedException </item>
+      <item> ActivationDesc </item>
+      <item> ActivationException </item>
+      <item> ActivationGroup </item>
+      <item> ActivationGroupDesc </item>
+      <item> ActivationGroupDesc.CommandEnvironment </item>
+      <item> ActivationGroupID </item>
+      <item> ActivationGroup_Stub </item>
+      <item> ActivationID </item>
+      <item> ActivationInstantiator </item>
+      <item> ActivationMonitor </item>
+      <item> ActivationSystem </item>
+      <item> Activator </item>
+      <item> ActiveEvent </item>
+      <item> ActivityCompletedException </item>
+      <item> ActivityRequiredException </item>
+      <item> AdapterActivator </item>
+      <item> AdapterActivatorOperations </item>
+      <item> AdapterAlreadyExists </item>
+      <item> AdapterAlreadyExistsHelper </item>
+      <item> AdapterInactive </item>
+      <item> AdapterInactiveHelper </item>
+      <item> AdapterManagerIdHelper </item>
+      <item> AdapterNameHelper </item>
+      <item> AdapterNonExistent </item>
+      <item> AdapterNonExistentHelper </item>
+      <item> AdapterStateHelper </item>
+      <item> AddressHelper </item>
+      <item> Adjustable </item>
+      <item> AdjustmentEvent </item>
+      <item> AdjustmentListener </item>
+      <item> Adler32 </item>
+      <item> AffineTransform </item>
+      <item> AffineTransformOp </item>
+      <item> AlgorithmParameterGenerator </item>
+      <item> AlgorithmParameterGeneratorSpi </item>
+      <item> AlgorithmParameterSpec </item>
+      <item> AlgorithmParameters </item>
+      <item> AlgorithmParametersSpi </item>
+      <item> AllPermission </item>
+      <item> AlphaComposite </item>
+      <item> AlreadyBound </item>
+      <item> AlreadyBoundException </item>
+      <item> AlreadyBoundHelper </item>
+      <item> AlreadyBoundHolder </item>
+      <item> AlreadyConnectedException </item>
+      <item> AncestorEvent </item>
+      <item> AncestorListener </item>
+      <item> AnnotatedElement </item>
+      <item> Annotation </item>
+      <item> Annotation </item>
+      <item> AnnotationFormatError </item>
+      <item> AnnotationTypeMismatchException </item>
+      <item> Any </item>
+      <item> AnyHolder </item>
+      <item> AnySeqHelper </item>
+      <item> AnySeqHelper </item>
+      <item> AnySeqHolder </item>
+      <item> AppConfigurationEntry </item>
+      <item> AppConfigurationEntry.LoginModuleControlFlag </item>
+      <item> Appendable </item>
+      <item> Applet </item>
+      <item> AppletContext </item>
+      <item> AppletInitializer </item>
+      <item> AppletStub </item>
+      <item> ApplicationException </item>
+      <item> Arc2D </item>
+      <item> Arc2D.Double </item>
+      <item> Arc2D.Float </item>
+      <item> Area </item>
+      <item> AreaAveragingScaleFilter </item>
+      <item> ArithmeticException </item>
+      <item> Array </item>
+      <item> Array </item>
+      <item> ArrayBlockingQueue </item>
+      <item> ArrayIndexOutOfBoundsException </item>
+      <item> ArrayList </item>
+      <item> ArrayStoreException </item>
+      <item> ArrayType </item>
+      <item> Arrays </item>
+      <item> AssertionError </item>
+      <item> AsyncBoxView </item>
+      <item> AsynchronousCloseException </item>
+      <item> AtomicBoolean </item>
+      <item> AtomicInteger </item>
+      <item> AtomicIntegerArray </item>
+      <item> AtomicIntegerFieldUpdater </item>
+      <item> AtomicLong </item>
+      <item> AtomicLongArray </item>
+      <item> AtomicLongFieldUpdater </item>
+      <item> AtomicMarkableReference </item>
+      <item> AtomicReference </item>
+      <item> AtomicReferenceArray </item>
+      <item> AtomicReferenceFieldUpdater </item>
+      <item> AtomicStampedReference </item>
+      <item> Attr </item>
+      <item> Attribute </item>
+      <item> Attribute </item>
+      <item> Attribute </item>
+      <item> AttributeChangeNotification </item>
+      <item> AttributeChangeNotificationFilter </item>
+      <item> AttributeException </item>
+      <item> AttributeInUseException </item>
+      <item> AttributeList </item>
+      <item> AttributeList </item>
+      <item> AttributeList </item>
+      <item> AttributeListImpl </item>
+      <item> AttributeModificationException </item>
+      <item> AttributeNotFoundException </item>
+      <item> AttributeSet </item>
+      <item> AttributeSet </item>
+      <item> AttributeSet.CharacterAttribute </item>
+      <item> AttributeSet.ColorAttribute </item>
+      <item> AttributeSet.FontAttribute </item>
+      <item> AttributeSet.ParagraphAttribute </item>
+      <item> AttributeSetUtilities </item>
+      <item> AttributeValueExp </item>
+      <item> AttributedCharacterIterator </item>
+      <item> AttributedCharacterIterator.Attribute </item>
+      <item> AttributedString </item>
+      <item> Attributes </item>
+      <item> Attributes </item>
+      <item> Attributes </item>
+      <item> Attributes.Name </item>
+      <item> Attributes2 </item>
+      <item> Attributes2Impl </item>
+      <item> AttributesImpl </item>
+      <item> AudioClip </item>
+      <item> AudioFileFormat </item>
+      <item> AudioFileFormat.Type </item>
+      <item> AudioFileReader </item>
+      <item> AudioFileWriter </item>
+      <item> AudioFormat </item>
+      <item> AudioFormat.Encoding </item>
+      <item> AudioInputStream </item>
+      <item> AudioPermission </item>
+      <item> AudioSystem </item>
+      <item> AuthPermission </item>
+      <item> AuthProvider </item>
+      <item> AuthenticationException </item>
+      <item> AuthenticationException </item>
+      <item> AuthenticationNotSupportedException </item>
+      <item> Authenticator </item>
+      <item> Authenticator.RequestorType </item>
+      <item> AuthorizeCallback </item>
+      <item> Autoscroll </item>
+      <item> BAD_CONTEXT </item>
+      <item> BAD_INV_ORDER </item>
+      <item> BAD_OPERATION </item>
+      <item> BAD_PARAM </item>
+      <item> BAD_POLICY </item>
+      <item> BAD_POLICY_TYPE </item>
+      <item> BAD_POLICY_VALUE </item>
+      <item> BAD_QOS </item>
+      <item> BAD_TYPECODE </item>
+      <item> BMPImageWriteParam </item>
+      <item> BackingStoreException </item>
+      <item> BadAttributeValueExpException </item>
+      <item> BadBinaryOpValueExpException </item>
+      <item> BadKind </item>
+      <item> BadLocationException </item>
+      <item> BadPaddingException </item>
+      <item> BadStringOperationException </item>
+      <item> BandCombineOp </item>
+      <item> BandedSampleModel </item>
+      <item> BaseRowSet </item>
+      <item> BasicArrowButton </item>
+      <item> BasicAttribute </item>
+      <item> BasicAttributes </item>
+      <item> BasicBorders </item>
+      <item> BasicBorders.ButtonBorder </item>
+      <item> BasicBorders.FieldBorder </item>
+      <item> BasicBorders.MarginBorder </item>
+      <item> BasicBorders.MenuBarBorder </item>
+      <item> BasicBorders.RadioButtonBorder </item>
+      <item> BasicBorders.RolloverButtonBorder </item>
+      <item> BasicBorders.SplitPaneBorder </item>
+      <item> BasicBorders.ToggleButtonBorder </item>
+      <item> BasicButtonListener </item>
+      <item> BasicButtonUI </item>
+      <item> BasicCheckBoxMenuItemUI </item>
+      <item> BasicCheckBoxUI </item>
+      <item> BasicColorChooserUI </item>
+      <item> BasicComboBoxEditor </item>
+      <item> BasicComboBoxEditor.UIResource </item>
+      <item> BasicComboBoxRenderer </item>
+      <item> BasicComboBoxRenderer.UIResource </item>
+      <item> BasicComboBoxUI </item>
+      <item> BasicComboPopup </item>
+      <item> BasicControl </item>
+      <item> BasicDesktopIconUI </item>
+      <item> BasicDesktopPaneUI </item>
+      <item> BasicDirectoryModel </item>
+      <item> BasicEditorPaneUI </item>
+      <item> BasicFileChooserUI </item>
+      <item> BasicFormattedTextFieldUI </item>
+      <item> BasicGraphicsUtils </item>
+      <item> BasicHTML </item>
+      <item> BasicIconFactory </item>
+      <item> BasicInternalFrameTitlePane </item>
+      <item> BasicInternalFrameUI </item>
+      <item> BasicLabelUI </item>
+      <item> BasicListUI </item>
+      <item> BasicLookAndFeel </item>
+      <item> BasicMenuBarUI </item>
+      <item> BasicMenuItemUI </item>
+      <item> BasicMenuUI </item>
+      <item> BasicOptionPaneUI </item>
+      <item> BasicOptionPaneUI.ButtonAreaLayout </item>
+      <item> BasicPanelUI </item>
+      <item> BasicPasswordFieldUI </item>
+      <item> BasicPermission </item>
+      <item> BasicPopupMenuSeparatorUI </item>
+      <item> BasicPopupMenuUI </item>
+      <item> BasicProgressBarUI </item>
+      <item> BasicRadioButtonMenuItemUI </item>
+      <item> BasicRadioButtonUI </item>
+      <item> BasicRootPaneUI </item>
+      <item> BasicScrollBarUI </item>
+      <item> BasicScrollPaneUI </item>
+      <item> BasicSeparatorUI </item>
+      <item> BasicSliderUI </item>
+      <item> BasicSpinnerUI </item>
+      <item> BasicSplitPaneDivider </item>
+      <item> BasicSplitPaneUI </item>
+      <item> BasicStroke </item>
+      <item> BasicTabbedPaneUI </item>
+      <item> BasicTableHeaderUI </item>
+      <item> BasicTableUI </item>
+      <item> BasicTextAreaUI </item>
+      <item> BasicTextFieldUI </item>
+      <item> BasicTextPaneUI </item>
+      <item> BasicTextUI </item>
+      <item> BasicTextUI.BasicCaret </item>
+      <item> BasicTextUI.BasicHighlighter </item>
+      <item> BasicToggleButtonUI </item>
+      <item> BasicToolBarSeparatorUI </item>
+      <item> BasicToolBarUI </item>
+      <item> BasicToolTipUI </item>
+      <item> BasicTreeUI </item>
+      <item> BasicViewportUI </item>
+      <item> BatchUpdateException </item>
+      <item> BeanContext </item>
+      <item> BeanContextChild </item>
+      <item> BeanContextChildComponentProxy </item>
+      <item> BeanContextChildSupport </item>
+      <item> BeanContextContainerProxy </item>
+      <item> BeanContextEvent </item>
+      <item> BeanContextMembershipEvent </item>
+      <item> BeanContextMembershipListener </item>
+      <item> BeanContextProxy </item>
+      <item> BeanContextServiceAvailableEvent </item>
+      <item> BeanContextServiceProvider </item>
+      <item> BeanContextServiceProviderBeanInfo </item>
+      <item> BeanContextServiceRevokedEvent </item>
+      <item> BeanContextServiceRevokedListener </item>
+      <item> BeanContextServices </item>
+      <item> BeanContextServicesListener </item>
+      <item> BeanContextServicesSupport </item>
+      <item> BeanContextServicesSupport.BCSSServiceProvider </item>
+      <item> BeanContextSupport </item>
+      <item> BeanContextSupport.BCSIterator </item>
+      <item> BeanDescriptor </item>
+      <item> BeanInfo </item>
+      <item> Beans </item>
+      <item> BevelBorder </item>
+      <item> Bidi </item>
+      <item> BigDecimal </item>
+      <item> BigInteger </item>
+      <item> BinaryRefAddr </item>
+      <item> BindException </item>
+      <item> Binding </item>
+      <item> Binding </item>
+      <item> BindingHelper </item>
+      <item> BindingHolder </item>
+      <item> BindingIterator </item>
+      <item> BindingIteratorHelper </item>
+      <item> BindingIteratorHolder </item>
+      <item> BindingIteratorOperations </item>
+      <item> BindingIteratorPOA </item>
+      <item> BindingListHelper </item>
+      <item> BindingListHolder </item>
+      <item> BindingType </item>
+      <item> BindingTypeHelper </item>
+      <item> BindingTypeHolder </item>
+      <item> BitSet </item>
+      <item> Blob </item>
+      <item> BlockView </item>
+      <item> BlockingQueue </item>
+      <item> Book </item>
+      <item> Boolean </item>
+      <item> BooleanControl </item>
+      <item> BooleanControl.Type </item>
+      <item> BooleanHolder </item>
+      <item> BooleanSeqHelper </item>
+      <item> BooleanSeqHolder </item>
+      <item> Border </item>
+      <item> BorderFactory </item>
+      <item> BorderLayout </item>
+      <item> BorderUIResource </item>
+      <item> BorderUIResource.BevelBorderUIResource </item>
+      <item> BorderUIResource.CompoundBorderUIResource </item>
+      <item> BorderUIResource.EmptyBorderUIResource </item>
+      <item> BorderUIResource.EtchedBorderUIResource </item>
+      <item> BorderUIResource.LineBorderUIResource </item>
+      <item> BorderUIResource.MatteBorderUIResource </item>
+      <item> BorderUIResource.TitledBorderUIResource </item>
+      <item> BoundedRangeModel </item>
+      <item> Bounds </item>
+      <item> Bounds </item>
+      <item> Box </item>
+      <item> Box.Filler </item>
+      <item> BoxLayout </item>
+      <item> BoxView </item>
+      <item> BoxedValueHelper </item>
+      <item> BreakIterator </item>
+      <item> BrokenBarrierException </item>
+      <item> Buffer </item>
+      <item> BufferCapabilities </item>
+      <item> BufferCapabilities.FlipContents </item>
+      <item> BufferOverflowException </item>
+      <item> BufferStrategy </item>
+      <item> BufferUnderflowException </item>
+      <item> BufferedImage </item>
+      <item> BufferedImageFilter </item>
+      <item> BufferedImageOp </item>
+      <item> BufferedInputStream </item>
+      <item> BufferedOutputStream </item>
+      <item> BufferedReader </item>
+      <item> BufferedWriter </item>
+      <item> Button </item>
+      <item> ButtonGroup </item>
+      <item> ButtonModel </item>
+      <item> ButtonUI </item>
+      <item> Byte </item>
+      <item> ByteArrayInputStream </item>
+      <item> ByteArrayOutputStream </item>
+      <item> ByteBuffer </item>
+      <item> ByteChannel </item>
+      <item> ByteHolder </item>
+      <item> ByteLookupTable </item>
+      <item> ByteOrder </item>
+      <item> CDATASection </item>
+      <item> CMMException </item>
+      <item> CODESET_INCOMPATIBLE </item>
+      <item> COMM_FAILURE </item>
+      <item> CRC32 </item>
+      <item> CRL </item>
+      <item> CRLException </item>
+      <item> CRLSelector </item>
+      <item> CSS </item>
+      <item> CSS.Attribute </item>
+      <item> CTX_RESTRICT_SCOPE </item>
+      <item> CacheRequest </item>
+      <item> CacheResponse </item>
+      <item> CachedRowSet </item>
+      <item> Calendar </item>
+      <item> Callable </item>
+      <item> CallableStatement </item>
+      <item> Callback </item>
+      <item> CallbackHandler </item>
+      <item> CancelablePrintJob </item>
+      <item> CancellationException </item>
+      <item> CancelledKeyException </item>
+      <item> CannotProceed </item>
+      <item> CannotProceedException </item>
+      <item> CannotProceedHelper </item>
+      <item> CannotProceedHolder </item>
+      <item> CannotRedoException </item>
+      <item> CannotUndoException </item>
+      <item> Canvas </item>
+      <item> CardLayout </item>
+      <item> Caret </item>
+      <item> CaretEvent </item>
+      <item> CaretListener </item>
+      <item> CellEditor </item>
+      <item> CellEditorListener </item>
+      <item> CellRendererPane </item>
+      <item> CertPath </item>
+      <item> CertPath.CertPathRep </item>
+      <item> CertPathBuilder </item>
+      <item> CertPathBuilderException </item>
+      <item> CertPathBuilderResult </item>
+      <item> CertPathBuilderSpi </item>
+      <item> CertPathParameters </item>
+      <item> CertPathTrustManagerParameters </item>
+      <item> CertPathValidator </item>
+      <item> CertPathValidatorException </item>
+      <item> CertPathValidatorResult </item>
+      <item> CertPathValidatorSpi </item>
+      <item> CertSelector </item>
+      <item> CertStore </item>
+      <item> CertStoreException </item>
+      <item> CertStoreParameters </item>
+      <item> CertStoreSpi </item>
+      <item> Certificate </item>
+      <item> Certificate </item>
+      <item> Certificate </item>
+      <item> Certificate.CertificateRep </item>
+      <item> CertificateEncodingException </item>
+      <item> CertificateEncodingException </item>
+      <item> CertificateException </item>
+      <item> CertificateException </item>
+      <item> CertificateExpiredException </item>
+      <item> CertificateExpiredException </item>
+      <item> CertificateFactory </item>
+      <item> CertificateFactorySpi </item>
+      <item> CertificateNotYetValidException </item>
+      <item> CertificateNotYetValidException </item>
+      <item> CertificateParsingException </item>
+      <item> CertificateParsingException </item>
+      <item> ChangeEvent </item>
+      <item> ChangeListener </item>
+      <item> ChangedCharSetException </item>
+      <item> Channel </item>
+      <item> ChannelBinding </item>
+      <item> Channels </item>
+      <item> CharArrayReader </item>
+      <item> CharArrayWriter </item>
+      <item> CharBuffer </item>
+      <item> CharConversionException </item>
+      <item> CharHolder </item>
+      <item> CharSeqHelper </item>
+      <item> CharSeqHolder </item>
+      <item> CharSequence </item>
+      <item> Character </item>
+      <item> Character.Subset </item>
+      <item> Character.UnicodeBlock </item>
+      <item> CharacterCodingException </item>
+      <item> CharacterData </item>
+      <item> CharacterIterator </item>
+      <item> Charset </item>
+      <item> CharsetDecoder </item>
+      <item> CharsetEncoder </item>
+      <item> CharsetProvider </item>
+      <item> Checkbox </item>
+      <item> CheckboxGroup </item>
+      <item> CheckboxMenuItem </item>
+      <item> CheckedInputStream </item>
+      <item> CheckedOutputStream </item>
+      <item> Checksum </item>
+      <item> Choice </item>
+      <item> ChoiceCallback </item>
+      <item> ChoiceFormat </item>
+      <item> Chromaticity </item>
+      <item> Cipher </item>
+      <item> CipherInputStream </item>
+      <item> CipherOutputStream </item>
+      <item> CipherSpi </item>
+      <item> Class </item>
+      <item> ClassCastException </item>
+      <item> ClassCircularityError </item>
+      <item> ClassDefinition </item>
+      <item> ClassDesc </item>
+      <item> ClassFileTransformer </item>
+      <item> ClassFormatError </item>
+      <item> ClassLoader </item>
+      <item> ClassLoaderRepository </item>
+      <item> ClassLoadingMXBean </item>
+      <item> ClassNotFoundException </item>
+      <item> ClientRequestInfo </item>
+      <item> ClientRequestInfoOperations </item>
+      <item> ClientRequestInterceptor </item>
+      <item> ClientRequestInterceptorOperations </item>
+      <item> Clip </item>
+      <item> Clipboard </item>
+      <item> ClipboardOwner </item>
+      <item> Clob </item>
+      <item> CloneNotSupportedException </item>
+      <item> Cloneable </item>
+      <item> Closeable </item>
+      <item> ClosedByInterruptException </item>
+      <item> ClosedChannelException </item>
+      <item> ClosedSelectorException </item>
+      <item> CodeSets </item>
+      <item> CodeSigner </item>
+      <item> CodeSource </item>
+      <item> Codec </item>
+      <item> CodecFactory </item>
+      <item> CodecFactoryHelper </item>
+      <item> CodecFactoryOperations </item>
+      <item> CodecOperations </item>
+      <item> CoderMalfunctionError </item>
+      <item> CoderResult </item>
+      <item> CodingErrorAction </item>
+      <item> CollationElementIterator </item>
+      <item> CollationKey </item>
+      <item> Collator </item>
+      <item> Collection </item>
+      <item> CollectionCertStoreParameters </item>
+      <item> Collections </item>
+      <item> Color </item>
+      <item> ColorChooserComponentFactory </item>
+      <item> ColorChooserUI </item>
+      <item> ColorConvertOp </item>
+      <item> ColorModel </item>
+      <item> ColorSelectionModel </item>
+      <item> ColorSpace </item>
+      <item> ColorSupported </item>
+      <item> ColorType </item>
+      <item> ColorUIResource </item>
+      <item> ComboBoxEditor </item>
+      <item> ComboBoxModel </item>
+      <item> ComboBoxUI </item>
+      <item> ComboPopup </item>
+      <item> Comment </item>
+      <item> CommunicationException </item>
+      <item> Comparable </item>
+      <item> Comparator </item>
+      <item> CompilationMXBean </item>
+      <item> Compiler </item>
+      <item> CompletionService </item>
+      <item> CompletionStatus </item>
+      <item> CompletionStatusHelper </item>
+      <item> Component </item>
+      <item> ComponentAdapter </item>
+      <item> ComponentColorModel </item>
+      <item> ComponentEvent </item>
+      <item> ComponentIdHelper </item>
+      <item> ComponentInputMap </item>
+      <item> ComponentInputMapUIResource </item>
+      <item> ComponentListener </item>
+      <item> ComponentOrientation </item>
+      <item> ComponentSampleModel </item>
+      <item> ComponentUI </item>
+      <item> ComponentView </item>
+      <item> Composite </item>
+      <item> CompositeContext </item>
+      <item> CompositeData </item>
+      <item> CompositeDataSupport </item>
+      <item> CompositeName </item>
+      <item> CompositeType </item>
+      <item> CompositeView </item>
+      <item> CompoundBorder </item>
+      <item> CompoundControl </item>
+      <item> CompoundControl.Type </item>
+      <item> CompoundEdit </item>
+      <item> CompoundName </item>
+      <item> Compression </item>
+      <item> ConcurrentHashMap </item>
+      <item> ConcurrentLinkedQueue </item>
+      <item> ConcurrentMap </item>
+      <item> ConcurrentModificationException </item>
+      <item> Condition </item>
+      <item> Configuration </item>
+      <item> ConfigurationException </item>
+      <item> ConfirmationCallback </item>
+      <item> ConnectException </item>
+      <item> ConnectException </item>
+      <item> ConnectIOException </item>
+      <item> Connection </item>
+      <item> ConnectionEvent </item>
+      <item> ConnectionEventListener </item>
+      <item> ConnectionPendingException </item>
+      <item> ConnectionPoolDataSource </item>
+      <item> ConsoleHandler </item>
+      <item> Constructor </item>
+      <item> Container </item>
+      <item> ContainerAdapter </item>
+      <item> ContainerEvent </item>
+      <item> ContainerListener </item>
+      <item> ContainerOrderFocusTraversalPolicy </item>
+      <item> ContentHandler </item>
+      <item> ContentHandler </item>
+      <item> ContentHandlerFactory </item>
+      <item> ContentModel </item>
+      <item> Context </item>
+      <item> Context </item>
+      <item> ContextList </item>
+      <item> ContextNotEmptyException </item>
+      <item> ContextualRenderedImageFactory </item>
+      <item> Control </item>
+      <item> Control </item>
+      <item> Control.Type </item>
+      <item> ControlFactory </item>
+      <item> ControllerEventListener </item>
+      <item> ConvolveOp </item>
+      <item> CookieHandler </item>
+      <item> CookieHolder </item>
+      <item> Copies </item>
+      <item> CopiesSupported </item>
+      <item> CopyOnWriteArrayList </item>
+      <item> CopyOnWriteArraySet </item>
+      <item> CountDownLatch </item>
+      <item> CounterMonitor </item>
+      <item> CounterMonitorMBean </item>
+      <item> CredentialException </item>
+      <item> CredentialExpiredException </item>
+      <item> CredentialNotFoundException </item>
+      <item> CropImageFilter </item>
+      <item> CubicCurve2D </item>
+      <item> CubicCurve2D.Double </item>
+      <item> CubicCurve2D.Float </item>
+      <item> Currency </item>
+      <item> Current </item>
+      <item> Current </item>
+      <item> Current </item>
+      <item> CurrentHelper </item>
+      <item> CurrentHelper </item>
+      <item> CurrentHelper </item>
+      <item> CurrentHolder </item>
+      <item> CurrentOperations </item>
+      <item> CurrentOperations </item>
+      <item> CurrentOperations </item>
+      <item> Cursor </item>
+      <item> CustomMarshal </item>
+      <item> CustomValue </item>
+      <item> Customizer </item>
+      <item> CyclicBarrier </item>
+      <item> DATA_CONVERSION </item>
+      <item> DESKeySpec </item>
+      <item> DESedeKeySpec </item>
+      <item> DGC </item>
+      <item> DHGenParameterSpec </item>
+      <item> DHKey </item>
+      <item> DHParameterSpec </item>
+      <item> DHPrivateKey </item>
+      <item> DHPrivateKeySpec </item>
+      <item> DHPublicKey </item>
+      <item> DHPublicKeySpec </item>
+      <item> DISCARDING </item>
+      <item> DOMConfiguration </item>
+      <item> DOMError </item>
+      <item> DOMErrorHandler </item>
+      <item> DOMException </item>
+      <item> DOMImplementation </item>
+      <item> DOMImplementationLS </item>
+      <item> DOMImplementationList </item>
+      <item> DOMImplementationRegistry </item>
+      <item> DOMImplementationSource </item>
+      <item> DOMLocator </item>
+      <item> DOMLocator </item>
+      <item> DOMResult </item>
+      <item> DOMSource </item>
+      <item> DOMStringList </item>
+      <item> DSAKey </item>
+      <item> DSAKeyPairGenerator </item>
+      <item> DSAParameterSpec </item>
+      <item> DSAParams </item>
+      <item> DSAPrivateKey </item>
+      <item> DSAPrivateKeySpec </item>
+      <item> DSAPublicKey </item>
+      <item> DSAPublicKeySpec </item>
+      <item> DTD </item>
+      <item> DTDConstants </item>
+      <item> DTDHandler </item>
+      <item> DataBuffer </item>
+      <item> DataBufferByte </item>
+      <item> DataBufferDouble </item>
+      <item> DataBufferFloat </item>
+      <item> DataBufferInt </item>
+      <item> DataBufferShort </item>
+      <item> DataBufferUShort </item>
+      <item> DataFlavor </item>
+      <item> DataFormatException </item>
+      <item> DataInput </item>
+      <item> DataInputStream </item>
+      <item> DataInputStream </item>
+      <item> DataLine </item>
+      <item> DataLine.Info </item>
+      <item> DataOutput </item>
+      <item> DataOutputStream </item>
+      <item> DataOutputStream </item>
+      <item> DataSource </item>
+      <item> DataTruncation </item>
+      <item> DatabaseMetaData </item>
+      <item> DatagramChannel </item>
+      <item> DatagramPacket </item>
+      <item> DatagramSocket </item>
+      <item> DatagramSocketImpl </item>
+      <item> DatagramSocketImplFactory </item>
+      <item> DatatypeConfigurationException </item>
+      <item> DatatypeConstants </item>
+      <item> DatatypeConstants.Field </item>
+      <item> DatatypeFactory </item>
+      <item> Date </item>
+      <item> Date </item>
+      <item> DateFormat </item>
+      <item> DateFormat.Field </item>
+      <item> DateFormatSymbols </item>
+      <item> DateFormatter </item>
+      <item> DateTimeAtCompleted </item>
+      <item> DateTimeAtCreation </item>
+      <item> DateTimeAtProcessing </item>
+      <item> DateTimeSyntax </item>
+      <item> DebugGraphics </item>
+      <item> DecimalFormat </item>
+      <item> DecimalFormatSymbols </item>
+      <item> DeclHandler </item>
+      <item> DefaultBoundedRangeModel </item>
+      <item> DefaultButtonModel </item>
+      <item> DefaultCaret </item>
+      <item> DefaultCellEditor </item>
+      <item> DefaultColorSelectionModel </item>
+      <item> DefaultComboBoxModel </item>
+      <item> DefaultDesktopManager </item>
+      <item> DefaultEditorKit </item>
+      <item> DefaultEditorKit.BeepAction </item>
+      <item> DefaultEditorKit.CopyAction </item>
+      <item> DefaultEditorKit.CutAction </item>
+      <item> DefaultEditorKit.DefaultKeyTypedAction </item>
+      <item> DefaultEditorKit.InsertBreakAction </item>
+      <item> DefaultEditorKit.InsertContentAction </item>
+      <item> DefaultEditorKit.InsertTabAction </item>
+      <item> DefaultEditorKit.PasteAction </item>
+      <item> DefaultFocusManager </item>
+      <item> DefaultFocusTraversalPolicy </item>
+      <item> DefaultFormatter </item>
+      <item> DefaultFormatterFactory </item>
+      <item> DefaultHandler </item>
+      <item> DefaultHandler2 </item>
+      <item> DefaultHighlighter </item>
+      <item> DefaultHighlighter.DefaultHighlightPainter </item>
+      <item> DefaultKeyboardFocusManager </item>
+      <item> DefaultListCellRenderer </item>
+      <item> DefaultListCellRenderer.UIResource </item>
+      <item> DefaultListModel </item>
+      <item> DefaultListSelectionModel </item>
+      <item> DefaultLoaderRepository </item>
+      <item> DefaultLoaderRepository </item>
+      <item> DefaultMenuLayout </item>
+      <item> DefaultMetalTheme </item>
+      <item> DefaultMutableTreeNode </item>
+      <item> DefaultPersistenceDelegate </item>
+      <item> DefaultSingleSelectionModel </item>
+      <item> DefaultStyledDocument </item>
+      <item> DefaultStyledDocument.AttributeUndoableEdit </item>
+      <item> DefaultStyledDocument.ElementSpec </item>
+      <item> DefaultTableCellRenderer </item>
+      <item> DefaultTableCellRenderer.UIResource </item>
+      <item> DefaultTableColumnModel </item>
+      <item> DefaultTableModel </item>
+      <item> DefaultTextUI </item>
+      <item> DefaultTreeCellEditor </item>
+      <item> DefaultTreeCellRenderer </item>
+      <item> DefaultTreeModel </item>
+      <item> DefaultTreeSelectionModel </item>
+      <item> DefinitionKind </item>
+      <item> DefinitionKindHelper </item>
+      <item> Deflater </item>
+      <item> DeflaterOutputStream </item>
+      <item> DelayQueue </item>
+      <item> Delayed </item>
+      <item> Delegate </item>
+      <item> Delegate </item>
+      <item> Delegate </item>
+      <item> DelegationPermission </item>
+      <item> Deprecated </item>
+      <item> Descriptor </item>
+      <item> DescriptorAccess </item>
+      <item> DescriptorSupport </item>
+      <item> DesignMode </item>
+      <item> DesktopIconUI </item>
+      <item> DesktopManager </item>
+      <item> DesktopPaneUI </item>
+      <item> Destination </item>
+      <item> DestroyFailedException </item>
+      <item> Destroyable </item>
+      <item> Dialog </item>
+      <item> Dictionary </item>
+      <item> DigestException </item>
+      <item> DigestInputStream </item>
+      <item> DigestOutputStream </item>
+      <item> Dimension </item>
+      <item> Dimension2D </item>
+      <item> DimensionUIResource </item>
+      <item> DirContext </item>
+      <item> DirObjectFactory </item>
+      <item> DirStateFactory </item>
+      <item> DirStateFactory.Result </item>
+      <item> DirectColorModel </item>
+      <item> DirectoryManager </item>
+      <item> DisplayMode </item>
+      <item> DnDConstants </item>
+      <item> Doc </item>
+      <item> DocAttribute </item>
+      <item> DocAttributeSet </item>
+      <item> DocFlavor </item>
+      <item> DocFlavor.BYTE_ARRAY </item>
+      <item> DocFlavor.CHAR_ARRAY </item>
+      <item> DocFlavor.INPUT_STREAM </item>
+      <item> DocFlavor.READER </item>
+      <item> DocFlavor.SERVICE_FORMATTED </item>
+      <item> DocFlavor.STRING </item>
+      <item> DocFlavor.URL </item>
+      <item> DocPrintJob </item>
+      <item> Document </item>
+      <item> Document </item>
+      <item> DocumentBuilder </item>
+      <item> DocumentBuilderFactory </item>
+      <item> DocumentEvent </item>
+      <item> DocumentEvent.ElementChange </item>
+      <item> DocumentEvent.EventType </item>
+      <item> DocumentFilter </item>
+      <item> DocumentFilter.FilterBypass </item>
+      <item> DocumentFragment </item>
+      <item> DocumentHandler </item>
+      <item> DocumentListener </item>
+      <item> DocumentName </item>
+      <item> DocumentParser </item>
+      <item> DocumentType </item>
+      <item> Documented </item>
+      <item> DomainCombiner </item>
+      <item> DomainManager </item>
+      <item> DomainManagerOperations </item>
+      <item> Double </item>
+      <item> DoubleBuffer </item>
+      <item> DoubleHolder </item>
+      <item> DoubleSeqHelper </item>
+      <item> DoubleSeqHolder </item>
+      <item> DragGestureEvent </item>
+      <item> DragGestureListener </item>
+      <item> DragGestureRecognizer </item>
+      <item> DragSource </item>
+      <item> DragSourceAdapter </item>
+      <item> DragSourceContext </item>
+      <item> DragSourceDragEvent </item>
+      <item> DragSourceDropEvent </item>
+      <item> DragSourceEvent </item>
+      <item> DragSourceListener </item>
+      <item> DragSourceMotionListener </item>
+      <item> Driver </item>
+      <item> DriverManager </item>
+      <item> DriverPropertyInfo </item>
+      <item> DropTarget </item>
+      <item> DropTarget.DropTargetAutoScroller </item>
+      <item> DropTargetAdapter </item>
+      <item> DropTargetContext </item>
+      <item> DropTargetDragEvent </item>
+      <item> DropTargetDropEvent </item>
+      <item> DropTargetEvent </item>
+      <item> DropTargetListener </item>
+      <item> DuplicateFormatFlagsException </item>
+      <item> DuplicateName </item>
+      <item> DuplicateNameHelper </item>
+      <item> Duration </item>
+      <item> DynAny </item>
+      <item> DynAny </item>
+      <item> DynAnyFactory </item>
+      <item> DynAnyFactoryHelper </item>
+      <item> DynAnyFactoryOperations </item>
+      <item> DynAnyHelper </item>
+      <item> DynAnyOperations </item>
+      <item> DynAnySeqHelper </item>
+      <item> DynArray </item>
+      <item> DynArray </item>
+      <item> DynArrayHelper </item>
+      <item> DynArrayOperations </item>
+      <item> DynEnum </item>
+      <item> DynEnum </item>
+      <item> DynEnumHelper </item>
+      <item> DynEnumOperations </item>
+      <item> DynFixed </item>
+      <item> DynFixed </item>
+      <item> DynFixedHelper </item>
+      <item> DynFixedOperations </item>
+      <item> DynSequence </item>
+      <item> DynSequence </item>
+      <item> DynSequenceHelper </item>
+      <item> DynSequenceOperations </item>
+      <item> DynStruct </item>
+      <item> DynStruct </item>
+      <item> DynStructHelper </item>
+      <item> DynStructOperations </item>
+      <item> DynUnion </item>
+      <item> DynUnion </item>
+      <item> DynUnionHelper </item>
+      <item> DynUnionOperations </item>
+      <item> DynValue </item>
+      <item> DynValue </item>
+      <item> DynValueBox </item>
+      <item> DynValueBoxOperations </item>
+      <item> DynValueCommon </item>
+      <item> DynValueCommonOperations </item>
+      <item> DynValueHelper </item>
+      <item> DynValueOperations </item>
+      <item> DynamicImplementation </item>
+      <item> DynamicImplementation </item>
+      <item> DynamicMBean </item>
+      <item> ECField </item>
+      <item> ECFieldF2m </item>
+      <item> ECFieldFp </item>
+      <item> ECGenParameterSpec </item>
+      <item> ECKey </item>
+      <item> ECParameterSpec </item>
+      <item> ECPoint </item>
+      <item> ECPrivateKey </item>
+      <item> ECPrivateKeySpec </item>
+      <item> ECPublicKey </item>
+      <item> ECPublicKeySpec </item>
+      <item> ENCODING_CDR_ENCAPS </item>
+      <item> EOFException </item>
+      <item> EditorKit </item>
+      <item> Element </item>
+      <item> Element </item>
+      <item> Element </item>
+      <item> ElementIterator </item>
+      <item> ElementType </item>
+      <item> Ellipse2D </item>
+      <item> Ellipse2D.Double </item>
+      <item> Ellipse2D.Float </item>
+      <item> EllipticCurve </item>
+      <item> EmptyBorder </item>
+      <item> EmptyStackException </item>
+      <item> EncodedKeySpec </item>
+      <item> Encoder </item>
+      <item> Encoding </item>
+      <item> EncryptedPrivateKeyInfo </item>
+      <item> Entity </item>
+      <item> Entity </item>
+      <item> EntityReference </item>
+      <item> EntityResolver </item>
+      <item> EntityResolver2 </item>
+      <item> Enum </item>
+      <item> EnumConstantNotPresentException </item>
+      <item> EnumControl </item>
+      <item> EnumControl.Type </item>
+      <item> EnumMap </item>
+      <item> EnumSet </item>
+      <item> EnumSyntax </item>
+      <item> Enumeration </item>
+      <item> Environment </item>
+      <item> Error </item>
+      <item> ErrorHandler </item>
+      <item> ErrorListener </item>
+      <item> ErrorManager </item>
+      <item> EtchedBorder </item>
+      <item> Event </item>
+      <item> EventContext </item>
+      <item> EventDirContext </item>
+      <item> EventHandler </item>
+      <item> EventListener </item>
+      <item> EventListenerList </item>
+      <item> EventListenerProxy </item>
+      <item> EventObject </item>
+      <item> EventQueue </item>
+      <item> EventSetDescriptor </item>
+      <item> Exception </item>
+      <item> ExceptionDetailMessage </item>
+      <item> ExceptionInInitializerError </item>
+      <item> ExceptionList </item>
+      <item> ExceptionListener </item>
+      <item> Exchanger </item>
+      <item> ExecutionException </item>
+      <item> Executor </item>
+      <item> ExecutorCompletionService </item>
+      <item> ExecutorService </item>
+      <item> Executors </item>
+      <item> ExemptionMechanism </item>
+      <item> ExemptionMechanismException </item>
+      <item> ExemptionMechanismSpi </item>
+      <item> ExpandVetoException </item>
+      <item> ExportException </item>
+      <item> Expression </item>
+      <item> ExtendedRequest </item>
+      <item> ExtendedResponse </item>
+      <item> Externalizable </item>
+      <item> FREE_MEM </item>
+      <item> FactoryConfigurationError </item>
+      <item> FailedLoginException </item>
+      <item> FeatureDescriptor </item>
+      <item> Fidelity </item>
+      <item> Field </item>
+      <item> FieldNameHelper </item>
+      <item> FieldNameHelper </item>
+      <item> FieldPosition </item>
+      <item> FieldView </item>
+      <item> File </item>
+      <item> FileCacheImageInputStream </item>
+      <item> FileCacheImageOutputStream </item>
+      <item> FileChannel </item>
+      <item> FileChannel.MapMode </item>
+      <item> FileChooserUI </item>
+      <item> FileDescriptor </item>
+      <item> FileDialog </item>
+      <item> FileFilter </item>
+      <item> FileFilter </item>
+      <item> FileHandler </item>
+      <item> FileImageInputStream </item>
+      <item> FileImageOutputStream </item>
+      <item> FileInputStream </item>
+      <item> FileLock </item>
+      <item> FileLockInterruptionException </item>
+      <item> FileNameMap </item>
+      <item> FileNotFoundException </item>
+      <item> FileOutputStream </item>
+      <item> FilePermission </item>
+      <item> FileReader </item>
+      <item> FileSystemView </item>
+      <item> FileView </item>
+      <item> FileWriter </item>
+      <item> FilenameFilter </item>
+      <item> Filter </item>
+      <item> FilterInputStream </item>
+      <item> FilterOutputStream </item>
+      <item> FilterReader </item>
+      <item> FilterWriter </item>
+      <item> FilteredImageSource </item>
+      <item> FilteredRowSet </item>
+      <item> Finishings </item>
+      <item> FixedHeightLayoutCache </item>
+      <item> FixedHolder </item>
+      <item> FlatteningPathIterator </item>
+      <item> FlavorEvent </item>
+      <item> FlavorException </item>
+      <item> FlavorListener </item>
+      <item> FlavorMap </item>
+      <item> FlavorTable </item>
+      <item> Float </item>
+      <item> FloatBuffer </item>
+      <item> FloatControl </item>
+      <item> FloatControl.Type </item>
+      <item> FloatHolder </item>
+      <item> FloatSeqHelper </item>
+      <item> FloatSeqHolder </item>
+      <item> FlowLayout </item>
+      <item> FlowView </item>
+      <item> FlowView.FlowStrategy </item>
+      <item> Flushable </item>
+      <item> FocusAdapter </item>
+      <item> FocusEvent </item>
+      <item> FocusListener </item>
+      <item> FocusManager </item>
+      <item> FocusTraversalPolicy </item>
+      <item> Font </item>
+      <item> FontFormatException </item>
+      <item> FontMetrics </item>
+      <item> FontRenderContext </item>
+      <item> FontUIResource </item>
+      <item> FormSubmitEvent </item>
+      <item> FormSubmitEvent.MethodType </item>
+      <item> FormView </item>
+      <item> Format </item>
+      <item> Format.Field </item>
+      <item> FormatConversionProvider </item>
+      <item> FormatFlagsConversionMismatchException </item>
+      <item> FormatMismatch </item>
+      <item> FormatMismatchHelper </item>
+      <item> Formattable </item>
+      <item> FormattableFlags </item>
+      <item> Formatter </item>
+      <item> Formatter </item>
+      <item> FormatterClosedException </item>
+      <item> ForwardRequest </item>
+      <item> ForwardRequest </item>
+      <item> ForwardRequestHelper </item>
+      <item> ForwardRequestHelper </item>
+      <item> Frame </item>
+      <item> Future </item>
+      <item> FutureTask </item>
+      <item> GSSContext </item>
+      <item> GSSCredential </item>
+      <item> GSSException </item>
+      <item> GSSManager </item>
+      <item> GSSName </item>
+      <item> GZIPInputStream </item>
+      <item> GZIPOutputStream </item>
+      <item> GapContent </item>
+      <item> GarbageCollectorMXBean </item>
+      <item> GatheringByteChannel </item>
+      <item> GaugeMonitor </item>
+      <item> GaugeMonitorMBean </item>
+      <item> GeneralPath </item>
+      <item> GeneralSecurityException </item>
+      <item> GenericArrayType </item>
+      <item> GenericDeclaration </item>
+      <item> GenericSignatureFormatError </item>
+      <item> GlyphJustificationInfo </item>
+      <item> GlyphMetrics </item>
+      <item> GlyphVector </item>
+      <item> GlyphView </item>
+      <item> GlyphView.GlyphPainter </item>
+      <item> GradientPaint </item>
+      <item> GraphicAttribute </item>
+      <item> Graphics </item>
+      <item> Graphics2D </item>
+      <item> GraphicsConfigTemplate </item>
+      <item> GraphicsConfiguration </item>
+      <item> GraphicsDevice </item>
+      <item> GraphicsEnvironment </item>
+      <item> GrayFilter </item>
+      <item> GregorianCalendar </item>
+      <item> GridBagConstraints </item>
+      <item> GridBagLayout </item>
+      <item> GridLayout </item>
+      <item> Group </item>
+      <item> Guard </item>
+      <item> GuardedObject </item>
+      <item> HOLDING </item>
+      <item> HTML </item>
+      <item> HTML.Attribute </item>
+      <item> HTML.Tag </item>
+      <item> HTML.UnknownTag </item>
+      <item> HTMLDocument </item>
+      <item> HTMLDocument.Iterator </item>
+      <item> HTMLEditorKit </item>
+      <item> HTMLEditorKit.HTMLFactory </item>
+      <item> HTMLEditorKit.HTMLTextAction </item>
+      <item> HTMLEditorKit.InsertHTMLTextAction </item>
+      <item> HTMLEditorKit.LinkController </item>
+      <item> HTMLEditorKit.Parser </item>
+      <item> HTMLEditorKit.ParserCallback </item>
+      <item> HTMLFrameHyperlinkEvent </item>
+      <item> HTMLWriter </item>
+      <item> Handler </item>
+      <item> HandlerBase </item>
+      <item> HandshakeCompletedEvent </item>
+      <item> HandshakeCompletedListener </item>
+      <item> HasControls </item>
+      <item> HashAttributeSet </item>
+      <item> HashDocAttributeSet </item>
+      <item> HashMap </item>
+      <item> HashPrintJobAttributeSet </item>
+      <item> HashPrintRequestAttributeSet </item>
+      <item> HashPrintServiceAttributeSet </item>
+      <item> HashSet </item>
+      <item> Hashtable </item>
+      <item> HeadlessException </item>
+      <item> HierarchyBoundsAdapter </item>
+      <item> HierarchyBoundsListener </item>
+      <item> HierarchyEvent </item>
+      <item> HierarchyListener </item>
+      <item> Highlighter </item>
+      <item> Highlighter.Highlight </item>
+      <item> Highlighter.HighlightPainter </item>
+      <item> HostnameVerifier </item>
+      <item> HttpRetryException </item>
+      <item> HttpURLConnection </item>
+      <item> HttpsURLConnection </item>
+      <item> HyperlinkEvent </item>
+      <item> HyperlinkEvent.EventType </item>
+      <item> HyperlinkListener </item>
+      <item> ICC_ColorSpace </item>
+      <item> ICC_Profile </item>
+      <item> ICC_ProfileGray </item>
+      <item> ICC_ProfileRGB </item>
+      <item> IDLEntity </item>
+      <item> IDLType </item>
+      <item> IDLTypeHelper </item>
+      <item> IDLTypeOperations </item>
+      <item> ID_ASSIGNMENT_POLICY_ID </item>
+      <item> ID_UNIQUENESS_POLICY_ID </item>
+      <item> IIOByteBuffer </item>
+      <item> IIOException </item>
+      <item> IIOImage </item>
+      <item> IIOInvalidTreeException </item>
+      <item> IIOMetadata </item>
+      <item> IIOMetadataController </item>
+      <item> IIOMetadataFormat </item>
+      <item> IIOMetadataFormatImpl </item>
+      <item> IIOMetadataNode </item>
+      <item> IIOParam </item>
+      <item> IIOParamController </item>
+      <item> IIOReadProgressListener </item>
+      <item> IIOReadUpdateListener </item>
+      <item> IIOReadWarningListener </item>
+      <item> IIORegistry </item>
+      <item> IIOServiceProvider </item>
+      <item> IIOWriteProgressListener </item>
+      <item> IIOWriteWarningListener </item>
+      <item> IMPLICIT_ACTIVATION_POLICY_ID </item>
+      <item> IMP_LIMIT </item>
+      <item> INACTIVE </item>
+      <item> INITIALIZE </item>
+      <item> INTERNAL </item>
+      <item> INTF_REPOS </item>
+      <item> INVALID_ACTIVITY </item>
+      <item> INVALID_TRANSACTION </item>
+      <item> INV_FLAG </item>
+      <item> INV_IDENT </item>
+      <item> INV_OBJREF </item>
+      <item> INV_POLICY </item>
+      <item> IOException </item>
+      <item> IOR </item>
+      <item> IORHelper </item>
+      <item> IORHolder </item>
+      <item> IORInfo </item>
+      <item> IORInfoOperations </item>
+      <item> IORInterceptor </item>
+      <item> IORInterceptorOperations </item>
+      <item> IORInterceptor_3_0 </item>
+      <item> IORInterceptor_3_0Helper </item>
+      <item> IORInterceptor_3_0Holder </item>
+      <item> IORInterceptor_3_0Operations </item>
+      <item> IRObject </item>
+      <item> IRObjectOperations </item>
+      <item> Icon </item>
+      <item> IconUIResource </item>
+      <item> IconView </item>
+      <item> IdAssignmentPolicy </item>
+      <item> IdAssignmentPolicyOperations </item>
+      <item> IdAssignmentPolicyValue </item>
+      <item> IdUniquenessPolicy </item>
+      <item> IdUniquenessPolicyOperations </item>
+      <item> IdUniquenessPolicyValue </item>
+      <item> IdentifierHelper </item>
+      <item> Identity </item>
+      <item> IdentityHashMap </item>
+      <item> IdentityScope </item>
+      <item> IllegalAccessError </item>
+      <item> IllegalAccessException </item>
+      <item> IllegalArgumentException </item>
+      <item> IllegalBlockSizeException </item>
+      <item> IllegalBlockingModeException </item>
+      <item> IllegalCharsetNameException </item>
+      <item> IllegalClassFormatException </item>
+      <item> IllegalComponentStateException </item>
+      <item> IllegalFormatCodePointException </item>
+      <item> IllegalFormatConversionException </item>
+      <item> IllegalFormatException </item>
+      <item> IllegalFormatFlagsException </item>
+      <item> IllegalFormatPrecisionException </item>
+      <item> IllegalFormatWidthException </item>
+      <item> IllegalMonitorStateException </item>
+      <item> IllegalPathStateException </item>
+      <item> IllegalSelectorException </item>
+      <item> IllegalStateException </item>
+      <item> IllegalThreadStateException </item>
+      <item> Image </item>
+      <item> ImageCapabilities </item>
+      <item> ImageConsumer </item>
+      <item> ImageFilter </item>
+      <item> ImageGraphicAttribute </item>
+      <item> ImageIO </item>
+      <item> ImageIcon </item>
+      <item> ImageInputStream </item>
+      <item> ImageInputStreamImpl </item>
+      <item> ImageInputStreamSpi </item>
+      <item> ImageObserver </item>
+      <item> ImageOutputStream </item>
+      <item> ImageOutputStreamImpl </item>
+      <item> ImageOutputStreamSpi </item>
+      <item> ImageProducer </item>
+      <item> ImageReadParam </item>
+      <item> ImageReader </item>
+      <item> ImageReaderSpi </item>
+      <item> ImageReaderWriterSpi </item>
+      <item> ImageTranscoder </item>
+      <item> ImageTranscoderSpi </item>
+      <item> ImageTypeSpecifier </item>
+      <item> ImageView </item>
+      <item> ImageWriteParam </item>
+      <item> ImageWriter </item>
+      <item> ImageWriterSpi </item>
+      <item> ImagingOpException </item>
+      <item> ImplicitActivationPolicy </item>
+      <item> ImplicitActivationPolicyOperations </item>
+      <item> ImplicitActivationPolicyValue </item>
+      <item> IncompatibleClassChangeError </item>
+      <item> IncompleteAnnotationException </item>
+      <item> InconsistentTypeCode </item>
+      <item> InconsistentTypeCode </item>
+      <item> InconsistentTypeCodeHelper </item>
+      <item> IndexColorModel </item>
+      <item> IndexOutOfBoundsException </item>
+      <item> IndexedPropertyChangeEvent </item>
+      <item> IndexedPropertyDescriptor </item>
+      <item> IndirectionException </item>
+      <item> Inet4Address </item>
+      <item> Inet6Address </item>
+      <item> InetAddress </item>
+      <item> InetSocketAddress </item>
+      <item> Inflater </item>
+      <item> InflaterInputStream </item>
+      <item> InheritableThreadLocal </item>
+      <item> Inherited </item>
+      <item> InitialContext </item>
+      <item> InitialContextFactory </item>
+      <item> InitialContextFactoryBuilder </item>
+      <item> InitialDirContext </item>
+      <item> InitialLdapContext </item>
+      <item> InlineView </item>
+      <item> InputContext </item>
+      <item> InputEvent </item>
+      <item> InputMap </item>
+      <item> InputMapUIResource </item>
+      <item> InputMethod </item>
+      <item> InputMethodContext </item>
+      <item> InputMethodDescriptor </item>
+      <item> InputMethodEvent </item>
+      <item> InputMethodHighlight </item>
+      <item> InputMethodListener </item>
+      <item> InputMethodRequests </item>
+      <item> InputMismatchException </item>
+      <item> InputSource </item>
+      <item> InputStream </item>
+      <item> InputStream </item>
+      <item> InputStream </item>
+      <item> InputStreamReader </item>
+      <item> InputSubset </item>
+      <item> InputVerifier </item>
+      <item> Insets </item>
+      <item> InsetsUIResource </item>
+      <item> InstanceAlreadyExistsException </item>
+      <item> InstanceNotFoundException </item>
+      <item> InstantiationError </item>
+      <item> InstantiationException </item>
+      <item> Instrument </item>
+      <item> Instrumentation </item>
+      <item> InsufficientResourcesException </item>
+      <item> IntBuffer </item>
+      <item> IntHolder </item>
+      <item> Integer </item>
+      <item> IntegerSyntax </item>
+      <item> Interceptor </item>
+      <item> InterceptorOperations </item>
+      <item> InternalError </item>
+      <item> InternalFrameAdapter </item>
+      <item> InternalFrameEvent </item>
+      <item> InternalFrameFocusTraversalPolicy </item>
+      <item> InternalFrameListener </item>
+      <item> InternalFrameUI </item>
+      <item> InternationalFormatter </item>
+      <item> InterruptedException </item>
+      <item> InterruptedIOException </item>
+      <item> InterruptedNamingException </item>
+      <item> InterruptibleChannel </item>
+      <item> IntrospectionException </item>
+      <item> IntrospectionException </item>
+      <item> Introspector </item>
+      <item> Invalid </item>
+      <item> InvalidActivityException </item>
+      <item> InvalidAddress </item>
+      <item> InvalidAddressHelper </item>
+      <item> InvalidAddressHolder </item>
+      <item> InvalidAlgorithmParameterException </item>
+      <item> InvalidApplicationException </item>
+      <item> InvalidAttributeIdentifierException </item>
+      <item> InvalidAttributeValueException </item>
+      <item> InvalidAttributeValueException </item>
+      <item> InvalidAttributesException </item>
+      <item> InvalidClassException </item>
+      <item> InvalidDnDOperationException </item>
+      <item> InvalidKeyException </item>
+      <item> InvalidKeyException </item>
+      <item> InvalidKeySpecException </item>
+      <item> InvalidMarkException </item>
+      <item> InvalidMidiDataException </item>
+      <item> InvalidName </item>
+      <item> InvalidName </item>
+      <item> InvalidName </item>
+      <item> InvalidNameException </item>
+      <item> InvalidNameHelper </item>
+      <item> InvalidNameHelper </item>
+      <item> InvalidNameHolder </item>
+      <item> InvalidObjectException </item>
+      <item> InvalidOpenTypeException </item>
+      <item> InvalidParameterException </item>
+      <item> InvalidParameterSpecException </item>
+      <item> InvalidPolicy </item>
+      <item> InvalidPolicyHelper </item>
+      <item> InvalidPreferencesFormatException </item>
+      <item> InvalidPropertiesFormatException </item>
+      <item> InvalidRelationIdException </item>
+      <item> InvalidRelationServiceException </item>
+      <item> InvalidRelationTypeException </item>
+      <item> InvalidRoleInfoException </item>
+      <item> InvalidRoleValueException </item>
+      <item> InvalidSearchControlsException </item>
+      <item> InvalidSearchFilterException </item>
+      <item> InvalidSeq </item>
+      <item> InvalidSlot </item>
+      <item> InvalidSlotHelper </item>
+      <item> InvalidTargetObjectTypeException </item>
+      <item> InvalidTransactionException </item>
+      <item> InvalidTypeForEncoding </item>
+      <item> InvalidTypeForEncodingHelper </item>
+      <item> InvalidValue </item>
+      <item> InvalidValue </item>
+      <item> InvalidValueHelper </item>
+      <item> InvocationEvent </item>
+      <item> InvocationHandler </item>
+      <item> InvocationTargetException </item>
+      <item> InvokeHandler </item>
+      <item> IstringHelper </item>
+      <item> ItemEvent </item>
+      <item> ItemListener </item>
+      <item> ItemSelectable </item>
+      <item> Iterable </item>
+      <item> Iterator </item>
+      <item> IvParameterSpec </item>
+      <item> JApplet </item>
+      <item> JButton </item>
+      <item> JCheckBox </item>
+      <item> JCheckBoxMenuItem </item>
+      <item> JColorChooser </item>
+      <item> JComboBox </item>
+      <item> JComboBox.KeySelectionManager </item>
+      <item> JComponent </item>
+      <item> JDesktopPane </item>
+      <item> JDialog </item>
+      <item> JEditorPane </item>
+      <item> JFileChooser </item>
+      <item> JFormattedTextField </item>
+      <item> JFormattedTextField.AbstractFormatter </item>
+      <item> JFormattedTextField.AbstractFormatterFactory </item>
+      <item> JFrame </item>
+      <item> JInternalFrame </item>
+      <item> JInternalFrame.JDesktopIcon </item>
+      <item> JLabel </item>
+      <item> JLayeredPane </item>
+      <item> JList </item>
+      <item> JMException </item>
+      <item> JMRuntimeException </item>
+      <item> JMXAuthenticator </item>
+      <item> JMXConnectionNotification </item>
+      <item> JMXConnector </item>
+      <item> JMXConnectorFactory </item>
+      <item> JMXConnectorProvider </item>
+      <item> JMXConnectorServer </item>
+      <item> JMXConnectorServerFactory </item>
+      <item> JMXConnectorServerMBean </item>
+      <item> JMXConnectorServerProvider </item>
+      <item> JMXPrincipal </item>
+      <item> JMXProviderException </item>
+      <item> JMXServerErrorException </item>
+      <item> JMXServiceURL </item>
+      <item> JMenu </item>
+      <item> JMenuBar </item>
+      <item> JMenuItem </item>
+      <item> JOptionPane </item>
+      <item> JPEGHuffmanTable </item>
+      <item> JPEGImageReadParam </item>
+      <item> JPEGImageWriteParam </item>
+      <item> JPEGQTable </item>
+      <item> JPanel </item>
+      <item> JPasswordField </item>
+      <item> JPopupMenu </item>
+      <item> JPopupMenu.Separator </item>
+      <item> JProgressBar </item>
+      <item> JRadioButton </item>
+      <item> JRadioButtonMenuItem </item>
+      <item> JRootPane </item>
+      <item> JScrollBar </item>
+      <item> JScrollPane </item>
+      <item> JSeparator </item>
+      <item> JSlider </item>
+      <item> JSpinner </item>
+      <item> JSpinner.DateEditor </item>
+      <item> JSpinner.DefaultEditor </item>
+      <item> JSpinner.ListEditor </item>
+      <item> JSpinner.NumberEditor </item>
+      <item> JSplitPane </item>
+      <item> JTabbedPane </item>
+      <item> JTable </item>
+      <item> JTable.PrintMode </item>
+      <item> JTableHeader </item>
+      <item> JTextArea </item>
+      <item> JTextComponent </item>
+      <item> JTextComponent.KeyBinding </item>
+      <item> JTextField </item>
+      <item> JTextPane </item>
+      <item> JToggleButton </item>
+      <item> JToggleButton.ToggleButtonModel </item>
+      <item> JToolBar </item>
+      <item> JToolBar.Separator </item>
+      <item> JToolTip </item>
+      <item> JTree </item>
+      <item> JTree.DynamicUtilTreeNode </item>
+      <item> JTree.EmptySelectionModel </item>
+      <item> JViewport </item>
+      <item> JWindow </item>
+      <item> JarEntry </item>
+      <item> JarException </item>
+      <item> JarFile </item>
+      <item> JarInputStream </item>
+      <item> JarOutputStream </item>
+      <item> JarURLConnection </item>
+      <item> JdbcRowSet </item>
+      <item> JobAttributes </item>
+      <item> JobAttributes.DefaultSelectionType </item>
+      <item> JobAttributes.DestinationType </item>
+      <item> JobAttributes.DialogType </item>
+      <item> JobAttributes.MultipleDocumentHandlingType </item>
+      <item> JobAttributes.SidesType </item>
+      <item> JobHoldUntil </item>
+      <item> JobImpressions </item>
+      <item> JobImpressionsCompleted </item>
+      <item> JobImpressionsSupported </item>
+      <item> JobKOctets </item>
+      <item> JobKOctetsProcessed </item>
+      <item> JobKOctetsSupported </item>
+      <item> JobMediaSheets </item>
+      <item> JobMediaSheetsCompleted </item>
+      <item> JobMediaSheetsSupported </item>
+      <item> JobMessageFromOperator </item>
+      <item> JobName </item>
+      <item> JobOriginatingUserName </item>
+      <item> JobPriority </item>
+      <item> JobPrioritySupported </item>
+      <item> JobSheets </item>
+      <item> JobState </item>
+      <item> JobStateReason </item>
+      <item> JobStateReasons </item>
+      <item> JoinRowSet </item>
+      <item> Joinable </item>
+      <item> KerberosKey </item>
+      <item> KerberosPrincipal </item>
+      <item> KerberosTicket </item>
+      <item> Kernel </item>
+      <item> Key </item>
+      <item> KeyAdapter </item>
+      <item> KeyAgreement </item>
+      <item> KeyAgreementSpi </item>
+      <item> KeyAlreadyExistsException </item>
+      <item> KeyEvent </item>
+      <item> KeyEventDispatcher </item>
+      <item> KeyEventPostProcessor </item>
+      <item> KeyException </item>
+      <item> KeyFactory </item>
+      <item> KeyFactorySpi </item>
+      <item> KeyGenerator </item>
+      <item> KeyGeneratorSpi </item>
+      <item> KeyListener </item>
+      <item> KeyManagementException </item>
+      <item> KeyManager </item>
+      <item> KeyManagerFactory </item>
+      <item> KeyManagerFactorySpi </item>
+      <item> KeyPair </item>
+      <item> KeyPairGenerator </item>
+      <item> KeyPairGeneratorSpi </item>
+      <item> KeyRep </item>
+      <item> KeyRep.Type </item>
+      <item> KeySpec </item>
+      <item> KeyStore </item>
+      <item> KeyStore.Builder </item>
+      <item> KeyStore.CallbackHandlerProtection </item>
+      <item> KeyStore.Entry </item>
+      <item> KeyStore.LoadStoreParameter </item>
+      <item> KeyStore.PasswordProtection </item>
+      <item> KeyStore.PrivateKeyEntry </item>
+      <item> KeyStore.ProtectionParameter </item>
+      <item> KeyStore.SecretKeyEntry </item>
+      <item> KeyStore.TrustedCertificateEntry </item>
+      <item> KeyStoreBuilderParameters </item>
+      <item> KeyStoreException </item>
+      <item> KeyStoreSpi </item>
+      <item> KeyStroke </item>
+      <item> KeyboardFocusManager </item>
+      <item> Keymap </item>
+      <item> LDAPCertStoreParameters </item>
+      <item> LIFESPAN_POLICY_ID </item>
+      <item> LOCATION_FORWARD </item>
+      <item> LSException </item>
+      <item> LSInput </item>
+      <item> LSLoadEvent </item>
+      <item> LSOutput </item>
+      <item> LSParser </item>
+      <item> LSParserFilter </item>
+      <item> LSProgressEvent </item>
+      <item> LSResourceResolver </item>
+      <item> LSSerializer </item>
+      <item> LSSerializerFilter </item>
+      <item> Label </item>
+      <item> LabelUI </item>
+      <item> LabelView </item>
+      <item> LanguageCallback </item>
+      <item> LastOwnerException </item>
+      <item> LayeredHighlighter </item>
+      <item> LayeredHighlighter.LayerPainter </item>
+      <item> LayoutFocusTraversalPolicy </item>
+      <item> LayoutManager </item>
+      <item> LayoutManager2 </item>
+      <item> LayoutQueue </item>
+      <item> LdapContext </item>
+      <item> LdapName </item>
+      <item> LdapReferralException </item>
+      <item> Lease </item>
+      <item> Level </item>
+      <item> LexicalHandler </item>
+      <item> LifespanPolicy </item>
+      <item> LifespanPolicyOperations </item>
+      <item> LifespanPolicyValue </item>
+      <item> LimitExceededException </item>
+      <item> Line </item>
+      <item> Line.Info </item>
+      <item> Line2D </item>
+      <item> Line2D.Double </item>
+      <item> Line2D.Float </item>
+      <item> LineBorder </item>
+      <item> LineBreakMeasurer </item>
+      <item> LineEvent </item>
+      <item> LineEvent.Type </item>
+      <item> LineListener </item>
+      <item> LineMetrics </item>
+      <item> LineNumberInputStream </item>
+      <item> LineNumberReader </item>
+      <item> LineUnavailableException </item>
+      <item> LinkException </item>
+      <item> LinkLoopException </item>
+      <item> LinkRef </item>
+      <item> LinkageError </item>
+      <item> LinkedBlockingQueue </item>
+      <item> LinkedHashMap </item>
+      <item> LinkedHashSet </item>
+      <item> LinkedList </item>
+      <item> List </item>
+      <item> List </item>
+      <item> ListCellRenderer </item>
+      <item> ListDataEvent </item>
+      <item> ListDataListener </item>
+      <item> ListIterator </item>
+      <item> ListModel </item>
+      <item> ListResourceBundle </item>
+      <item> ListSelectionEvent </item>
+      <item> ListSelectionListener </item>
+      <item> ListSelectionModel </item>
+      <item> ListUI </item>
+      <item> ListView </item>
+      <item> ListenerNotFoundException </item>
+      <item> LoaderHandler </item>
+      <item> LocalObject </item>
+      <item> Locale </item>
+      <item> LocateRegistry </item>
+      <item> Locator </item>
+      <item> Locator2 </item>
+      <item> Locator2Impl </item>
+      <item> LocatorImpl </item>
+      <item> Lock </item>
+      <item> LockSupport </item>
+      <item> LogManager </item>
+      <item> LogRecord </item>
+      <item> LogStream </item>
+      <item> Logger </item>
+      <item> LoggingMXBean </item>
+      <item> LoggingPermission </item>
+      <item> LoginContext </item>
+      <item> LoginException </item>
+      <item> LoginModule </item>
+      <item> Long </item>
+      <item> LongBuffer </item>
+      <item> LongHolder </item>
+      <item> LongLongSeqHelper </item>
+      <item> LongLongSeqHolder </item>
+      <item> LongSeqHelper </item>
+      <item> LongSeqHolder </item>
+      <item> LookAndFeel </item>
+      <item> LookupOp </item>
+      <item> LookupTable </item>
+      <item> MARSHAL </item>
+      <item> MBeanAttributeInfo </item>
+      <item> MBeanConstructorInfo </item>
+      <item> MBeanException </item>
+      <item> MBeanFeatureInfo </item>
+      <item> MBeanInfo </item>
+      <item> MBeanNotificationInfo </item>
+      <item> MBeanOperationInfo </item>
+      <item> MBeanParameterInfo </item>
+      <item> MBeanPermission </item>
+      <item> MBeanRegistration </item>
+      <item> MBeanRegistrationException </item>
+      <item> MBeanServer </item>
+      <item> MBeanServerBuilder </item>
+      <item> MBeanServerConnection </item>
+      <item> MBeanServerDelegate </item>
+      <item> MBeanServerDelegateMBean </item>
+      <item> MBeanServerFactory </item>
+      <item> MBeanServerForwarder </item>
+      <item> MBeanServerInvocationHandler </item>
+      <item> MBeanServerNotification </item>
+      <item> MBeanServerNotificationFilter </item>
+      <item> MBeanServerPermission </item>
+      <item> MBeanTrustPermission </item>
+      <item> MGF1ParameterSpec </item>
+      <item> MLet </item>
+      <item> MLetMBean </item>
+      <item> Mac </item>
+      <item> MacSpi </item>
+      <item> MalformedInputException </item>
+      <item> MalformedLinkException </item>
+      <item> MalformedObjectNameException </item>
+      <item> MalformedParameterizedTypeException </item>
+      <item> MalformedURLException </item>
+      <item> ManageReferralControl </item>
+      <item> ManagementFactory </item>
+      <item> ManagementPermission </item>
+      <item> ManagerFactoryParameters </item>
+      <item> Manifest </item>
+      <item> Map </item>
+      <item> Map.Entry </item>
+      <item> MappedByteBuffer </item>
+      <item> MarshalException </item>
+      <item> MarshalledObject </item>
+      <item> MaskFormatter </item>
+      <item> MatchResult </item>
+      <item> Matcher </item>
+      <item> Math </item>
+      <item> MathContext </item>
+      <item> MatteBorder </item>
+      <item> Media </item>
+      <item> MediaName </item>
+      <item> MediaPrintableArea </item>
+      <item> MediaSize </item>
+      <item> MediaSize.Engineering </item>
+      <item> MediaSize.ISO </item>
+      <item> MediaSize.JIS </item>
+      <item> MediaSize.NA </item>
+      <item> MediaSize.Other </item>
+      <item> MediaSizeName </item>
+      <item> MediaTracker </item>
+      <item> MediaTray </item>
+      <item> Member </item>
+      <item> MemoryCacheImageInputStream </item>
+      <item> MemoryCacheImageOutputStream </item>
+      <item> MemoryHandler </item>
+      <item> MemoryImageSource </item>
+      <item> MemoryMXBean </item>
+      <item> MemoryManagerMXBean </item>
+      <item> MemoryNotificationInfo </item>
+      <item> MemoryPoolMXBean </item>
+      <item> MemoryType </item>
+      <item> MemoryUsage </item>
+      <item> Menu </item>
+      <item> MenuBar </item>
+      <item> MenuBarUI </item>
+      <item> MenuComponent </item>
+      <item> MenuContainer </item>
+      <item> MenuDragMouseEvent </item>
+      <item> MenuDragMouseListener </item>
+      <item> MenuElement </item>
+      <item> MenuEvent </item>
+      <item> MenuItem </item>
+      <item> MenuItemUI </item>
+      <item> MenuKeyEvent </item>
+      <item> MenuKeyListener </item>
+      <item> MenuListener </item>
+      <item> MenuSelectionManager </item>
+      <item> MenuShortcut </item>
+      <item> MessageDigest </item>
+      <item> MessageDigestSpi </item>
+      <item> MessageFormat </item>
+      <item> MessageFormat.Field </item>
+      <item> MessageProp </item>
+      <item> MetaEventListener </item>
+      <item> MetaMessage </item>
+      <item> MetalBorders </item>
+      <item> MetalBorders.ButtonBorder </item>
+      <item> MetalBorders.Flush3DBorder </item>
+      <item> MetalBorders.InternalFrameBorder </item>
+      <item> MetalBorders.MenuBarBorder </item>
+      <item> MetalBorders.MenuItemBorder </item>
+      <item> MetalBorders.OptionDialogBorder </item>
+      <item> MetalBorders.PaletteBorder </item>
+      <item> MetalBorders.PopupMenuBorder </item>
+      <item> MetalBorders.RolloverButtonBorder </item>
+      <item> MetalBorders.ScrollPaneBorder </item>
+      <item> MetalBorders.TableHeaderBorder </item>
+      <item> MetalBorders.TextFieldBorder </item>
+      <item> MetalBorders.ToggleButtonBorder </item>
+      <item> MetalBorders.ToolBarBorder </item>
+      <item> MetalButtonUI </item>
+      <item> MetalCheckBoxIcon </item>
+      <item> MetalCheckBoxUI </item>
+      <item> MetalComboBoxButton </item>
+      <item> MetalComboBoxEditor </item>
+      <item> MetalComboBoxEditor.UIResource </item>
+      <item> MetalComboBoxIcon </item>
+      <item> MetalComboBoxUI </item>
+      <item> MetalDesktopIconUI </item>
+      <item> MetalFileChooserUI </item>
+      <item> MetalIconFactory </item>
+      <item> MetalIconFactory.FileIcon16 </item>
+      <item> MetalIconFactory.FolderIcon16 </item>
+      <item> MetalIconFactory.PaletteCloseIcon </item>
+      <item> MetalIconFactory.TreeControlIcon </item>
+      <item> MetalIconFactory.TreeFolderIcon </item>
+      <item> MetalIconFactory.TreeLeafIcon </item>
+      <item> MetalInternalFrameTitlePane </item>
+      <item> MetalInternalFrameUI </item>
+      <item> MetalLabelUI </item>
+      <item> MetalLookAndFeel </item>
+      <item> MetalMenuBarUI </item>
+      <item> MetalPopupMenuSeparatorUI </item>
+      <item> MetalProgressBarUI </item>
+      <item> MetalRadioButtonUI </item>
+      <item> MetalRootPaneUI </item>
+      <item> MetalScrollBarUI </item>
+      <item> MetalScrollButton </item>
+      <item> MetalScrollPaneUI </item>
+      <item> MetalSeparatorUI </item>
+      <item> MetalSliderUI </item>
+      <item> MetalSplitPaneUI </item>
+      <item> MetalTabbedPaneUI </item>
+      <item> MetalTextFieldUI </item>
+      <item> MetalTheme </item>
+      <item> MetalToggleButtonUI </item>
+      <item> MetalToolBarUI </item>
+      <item> MetalToolTipUI </item>
+      <item> MetalTreeUI </item>
+      <item> Method </item>
+      <item> MethodDescriptor </item>
+      <item> MidiChannel </item>
+      <item> MidiDevice </item>
+      <item> MidiDevice.Info </item>
+      <item> MidiDeviceProvider </item>
+      <item> MidiEvent </item>
+      <item> MidiFileFormat </item>
+      <item> MidiFileReader </item>
+      <item> MidiFileWriter </item>
+      <item> MidiMessage </item>
+      <item> MidiSystem </item>
+      <item> MidiUnavailableException </item>
+      <item> MimeTypeParseException </item>
+      <item> MinimalHTMLWriter </item>
+      <item> MissingFormatArgumentException </item>
+      <item> MissingFormatWidthException </item>
+      <item> MissingResourceException </item>
+      <item> Mixer </item>
+      <item> Mixer.Info </item>
+      <item> MixerProvider </item>
+      <item> ModelMBean </item>
+      <item> ModelMBeanAttributeInfo </item>
+      <item> ModelMBeanConstructorInfo </item>
+      <item> ModelMBeanInfo </item>
+      <item> ModelMBeanInfoSupport </item>
+      <item> ModelMBeanNotificationBroadcaster </item>
+      <item> ModelMBeanNotificationInfo </item>
+      <item> ModelMBeanOperationInfo </item>
+      <item> ModificationItem </item>
+      <item> Modifier </item>
+      <item> Monitor </item>
+      <item> MonitorMBean </item>
+      <item> MonitorNotification </item>
+      <item> MonitorSettingException </item>
+      <item> MouseAdapter </item>
+      <item> MouseDragGestureRecognizer </item>
+      <item> MouseEvent </item>
+      <item> MouseInfo </item>
+      <item> MouseInputAdapter </item>
+      <item> MouseInputListener </item>
+      <item> MouseListener </item>
+      <item> MouseMotionAdapter </item>
+      <item> MouseMotionListener </item>
+      <item> MouseWheelEvent </item>
+      <item> MouseWheelListener </item>
+      <item> MultiButtonUI </item>
+      <item> MultiColorChooserUI </item>
+      <item> MultiComboBoxUI </item>
+      <item> MultiDesktopIconUI </item>
+      <item> MultiDesktopPaneUI </item>
+      <item> MultiDoc </item>
+      <item> MultiDocPrintJob </item>
+      <item> MultiDocPrintService </item>
+      <item> MultiFileChooserUI </item>
+      <item> MultiInternalFrameUI </item>
+      <item> MultiLabelUI </item>
+      <item> MultiListUI </item>
+      <item> MultiLookAndFeel </item>
+      <item> MultiMenuBarUI </item>
+      <item> MultiMenuItemUI </item>
+      <item> MultiOptionPaneUI </item>
+      <item> MultiPanelUI </item>
+      <item> MultiPixelPackedSampleModel </item>
+      <item> MultiPopupMenuUI </item>
+      <item> MultiProgressBarUI </item>
+      <item> MultiRootPaneUI </item>
+      <item> MultiScrollBarUI </item>
+      <item> MultiScrollPaneUI </item>
+      <item> MultiSeparatorUI </item>
+      <item> MultiSliderUI </item>
+      <item> MultiSpinnerUI </item>
+      <item> MultiSplitPaneUI </item>
+      <item> MultiTabbedPaneUI </item>
+      <item> MultiTableHeaderUI </item>
+      <item> MultiTableUI </item>
+      <item> MultiTextUI </item>
+      <item> MultiToolBarUI </item>
+      <item> MultiToolTipUI </item>
+      <item> MultiTreeUI </item>
+      <item> MultiViewportUI </item>
+      <item> MulticastSocket </item>
+      <item> MultipleComponentProfileHelper </item>
+      <item> MultipleComponentProfileHolder </item>
+      <item> MultipleDocumentHandling </item>
+      <item> MultipleMaster </item>
+      <item> MutableAttributeSet </item>
+      <item> MutableComboBoxModel </item>
+      <item> MutableTreeNode </item>
+      <item> NON_EXISTENT </item>
+      <item> NO_IMPLEMENT </item>
+      <item> NO_MEMORY </item>
+      <item> NO_PERMISSION </item>
+      <item> NO_RESOURCES </item>
+      <item> NO_RESPONSE </item>
+      <item> NVList </item>
+      <item> Name </item>
+      <item> NameAlreadyBoundException </item>
+      <item> NameCallback </item>
+      <item> NameClassPair </item>
+      <item> NameComponent </item>
+      <item> NameComponentHelper </item>
+      <item> NameComponentHolder </item>
+      <item> NameDynAnyPair </item>
+      <item> NameDynAnyPairHelper </item>
+      <item> NameDynAnyPairSeqHelper </item>
+      <item> NameHelper </item>
+      <item> NameHolder </item>
+      <item> NameList </item>
+      <item> NameNotFoundException </item>
+      <item> NameParser </item>
+      <item> NameValuePair </item>
+      <item> NameValuePair </item>
+      <item> NameValuePairHelper </item>
+      <item> NameValuePairHelper </item>
+      <item> NameValuePairSeqHelper </item>
+      <item> NamedNodeMap </item>
+      <item> NamedValue </item>
+      <item> NamespaceChangeListener </item>
+      <item> NamespaceContext </item>
+      <item> NamespaceSupport </item>
+      <item> Naming </item>
+      <item> NamingContext </item>
+      <item> NamingContextExt </item>
+      <item> NamingContextExtHelper </item>
+      <item> NamingContextExtHolder </item>
+      <item> NamingContextExtOperations </item>
+      <item> NamingContextExtPOA </item>
+      <item> NamingContextHelper </item>
+      <item> NamingContextHolder </item>
+      <item> NamingContextOperations </item>
+      <item> NamingContextPOA </item>
+      <item> NamingEnumeration </item>
+      <item> NamingEvent </item>
+      <item> NamingException </item>
+      <item> NamingExceptionEvent </item>
+      <item> NamingListener </item>
+      <item> NamingManager </item>
+      <item> NamingSecurityException </item>
+      <item> NavigationFilter </item>
+      <item> NavigationFilter.FilterBypass </item>
+      <item> NegativeArraySizeException </item>
+      <item> NetPermission </item>
+      <item> NetworkInterface </item>
+      <item> NoClassDefFoundError </item>
+      <item> NoConnectionPendingException </item>
+      <item> NoContext </item>
+      <item> NoContextHelper </item>
+      <item> NoInitialContextException </item>
+      <item> NoPermissionException </item>
+      <item> NoRouteToHostException </item>
+      <item> NoServant </item>
+      <item> NoServantHelper </item>
+      <item> NoSuchAlgorithmException </item>
+      <item> NoSuchAttributeException </item>
+      <item> NoSuchElementException </item>
+      <item> NoSuchFieldError </item>
+      <item> NoSuchFieldException </item>
+      <item> NoSuchMethodError </item>
+      <item> NoSuchMethodException </item>
+      <item> NoSuchObjectException </item>
+      <item> NoSuchPaddingException </item>
+      <item> NoSuchProviderException </item>
+      <item> Node </item>
+      <item> NodeChangeEvent </item>
+      <item> NodeChangeListener </item>
+      <item> NodeList </item>
+      <item> NonReadableChannelException </item>
+      <item> NonWritableChannelException </item>
+      <item> NoninvertibleTransformException </item>
+      <item> NotActiveException </item>
+      <item> NotBoundException </item>
+      <item> NotCompliantMBeanException </item>
+      <item> NotContextException </item>
+      <item> NotEmpty </item>
+      <item> NotEmptyHelper </item>
+      <item> NotEmptyHolder </item>
+      <item> NotFound </item>
+      <item> NotFoundHelper </item>
+      <item> NotFoundHolder </item>
+      <item> NotFoundReason </item>
+      <item> NotFoundReasonHelper </item>
+      <item> NotFoundReasonHolder </item>
+      <item> NotOwnerException </item>
+      <item> NotSerializableException </item>
+      <item> NotYetBoundException </item>
+      <item> NotYetConnectedException </item>
+      <item> Notation </item>
+      <item> Notification </item>
+      <item> NotificationBroadcaster </item>
+      <item> NotificationBroadcasterSupport </item>
+      <item> NotificationEmitter </item>
+      <item> NotificationFilter </item>
+      <item> NotificationFilterSupport </item>
+      <item> NotificationListener </item>
+      <item> NotificationResult </item>
+      <item> NullCipher </item>
+      <item> NullPointerException </item>
+      <item> Number </item>
+      <item> NumberFormat </item>
+      <item> NumberFormat.Field </item>
+      <item> NumberFormatException </item>
+      <item> NumberFormatter </item>
+      <item> NumberOfDocuments </item>
+      <item> NumberOfInterveningJobs </item>
+      <item> NumberUp </item>
+      <item> NumberUpSupported </item>
+      <item> NumericShaper </item>
+      <item> OAEPParameterSpec </item>
+      <item> OBJECT_NOT_EXIST </item>
+      <item> OBJ_ADAPTER </item>
+      <item> OMGVMCID </item>
+      <item> ORB </item>
+      <item> ORB </item>
+      <item> ORBIdHelper </item>
+      <item> ORBInitInfo </item>
+      <item> ORBInitInfoOperations </item>
+      <item> ORBInitializer </item>
+      <item> ORBInitializerOperations </item>
+      <item> ObjID </item>
+      <item> Object </item>
+      <item> Object </item>
+      <item> ObjectAlreadyActive </item>
+      <item> ObjectAlreadyActiveHelper </item>
+      <item> ObjectChangeListener </item>
+      <item> ObjectFactory </item>
+      <item> ObjectFactoryBuilder </item>
+      <item> ObjectHelper </item>
+      <item> ObjectHolder </item>
+      <item> ObjectIdHelper </item>
+      <item> ObjectIdHelper </item>
+      <item> ObjectImpl </item>
+      <item> ObjectImpl </item>
+      <item> ObjectInput </item>
+      <item> ObjectInputStream </item>
+      <item> ObjectInputStream.GetField </item>
+      <item> ObjectInputValidation </item>
+      <item> ObjectInstance </item>
+      <item> ObjectName </item>
+      <item> ObjectNotActive </item>
+      <item> ObjectNotActiveHelper </item>
+      <item> ObjectOutput </item>
+      <item> ObjectOutputStream </item>
+      <item> ObjectOutputStream.PutField </item>
+      <item> ObjectReferenceFactory </item>
+      <item> ObjectReferenceFactoryHelper </item>
+      <item> ObjectReferenceFactoryHolder </item>
+      <item> ObjectReferenceTemplate </item>
+      <item> ObjectReferenceTemplateHelper </item>
+      <item> ObjectReferenceTemplateHolder </item>
+      <item> ObjectReferenceTemplateSeqHelper </item>
+      <item> ObjectReferenceTemplateSeqHolder </item>
+      <item> ObjectStreamClass </item>
+      <item> ObjectStreamConstants </item>
+      <item> ObjectStreamException </item>
+      <item> ObjectStreamField </item>
+      <item> ObjectView </item>
+      <item> Observable </item>
+      <item> Observer </item>
+      <item> OceanTheme </item>
+      <item> OctetSeqHelper </item>
+      <item> OctetSeqHolder </item>
+      <item> Oid </item>
+      <item> OpenDataException </item>
+      <item> OpenMBeanAttributeInfo </item>
+      <item> OpenMBeanAttributeInfoSupport </item>
+      <item> OpenMBeanConstructorInfo </item>
+      <item> OpenMBeanConstructorInfoSupport </item>
+      <item> OpenMBeanInfo </item>
+      <item> OpenMBeanInfoSupport </item>
+      <item> OpenMBeanOperationInfo </item>
+      <item> OpenMBeanOperationInfoSupport </item>
+      <item> OpenMBeanParameterInfo </item>
+      <item> OpenMBeanParameterInfoSupport </item>
+      <item> OpenType </item>
+      <item> OpenType </item>
+      <item> OperatingSystemMXBean </item>
+      <item> Operation </item>
+      <item> OperationNotSupportedException </item>
+      <item> OperationsException </item>
+      <item> Option </item>
+      <item> OptionPaneUI </item>
+      <item> OptionalDataException </item>
+      <item> OrientationRequested </item>
+      <item> OutOfMemoryError </item>
+      <item> OutputDeviceAssigned </item>
+      <item> OutputKeys </item>
+      <item> OutputStream </item>
+      <item> OutputStream </item>
+      <item> OutputStream </item>
+      <item> OutputStreamWriter </item>
+      <item> OverlappingFileLockException </item>
+      <item> OverlayLayout </item>
+      <item> Override </item>
+      <item> Owner </item>
+      <item> PBEKey </item>
+      <item> PBEKeySpec </item>
+      <item> PBEParameterSpec </item>
+      <item> PDLOverrideSupported </item>
+      <item> PERSIST_STORE </item>
+      <item> PKCS8EncodedKeySpec </item>
+      <item> PKIXBuilderParameters </item>
+      <item> PKIXCertPathBuilderResult </item>
+      <item> PKIXCertPathChecker </item>
+      <item> PKIXCertPathValidatorResult </item>
+      <item> PKIXParameters </item>
+      <item> POA </item>
+      <item> POAHelper </item>
+      <item> POAManager </item>
+      <item> POAManagerOperations </item>
+      <item> POAOperations </item>
+      <item> PRIVATE_MEMBER </item>
+      <item> PSSParameterSpec </item>
+      <item> PSource </item>
+      <item> PSource.PSpecified </item>
+      <item> PUBLIC_MEMBER </item>
+      <item> Pack200 </item>
+      <item> Pack200.Packer </item>
+      <item> Pack200.Unpacker </item>
+      <item> Package </item>
+      <item> PackedColorModel </item>
+      <item> PageAttributes </item>
+      <item> PageAttributes.ColorType </item>
+      <item> PageAttributes.MediaType </item>
+      <item> PageAttributes.OrientationRequestedType </item>
+      <item> PageAttributes.OriginType </item>
+      <item> PageAttributes.PrintQualityType </item>
+      <item> PageFormat </item>
+      <item> PageRanges </item>
+      <item> Pageable </item>
+      <item> PagedResultsControl </item>
+      <item> PagedResultsResponseControl </item>
+      <item> PagesPerMinute </item>
+      <item> PagesPerMinuteColor </item>
+      <item> Paint </item>
+      <item> PaintContext </item>
+      <item> PaintEvent </item>
+      <item> Panel </item>
+      <item> PanelUI </item>
+      <item> Paper </item>
+      <item> ParagraphView </item>
+      <item> ParagraphView </item>
+      <item> Parameter </item>
+      <item> ParameterBlock </item>
+      <item> ParameterDescriptor </item>
+      <item> ParameterMetaData </item>
+      <item> ParameterMode </item>
+      <item> ParameterModeHelper </item>
+      <item> ParameterModeHolder </item>
+      <item> ParameterizedType </item>
+      <item> ParseException </item>
+      <item> ParsePosition </item>
+      <item> Parser </item>
+      <item> Parser </item>
+      <item> ParserAdapter </item>
+      <item> ParserConfigurationException </item>
+      <item> ParserDelegator </item>
+      <item> ParserFactory </item>
+      <item> PartialResultException </item>
+      <item> PasswordAuthentication </item>
+      <item> PasswordCallback </item>
+      <item> PasswordView </item>
+      <item> Patch </item>
+      <item> PathIterator </item>
+      <item> Pattern </item>
+      <item> PatternSyntaxException </item>
+      <item> Permission </item>
+      <item> Permission </item>
+      <item> PermissionCollection </item>
+      <item> Permissions </item>
+      <item> PersistenceDelegate </item>
+      <item> PersistentMBean </item>
+      <item> PhantomReference </item>
+      <item> Pipe </item>
+      <item> Pipe.SinkChannel </item>
+      <item> Pipe.SourceChannel </item>
+      <item> PipedInputStream </item>
+      <item> PipedOutputStream </item>
+      <item> PipedReader </item>
+      <item> PipedWriter </item>
+      <item> PixelGrabber </item>
+      <item> PixelInterleavedSampleModel </item>
+      <item> PlainDocument </item>
+      <item> PlainView </item>
+      <item> Point </item>
+      <item> Point2D </item>
+      <item> Point2D.Double </item>
+      <item> Point2D.Float </item>
+      <item> PointerInfo </item>
+      <item> Policy </item>
+      <item> Policy </item>
+      <item> Policy </item>
+      <item> PolicyError </item>
+      <item> PolicyErrorCodeHelper </item>
+      <item> PolicyErrorHelper </item>
+      <item> PolicyErrorHolder </item>
+      <item> PolicyFactory </item>
+      <item> PolicyFactoryOperations </item>
+      <item> PolicyHelper </item>
+      <item> PolicyHolder </item>
+      <item> PolicyListHelper </item>
+      <item> PolicyListHolder </item>
+      <item> PolicyNode </item>
+      <item> PolicyOperations </item>
+      <item> PolicyQualifierInfo </item>
+      <item> PolicyTypeHelper </item>
+      <item> Polygon </item>
+      <item> PooledConnection </item>
+      <item> Popup </item>
+      <item> PopupFactory </item>
+      <item> PopupMenu </item>
+      <item> PopupMenuEvent </item>
+      <item> PopupMenuListener </item>
+      <item> PopupMenuUI </item>
+      <item> Port </item>
+      <item> Port.Info </item>
+      <item> PortUnreachableException </item>
+      <item> PortableRemoteObject </item>
+      <item> PortableRemoteObjectDelegate </item>
+      <item> Position </item>
+      <item> Position.Bias </item>
+      <item> Predicate </item>
+      <item> PreferenceChangeEvent </item>
+      <item> PreferenceChangeListener </item>
+      <item> Preferences </item>
+      <item> PreferencesFactory </item>
+      <item> PreparedStatement </item>
+      <item> PresentationDirection </item>
+      <item> Principal </item>
+      <item> Principal </item>
+      <item> PrincipalHolder </item>
+      <item> PrintEvent </item>
+      <item> PrintException </item>
+      <item> PrintGraphics </item>
+      <item> PrintJob </item>
+      <item> PrintJobAdapter </item>
+      <item> PrintJobAttribute </item>
+      <item> PrintJobAttributeEvent </item>
+      <item> PrintJobAttributeListener </item>
+      <item> PrintJobAttributeSet </item>
+      <item> PrintJobEvent </item>
+      <item> PrintJobListener </item>
+      <item> PrintQuality </item>
+      <item> PrintRequestAttribute </item>
+      <item> PrintRequestAttributeSet </item>
+      <item> PrintService </item>
+      <item> PrintServiceAttribute </item>
+      <item> PrintServiceAttributeEvent </item>
+      <item> PrintServiceAttributeListener </item>
+      <item> PrintServiceAttributeSet </item>
+      <item> PrintServiceLookup </item>
+      <item> PrintStream </item>
+      <item> PrintWriter </item>
+      <item> Printable </item>
+      <item> PrinterAbortException </item>
+      <item> PrinterException </item>
+      <item> PrinterGraphics </item>
+      <item> PrinterIOException </item>
+      <item> PrinterInfo </item>
+      <item> PrinterIsAcceptingJobs </item>
+      <item> PrinterJob </item>
+      <item> PrinterLocation </item>
+      <item> PrinterMakeAndModel </item>
+      <item> PrinterMessageFromOperator </item>
+      <item> PrinterMoreInfo </item>
+      <item> PrinterMoreInfoManufacturer </item>
+      <item> PrinterName </item>
+      <item> PrinterResolution </item>
+      <item> PrinterState </item>
+      <item> PrinterStateReason </item>
+      <item> PrinterStateReasons </item>
+      <item> PrinterURI </item>
+      <item> PriorityBlockingQueue </item>
+      <item> PriorityQueue </item>
+      <item> PrivateClassLoader </item>
+      <item> PrivateCredentialPermission </item>
+      <item> PrivateKey </item>
+      <item> PrivateMLet </item>
+      <item> PrivilegedAction </item>
+      <item> PrivilegedActionException </item>
+      <item> PrivilegedExceptionAction </item>
+      <item> Process </item>
+      <item> ProcessBuilder </item>
+      <item> ProcessingInstruction </item>
+      <item> ProfileDataException </item>
+      <item> ProfileIdHelper </item>
+      <item> ProgressBarUI </item>
+      <item> ProgressMonitor </item>
+      <item> ProgressMonitorInputStream </item>
+      <item> Properties </item>
+      <item> PropertyChangeEvent </item>
+      <item> PropertyChangeListener </item>
+      <item> PropertyChangeListenerProxy </item>
+      <item> PropertyChangeSupport </item>
+      <item> PropertyDescriptor </item>
+      <item> PropertyEditor </item>
+      <item> PropertyEditorManager </item>
+      <item> PropertyEditorSupport </item>
+      <item> PropertyPermission </item>
+      <item> PropertyResourceBundle </item>
+      <item> PropertyVetoException </item>
+      <item> ProtectionDomain </item>
+      <item> ProtocolException </item>
+      <item> Provider </item>
+      <item> Provider.Service </item>
+      <item> ProviderException </item>
+      <item> Proxy </item>
+      <item> Proxy </item>
+      <item> Proxy.Type </item>
+      <item> ProxySelector </item>
+      <item> PublicKey </item>
+      <item> PushbackInputStream </item>
+      <item> PushbackReader </item>
+      <item> QName </item>
+      <item> QuadCurve2D </item>
+      <item> QuadCurve2D.Double </item>
+      <item> QuadCurve2D.Float </item>
+      <item> Query </item>
+      <item> QueryEval </item>
+      <item> QueryExp </item>
+      <item> Queue </item>
+      <item> QueuedJobCount </item>
+      <item> RC2ParameterSpec </item>
+      <item> RC5ParameterSpec </item>
+      <item> REBIND </item>
+      <item> REQUEST_PROCESSING_POLICY_ID </item>
+      <item> RGBImageFilter </item>
+      <item> RMIClassLoader </item>
+      <item> RMIClassLoaderSpi </item>
+      <item> RMIClientSocketFactory </item>
+      <item> RMIConnection </item>
+      <item> RMIConnectionImpl </item>
+      <item> RMIConnectionImpl_Stub </item>
+      <item> RMIConnector </item>
+      <item> RMIConnectorServer </item>
+      <item> RMICustomMaxStreamFormat </item>
+      <item> RMIFailureHandler </item>
+      <item> RMIIIOPServerImpl </item>
+      <item> RMIJRMPServerImpl </item>
+      <item> RMISecurityException </item>
+      <item> RMISecurityManager </item>
+      <item> RMIServer </item>
+      <item> RMIServerImpl </item>
+      <item> RMIServerImpl_Stub </item>
+      <item> RMIServerSocketFactory </item>
+      <item> RMISocketFactory </item>
+      <item> RSAKey </item>
+      <item> RSAKeyGenParameterSpec </item>
+      <item> RSAMultiPrimePrivateCrtKey </item>
+      <item> RSAMultiPrimePrivateCrtKeySpec </item>
+      <item> RSAOtherPrimeInfo </item>
+      <item> RSAPrivateCrtKey </item>
+      <item> RSAPrivateCrtKeySpec </item>
+      <item> RSAPrivateKey </item>
+      <item> RSAPrivateKeySpec </item>
+      <item> RSAPublicKey </item>
+      <item> RSAPublicKeySpec </item>
+      <item> RTFEditorKit </item>
+      <item> Random </item>
+      <item> RandomAccess </item>
+      <item> RandomAccessFile </item>
+      <item> Raster </item>
+      <item> RasterFormatException </item>
+      <item> RasterOp </item>
+      <item> Rdn </item>
+      <item> ReadOnlyBufferException </item>
+      <item> ReadWriteLock </item>
+      <item> Readable </item>
+      <item> ReadableByteChannel </item>
+      <item> Reader </item>
+      <item> RealmCallback </item>
+      <item> RealmChoiceCallback </item>
+      <item> Receiver </item>
+      <item> Rectangle </item>
+      <item> Rectangle2D </item>
+      <item> Rectangle2D.Double </item>
+      <item> Rectangle2D.Float </item>
+      <item> RectangularShape </item>
+      <item> ReentrantLock </item>
+      <item> ReentrantReadWriteLock </item>
+      <item> ReentrantReadWriteLock.ReadLock </item>
+      <item> ReentrantReadWriteLock.WriteLock </item>
+      <item> Ref </item>
+      <item> RefAddr </item>
+      <item> Reference </item>
+      <item> Reference </item>
+      <item> ReferenceQueue </item>
+      <item> ReferenceUriSchemesSupported </item>
+      <item> Referenceable </item>
+      <item> ReferralException </item>
+      <item> ReflectPermission </item>
+      <item> ReflectionException </item>
+      <item> RefreshFailedException </item>
+      <item> Refreshable </item>
+      <item> Region </item>
+      <item> RegisterableService </item>
+      <item> Registry </item>
+      <item> RegistryHandler </item>
+      <item> RejectedExecutionException </item>
+      <item> RejectedExecutionHandler </item>
+      <item> Relation </item>
+      <item> RelationException </item>
+      <item> RelationNotFoundException </item>
+      <item> RelationNotification </item>
+      <item> RelationService </item>
+      <item> RelationServiceMBean </item>
+      <item> RelationServiceNotRegisteredException </item>
+      <item> RelationSupport </item>
+      <item> RelationSupportMBean </item>
+      <item> RelationType </item>
+      <item> RelationTypeNotFoundException </item>
+      <item> RelationTypeSupport </item>
+      <item> RemarshalException </item>
+      <item> Remote </item>
+      <item> RemoteCall </item>
+      <item> RemoteException </item>
+      <item> RemoteObject </item>
+      <item> RemoteObjectInvocationHandler </item>
+      <item> RemoteRef </item>
+      <item> RemoteServer </item>
+      <item> RemoteStub </item>
+      <item> RenderContext </item>
+      <item> RenderableImage </item>
+      <item> RenderableImageOp </item>
+      <item> RenderableImageProducer </item>
+      <item> RenderedImage </item>
+      <item> RenderedImageFactory </item>
+      <item> Renderer </item>
+      <item> RenderingHints </item>
+      <item> RenderingHints.Key </item>
+      <item> RepaintManager </item>
+      <item> ReplicateScaleFilter </item>
+      <item> RepositoryIdHelper </item>
+      <item> Request </item>
+      <item> RequestInfo </item>
+      <item> RequestInfoOperations </item>
+      <item> RequestProcessingPolicy </item>
+      <item> RequestProcessingPolicyOperations </item>
+      <item> RequestProcessingPolicyValue </item>
+      <item> RequestingUserName </item>
+      <item> RequiredModelMBean </item>
+      <item> RescaleOp </item>
+      <item> ResolutionSyntax </item>
+      <item> ResolveResult </item>
+      <item> Resolver </item>
+      <item> ResourceBundle </item>
+      <item> ResponseCache </item>
+      <item> ResponseHandler </item>
+      <item> Result </item>
+      <item> ResultSet </item>
+      <item> ResultSetMetaData </item>
+      <item> Retention </item>
+      <item> RetentionPolicy </item>
+      <item> ReverbType </item>
+      <item> Robot </item>
+      <item> Role </item>
+      <item> RoleInfo </item>
+      <item> RoleInfoNotFoundException </item>
+      <item> RoleList </item>
+      <item> RoleNotFoundException </item>
+      <item> RoleResult </item>
+      <item> RoleStatus </item>
+      <item> RoleUnresolved </item>
+      <item> RoleUnresolvedList </item>
+      <item> RootPaneContainer </item>
+      <item> RootPaneUI </item>
+      <item> RoundRectangle2D </item>
+      <item> RoundRectangle2D.Double </item>
+      <item> RoundRectangle2D.Float </item>
+      <item> RoundingMode </item>
+      <item> RowMapper </item>
+      <item> RowSet </item>
+      <item> RowSetEvent </item>
+      <item> RowSetInternal </item>
+      <item> RowSetListener </item>
+      <item> RowSetMetaData </item>
+      <item> RowSetMetaDataImpl </item>
+      <item> RowSetReader </item>
+      <item> RowSetWarning </item>
+      <item> RowSetWriter </item>
+      <item> RuleBasedCollator </item>
+      <item> RunTime </item>
+      <item> RunTimeOperations </item>
+      <item> Runnable </item>
+      <item> Runtime </item>
+      <item> RuntimeErrorException </item>
+      <item> RuntimeException </item>
+      <item> RuntimeMBeanException </item>
+      <item> RuntimeMXBean </item>
+      <item> RuntimeOperationsException </item>
+      <item> RuntimePermission </item>
+      <item> SAXException </item>
+      <item> SAXNotRecognizedException </item>
+      <item> SAXNotSupportedException </item>
+      <item> SAXParseException </item>
+      <item> SAXParser </item>
+      <item> SAXParserFactory </item>
+      <item> SAXResult </item>
+      <item> SAXSource </item>
+      <item> SAXTransformerFactory </item>
+      <item> SERVANT_RETENTION_POLICY_ID </item>
+      <item> SQLData </item>
+      <item> SQLException </item>
+      <item> SQLInput </item>
+      <item> SQLInputImpl </item>
+      <item> SQLOutput </item>
+      <item> SQLOutputImpl </item>
+      <item> SQLPermission </item>
+      <item> SQLWarning </item>
+      <item> SSLContext </item>
+      <item> SSLContextSpi </item>
+      <item> SSLEngine </item>
+      <item> SSLEngineResult </item>
+      <item> SSLEngineResult.HandshakeStatus </item>
+      <item> SSLEngineResult.Status </item>
+      <item> SSLException </item>
+      <item> SSLHandshakeException </item>
+      <item> SSLKeyException </item>
+      <item> SSLPeerUnverifiedException </item>
+      <item> SSLPermission </item>
+      <item> SSLProtocolException </item>
+      <item> SSLServerSocket </item>
+      <item> SSLServerSocketFactory </item>
+      <item> SSLSession </item>
+      <item> SSLSessionBindingEvent </item>
+      <item> SSLSessionBindingListener </item>
+      <item> SSLSessionContext </item>
+      <item> SSLSocket </item>
+      <item> SSLSocketFactory </item>
+      <item> SUCCESSFUL </item>
+      <item> SYNC_WITH_TRANSPORT </item>
+      <item> SYSTEM_EXCEPTION </item>
+      <item> SampleModel </item>
+      <item> Sasl </item>
+      <item> SaslClient </item>
+      <item> SaslClientFactory </item>
+      <item> SaslException </item>
+      <item> SaslServer </item>
+      <item> SaslServerFactory </item>
+      <item> Savepoint </item>
+      <item> Scanner </item>
+      <item> ScatteringByteChannel </item>
+      <item> ScheduledExecutorService </item>
+      <item> ScheduledFuture </item>
+      <item> ScheduledThreadPoolExecutor </item>
+      <item> Schema </item>
+      <item> SchemaFactory </item>
+      <item> SchemaFactoryLoader </item>
+      <item> SchemaViolationException </item>
+      <item> ScrollBarUI </item>
+      <item> ScrollPane </item>
+      <item> ScrollPaneAdjustable </item>
+      <item> ScrollPaneConstants </item>
+      <item> ScrollPaneLayout </item>
+      <item> ScrollPaneLayout.UIResource </item>
+      <item> ScrollPaneUI </item>
+      <item> Scrollable </item>
+      <item> Scrollbar </item>
+      <item> SealedObject </item>
+      <item> SearchControls </item>
+      <item> SearchResult </item>
+      <item> SecretKey </item>
+      <item> SecretKeyFactory </item>
+      <item> SecretKeyFactorySpi </item>
+      <item> SecretKeySpec </item>
+      <item> SecureCacheResponse </item>
+      <item> SecureClassLoader </item>
+      <item> SecureRandom </item>
+      <item> SecureRandomSpi </item>
+      <item> Security </item>
+      <item> SecurityException </item>
+      <item> SecurityManager </item>
+      <item> SecurityPermission </item>
+      <item> Segment </item>
+      <item> SelectableChannel </item>
+      <item> SelectionKey </item>
+      <item> Selector </item>
+      <item> SelectorProvider </item>
+      <item> Semaphore </item>
+      <item> SeparatorUI </item>
+      <item> Sequence </item>
+      <item> SequenceInputStream </item>
+      <item> Sequencer </item>
+      <item> Sequencer.SyncMode </item>
+      <item> SerialArray </item>
+      <item> SerialBlob </item>
+      <item> SerialClob </item>
+      <item> SerialDatalink </item>
+      <item> SerialException </item>
+      <item> SerialJavaObject </item>
+      <item> SerialRef </item>
+      <item> SerialStruct </item>
+      <item> Serializable </item>
+      <item> SerializablePermission </item>
+      <item> Servant </item>
+      <item> ServantActivator </item>
+      <item> ServantActivatorHelper </item>
+      <item> ServantActivatorOperations </item>
+      <item> ServantActivatorPOA </item>
+      <item> ServantAlreadyActive </item>
+      <item> ServantAlreadyActiveHelper </item>
+      <item> ServantLocator </item>
+      <item> ServantLocatorHelper </item>
+      <item> ServantLocatorOperations </item>
+      <item> ServantLocatorPOA </item>
+      <item> ServantManager </item>
+      <item> ServantManagerOperations </item>
+      <item> ServantNotActive </item>
+      <item> ServantNotActiveHelper </item>
+      <item> ServantObject </item>
+      <item> ServantRetentionPolicy </item>
+      <item> ServantRetentionPolicyOperations </item>
+      <item> ServantRetentionPolicyValue </item>
+      <item> ServerCloneException </item>
+      <item> ServerError </item>
+      <item> ServerException </item>
+      <item> ServerIdHelper </item>
+      <item> ServerNotActiveException </item>
+      <item> ServerRef </item>
+      <item> ServerRequest </item>
+      <item> ServerRequestInfo </item>
+      <item> ServerRequestInfoOperations </item>
+      <item> ServerRequestInterceptor </item>
+      <item> ServerRequestInterceptorOperations </item>
+      <item> ServerRuntimeException </item>
+      <item> ServerSocket </item>
+      <item> ServerSocketChannel </item>
+      <item> ServerSocketFactory </item>
+      <item> ServiceContext </item>
+      <item> ServiceContextHelper </item>
+      <item> ServiceContextHolder </item>
+      <item> ServiceContextListHelper </item>
+      <item> ServiceContextListHolder </item>
+      <item> ServiceDetail </item>
+      <item> ServiceDetailHelper </item>
+      <item> ServiceIdHelper </item>
+      <item> ServiceInformation </item>
+      <item> ServiceInformationHelper </item>
+      <item> ServiceInformationHolder </item>
+      <item> ServiceNotFoundException </item>
+      <item> ServicePermission </item>
+      <item> ServiceRegistry </item>
+      <item> ServiceRegistry.Filter </item>
+      <item> ServiceUI </item>
+      <item> ServiceUIFactory </item>
+      <item> ServiceUnavailableException </item>
+      <item> Set </item>
+      <item> SetOfIntegerSyntax </item>
+      <item> SetOverrideType </item>
+      <item> SetOverrideTypeHelper </item>
+      <item> Severity </item>
+      <item> Shape </item>
+      <item> ShapeGraphicAttribute </item>
+      <item> SheetCollate </item>
+      <item> Short </item>
+      <item> ShortBuffer </item>
+      <item> ShortBufferException </item>
+      <item> ShortHolder </item>
+      <item> ShortLookupTable </item>
+      <item> ShortMessage </item>
+      <item> ShortSeqHelper </item>
+      <item> ShortSeqHolder </item>
+      <item> Sides </item>
+      <item> Signature </item>
+      <item> SignatureException </item>
+      <item> SignatureSpi </item>
+      <item> SignedObject </item>
+      <item> Signer </item>
+      <item> SimpleAttributeSet </item>
+      <item> SimpleBeanInfo </item>
+      <item> SimpleDateFormat </item>
+      <item> SimpleDoc </item>
+      <item> SimpleFormatter </item>
+      <item> SimpleTimeZone </item>
+      <item> SimpleType </item>
+      <item> SinglePixelPackedSampleModel </item>
+      <item> SingleSelectionModel </item>
+      <item> Size2DSyntax </item>
+      <item> SizeLimitExceededException </item>
+      <item> SizeRequirements </item>
+      <item> SizeSequence </item>
+      <item> Skeleton </item>
+      <item> SkeletonMismatchException </item>
+      <item> SkeletonNotFoundException </item>
+      <item> SliderUI </item>
+      <item> Socket </item>
+      <item> SocketAddress </item>
+      <item> SocketChannel </item>
+      <item> SocketException </item>
+      <item> SocketFactory </item>
+      <item> SocketHandler </item>
+      <item> SocketImpl </item>
+      <item> SocketImplFactory </item>
+      <item> SocketOptions </item>
+      <item> SocketPermission </item>
+      <item> SocketSecurityException </item>
+      <item> SocketTimeoutException </item>
+      <item> SoftBevelBorder </item>
+      <item> SoftReference </item>
+      <item> SortControl </item>
+      <item> SortKey </item>
+      <item> SortResponseControl </item>
+      <item> SortedMap </item>
+      <item> SortedSet </item>
+      <item> SortingFocusTraversalPolicy </item>
+      <item> Soundbank </item>
+      <item> SoundbankReader </item>
+      <item> SoundbankResource </item>
+      <item> Source </item>
+      <item> SourceDataLine </item>
+      <item> SourceLocator </item>
+      <item> SpinnerDateModel </item>
+      <item> SpinnerListModel </item>
+      <item> SpinnerModel </item>
+      <item> SpinnerNumberModel </item>
+      <item> SpinnerUI </item>
+      <item> SplitPaneUI </item>
+      <item> Spring </item>
+      <item> SpringLayout </item>
+      <item> SpringLayout.Constraints </item>
+      <item> SslRMIClientSocketFactory </item>
+      <item> SslRMIServerSocketFactory </item>
+      <item> Stack </item>
+      <item> StackOverflowError </item>
+      <item> StackTraceElement </item>
+      <item> StandardMBean </item>
+      <item> StartTlsRequest </item>
+      <item> StartTlsResponse </item>
+      <item> State </item>
+      <item> StateEdit </item>
+      <item> StateEditable </item>
+      <item> StateFactory </item>
+      <item> Statement </item>
+      <item> Statement </item>
+      <item> StreamCorruptedException </item>
+      <item> StreamHandler </item>
+      <item> StreamPrintService </item>
+      <item> StreamPrintServiceFactory </item>
+      <item> StreamResult </item>
+      <item> StreamSource </item>
+      <item> StreamTokenizer </item>
+      <item> Streamable </item>
+      <item> StreamableValue </item>
+      <item> StrictMath </item>
+      <item> String </item>
+      <item> StringBuffer </item>
+      <item> StringBufferInputStream </item>
+      <item> StringBuilder </item>
+      <item> StringCharacterIterator </item>
+      <item> StringContent </item>
+      <item> StringHolder </item>
+      <item> StringIndexOutOfBoundsException </item>
+      <item> StringMonitor </item>
+      <item> StringMonitorMBean </item>
+      <item> StringNameHelper </item>
+      <item> StringReader </item>
+      <item> StringRefAddr </item>
+      <item> StringSelection </item>
+      <item> StringSeqHelper </item>
+      <item> StringSeqHolder </item>
+      <item> StringTokenizer </item>
+      <item> StringValueExp </item>
+      <item> StringValueHelper </item>
+      <item> StringWriter </item>
+      <item> Stroke </item>
+      <item> Struct </item>
+      <item> StructMember </item>
+      <item> StructMemberHelper </item>
+      <item> Stub </item>
+      <item> StubDelegate </item>
+      <item> StubNotFoundException </item>
+      <item> Style </item>
+      <item> StyleConstants </item>
+      <item> StyleConstants.CharacterConstants </item>
+      <item> StyleConstants.ColorConstants </item>
+      <item> StyleConstants.FontConstants </item>
+      <item> StyleConstants.ParagraphConstants </item>
+      <item> StyleContext </item>
+      <item> StyleSheet </item>
+      <item> StyleSheet.BoxPainter </item>
+      <item> StyleSheet.ListPainter </item>
+      <item> StyledDocument </item>
+      <item> StyledEditorKit </item>
+      <item> StyledEditorKit.AlignmentAction </item>
+      <item> StyledEditorKit.BoldAction </item>
+      <item> StyledEditorKit.FontFamilyAction </item>
+      <item> StyledEditorKit.FontSizeAction </item>
+      <item> StyledEditorKit.ForegroundAction </item>
+      <item> StyledEditorKit.ItalicAction </item>
+      <item> StyledEditorKit.StyledTextAction </item>
+      <item> StyledEditorKit.UnderlineAction </item>
+      <item> Subject </item>
+      <item> SubjectDelegationPermission </item>
+      <item> SubjectDomainCombiner </item>
+      <item> SupportedValuesAttribute </item>
+      <item> SuppressWarnings </item>
+      <item> SwingConstants </item>
+      <item> SwingPropertyChangeSupport </item>
+      <item> SwingUtilities </item>
+      <item> SyncFactory </item>
+      <item> SyncFactoryException </item>
+      <item> SyncFailedException </item>
+      <item> SyncProvider </item>
+      <item> SyncProviderException </item>
+      <item> SyncResolver </item>
+      <item> SyncScopeHelper </item>
+      <item> SynchronousQueue </item>
+      <item> SynthConstants </item>
+      <item> SynthContext </item>
+      <item> SynthGraphicsUtils </item>
+      <item> SynthLookAndFeel </item>
+      <item> SynthPainter </item>
+      <item> SynthStyle </item>
+      <item> SynthStyleFactory </item>
+      <item> Synthesizer </item>
+      <item> SysexMessage </item>
+      <item> System </item>
+      <item> SystemColor </item>
+      <item> SystemException </item>
+      <item> SystemFlavorMap </item>
+      <item> TAG_ALTERNATE_IIOP_ADDRESS </item>
+      <item> TAG_CODE_SETS </item>
+      <item> TAG_INTERNET_IOP </item>
+      <item> TAG_JAVA_CODEBASE </item>
+      <item> TAG_MULTIPLE_COMPONENTS </item>
+      <item> TAG_ORB_TYPE </item>
+      <item> TAG_POLICIES </item>
+      <item> TAG_RMI_CUSTOM_MAX_STREAM_FORMAT </item>
+      <item> TCKind </item>
+      <item> THREAD_POLICY_ID </item>
+      <item> TIMEOUT </item>
+      <item> TRANSACTION_MODE </item>
+      <item> TRANSACTION_REQUIRED </item>
+      <item> TRANSACTION_ROLLEDBACK </item>
+      <item> TRANSACTION_UNAVAILABLE </item>
+      <item> TRANSIENT </item>
+      <item> TRANSPORT_RETRY </item>
+      <item> TabExpander </item>
+      <item> TabSet </item>
+      <item> TabStop </item>
+      <item> TabableView </item>
+      <item> TabbedPaneUI </item>
+      <item> TableCellEditor </item>
+      <item> TableCellRenderer </item>
+      <item> TableColumn </item>
+      <item> TableColumnModel </item>
+      <item> TableColumnModelEvent </item>
+      <item> TableColumnModelListener </item>
+      <item> TableHeaderUI </item>
+      <item> TableModel </item>
+      <item> TableModelEvent </item>
+      <item> TableModelListener </item>
+      <item> TableUI </item>
+      <item> TableView </item>
+      <item> TabularData </item>
+      <item> TabularDataSupport </item>
+      <item> TabularType </item>
+      <item> TagElement </item>
+      <item> TaggedComponent </item>
+      <item> TaggedComponentHelper </item>
+      <item> TaggedComponentHolder </item>
+      <item> TaggedProfile </item>
+      <item> TaggedProfileHelper </item>
+      <item> TaggedProfileHolder </item>
+      <item> Target </item>
+      <item> TargetDataLine </item>
+      <item> TargetedNotification </item>
+      <item> Templates </item>
+      <item> TemplatesHandler </item>
+      <item> Text </item>
+      <item> TextAction </item>
+      <item> TextArea </item>
+      <item> TextAttribute </item>
+      <item> TextComponent </item>
+      <item> TextEvent </item>
+      <item> TextField </item>
+      <item> TextHitInfo </item>
+      <item> TextInputCallback </item>
+      <item> TextLayout </item>
+      <item> TextLayout.CaretPolicy </item>
+      <item> TextListener </item>
+      <item> TextMeasurer </item>
+      <item> TextOutputCallback </item>
+      <item> TextSyntax </item>
+      <item> TextUI </item>
+      <item> TexturePaint </item>
+      <item> Thread </item>
+      <item> Thread.State </item>
+      <item> Thread.UncaughtExceptionHandler </item>
+      <item> ThreadDeath </item>
+      <item> ThreadFactory </item>
+      <item> ThreadGroup </item>
+      <item> ThreadInfo </item>
+      <item> ThreadLocal </item>
+      <item> ThreadMXBean </item>
+      <item> ThreadPolicy </item>
+      <item> ThreadPolicyOperations </item>
+      <item> ThreadPolicyValue </item>
+      <item> ThreadPoolExecutor </item>
+      <item> ThreadPoolExecutor.AbortPolicy </item>
+      <item> ThreadPoolExecutor.CallerRunsPolicy </item>
+      <item> ThreadPoolExecutor.DiscardOldestPolicy </item>
+      <item> ThreadPoolExecutor.DiscardPolicy </item>
+      <item> Throwable </item>
+      <item> Tie </item>
+      <item> TileObserver </item>
+      <item> Time </item>
+      <item> TimeLimitExceededException </item>
+      <item> TimeUnit </item>
+      <item> TimeZone </item>
+      <item> TimeoutException </item>
+      <item> Timer </item>
+      <item> Timer </item>
+      <item> Timer </item>
+      <item> TimerAlarmClockNotification </item>
+      <item> TimerMBean </item>
+      <item> TimerNotification </item>
+      <item> TimerTask </item>
+      <item> Timestamp </item>
+      <item> Timestamp </item>
+      <item> TitledBorder </item>
+      <item> TooManyListenersException </item>
+      <item> ToolBarUI </item>
+      <item> ToolTipManager </item>
+      <item> ToolTipUI </item>
+      <item> Toolkit </item>
+      <item> Track </item>
+      <item> TransactionRequiredException </item>
+      <item> TransactionRolledbackException </item>
+      <item> TransactionService </item>
+      <item> TransactionalWriter </item>
+      <item> TransferHandler </item>
+      <item> Transferable </item>
+      <item> TransformAttribute </item>
+      <item> Transformer </item>
+      <item> TransformerConfigurationException </item>
+      <item> TransformerException </item>
+      <item> TransformerFactory </item>
+      <item> TransformerFactoryConfigurationError </item>
+      <item> TransformerHandler </item>
+      <item> Transmitter </item>
+      <item> Transparency </item>
+      <item> TreeCellEditor </item>
+      <item> TreeCellRenderer </item>
+      <item> TreeExpansionEvent </item>
+      <item> TreeExpansionListener </item>
+      <item> TreeMap </item>
+      <item> TreeModel </item>
+      <item> TreeModelEvent </item>
+      <item> TreeModelListener </item>
+      <item> TreeNode </item>
+      <item> TreePath </item>
+      <item> TreeSelectionEvent </item>
+      <item> TreeSelectionListener </item>
+      <item> TreeSelectionModel </item>
+      <item> TreeSet </item>
+      <item> TreeUI </item>
+      <item> TreeWillExpandListener </item>
+      <item> TrustAnchor </item>
+      <item> TrustManager </item>
+      <item> TrustManagerFactory </item>
+      <item> TrustManagerFactorySpi </item>
+      <item> Type </item>
+      <item> TypeCode </item>
+      <item> TypeCodeHolder </item>
+      <item> TypeInfo </item>
+      <item> TypeInfoProvider </item>
+      <item> TypeMismatch </item>
+      <item> TypeMismatch </item>
+      <item> TypeMismatch </item>
+      <item> TypeMismatchHelper </item>
+      <item> TypeMismatchHelper </item>
+      <item> TypeNotPresentException </item>
+      <item> TypeVariable </item>
+      <item> Types </item>
+      <item> UID </item>
+      <item> UIDefaults </item>
+      <item> UIDefaults.ActiveValue </item>
+      <item> UIDefaults.LazyInputMap </item>
+      <item> UIDefaults.LazyValue </item>
+      <item> UIDefaults.ProxyLazyValue </item>
+      <item> UIManager </item>
+      <item> UIManager.LookAndFeelInfo </item>
+      <item> UIResource </item>
+      <item> ULongLongSeqHelper </item>
+      <item> ULongLongSeqHolder </item>
+      <item> ULongSeqHelper </item>
+      <item> ULongSeqHolder </item>
+      <item> UNKNOWN </item>
+      <item> UNKNOWN </item>
+      <item> UNSUPPORTED_POLICY </item>
+      <item> UNSUPPORTED_POLICY_VALUE </item>
+      <item> URI </item>
+      <item> URIException </item>
+      <item> URIResolver </item>
+      <item> URISyntax </item>
+      <item> URISyntaxException </item>
+      <item> URL </item>
+      <item> URLClassLoader </item>
+      <item> URLConnection </item>
+      <item> URLDecoder </item>
+      <item> URLEncoder </item>
+      <item> URLStreamHandler </item>
+      <item> URLStreamHandlerFactory </item>
+      <item> URLStringHelper </item>
+      <item> USER_EXCEPTION </item>
+      <item> UShortSeqHelper </item>
+      <item> UShortSeqHolder </item>
+      <item> UTFDataFormatException </item>
+      <item> UUID </item>
+      <item> UndeclaredThrowableException </item>
+      <item> UndoManager </item>
+      <item> UndoableEdit </item>
+      <item> UndoableEditEvent </item>
+      <item> UndoableEditListener </item>
+      <item> UndoableEditSupport </item>
+      <item> UnexpectedException </item>
+      <item> UnicastRemoteObject </item>
+      <item> UnionMember </item>
+      <item> UnionMemberHelper </item>
+      <item> UnknownEncoding </item>
+      <item> UnknownEncodingHelper </item>
+      <item> UnknownError </item>
+      <item> UnknownException </item>
+      <item> UnknownFormatConversionException </item>
+      <item> UnknownFormatFlagsException </item>
+      <item> UnknownGroupException </item>
+      <item> UnknownHostException </item>
+      <item> UnknownHostException </item>
+      <item> UnknownObjectException </item>
+      <item> UnknownServiceException </item>
+      <item> UnknownUserException </item>
+      <item> UnknownUserExceptionHelper </item>
+      <item> UnknownUserExceptionHolder </item>
+      <item> UnmappableCharacterException </item>
+      <item> UnmarshalException </item>
+      <item> UnmodifiableClassException </item>
+      <item> UnmodifiableSetException </item>
+      <item> UnrecoverableEntryException </item>
+      <item> UnrecoverableKeyException </item>
+      <item> Unreferenced </item>
+      <item> UnresolvedAddressException </item>
+      <item> UnresolvedPermission </item>
+      <item> UnsatisfiedLinkError </item>
+      <item> UnsolicitedNotification </item>
+      <item> UnsolicitedNotificationEvent </item>
+      <item> UnsolicitedNotificationListener </item>
+      <item> UnsupportedAddressTypeException </item>
+      <item> UnsupportedAudioFileException </item>
+      <item> UnsupportedCallbackException </item>
+      <item> UnsupportedCharsetException </item>
+      <item> UnsupportedClassVersionError </item>
+      <item> UnsupportedEncodingException </item>
+      <item> UnsupportedFlavorException </item>
+      <item> UnsupportedLookAndFeelException </item>
+      <item> UnsupportedOperationException </item>
+      <item> UserDataHandler </item>
+      <item> UserException </item>
+      <item> Util </item>
+      <item> UtilDelegate </item>
+      <item> Utilities </item>
+      <item> VMID </item>
+      <item> VM_ABSTRACT </item>
+      <item> VM_CUSTOM </item>
+      <item> VM_NONE </item>
+      <item> VM_TRUNCATABLE </item>
+      <item> Validator </item>
+      <item> ValidatorHandler </item>
+      <item> ValueBase </item>
+      <item> ValueBaseHelper </item>
+      <item> ValueBaseHolder </item>
+      <item> ValueExp </item>
+      <item> ValueFactory </item>
+      <item> ValueHandler </item>
+      <item> ValueHandlerMultiFormat </item>
+      <item> ValueInputStream </item>
+      <item> ValueMember </item>
+      <item> ValueMemberHelper </item>
+      <item> ValueOutputStream </item>
+      <item> VariableHeightLayoutCache </item>
+      <item> Vector </item>
+      <item> VerifyError </item>
+      <item> VersionSpecHelper </item>
+      <item> VetoableChangeListener </item>
+      <item> VetoableChangeListenerProxy </item>
+      <item> VetoableChangeSupport </item>
+      <item> View </item>
+      <item> ViewFactory </item>
+      <item> ViewportLayout </item>
+      <item> ViewportUI </item>
+      <item> VirtualMachineError </item>
+      <item> Visibility </item>
+      <item> VisibilityHelper </item>
+      <item> VoiceStatus </item>
+      <item> Void </item>
+      <item> VolatileImage </item>
+      <item> WCharSeqHelper </item>
+      <item> WCharSeqHolder </item>
+      <item> WStringSeqHelper </item>
+      <item> WStringSeqHolder </item>
+      <item> WStringValueHelper </item>
+      <item> WeakHashMap </item>
+      <item> WeakReference </item>
+      <item> WebRowSet </item>
+      <item> WildcardType </item>
+      <item> Window </item>
+      <item> WindowAdapter </item>
+      <item> WindowConstants </item>
+      <item> WindowEvent </item>
+      <item> WindowFocusListener </item>
+      <item> WindowListener </item>
+      <item> WindowStateListener </item>
+      <item> WrappedPlainView </item>
+      <item> WritableByteChannel </item>
+      <item> WritableRaster </item>
+      <item> WritableRenderedImage </item>
+      <item> WriteAbortedException </item>
+      <item> Writer </item>
+      <item> WrongAdapter </item>
+      <item> WrongAdapterHelper </item>
+      <item> WrongPolicy </item>
+      <item> WrongPolicyHelper </item>
+      <item> WrongTransaction </item>
+      <item> WrongTransactionHelper </item>
+      <item> WrongTransactionHolder </item>
+      <item> X500Principal </item>
+      <item> X500PrivateCredential </item>
+      <item> X509CRL </item>
+      <item> X509CRLEntry </item>
+      <item> X509CRLSelector </item>
+      <item> X509CertSelector </item>
+      <item> X509Certificate </item>
+      <item> X509Certificate </item>
+      <item> X509EncodedKeySpec </item>
+      <item> X509ExtendedKeyManager </item>
+      <item> X509Extension </item>
+      <item> X509KeyManager </item>
+      <item> X509TrustManager </item>
+      <item> XAConnection </item>
+      <item> XADataSource </item>
+      <item> XAException </item>
+      <item> XAResource </item>
+      <item> XMLConstants </item>
+      <item> XMLDecoder </item>
+      <item> XMLEncoder </item>
+      <item> XMLFilter </item>
+      <item> XMLFilterImpl </item>
+      <item> XMLFormatter </item>
+      <item> XMLGregorianCalendar </item>
+      <item> XMLParseException </item>
+      <item> XMLReader </item>
+      <item> XMLReaderAdapter </item>
+      <item> XMLReaderFactory </item>
+      <item> XPath </item>
+      <item> XPathConstants </item>
+      <item> XPathException </item>
+      <item> XPathExpression </item>
+      <item> XPathExpressionException </item>
+      <item> XPathFactory </item>
+      <item> XPathFactoryConfigurationException </item>
+      <item> XPathFunction </item>
+      <item> XPathFunctionException </item>
+      <item> XPathFunctionResolver </item>
+      <item> XPathVariableResolver </item>
+      <item> Xid </item>
+      <item> XmlReader </item>
+      <item> XmlWriter </item>
+      <item> ZipEntry </item>
+      <item> ZipException </item>
+      <item> ZipFile </item>
+      <item> ZipInputStream </item>
+      <item> ZipOutputStream </item>
+      <item> ZoneView </item>
+      <item> _BindingIteratorImplBase </item>
+      <item> _BindingIteratorStub </item>
+      <item> _DynAnyFactoryStub </item>
+      <item> _DynAnyStub </item>
+      <item> _DynArrayStub </item>
+      <item> _DynEnumStub </item>
+      <item> _DynFixedStub </item>
+      <item> _DynSequenceStub </item>
+      <item> _DynStructStub </item>
+      <item> _DynUnionStub </item>
+      <item> _DynValueStub </item>
+      <item> _IDLTypeStub </item>
+      <item> _NamingContextExtStub </item>
+      <item> _NamingContextImplBase </item>
+      <item> _NamingContextStub </item>
+      <item> _PolicyStub </item>
+      <item> _Remote_Stub </item>
+      <item> _ServantActivatorStub </item>
+      <item> _ServantLocatorStub </item>
+    </list>
+    <list name="keywords">
+      <item> abstract </item>
+      <item> case </item>
+      <item> catch </item>
+      <item> class </item>
+      <item> def </item>
+      <item> do </item>
+      <item> else </item>
+      <item> extends </item>
+      <item> false </item>
+      <item> final </item>
+      <item> finally </item>
+      <item> for </item>
+      <item> forSome </item>
+      <item> if </item>
+      <item> implicit </item>
+      <item> import </item>
+      <item> lazy </item>
+      <item> match </item>
+      <item> new </item>
+      <item> null </item>
+      <item> object </item>
+      <item> override </item>
+      <item> package </item>
+      <item> private </item>
+      <item> protected </item>
+      <item> requires </item>
+      <item> return </item>
+      <item> sealed </item>
+      <item> super </item>
+      <item> this </item>
+      <item> throw </item>
+      <item> trait </item>
+      <item> true </item>
+      <item> try </item>
+      <item> type </item>
+      <item> val </item>
+      <item> var </item>
+      <item> while </item>
+      <item> with </item>
+      <item> yield </item>
+    </list>
+    <list name="types">
+      <item> boolean </item>
+      <item> byte </item>
+      <item> char </item>
+      <item> double </item>
+      <item> float </item>
+      <item> int </item>
+      <item> long </item>
+      <item> short </item>
+      <item> unit </item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <!-- Comment next line if you don't use Javadoc tool -->
+        <IncludeRules context="##Javadoc"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <keyword attribute="Java15" context="#stay" String="java15"/>
+        <keyword attribute="Scala2" context="#stay" String="scala2"/>
+        <Float attribute="Float" context="#stay">
+          <AnyChar String="fF" attribute="Float" context="#stay"/>
+        </Float>
+        <HlCOct attribute="Octal" context="#stay"/>
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Int attribute="Decimal" context="#stay">
+          <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="true"/>
+          <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="true"/>
+        </Int>
+        <HlCChar attribute="Char" context="#stay"/>
+        <RegExpr attribute="Decimal" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1"/>
+        <RegExpr attribute="Decimal" context="#stay" String="//\s*END.*$" endRegion="Region1"/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <RegExpr attribute="Function" context="Printf" String="\.(format|printf)\b" />
+        <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"/>
+<!--
+        <RegExpr attribute="Keyword" context="#stay" String="\.{3,3}\s+" />
+        <RegExpr attribute="Keyword" context="StaticImports" String="\b(import\s+static)\b" />
+        <RegExpr attribute="Keyword" context="Imports" String="\b(package|import)\b" />
+-->
+        <RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[(])" />
+        <RegExpr attribute="Symbol" context="Member" String="[.]{1,1}" />
+        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <LineContinue attribute="String" context="#stay"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="Printf" lineEndContext="#pop" name="Printf">
+        <DetectChar attribute="Normal Text" context="#pop" char="&#059;" />
+        <DetectChar attribute="String" context="PrintfString" char="&quot;"/>
+      </context>
+      <context attribute="PrintfString" lineEndContext="#pop" name="PrintfString">
+        <LineContinue attribute="String" context="#stay"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+        <RegExpr attribute="String Char" context="#stay" String="%(\d+\$)?(-|#|\+|\ |0|,|\()*\d*(\.\d+)?[a-hosxA-CEGHSX]" />
+        <RegExpr attribute="String Char" context="#stay" String="%(\d+\$)?(-|#|\+|\ |0|,|\()*\d*(t|T)(a|A|b|B|c|C|d|D|e|F|h|H|I|j|k|l|L|m|M|N|p|P|Q|r|R|s|S|T|y|Y|z|Z)" />
+        <RegExpr attribute="String Char" context="#stay" String="%(%|n)" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="Member" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr attribute="Function" context="#pop" String="\b[_a-zA-Z]\w*(?=[\s]*)" />
+      </context>
+<!--
+      <context attribute="Normal Text" lineEndContext="#pop" name="StaticImports">
+        <RegExpr attribute="StaticImports" context="#pop" String="\s*.*$" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="Imports">
+        <RegExpr attribute="Imports" context="#pop" String="\s*.*$" />
+      </context>
+-->
+      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
+      <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"  defStyleNum="dsNormal"/>
+      <itemData name="Keyword"      defStyleNum="dsKeyword"/>
+      <itemData name="Function"     defStyleNum="dsFunction"/>
+      <itemData name="StaticImports"      defStyleNum="dsKeyword" color="#800080" selColor="#FFFFFF" bold="0" italic="0"/>
+      <itemData name="Imports"      defStyleNum="dsKeyword" color="#808000" selColor="#FFFFFF" bold="0" italic="0"/>
+      <itemData name="Data Type"    defStyleNum="dsDataType"/>
+      <itemData name="Decimal"      defStyleNum="dsDecVal"/>
+      <itemData name="Octal"        defStyleNum="dsBaseN"/>
+      <itemData name="Hex"          defStyleNum="dsBaseN"/>
+      <itemData name="Float"        defStyleNum="dsFloat"/>
+      <itemData name="Char"         defStyleNum="dsChar"/>
+      <itemData name="String"       defStyleNum="dsString"/>
+      <itemData name="String Char"  defStyleNum="dsChar"/>
+      <itemData name="PrintfString" defStyleNum="dsString"/>
+      <itemData name="Comment"      defStyleNum="dsComment"/>
+      <itemData name="Symbol"       defStyleNum="dsNormal"/>
+      <itemData name="Scala2"       defStyleNum="dsNormal" color="#0095FF" selColor="#FFFFFF" bold="1" italic="0"/>
+      <itemData name="Java15"       defStyleNum="dsNormal" color="#0095FF" selColor="#FFFFFF" bold="1" italic="0"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//"/>
+      <comment name="multiLine" start="/*" end="*/"/>
+    </comments>
+    <keywords casesensitive="1"/>
+  </general>
+</language>
diff --git a/xml/scheme.xml b/xml/scheme.xml
new file mode 100644
--- /dev/null
+++ b/xml/scheme.xml
@@ -0,0 +1,436 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  This file is part of KDE's kate project.
+
+  copyright   : (C) 2004-2005 by Dominik Haumann
+  email       : dhdev at gmx dot de
+
+
+  copyright   : (C) 2004 by Goffart Olivier
+  email       : ogoffart @ kde.org
+      (brackets coloration)
+
+
+ **********************************************************************
+ * 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.                                       *
+ **********************************************************************
+ NOTE:
+   This file defines highlighting rules for both Scheme AND Guile.
+   Scheme usually has no block comments. Guile has block comments: #! !#
+   I support these block comments: "Good design means good compromises" :)
+   Singleline comments are introduced through ';'. In reality EVERY
+   scheme/guile developer use ';;'. It is indented in emacs in a special way.
+   That's why I set <comment singleLine=";;">.
+
+   As a guile guru tole me it would not make sense to highlight all scheme and
+   guile procedures (cause then almost everything would be highlighted) I
+   removed some to have a rather small but "senseful" list of highlighted words.
+-->
+<language version="3" kateversion="2.4" name="Scheme" section="Scripts" extensions="*.scm;*.ss;*.scheme;*.guile" mimetype="text/x-scheme" author="Dominik Haumann (dhdev@gmx.de)" license="LGPLv2+" priority="9">
+  <highlighting>
+    <list name="operators">
+      <item> &lt;= </item>
+      <item> &lt; </item>
+      <item> = </item>
+      <item> =&gt; </item>
+      <item> &gt;= </item>
+      <item> &gt; </item>
+      <item> - </item>
+      <item> / </item>
+      <item> *,* </item>
+      <item> *) </item>
+      <item> + </item>
+    </list>
+    <list name="characters">
+      <item> #\nul </item>
+      <item> #\soh </item>
+      <item> #\stx </item>
+      <item> #\etx </item>
+      <item> #\eot </item>
+      <item> #\enq </item>
+      <item> #\ack </item>
+      <item> #\bel </item>
+      <item> #\bs </item>
+      <item> #\ht </item>
+      <item> #\nl </item>
+      <item> #\vt </item>
+      <item> #\np </item>
+      <item> #\cr </item>
+      <item> #\so </item>
+      <item> #\si </item>
+      <item> #\dle </item>
+      <item> #\dc1 </item>
+      <item> #\dc2 </item>
+      <item> #\dc3 </item>
+      <item> #\dc4 </item>
+      <item> #\nak </item>
+      <item> #\syn </item>
+      <item> #\etb </item>
+      <item> #\can </item>
+      <item> #\em </item>
+      <item> #\sub </item>
+      <item> #\esc </item>
+      <item> #\fs </item>
+      <item> #\gs </item>
+      <item> #\rs </item>
+      <item> #\us </item>
+      <item> #\space </item>
+      <item> #\sp </item>
+      <item> #\newline </item>
+      <item> #\nl </item>
+      <item> #\tab </item>
+      <item> #\ht </item>
+      <item> #\backspace </item>
+      <item> #\bs </item>
+      <item> #\return </item>
+      <item> #\cr </item>
+      <item> #\page </item>
+      <item> #\np </item>
+      <item> #\null </item>
+      <item> #\nul </item>
+    </list>
+    <list name="defines">
+      <item> define </item>
+      <item> define* </item>
+      <item> define-accessor </item>
+      <item> define-class </item>
+      <item> defined? </item>
+      <item> define-generic </item>
+      <item> define-macro </item>
+      <item> define-method </item>
+      <item> define-module </item>
+      <item> define-private </item>
+      <item> define-public </item>
+      <item> define*-public </item>
+      <item> define-reader-ctor </item>
+      <item> define-syntax </item>
+      <item> define-syntax-macro </item>
+      <item> defmacro </item>
+      <item> defmacro* </item>
+      <item> defmacro*-public </item>
+    </list>
+    <list name="keywords">
+      <item> abs </item>
+      <item> acos </item>
+      <item> and </item>
+      <item> angle </item>
+      <item> append </item>
+      <item> applymap </item>
+      <item> asin </item>
+      <item> assoc </item>
+      <item> assq </item>
+      <item> assv </item>
+      <item> atan </item>
+      <item> begin </item>
+      <item> boolean? </item>
+      <item> break </item>
+      <item> caaaar </item>
+      <item> caaadr </item>
+      <item> caaar </item>
+      <item> caadar </item>
+      <item> caaddr </item>
+      <item> caadr </item>
+      <item> caar </item>
+      <item> cadaar </item>
+      <item> cadadr </item>
+      <item> cadar </item>
+      <item> caddar </item>
+      <item> cadddr </item>
+      <item> caddr </item>
+      <item> cadr </item>
+      <item> call/cc </item>
+      <item> call-with-current-continuation </item>
+      <item> call-with-input-file </item>
+      <item> call-with-output-file </item>
+      <item> call-with-values </item>
+      <item> car </item>
+      <item> case </item>
+      <item> catch </item>
+      <item> cdaaar </item>
+      <item> cdaadr </item>
+      <item> cdaar </item>
+      <item> cdadar </item>
+      <item> cdaddr </item>
+      <item> cdadr </item>
+      <item> cdar </item>
+      <item> cddaar </item>
+      <item> cddadr </item>
+      <item> cddar </item>
+      <item> cdddar </item>
+      <item> cddddr </item>
+      <item> cdddr </item>
+      <item> cddr </item>
+      <item> cdr </item>
+      <item> ceiling </item>
+      <item> char-alphabetic? </item>
+      <item> char-ci&gt;=? </item>
+      <item> char-ci&gt;? </item>
+      <item> char-ci=? </item>
+      <item> char-ci&lt;=? </item>
+      <item> char-downcase </item>
+      <item> char-&gt;integer </item>
+      <item> char&gt;=? </item>
+      <item> char&gt;? </item>
+      <item> char=? </item>
+      <item> char? </item>
+      <item> char-lower-case? </item>
+      <item> char&lt;?c </item>
+      <item> char&lt;=? </item>
+      <item> char-numeric? </item>
+      <item> char-ready? </item>
+      <item> char-upcase </item>
+      <item> char-upper-case? </item>
+      <item> char-whitespace? </item>
+      <item> close-input-port </item>
+      <item> close-output-port </item>
+      <item> complex? </item>
+      <item> cond </item>
+      <item> cons </item>
+      <item> continue </item>
+      <item> cos </item>
+      <item> current-input-port </item>
+      <item> current-output-port </item>
+      <item> denominator </item>
+      <item> display </item>
+      <item> do </item>
+      <item> dynamic-wind </item>
+      <item> else </item>
+      <item> eof-object? </item>
+      <item> eq? </item>
+      <item> equal? </item>
+      <item> eqv? </item>
+      <item> eval </item>
+      <item> even? </item>
+      <item> exact->inexact </item>
+      <item> exact? </item>
+      <item> exp </item>
+      <item> expt </item>
+      <item> floor </item>
+      <item> force </item>
+      <item> for-each </item>
+      <item> gcd </item>
+      <item> har-ci&lt;? </item>
+      <item> if </item>
+      <item> imag-part </item>
+      <item> inexact-&gt;exact </item>
+      <item> inexact? </item>
+      <item> input-port? </item>
+      <item> integer-&gt;char </item>
+      <item> integer? </item>
+      <item> interaction-environment </item>
+      <item> lambda </item>
+      <item> lcm </item>
+      <item> length </item>
+      <item> let </item>
+      <item> let* </item>
+      <item> letrec </item>
+      <item> letrec-syntax </item>
+      <item> let-syntax </item>
+      <item> list-&gt;string </item>
+      <item> list </item>
+      <item> list? </item>
+      <item> list-ref </item>
+      <item> list-tail </item>
+      <item> load </item>
+      <item> log </item>
+      <item> magnitude </item>
+      <item> make-polar </item>
+      <item> make-rectangular </item>
+      <item> make-string </item>
+      <item> make-vector </item>
+      <item> max </item>
+      <item> member </item>
+      <item> memq </item>
+      <item> memv </item>
+      <item> min </item>
+      <item> modulo </item>
+      <item> negative? </item>
+      <item> newline </item>
+      <item> not </item>
+      <item> null-environment </item>
+      <item> null? </item>
+      <item> number? </item>
+      <item> number->string </item>
+      <item> numerator </item>
+      <item> odd? </item>
+      <item> open-input-file </item>
+      <item> open-output-file </item>
+      <item> or </item>
+      <item> output-port? </item>
+      <item> pair? </item>
+      <item> peek-char </item>
+      <item> port? </item>
+      <item> positive? </item>
+      <item> procedure? </item>
+      <item> quotient </item>
+      <item> rational? </item>
+      <item> rationalize </item>
+      <item> read-char </item>
+      <item> read </item>
+      <item> real? </item>
+      <item> real-part </item>
+      <item> remainder </item>
+      <item> reverse </item>
+      <item> round </item>
+      <item> scheme-report-environment </item>
+      <item> set-car! </item>
+      <item> set-cdr! </item>
+      <item> sin </item>
+      <item> sqrt </item>
+      <item> string-append </item>
+      <item> string-ci&gt;=? </item>
+      <item> string-ci&gt;? </item>
+      <item> string-ci=? </item>
+      <item> string-ci&lt;=? </item>
+      <item> string-ci&lt;? </item>
+      <item> string-copy </item>
+      <item> string-fill! </item>
+      <item> string&gt;=? </item>
+      <item> string&gt;? </item>
+      <item> string-&gt;list </item>
+      <item> string-&gt;number </item>
+      <item> string-&gt;symbol </item>
+      <item> string=? </item>
+      <item> string </item>
+      <item> string? </item>
+      <item> string-length </item>
+      <item> string&lt;=? </item>
+      <item> string&lt;? </item>
+      <item> string-ref </item>
+      <item> string-set! </item>
+      <item> substring </item>
+      <item> symbol-&gt;string </item>
+      <item> symbol? </item>
+      <item> syntax-rules </item>
+      <item> tan </item>
+      <item> transcript-off </item>
+      <item> transcript-on </item>
+      <item> truncate </item>
+      <item> values </item>
+      <item> vector-fill! </item>
+      <item> vector-&gt;listlist->vector </item>
+      <item> vector </item>
+      <item> vector? </item>
+      <item> vector-length </item>
+      <item> vector-ref </item>
+      <item> vector-set! </item>
+      <item> while </item>
+      <item> with-input-from-file </item>
+      <item> with-output-to-file </item>
+      <item> write-char </item>
+      <item> write </item>
+      <item> zero? </item>
+    </list>
+    <contexts>
+      <context name="Level0" attribute="Normal" lineEndContext="#stay">
+            <DetectChar attribute="Brackets1" context="Level1" char="("/>
+            <IncludeRules context="Default" />
+      </context>
+      <context name="Default" attribute="Normal" lineEndContext="#stay">
+        <RegExpr attribute="Region Marker" context="#stay" String=";+\s*BEGIN.*$" beginRegion="region"/>
+        <RegExpr attribute="Region Marker" context="#stay" String=";+\s*END.*$" endRegion="region"/>
+        <RegExpr attribute="Comment" context="#stay" String=";.*$"/>
+        <Detect2Chars attribute="Comment" context="MultiLineComment" char="#" char1="!" beginRegion="region"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Operator" context="#stay" String="operators"/>
+        <keyword attribute="Definition" context="function_decl" String="defines"/>
+        <keyword attribute="Char" context="#stay" String="characters"/>
+        <RegExpr attribute="Char" context="#stay" String="#\\."/>
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <RegExpr attribute="Char" context="SpecialNumber" String="#[bodxei]"/>
+        <RegExpr attribute="Decimal" context="#stay" String="#[tf]"/>
+        <Float attribute="Float" context="#stay"/>
+        <Int attribute="Decimal" context="#stay"/>
+        <DetectChar attribute="Brackets1" context="Level1" char="("/>
+      </context>
+      <context name="MultiLineComment" attribute="Comment" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="#pop" String="!#\s*$" endRegion="region" column="0"/>
+      </context>
+      <context name="SpecialNumber" attribute="Normal" fallthrough="true" lineEndContext="#pop">
+        <RegExpr attribute="Decimal" context="#pop" String="\d*(\.\d+)?"/>
+      </context>
+      <context name="String" attribute="String" lineEndContext="#stay">
+        <keyword attribute="Char" context="#stay" String="characters"/>
+        <RegExpr attribute="Char" context="#stay" String="#\\."/>
+        <Detect2Chars attribute="Char" context="#stay" char="\" char1="&quot;"/>
+        <Detect2Chars attribute="Char" context="#stay" char="\" char1="\"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context name="function_decl" attribute="Function" lineEndContext="#stay">
+        <RegExpr attribute="Function" context="#pop" String="\s*[A-Za-z0-9-+\&lt;\&gt;//\*]*\s*" />
+      </context>
+      <context name="Level1" attribute="Normal" lineEndContext="#stay">
+           <DetectChar attribute="Brackets2" context="Level2" char="("/>
+           <DetectChar attribute="Brackets1" context="#pop" char=")" />
+           <IncludeRules context="Default" />
+      </context>
+      <context name="Level2" attribute="Normal" lineEndContext="#stay">
+           <DetectChar attribute="Brackets3" context="Level3" char="("/>
+           <DetectChar attribute="Brackets2" context="#pop" char=")" />
+           <IncludeRules context="Default" />
+      </context>
+      <context name="Level3" attribute="Normal" lineEndContext="#stay">
+           <DetectChar attribute="Brackets4" context="Level4" char="("/>
+           <DetectChar attribute="Brackets3" context="#pop" char=")" />
+           <IncludeRules context="Default" />
+      </context>
+      <context name="Level4" attribute="Normal" lineEndContext="#stay">
+           <DetectChar attribute="Brackets5" context="Level5" char="("/>
+           <DetectChar attribute="Brackets4" context="#pop" char=")" />
+           <IncludeRules context="Default" />
+      </context>
+      <context name="Level5" attribute="Normal" lineEndContext="#stay">
+           <DetectChar attribute="Brackets6" context="Level6" char="("/>
+           <DetectChar attribute="Brackets5" context="#pop" char=")" />
+           <IncludeRules context="Default" />
+      </context>
+      <context name="Level6" attribute="Normal" lineEndContext="#stay">
+           <DetectChar attribute="Brackets1" context="Level1" char="("/>
+           <DetectChar attribute="Brackets6" context="#pop" char=")" />
+           <IncludeRules context="Default" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal"      defStyleNum="dsNormal"/>
+      <itemData name="Keyword"     defStyleNum="dsKeyword"/>
+      <itemData name="Definition"  defStyleNum="dsKeyword" color="#d22811"/>
+      <itemData name="Operator"    defStyleNum="dsKeyword" color="#d22811"/>
+      <itemData name="Function"    defStyleNum="dsFunction"/>
+      <itemData name="Data"        defStyleNum="dsDataType"/>
+      <itemData name="Decimal"     defStyleNum="dsDecVal"/>
+      <itemData name="BaseN"       defStyleNum="dsBaseN"/>
+      <itemData name="Float"       defStyleNum="dsFloat"/>
+      <itemData name="Char"        defStyleNum="dsChar"/>
+      <itemData name="String"      defStyleNum="dsString"/>
+      <itemData name="Comment"     defStyleNum="dsComment"/>
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
+      <itemData name="Brackets1"    defStyleNum="dsNormal" color="#ff0000" selColor="#000000" bold="1" italic="0"/>
+      <itemData name="Brackets2"    defStyleNum="dsNormal" color="#ff8800" selColor="#000000" bold="1" italic="0"/>
+      <itemData name="Brackets3"    defStyleNum="dsNormal" color="#888800" selColor="#000000" bold="1" italic="0"/>
+      <itemData name="Brackets4"    defStyleNum="dsNormal" color="#008800" selColor="#000000" bold="1" italic="0"/>
+      <itemData name="Brackets5"    defStyleNum="dsNormal" color="#000088" selColor="#000000" bold="1" italic="0"/>
+      <itemData name="Brackets6"    defStyleNum="dsNormal" color="#880088" selColor="#000000" bold="1" italic="0"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="1" weakDeliminator="-+*?!&lt;&gt;=/:#\"/>
+    <comments>
+      <comment name="singleLine" start=";;" />
+      <comment name="multiLine" start="#!" end="!#" />
+    </comments>
+  </general>
+</language>
diff --git a/xml/sci.xml b/xml/sci.xml
new file mode 100644
--- /dev/null
+++ b/xml/sci.xml
@@ -0,0 +1,1191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="scilab" version="2" kateversion="2.2" section="Scientific" extensions="*.sci;*.sce" mimetype="text/x-sci">
+  <highlighting>
+    <list name="Structure-keywords">
+      <item> do </item>
+      <item> else </item>
+      <item> for </item>
+      <item> if </item>
+      <item> elseif </item>
+      <item> end </item>
+      <item> select </item>
+      <item> then </item>
+      <item> while </item>
+    </list>
+    <list name="Control-keywords">
+      <item> abort </item>
+      <item> break </item>
+      <item> quit </item>
+      <item> return </item>
+      <item> resume </item>
+      <item> pause </item>
+    </list>
+    <list name="Function-keywords">
+      <item> function </item>
+      <item> endfunction </item>
+    </list>
+    <list name="Warning-keywords">
+      <item> error </item>
+      <item> warning </item>
+    </list>
+  <list name="Constants-keyword">
+      <item> %F </item>
+      <item> %f </item>
+      <item> %T </item>
+      <item> %t </item>
+      <item> %e </item>
+      <item> %pi </item>
+      <item> %inf </item>
+      <item> %i </item>
+      <item> %z </item>
+      <item> %io </item>
+      <item> %s </item>
+      <item> %nan </item>
+      <item> $ </item>
+      <item> %eps </item>
+      <item> MSDOS </item>
+    </list>
+    <list name="functions">
+	<item> zpell </item>
+	<item> zpch2 </item>
+	<item> zpch1 </item>
+	<item> zpbutt </item>
+	<item> zgrid </item>
+	<item> zeros </item>
+	<item> zeropen </item>
+	<item> ZCROSS_f </item>
+	<item> yulewalk </item>
+	<item> xtitle </item>
+	<item> xtape </item>
+	<item> xstringl </item>
+	<item> xstringb </item>
+	<item> xstring </item>
+	<item> xsetm </item>
+	<item> xsetech </item>
+	<item> xset </item>
+	<item> xselect </item>
+	<item> xsegs </item>
+	<item> xsave </item>
+	<item> xs2fig </item>
+	<item> xrpoly </item>
+	<item> xrects </item>
+	<item> xrect </item>
+	<item> xpolys </item>
+	<item> xpoly </item>
+	<item> xpause </item>
+	<item> xnumb </item>
+	<item> xname </item>
+	<item> x_message_modeless </item>
+	<item> x_message </item>
+	<item> x_mdialog </item>
+	<item> x_matrix </item>
+	<item> xload </item>
+	<item> xlfont </item>
+	<item> xinit </item>
+	<item> xinfo </item>
+	<item> xgrid </item>
+	<item> xgraduate </item>
+	<item> xgetmouse </item>
+	<item> xgetfile </item>
+	<item> xgetech </item>
+	<item> xget </item>
+	<item> xfrect </item>
+	<item> xfpolys </item>
+	<item> xfpoly </item>
+	<item> xfarcs </item>
+	<item> xfarc </item>
+	<item> xend </item>
+	<item> x_dialog </item>
+	<item> xdel </item>
+	<item> xclip </item>
+	<item> xclick </item>
+	<item> xclear </item>
+	<item> xclea </item>
+	<item> x_choose </item>
+	<item> x_choices </item>
+	<item> xchange </item>
+	<item> xbasr </item>
+	<item> xbasimp </item>
+	<item> xbasc </item>
+	<item> xaxis </item>
+	<item> xarrows </item>
+	<item> xarcs </item>
+	<item> xarc </item>
+	<item> WRITEC_f </item>
+	<item> write4b </item>
+	<item> write </item>
+	<item> writb </item>
+	<item> winsid </item>
+	<item> window </item>
+	<item> wigner </item>
+	<item> wiener </item>
+	<item> whos </item>
+	<item> who </item>
+	<item> whereis </item>
+	<item> whereami </item>
+	<item> where </item>
+	<item> what </item>
+	<item> wfir </item>
+	<item> WFILE_f </item>
+	<item> wavwrite </item>
+	<item> wavread </item>
+	<item> warning </item>
+	<item> WaitMsg </item>
+	<item> varn </item>
+	<item> varargout </item>
+	<item> varargin </item>
+	<item> user </item>
+	<item> unsetmenu </item>
+	<item> unobs </item>
+	<item> unix_x </item>
+	<item> unix_w </item>
+	<item> unix_s </item>
+	<item> unix_g </item>
+	<item> unix </item>
+	<item> unique </item>
+	<item> union </item>
+	<item> ulink </item>
+	<item> ui_observer </item>
+	<item> uint8 </item>
+	<item> uint32 </item>
+	<item> uint16 </item>
+	<item> uimenu </item>
+	<item> uicontrol </item>
+	<item> typeof </item>
+	<item> typename </item>
+	<item> type </item>
+	<item> trzeros </item>
+	<item> triu </item>
+	<item> trisolve </item>
+	<item> tril </item>
+	<item> trianfml </item>
+	<item> trfmod </item>
+	<item> TRASH_f </item>
+	<item> translatepaths </item>
+	<item> trans_closure </item>
+	<item> trans </item>
+	<item> trace </item>
+	<item> toeplitz </item>
+	<item> tlist </item>
+	<item> TK_SetVar </item>
+	<item> TK_GetVar </item>
+	<item> TK_EvalStr </item>
+	<item> TK_EvalFile </item>
+	<item> titlepage </item>
+	<item> timer </item>
+	<item> time_id </item>
+	<item> TIME_f </item>
+	<item> tilda </item>
+	<item> tf2ss </item>
+	<item> tf2des </item>
+	<item> TEXT_f </item>
+	<item> texprint </item>
+	<item> testmatrix </item>
+	<item> tdinit </item>
+	<item> TCLSS_f </item>
+	<item> tanm </item>
+	<item> tanhm </item>
+	<item> tanh </item>
+	<item> tangent </item>
+	<item> TANBLK_f </item>
+	<item> tan </item>
+	<item> systmat </item>
+	<item> systems </item>
+	<item> system </item>
+	<item> syssize </item>
+	<item> syslin </item>
+	<item> sysfact- </item>
+	<item> sysdiag </item>
+	<item> sysconv </item>
+	<item> symbols </item>
+	<item> sylv </item>
+	<item> sylm </item>
+	<item> svplot </item>
+	<item> svd </item>
+	<item> sva </item>
+	<item> supernode </item>
+	<item> SUPER_f </item>
+	<item> sum </item>
+	<item> successors </item>
+	<item> subplot </item>
+	<item> subgraph </item>
+	<item> subf </item>
+	<item> strsubst </item>
+	<item> strong_con_nodes </item>
+	<item> strong_connex </item>
+	<item> stripblanks </item>
+	<item> strings </item>
+	<item> string </item>
+	<item> strindex </item>
+	<item> strcat </item>
+	<item> str2code </item>
+	<item> STOP_f </item>
+	<item> st_ility </item>
+	<item> st_deviation </item>
+	<item> startup </item>
+	<item> star </item>
+	<item> standard_output </item>
+	<item> standard_origin </item>
+	<item> standard_input </item>
+	<item> standard_draw </item>
+	<item> standard_define </item>
+	<item> stacksize </item>
+	<item> stabil </item>
+	<item> ssrand </item>
+	<item> ssprint </item>
+	<item> sskf </item>
+	<item> sscanf </item>
+	<item> ss2tf </item>
+	<item> ss2ss </item>
+	<item> ss2des </item>
+	<item> srkf </item>
+	<item> srfaur </item>
+	<item> squarewave </item>
+	<item> square </item>
+	<item> sqrtm </item>
+	<item> sqrt </item>
+	<item> sqroot </item>
+	<item> spzeros </item>
+	<item> sprintf </item>
+	<item> sprand </item>
+	<item> spones </item>
+	<item> SPLIT_f </item>
+	<item> split_edge </item>
+	<item> splin </item>
+	<item> spget </item>
+	<item> speye </item>
+	<item> specfact </item>
+	<item> spec </item>
+	<item> spcompack </item>
+	<item> spchol </item>
+	<item> sparse </item>
+	<item> spantwo </item>
+	<item> spanplus </item>
+	<item> spaninter </item>
+	<item> sp2adj </item>
+	<item> sound </item>
+	<item> sort </item>
+	<item> SOM_f </item>
+	<item> solve </item>
+	<item> %sn </item>
+	<item> smooth </item>
+	<item> sm2ss </item>
+	<item> sm2des </item>
+	<item> slash </item>
+	<item> size </item>
+	<item> sinm </item>
+	<item> sinhm </item>
+	<item> sinh </item>
+	<item> sincd </item>
+	<item> sinc </item>
+	<item> SINBLK_f </item>
+	<item> sin </item>
+	<item> simp_mode </item>
+	<item> simp </item>
+	<item> signm </item>
+	<item> sign </item>
+	<item> showprofile </item>
+	<item> show_nodes </item>
+	<item> show_graph </item>
+	<item> show_arcs </item>
+	<item> shortest_path </item>
+	<item> sgrid </item>
+	<item> Sgrayplot </item>
+	<item> Sfgrayplot </item>
+	<item> sfact </item>
+	<item> setscicosvars </item>
+	<item> setmenu </item>
+	<item> setfield </item>
+	<item> setbpt </item>
+	<item> set </item>
+	<item> sensi </item>
+	<item> SendMsg </item>
+	<item> semidef </item>
+	<item> semicolumn </item>
+	<item> semi </item>
+	<item> SELECT_f </item>
+	<item> secto3d </item>
+	<item> sd2sci </item>
+	<item> SCOPXY_f </item>
+	<item> SCOPE_f </item>
+	<item> scilink </item>
+	<item> ScilabEval </item>
+	<item> scilab </item>
+	<item> scifunc_block </item>
+	<item> scicos_model </item>
+	<item> scicos_menus </item>
+	<item> scicos_main </item>
+	<item> scicos_link </item>
+	<item> scicosim </item>
+	<item> scicos_graphics </item>
+	<item> scicos_cpr </item>
+	<item> scicos_block </item>
+	<item> scicos </item>
+	<item> sciargs </item>
+	<item> sci2map </item>
+	<item> sci2for </item>
+	<item> sci2exp </item>
+	<item> schur </item>
+	<item> scanf_conversion </item>
+	<item> scanf </item>
+	<item> scaling </item>
+	<item> SAWTOOTH_f </item>
+	<item> savewave </item>
+	<item> save_graph </item>
+	<item> save </item>
+	<item> SAT_f </item>
+	<item> SAMPLEHOLD_f </item>
+	<item> salesman </item>
+	<item> rtitr </item>
+	<item> rref </item>
+	<item> rpem </item>
+	<item> rowshuff </item>
+	<item> rowregul </item>
+	<item> rowinout </item>
+	<item> rowcompr </item>
+	<item> rowcomp </item>
+	<item> routh_t </item>
+	<item> round </item>
+	<item> rotate </item>
+	<item> roots </item>
+	<item> rlist </item>
+	<item> ric_desc </item>
+	<item> riccati </item>
+	<item> ricc </item>
+	<item> RFILE_f </item>
+	<item> residu </item>
+	<item> replot </item>
+	<item> repfreq </item>
+	<item> remezb </item>
+	<item> remez </item>
+	<item> RELAY_f </item>
+	<item> reglin </item>
+	<item> REGISTER_f </item>
+	<item> recur </item>
+	<item> real </item>
+	<item> readmps </item>
+	<item> READC_f </item>
+	<item> readc_ </item>
+	<item> readb </item>
+	<item> read4b </item>
+	<item> read </item>
+	<item> rdivf </item>
+	<item> rcond </item>
+	<item> rational </item>
+	<item> rat </item>
+	<item> rank </item>
+	<item> range </item>
+	<item> randpencil </item>
+	<item> RAND_f </item>
+	<item> rand </item>
+	<item> quote </item>
+	<item> quit </item>
+	<item> quaskro </item>
+	<item> quapro </item>
+	<item> QUANT_f </item>
+	<item> qr </item>
+	<item> qassign </item>
+	<item> pwd </item>
+	<item> pvm_tidtohost </item>
+	<item> pvm_start </item>
+	<item> pvm_spawn_independent </item>
+	<item> pvm_spawn </item>
+	<item> pvm_set_timer </item>
+	<item> pvm_send </item>
+	<item> pvm_sci2f77 </item>
+	<item> pvm_reduce </item>
+	<item> pvm_recv </item>
+	<item> pvm_probe </item>
+	<item> pvm_mytid </item>
+	<item> pvm_lvgroup </item>
+	<item> pvm_kill </item>
+	<item> pvm_joingroup </item>
+	<item> pvm_halt </item>
+	<item> pvm_gsize </item>
+	<item> pvm_get_timer </item>
+	<item> pvm_getinst </item>
+	<item> pvm_exit </item>
+	<item> pvm_error </item>
+	<item> pvm_delhosts </item>
+	<item> pvmd3 </item>
+	<item> pvm_config </item>
+	<item> pvm_bufinfo </item>
+	<item> pvm_bcast </item>
+	<item> pvm_addhosts </item>
+	<item> pvm </item>
+	<item> pspect </item>
+	<item> psmall </item>
+	<item> projspec </item>
+	<item> projsl </item>
+	<item> proj </item>
+	<item> profile </item>
+	<item> PROD_f </item>
+	<item> prod </item>
+	<item> printing </item>
+	<item> printf_conversion </item>
+	<item> printf </item>
+	<item> print </item>
+	<item> predef </item>
+	<item> predecessors </item>
+	<item> prbs_a </item>
+	<item> ppol </item>
+	<item> power </item>
+	<item> POWBLK_f </item>
+	<item> POSTONEG_f </item>
+	<item> portrait </item>
+	<item> portr3d </item>
+	<item> poly </item>
+	<item> polfact </item>
+	<item> polarplot </item>
+	<item> polar </item>
+	<item> pol2tex </item>
+	<item> pol2str </item>
+	<item> pol2des </item>
+	<item> pmodulo </item>
+	<item> p_margin </item>
+	<item> plzr </item>
+	<item> plus </item>
+	<item> plotprofile </item>
+	<item> plot_graph </item>
+	<item> plotframe </item>
+	<item> plot3d3 </item>
+	<item> plot3d2 </item>
+	<item> plot3d1 </item>
+	<item> plot3d </item>
+	<item> plot2d4 </item>
+	<item> plot2d3 </item>
+	<item> plot2d2 </item>
+	<item> plot2d1 </item>
+	<item> plot2d </item>
+	<item> plot </item>
+	<item> playsnd </item>
+	<item> pipe_network </item>
+	<item> pinv </item>
+	<item> phc </item>
+	<item> phasemag </item>
+	<item> pfss </item>
+	<item> pertrans </item>
+	<item> perfect_match </item>
+	<item> percent </item>
+	<item> penlaur </item>
+	<item> pencan </item>
+	<item> pen2ea </item>
+	<item> pdiv </item>
+	<item> pbig </item>
+	<item> path_2_nodes </item>
+	<item> part </item>
+	<item> parrot </item>
+	<item> parents </item>
+	<item> paramfplot2d </item>
+	<item> param3d1 </item>
+	<item> param3d </item>
+	<item> overloading </item>
+	<item> OUT_f </item>
+	<item> orth </item>
+	<item> or </item>
+	<item> optim </item>
+	<item> ones </item>
+	<item> oldsave </item>
+	<item> oldload </item>
+	<item> ode_root </item>
+	<item> odeoptions </item>
+	<item> ode_discrete </item>
+	<item> odedi </item>
+	<item> odedc </item>
+	<item> ode </item>
+	<item> obsvss </item>
+	<item> obsv_mat </item>
+	<item> obs_gram </item>
+	<item> observer </item>
+	<item> obscont1 </item>
+	<item> obscont </item>
+	<item> nyquist </item>
+	<item> numer </item>
+	<item> null </item>
+	<item> not </item>
+	<item> norm </item>
+	<item> noisegen </item>
+	<item> nodes_degrees </item>
+	<item> nodes_2_path </item>
+	<item> node_number </item>
+	<item> nnz </item>
+	<item> nlev </item>
+	<item> nf3d </item>
+	<item> newfun </item>
+	<item> newest </item>
+	<item> netwindows </item>
+	<item> netwindow </item>
+	<item> netclose </item>
+	<item> neighbors </item>
+	<item> nehari </item>
+	<item> NEGTOPOS_f </item>
+	<item> narsimul </item>
+	<item> names </item>
+	<item> MUX_f </item>
+	<item> mulf </item>
+	<item> mu2lin </item>
+	<item> mtlb_sparse </item>
+	<item> mtlb_save </item>
+	<item> mtlb_mode </item>
+	<item> mtlb_load </item>
+	<item> mtell </item>
+	<item> msscanf </item>
+	<item> msprintf </item>
+	<item> mseek </item>
+	<item> mscanf </item>
+	<item> mrfit </item>
+	<item> mputstr </item>
+	<item> mputl </item>
+	<item> mput </item>
+	<item> mps2linpro </item>
+	<item> mprintf </item>
+	<item> mopen </item>
+	<item> modulo </item>
+	<item> mode </item>
+	<item> mlist </item>
+	<item> min_weight_tree </item>
+	<item> minus </item>
+	<item> minss </item>
+	<item> minreal </item>
+	<item> min_qcost_flow </item>
+	<item> min_lcost_flow2 </item>
+	<item> min_lcost_flow1 </item>
+	<item> min_lcost_cflow </item>
+	<item> mini </item>
+	<item> MIN_f </item>
+	<item> mine </item>
+	<item> min </item>
+	<item> milk_drop </item>
+	<item> mgetstr </item>
+	<item> mgetl </item>
+	<item> mgeti </item>
+	<item> mget </item>
+	<item> mfscanf </item>
+	<item> mfprintf </item>
+	<item> mfile2sci </item>
+	<item> mfft </item>
+	<item> MFCLCK_f </item>
+	<item> metanet_sync </item>
+	<item> metanet </item>
+	<item> mesh2d </item>
+	<item> mese </item>
+	<item> meof </item>
+	<item> median </item>
+	<item> mean </item>
+	<item> mclose </item>
+	<item> MCLOCK_f </item>
+	<item> mclearerr </item>
+	<item> m_circle </item>
+	<item> maxi </item>
+	<item> max_flow </item>
+	<item> MAX_f </item>
+	<item> max_clique </item>
+	<item> max_cap_path </item>
+	<item> max </item>
+	<item> matrix </item>
+	<item> matrices </item>
+	<item> Matplot1 </item>
+	<item> Matplot </item>
+	<item> mat_2_graph </item>
+	<item> markp2ss </item>
+	<item> mapsound </item>
+	<item> manedit </item>
+	<item> man </item>
+	<item> make_graph </item>
+	<item> macrovar </item>
+	<item> macro </item>
+	<item> macr2lst </item>
+	<item> macglov </item>
+	<item> lyap </item>
+	<item> lusolve </item>
+	<item> luget </item>
+	<item> lufact </item>
+	<item> ludel </item>
+	<item> lu </item>
+	<item> ltitr </item>
+	<item> lstcat </item>
+	<item> lsslist </item>
+	<item> lqr </item>
+	<item> lqg_ltr </item>
+	<item> lqg2stan </item>
+	<item> lqg </item>
+	<item> lqe </item>
+	<item> lotest </item>
+	<item> LOOKUP_f </item>
+	<item> logspace </item>
+	<item> logm </item>
+	<item> LOGBLK_f </item>
+	<item> log2 </item>
+	<item> log10 </item>
+	<item> log </item>
+	<item> locate </item>
+	<item> loadwave </item>
+	<item> load_graph </item>
+	<item> load </item>
+	<item> lmitool </item>
+	<item> lmisolver </item>
+	<item> list </item>
+	<item> linspace </item>
+	<item> linsolve </item>
+	<item> linpro </item>
+	<item> link </item>
+	<item> linfn </item>
+	<item> linf </item>
+	<item> lines </item>
+	<item> line_graph </item>
+	<item> lindquist </item>
+	<item> lin2mu </item>
+	<item> lin </item>
+	<item> lib </item>
+	<item> lgfft </item>
+	<item> lft </item>
+	<item> lex_sort </item>
+	<item> levin </item>
+	<item> lev </item>
+	<item> less </item>
+	<item> leqr </item>
+	<item> length </item>
+	<item> legends </item>
+	<item> left </item>
+	<item> leastsq </item>
+	<item> ldivf </item>
+	<item> ldiv </item>
+	<item> lcmdiag </item>
+	<item> lcm </item>
+	<item> lcf </item>
+	<item> lattp </item>
+	<item> lattn </item>
+	<item> lasterror </item>
+	<item> kroneck </item>
+	<item> kron </item>
+	<item> krac2 </item>
+	<item> kpure </item>
+	<item> knapsack </item>
+	<item> keyboard </item>
+	<item> kernel </item>
+	<item> karmarkar </item>
+	<item> kalm </item>
+	<item> %k </item>
+	<item> jmat </item>
+	<item> isreal </item>
+	<item> isoview </item>
+	<item> isnan </item>
+	<item> isinf </item>
+	<item> isglobal </item>
+	<item> iserror </item>
+	<item> isdef </item>
+	<item> is_connex </item>
+	<item> invsyslin </item>
+	<item> invr </item>
+	<item> inv_coeff </item>
+	<item> INVBLK_f </item>
+	<item> inv </item>
+	<item> inttype </item>
+	<item> inttrap </item>
+	<item> intsplin </item>
+	<item> INTRPLBLK_f </item>
+	<item> INTRP2BLK_f </item>
+	<item> intppty </item>
+	<item> intl </item>
+	<item> intg </item>
+	<item> intersect </item>
+	<item> intersci </item>
+	<item> interpln </item>
+	<item> interp </item>
+	<item> integrate </item>
+	<item> INTEGRAL_f </item>
+	<item> intdec </item>
+	<item> intc </item>
+	<item> int8 </item>
+	<item> int3d </item>
+	<item> int32 </item>
+	<item> int2d </item>
+	<item> int16 </item>
+	<item> int </item>
+	<item> insertion </item>
+	<item> input </item>
+	<item> IN_f </item>
+	<item> imrep2ss </item>
+	<item> impl </item>
+	<item> im_inv </item>
+	<item> imag </item>
+	<item> ilib_gen_Make </item>
+	<item> ilib_gen_loader </item>
+	<item> ilib_gen_gateway </item>
+	<item> ilib_for_link </item>
+	<item> ilib_compile </item>
+	<item> ilib_build </item>
+	<item> iirlp </item>
+	<item> iirgroup </item>
+	<item> iir </item>
+	<item> IFTHEL_f </item>
+	<item> ieee </item>
+	<item> iconvert </item>
+	<item> hypermatrices </item>
+	<item> hypermat </item>
+	<item> htrianr </item>
+	<item> hrmt </item>
+	<item> householder </item>
+	<item> hotcolormap </item>
+	<item> host </item>
+	<item> horner </item>
+	<item> h_norm </item>
+	<item> histplot </item>
+	<item> hist3d </item>
+	<item> h_inf_st </item>
+	<item> h_inf </item>
+	<item> hilb </item>
+	<item> hex2dec </item>
+	<item> hess </item>
+	<item> hermit </item>
+	<item> %helps </item>
+	<item> help </item>
+	<item> h_cl </item>
+	<item> havewindow </item>
+	<item> hat </item>
+	<item> hankelsv </item>
+	<item> hank </item>
+	<item> hamilton </item>
+	<item> HALT_f </item>
+	<item> halt </item>
+	<item> h2norm </item>
+	<item> gtild </item>
+	<item> gstacksize </item>
+	<item> gspec </item>
+	<item> gsort </item>
+	<item> gschur </item>
+	<item> group </item>
+	<item> gr_menu </item>
+	<item> grep </item>
+	<item> graypolarplot </item>
+	<item> grayplot </item>
+	<item> graycolormap </item>
+	<item> graph_union </item>
+	<item> graph_sum </item>
+	<item> graph_simp </item>
+	<item> graph_power </item>
+	<item> graph-list </item>
+	<item> Graphics </item>
+	<item> graph_diameter </item>
+	<item> graph_complement </item>
+	<item> graph_center </item>
+	<item> graph_2_mat </item>
+	<item> grand </item>
+	<item> graduate </item>
+	<item> gpeche </item>
+	<item> g_margin </item>
+	<item> G_make </item>
+	<item> global </item>
+	<item> glist </item>
+	<item> glever </item>
+	<item> givens </item>
+	<item> girth </item>
+	<item> gfrancis </item>
+	<item> gfare </item>
+	<item> getversion </item>
+	<item> getvalue </item>
+	<item> getsymbol </item>
+	<item> getscicosvars </item>
+	<item> getpid </item>
+	<item> GetMsg </item>
+	<item> getmark </item>
+	<item> getlinestyle </item>
+	<item> getio </item>
+	<item> get_function_path </item>
+	<item> getfont </item>
+	<item> getfield </item>
+	<item> getf </item>
+	<item> getenv </item>
+	<item> getdate </item>
+	<item> getd </item>
+	<item> getcwd </item>
+	<item> getcolor </item>
+	<item> getblocklabel </item>
+	<item> get </item>
+	<item> geom3d </item>
+	<item> GENSQR_f </item>
+	<item> GENSIN_f </item>
+	<item> gen_net </item>
+	<item> genmarkov </item>
+	<item> genlib </item>
+	<item> genfac3d </item>
+	<item> GENERIC_f </item>
+	<item> GENERAL_f </item>
+	<item> gcf </item>
+	<item> gcd </item>
+	<item> gcare </item>
+	<item> gammaln </item>
+	<item> gamma </item>
+	<item> gamitg </item>
+	<item> gainplot </item>
+	<item> GAIN_f </item>
+	<item> GAINBLK_f </item>
+	<item> fusee </item>
+	<item> funptr </item>
+	<item> funcprot </item>
+	<item> fun2string </item>
+	<item> fullrfk </item>
+	<item> fullrf </item>
+	<item> full </item>
+	<item> fstair </item>
+	<item> fstabst </item>
+	<item> fspecg </item>
+	<item> fsolve </item>
+	<item> fsfirlin </item>
+	<item> fscanfMat </item>
+	<item> fscanf </item>
+	<item> frmag </item>
+	<item> frfit </item>
+	<item> frexp </item>
+	<item> freson </item>
+	<item> freq </item>
+	<item> frep2tf </item>
+	<item> fprintfMat </item>
+	<item> fprintf </item>
+	<item> fplot3d1 </item>
+	<item> fplot3d </item>
+	<item> fplot2d </item>
+	<item> fourplan </item>
+	<item> fort </item>
+	<item> formatman </item>
+	<item> format </item>
+	<item> flts </item>
+	<item> floor </item>
+	<item> fix </item>
+	<item> fit_dat </item>
+	<item> find_path </item>
+	<item> findobj </item>
+	<item> findm </item>
+	<item> find_freq </item>
+	<item> find </item>
+	<item> filter </item>
+	<item> fileinfo </item>
+	<item> file </item>
+	<item> figure </item>
+	<item> fgrayplot </item>
+	<item> fft </item>
+	<item> ffilt </item>
+	<item> feval </item>
+	<item> feedback </item>
+	<item> fec </item>
+	<item> fcontour2d </item>
+	<item> fcontour </item>
+	<item> fchamp </item>
+	<item> faurre </item>
+	<item> factors </item>
+	<item> fac3d </item>
+	<item> eye </item>
+	<item> extraction </item>
+	<item> external </item>
+	<item> expm </item>
+	<item> EXPBLK_f </item>
+	<item> exp </item>
+	<item> exit </item>
+	<item> exists </item>
+	<item> execstr </item>
+	<item> ExecScilab </item>
+	<item> ExeclScilab </item>
+	<item> ExecAppli </item>
+	<item> exec </item>
+	<item> excel2sci </item>
+	<item> Example </item>
+	<item> EVTGEN_f </item>
+	<item> EVTDLY_f </item>
+	<item> evstr </item>
+	<item> EVENTSCOPE_f </item>
+	<item> evans </item>
+	<item> eval3dp </item>
+	<item> eval3d </item>
+	<item> eval </item>
+	<item> error </item>
+	<item> errclear </item>
+	<item> errcatch </item>
+	<item> errbar </item>
+	<item> erfcx </item>
+	<item> erfc </item>
+	<item> erf </item>
+	<item> ereduc </item>
+	<item> equil1 </item>
+	<item> equil </item>
+	<item> equal </item>
+	<item> eqiir </item>
+	<item> eqfir </item>
+	<item> emptystr </item>
+	<item> empty </item>
+	<item> ell1mag </item>
+	<item> eigenmarkov </item>
+	<item> edit_curv </item>
+	<item> edit </item>
+	<item> edge_number </item>
+	<item> dtsi </item>
+	<item> dt_ility </item>
+	<item> dsimul </item>
+	<item> dscr </item>
+	<item> driver </item>
+	<item> drawaxis </item>
+	<item> dragrect </item>
+	<item> double </item>
+	<item> dot </item>
+	<item> DLSS_f </item>
+	<item> DLR_f </item>
+	<item> DLRADAPT_f </item>
+	<item> dlgamma </item>
+	<item> dispfile </item>
+	<item> dispbpt </item>
+	<item> disp </item>
+	<item> diophant </item>
+	<item> diary </item>
+	<item> diag </item>
+	<item> dhnorm </item>
+	<item> dft </item>
+	<item> detr </item>
+	<item> determ </item>
+	<item> det </item>
+	<item> DestroyLink </item>
+	<item> des2tf </item>
+	<item> des2ss </item>
+	<item> derivative- </item>
+	<item> derivat </item>
+	<item> denom </item>
+	<item> DEMUX_f </item>
+	<item> demos </item>
+	<item> delmenu </item>
+	<item> delip </item>
+	<item> delete_nodes </item>
+	<item> delete_arcs </item>
+	<item> delbpt </item>
+	<item> DELAYV_f </item>
+	<item> DELAY_f </item>
+	<item> degree </item>
+	<item> deff </item>
+	<item> dec2hex </item>
+	<item> debug </item>
+	<item> ddp </item>
+	<item> dcf </item>
+	<item> dbphi </item>
+	<item> date </item>
+	<item> datafit </item>
+	<item> dassl </item>
+	<item> dasrt </item>
+	<item> czt </item>
+	<item> cycle_basis </item>
+	<item> CURV_f </item>
+	<item> curblock </item>
+	<item> cumsum </item>
+	<item> cumprod </item>
+	<item> ctr_gram </item>
+	<item> cspect </item>
+	<item> csim </item>
+	<item> CreateLink </item>
+	<item> cothm </item>
+	<item> coth </item>
+	<item> cotg </item>
+	<item> cosm </item>
+	<item> coshm </item>
+	<item> cosh </item>
+	<item> COSBLK_f </item>
+	<item> cos </item>
+	<item> corr </item>
+	<item> copfac </item>
+	<item> convstr </item>
+	<item> convol </item>
+	<item> convex_hull </item>
+	<item> contrss </item>
+	<item> contract_edge </item>
+	<item> contr </item>
+	<item> contourf </item>
+	<item> contour2di </item>
+	<item> contour2d </item>
+	<item> contour </item>
+	<item> cont_mat </item>
+	<item> cont_frm </item>
+	<item> CONST_f </item>
+	<item> con_nodes </item>
+	<item> connex </item>
+	<item> conj </item>
+	<item> cond </item>
+	<item> companion </item>
+	<item> comp </item>
+	<item> Communications </item>
+	<item> colregul </item>
+	<item> colormap </item>
+	<item> colon </item>
+	<item> colnew </item>
+	<item> colinout </item>
+	<item> colcompr </item>
+	<item> colcomp </item>
+	<item> coffg </item>
+	<item> coff </item>
+	<item> coeff </item>
+	<item> code2str </item>
+	<item> cmndred </item>
+	<item> cmb_lin </item>
+	<item> CLSS_f </item>
+	<item> cls2dls </item>
+	<item> CLR_f </item>
+	<item> close </item>
+	<item> CLOCK_f </item>
+	<item> CLKSPLIT_f </item>
+	<item> CLKSOMV_f </item>
+	<item> CLKSOM_f </item>
+	<item> CLKOUTV_f </item>
+	<item> CLKOUT_f </item>
+	<item> CLKINV_f </item>
+	<item> CLKIN_f </item>
+	<item> c_link </item>
+	<item> CLINDUMMY_f </item>
+	<item> clearglobal </item>
+	<item> clearfun </item>
+	<item> clear </item>
+	<item> clean </item>
+	<item> classmarkov </item>
+	<item> circuit </item>
+	<item> chsolve </item>
+	<item> chol </item>
+	<item> chfact </item>
+	<item> chepol </item>
+	<item> check_graph </item>
+	<item> cheb2mag </item>
+	<item> cheb1mag </item>
+	<item> chdir </item>
+	<item> chart </item>
+	<item> champ1 </item>
+	<item> champ </item>
+	<item> chaintest </item>
+	<item> chain_struct </item>
+	<item> cepstrum </item>
+	<item> ceil </item>
+	<item> cdft </item>
+	<item> cdfpoi </item>
+	<item> cdfnor </item>
+	<item> cdfnbn </item>
+	<item> cdfgam </item>
+	<item> cdffnc </item>
+	<item> cdff </item>
+	<item> cdfchn </item>
+	<item> cdfchi </item>
+	<item> cdfbin </item>
+	<item> cdfbet </item>
+	<item> ccontrg </item>
+	<item> casc </item>
+	<item> canon </item>
+	<item> call </item>
+	<item> calfrq </item>
+	<item> calerf </item>
+	<item> cainv </item>
+	<item> bvode </item>
+	<item> buttmag </item>
+	<item> bstap </item>
+	<item> boucle </item>
+	<item> boolean </item>
+	<item> bool2s </item>
+	<item> bode </item>
+	<item> bloc2ss </item>
+	<item> bloc2exp </item>
+	<item> black </item>
+	<item> binomial </item>
+	<item> bilin </item>
+	<item> BIGSOM_f </item>
+	<item> bifish </item>
+	<item> bezout </item>
+	<item> best_match </item>
+	<item> bessely </item>
+	<item> besselk </item>
+	<item> besselj </item>
+	<item> besseli </item>
+	<item> bdiag </item>
+	<item> bandwr </item>
+	<item> balreal </item>
+	<item> balanc </item>
+	<item> backslash </item>
+	<item> auwrite </item>
+	<item> auread </item>
+	<item> augment </item>
+	<item> atanm </item>
+	<item> atanhm </item>
+	<item> atanh </item>
+	<item> atan </item>
+	<item> %asn </item>
+	<item> asinm </item>
+	<item> asinhm </item>
+	<item> asinh </item>
+	<item> asin </item>
+	<item> ascii </item>
+	<item> articul </item>
+	<item> artest </item>
+	<item> arsimul </item>
+	<item> armax1 </item>
+	<item> armax </item>
+	<item> armac </item>
+	<item> arma2p </item>
+	<item> arma </item>
+	<item> arl2 </item>
+	<item> arhnk </item>
+	<item> argn </item>
+	<item> arc_number </item>
+	<item> arc_graph </item>
+	<item> apropos </item>
+	<item> ans </item>
+	<item> ANIMXY_f </item>
+	<item> ANDLOG_f </item>
+	<item> and </item>
+	<item> analyze </item>
+	<item> analpf </item>
+	<item> amell </item>
+	<item> alufunctions </item>
+	<item> AFFICH_f </item>
+	<item> aff2ab </item>
+	<item> adj_lists </item>
+	<item> adj2sp </item>
+	<item> add_node </item>
+	<item> addmenu </item>
+	<item> addinter </item>
+	<item> addf </item>
+	<item> add_edge </item>
+	<item> addcolor </item>
+	<item> AdCommunications </item>
+	<item> acosm </item>
+	<item> acoshm </item>
+	<item> acosh </item>
+	<item> acos </item>
+	<item> ABSBLK_f </item>
+	<item> abs </item>
+	<item> abinv </item>
+	<item> abcd </item>
+    </list>
+    <contexts>
+      <context name="main" attribute="Normal Text" lineEndContext="#stay">
+        <keyword attribute="Structure-keywords" context="#stay" String="Structure-keywords"/>
+        <keyword attribute="Control-keywords" context="#stay" String="Control-keywords"/>
+        <keyword attribute="Function-keywords" context="#stay" String="Function-keywords"/>
+        <keyword attribute="Warning-keywords" context="#stay" String="Warning-keywords"/>
+        <keyword attribute="Constants-keyword" context="#stay" String="Constants-keyword"/>
+        <keyword attribute="functions" context="#stay" String="functions"/>
+        <Float attribute = "Flo" context="#stay"/>
+        <Int attribute = "Decimal" context="#stay"/>
+        <RegExpr String= "//.*$" attribute = "Comment" context="#stay"/>
+        <RangeDetect char = "&quot;" char1 = "&quot;" attribute = "String" context="#stay"/>
+     </context>
+   </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Structure-keywords"  defStyleNum="dsNormal" color="#000080" selColor="#ffff00" bold="1" italic="0"/>
+      <itemData name="Control-keywords" defStyleNum="dsNormal" color="#800000" selColor="#ff0000" bold="1" italic="0"/>
+      <itemData name="Function-keywords" defStyleNum="dsFunction" color="#008000" selColor="#ffff00" bold="1" italic="0"/>
+      <itemData name="Warning-keywords" defStyleNum="dsNormal" color="#ff0000" selColor="#ff0000" bold="1" italic="0"/>
+      <itemData name="Constants-keyword" defStyleNum="dsNormal" color="#008080" selColor="#00ffff" bold="1" italic="0"/>
+      <itemData name="functions" defStyleNum="dsFunction" color="#0000ff" selColor="#00ff00" bold="1" italic="1"/>
+      <itemData name="Decimal" defStyleNum = "dsDecVal"/>
+      <itemData name="Float" defStyleNum = "dsFloat"/>
+      <itemData name="Comment" defStyleNum = "dsComment"/>
+      <itemData name="String" defStyleNum = "dsString"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//" />
+    </comments>
+    <keywords casesensitive="1" weakDeliminator="%$" />
+  </general>
+</language>
diff --git a/xml/sed.xml b/xml/sed.xml
new file mode 100644
--- /dev/null
+++ b/xml/sed.xml
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="sed" section="Scripts" version="2" kateversion="2.4" extensions="*.sed" mimetype="text/x-sed" author="Bart Sas (bart.sas@gmail.com)" license="GPL">
+        <highlighting>
+                <contexts>
+                        <context name="BeginningOfLine" attribute="Normal" lineEndContext="#stay">
+                                <DetectSpaces/>
+                                <DetectChar char="#"     attribute="Comment"     context="Comment"/>
+                                <RegExpr String="(/)"    attribute="Separator"   context="FirstAddressRegex"/>
+                                <RegExpr String="\\(\S)" attribute="Separator"   context="FirstAddressRegex"/>
+                                <Int                     attribute="Line Number" context="AfterFirstAddress"/>
+                                <DetectChar char="$"     attribute="Last Line"   context="AfterFirstAddress"/>
+                                <DetectChar char="}"     attribute="Brace"       context="AfterCommand"/>
+                                <DetectChar char=":"     attribute="Label"       context="Label"/>
+                                <DetectChar char="!"     attribute="Negation"    context="Command"/>
+                                <IncludeRules                                    context="Command"/>
+                                <RegExpr String="\S"     attribute="Error"       context="Error"/>
+                        </context>
+
+                        <context name="FirstAddressRegex" attribute="Regex" lineEndContext="Error" dynamic="true">
+                                <DetectSpaces/>
+                                <RegExpr String="\\%1" attribute="Regex Escape" context="#stay"             dynamic="true"/>
+                                <RegExpr String="%1"   attribute="Separator"    context="AfterFirstAddress" dynamic="true"/>
+                                <IncludeRules                                   context="Regex"/>
+                        </context>
+
+                        <context name="AfterFirstAddress" attribute="Normal" lineEndContext="BeginningOfLine">
+                                <DetectSpaces/>
+                                <DetectChar char="!" attribute="Negation" context="Command"/>
+                                <IncludeRules                             context="AfterFirstAddress2"/>
+                                <RegExpr String="\S" attribute="Error"    context="Error"/>
+                        </context>
+
+                        <context name="AfterFirstAddress2" attribute="Normal" lineEndContext="BeginningOfLine">
+                                <DetectSpaces/>
+                                <DetectChar char="," attribute="Normal" context="SecondAddress"/>
+                                <DetectChar char="~" attribute="Normal" context="Step"/>
+                                <IncludeRules                           context="Command"/>
+                                <RegExpr String="\S" attribute="Error"  context="Error"/>
+                        </context>
+
+                        <context name="SecondAddress" attribute="Normal" lineEndContext="Error">
+                                <DetectSpaces/>
+                                <RegExpr String="(/)"    attribute="Separator"   context="SecondAddressRegex"/>
+                                <RegExpr String="\\(\S)" attribute="Separator"   context="SecondAddressRegex"/>
+                                <Int                     attribute="Line Number" context="AfterSecondAddress"/>
+                                <DetectChar char="$"     attribute="Last Line"   context="AfterSecondAddress"/>
+                                <RegExpr String="\S"     attribute="Error"       context="Error"/>
+                        </context>
+
+                        <context name="SecondAddressRegex" attribute="Regex" lineEndContext="Error" dynamic="true">
+                                <DetectSpaces/>
+                                <RegExpr String="\\%1" attribute="Regex Escape" context="#stay"              dynamic="true"/>
+                                <RegExpr String="%1"   attribute="Separator"    context="AfterSecondAddress" dynamic="true"/>
+                                <IncludeRules                                   context="Regex"/>
+                        </context>
+
+                        <context name="AfterSecondAddress" attribute="Normal" lineEndContext="Error" dynamic="true">
+                                <DetectSpaces/>
+                                <DetectChar char="!" attribute="Negation" context="Command"/>
+                                <IncludeRules                             context="Command"/>
+                                <RegExpr String="\S" attribute="Error"    context="Error"/>
+                        </context>
+
+                        <context name="Step" attribute="Normal" lineEndContext="Error">
+                                <DetectSpaces/>
+                                <Int                 attribute="Step"  context="Command"/>
+                                <RegExpr String="\S" attribute="Error" context="Error"/>
+                        </context>
+
+                        <context name="Command" attribute="Normal" lineEndContext="Error">
+                                <DetectSpaces/>
+                                <DetectChar char="s"              attribute="Command" context="SCommand"/>
+                                <DetectChar char="y"              attribute="Command" context="YCommand"/>
+                                <AnyChar String="dpnDNPhHgGxFvz=" attribute="Command" context="AfterCommand"/>
+                                <AnyChar String="aic"             attribute="Command" context="AICCommand"/>
+                                <AnyChar String="bTt"             attribute="Command" context="BTCommand"/>
+                                <AnyChar String="WwrR"            attribute="Command" context="WRCommand"/>
+                                <AnyChar String="lL"              attribute="Command" context="LCommand"/>
+                                <AnyChar String="qQ"              attribute="Command" context="QCommand"/>
+                                <DetectChar char="{"              attribute="Brace"   context="BeginningOfLine"/>
+                                <RegExpr String="\S"              attribute="Error"   context="Error"/>
+                        </context>
+
+                        <context name="SCommand" attribute="Normal" lineEndContext="Error">
+                                <DetectSpaces/>
+                                <RegExpr String="(\S)" attribute="Separator" context="SRegex"/>
+                        </context>
+
+                        <context name="SRegex" attribute="Regex" lineEndContext="Error" dynamic="true">
+                                <DetectSpaces/>
+                                <RegExpr String="\\%1" attribute="Regex Escape" context="#stay"        dynamic="true"/>
+                                <RegExpr String="(%1)" attribute="Separator"    context="SReplacement" dynamic="true"/>
+                                <IncludeRules                                   context="Regex"/>
+                        </context>
+
+                        <context name="SReplacement" attribute="Replacement" lineEndContext="Error" dynamic="true">
+                                <DetectSpaces/>
+                                <RegExpr String="\\%1"                attribute="Repl Escape" context="#stay"  dynamic="true"/>
+                                <RegExpr String="%1"                  attribute="Separator"   context="SFlags" dynamic="true"/>
+                                <RegExpr String="\\[0-9LlUuE\\&amp;]" attribute="Repl Escape" context="#stay"/>
+                                <DetectChar char="&amp;"              attribute="Repl Escape" context="#stay"/>
+                        </context>
+
+                        <context name="SFlags" attribute="Normal" lineEndContext="BeginningOfLine">
+                                <DetectSpaces/>
+                                <AnyChar String="gpeIiMm" attribute="Flag"        context="#stay"/>
+                                <DetectChar char="w"      attribute="Flag"        context="WFlag"/>
+                                <Int                      attribute="Repl Number" context="#stay"/>
+                                <IncludeRules                                     context="AfterCommand"/>
+                        </context>
+
+                        <context name="WFlag" attribute="Normal" lineEndContext="BeginningOfLine">
+                                <DetectSpaces/>
+                                <RegExpr String="\S+" attribute="Filename" context="SFlags"/>
+                        </context>
+
+                        <context name="YCommand" attribute="Normal" lineEndContext="Error">
+                                <DetectSpaces/>
+                                <RegExpr String="(\S)" attribute="Separator" context="YSourceList"/>
+                        </context>
+
+                        <context name="YSourceList" attribute="Char List" lineEndContext="Error" dynamic="true">
+                                <DetectSpaces/>
+                                <RegExpr String="\\%1"           attribute="Char List Escape" context="#stay"     dynamic="true"/>
+                                <RegExpr String="(%1)"           attribute="Separator"        context="YDestList" dynamic="true"/>
+                                <Detect2Chars char="\" char1="n" attribute="Char List Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="\" attribute="Char List Escape" context="#stay"/>
+                        </context>
+
+                        <context name="YDestList" attribute="Char List" lineEndContext="Error" dynamic="true">
+                                <DetectSpaces/>
+                                <RegExpr String="\\%1"           attribute="Char List Escape" context="#stay"        dynamic="true"/>
+                                <RegExpr String="%1"             attribute="Separator"        context="AfterCommand" dynamic="true"/>
+                                <Detect2Chars char="\" char1="n" attribute="Char List Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="\" attribute="Char List Escape" context="#stay"/>
+                        </context>
+
+                        <context name="AICCommand" attribute="Normal" lineEndContext="Error">
+                                <DetectSpaces/>
+                                <LineContinue             attribute="Line Continue" context="LiteralText"/>
+                                <RegExpr      String="\S" attribute="Error"         context="Error"/>
+                        </context>
+
+                        <context name="LiteralText" attribute="Literal Text" lineEndContext="BeginningOfLine">
+                                <Detect2Chars char="\" char1="\" attribute="Literal Escape" context="LiteralText"/>
+                                <LineContinue                    attribute="Line Continue"  context="LiteralText"/>
+                                <DetectChar   char="\"           attribute="Error"          context="Error"/>
+                        </context>
+
+                        <context name="BTCommand" attribute="Normal" lineEndContext="BeginningOfLine">
+                                <DetectSpaces/>
+                                <RegExpr String="\w+" attribute="Label" context="AfterCommand"/>
+                                <IncludeRules                           context="AfterCommand"/>
+                        </context>
+
+                        <context name="WRCommand" attribute="Normal" lineEndContext="Error">
+                                <DetectSpaces/>
+                                <RegExpr String="\S+" attribute="Filename" context="AfterCommand"/>
+                        </context>
+
+                        <context name="LCommand" attribute="Normal" lineEndContext="BeginningOfLine">
+                                <DetectSpaces/>
+                                <Int attribute="Wrap Length" context="AfterCommand"/>
+                                <IncludeRules                context="AfterCommand"/>
+                        </context>
+
+                        <context name="QCommand" attribute="Normal" lineEndContext="BeginningOfLine">
+                                <DetectSpaces/>
+                                <Int attribute="Exit Code" context="AfterCommand"/>
+                                <IncludeRules              context="AfterCommand"/>
+                        </context>
+
+                        <context name="Label" attribute="Normal" lineEndContext="Error">
+                                <DetectSpaces/>
+                                <RegExpr String="\w+" attribute="Label" context="AfterCommand"/>
+                                <RegExpr String="\S"  attribute="Error" context="Error"/>
+                        </context>
+
+                        <context name="AfterCommand" attribute="Normal" lineEndContext="BeginningOfLine">
+                                <DetectSpaces/>
+                                <DetectChar char=";" attribute="Normal"  context="BeginningOfLine"/>
+                                <DetectChar char="}" attribute="Brace"   context="AfterCommand"/>
+                                <DetectChar char="#" attribute="Comment" context="Comment"/>
+                                <RegExpr String="\S" attribute="Error"   context="Error"/>
+                        </context>
+
+                        <context name="Regex" attribute="Regex" lineEndContext="Error">
+                                <Detect2Chars char="\" char1="(" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1=")" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="+" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="?" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="|" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="{" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="}" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="[" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="]" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="." attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="*" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="\" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="^" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="$" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="n" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="t" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="0" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="1" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="2" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="3" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="4" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="5" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="6" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="7" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="8" attribute="Regex Escape" context="#stay"/>
+                                <Detect2Chars char="\" char1="9" attribute="Regex Escape" context="#stay"/>
+                                <DetectChar   char="*"           attribute="Regex Escape" context="#stay"/>
+                                <DetectChar   char="."           attribute="Regex Escape" context="#stay"/>
+                                <DetectChar   char="^"           attribute="Regex Escape" context="#stay"/>
+                                <DetectChar   char="$"           attribute="Regex Escape" context="#stay"/>
+                                <DetectChar   char="["           attribute="Regex Escape" context="#stay"/>
+                                <DetectChar   char="]"           attribute="Regex Escape" context="#stay"/>
+                        </context>
+
+                        <context name="Comment" attribute="Comment" lineEndContext="BeginningOfLine"/>
+                        <context name="Error"   attribute="Error"   lineEndContext="BeginningOfLine"/>
+                </contexts>
+
+                <itemDatas>
+                        <itemData name="Normal"           defStyleNum="dsNormal"/>
+
+                        <itemData name="Regex"            defStyleNum="dsString"/>
+                        <itemData name="Regex Escape"     defStyleNum="dsChar"/>
+                        <itemData name="Replacement"      defStyleNum="dsString"/>
+                        <itemData name="Repl Escape"      defStyleNum="dsChar"/>
+                        <itemData name="Char List"        defStyleNum="dsString"/>
+                        <itemData name="Char List Escape" defStyleNum="dsChar"/>
+                        <itemData name="Separator"        defStyleNum="dsString" color="#00F"/>
+
+                        <itemData name="Line Number"      defStyleNum="dsDecVal"/>
+                        <itemData name="Step"             defStyleNum="dsDecVal"/>
+                        <itemData name="Last Line"        defStyleNum="dsOthers" color="#808" bold="1"/>
+                        <itemData name="Negation"         defStyleNum="dsOthers" color="#808" bold="1"/>
+
+                        <itemData name="Command"          defStyleNum="dsKeyword"/>
+                        <itemData name="Label"            defStyleNum="dsFunction"/>
+                        <itemData name="Brace"            defStyleNum="dsNormal"/>
+
+                        <itemData name="Flag"             defStyleNum="dsDataType"/>
+                        <itemData name="Repl Number"      defStyleNum="dsDecVal"/>
+                        <itemData name="Exit Code"        defStyleNum="dsDecVal"/>
+                        <itemData name="Filename"         defStyleNum="dsBaseN"/>
+                        <itemData name="Wrap Length"      defStyleNum="dsDecVal"/>
+
+                        <itemData name="Line Continue"    defStyleNum="dsOthers" color="#000" bold="1"/>
+                        <itemData name="Literal Text"     defStyleNum="dsOthers" color="#080" italic="1"/>
+                        <itemData name="Literal Escape"   defStyleNum="dsOthers" color="#0A0" italic="1"/>
+
+                        <itemData name="Comment"          defStyleNum="dsComment"/>
+                        <itemData name="Error"            defStyleNum="dsError"/>
+                </itemDatas>
+        </highlighting>
+
+        <general>
+                <comments>
+                        <comment name="singleLine" start="#"/>
+                </comments>
+        </general>
+</language>
diff --git a/xml/sgml.xml b/xml/sgml.xml
new file mode 100644
--- /dev/null
+++ b/xml/sgml.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="SGML" version="2" kateversion="2.2" section="Markup" extensions="*.sgml" mimetype="text/sgml">
+  <highlighting>
+    <contexts>
+       <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text" >
+         <StringDetect attribute="Comment" context="Comment" String="&lt;!--"/>
+         <RegExpr attribute="Tag" context="Attribute" String="&lt;\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*" />
+       </context>
+
+       <context attribute="Attribute Name" lineEndContext="#stay" name="Attribute" >
+          <Detect2Chars attribute="Tag" context="#pop" char="/" char1="&gt;" />
+          <DetectChar attribute="Tag" context="#pop" char="&gt;" />
+          <RegExpr attribute="Normal Text" context="Value" String="\s*=\s*" />
+       </context>
+
+       <context attribute="Attribute Value" lineEndContext="#stay" name="Value" >
+         <Detect2Chars attribute="Tag" context="#pop#pop" char="/" char1="&gt;" />
+          <DetectChar attribute="Tag" context="#pop#pop" char="&gt;" />
+         <DetectChar attribute="Attribute Value" context="Value 2" char="&quot;" />
+       </context>
+
+       <context attribute="Attribute Value" lineEndContext="#stay" name="Value 2" >
+         <DetectChar attribute="Attribute Value" context="#pop#pop" char="&quot;" />
+       </context>
+
+       <context attribute="Comment" lineEndContext="#stay" name="Comment" >
+         <StringDetect attribute="Comment" context="#pop" String="--&gt;"/>
+       </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Tag" defStyleNum="dsKeyword"/>
+      <itemData name="Attribute Name" defStyleNum="dsOthers"/>
+      <itemData name="Attribute Value" defStyleNum="dsDataType"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="multiLine" start="&lt;!--" end="//--&gt;" />
+    </comments>
+    <keywords casesensitive="0" />
+  </general>
+</language>
diff --git a/xml/sql-mysql.xml b/xml/sql-mysql.xml
new file mode 100644
--- /dev/null
+++ b/xml/sql-mysql.xml
@@ -0,0 +1,474 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+  MySQL syntax definition based on sql.xml by Yury Lebedev
+  original by Shane Wright (me@shanewright.co.uk)
+  modifications by Milian Wolff (mail@milianw.de)
+-->
+<language name="SQL (MySQL)" version="2" kateversion="3.4" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">
+  <highlighting>
+    <list name="keywords">
+      <item> ACCESS </item>
+      <item> ADD </item>
+      <item> ALL </item>
+      <item> ALTER </item>
+      <item> ANALYZE </item>
+      <item> AND </item>
+      <item> AS </item>
+      <item> ASC </item>
+      <item> AUTO_INCREMENT </item>
+      <item> BDB </item>
+      <item> BERKELEYDB </item>
+      <item> BETWEEN </item>
+      <item> BOTH </item>
+      <item> BY </item>
+      <item> CASCADE </item>
+      <item> CASE </item>
+      <item> CHANGE </item>
+      <!-- <item> CHARACTER SET </item>
+        needs special regexp (see below) -->
+      <item> CHARSET </item>
+      <item> COLUMN </item>
+      <item> COLUMNS </item>
+      <item> CONSTRAINT </item>
+      <item> CREATE </item>
+      <item> CROSS </item>
+      <item> CURRENT_DATE </item>
+      <item> CURRENT_TIME </item>
+      <item> CURRENT_TIMESTAMP </item>
+      <item> DATABASE </item>
+      <item> DATABASES </item>
+      <item> DAY_HOUR </item>
+      <item> DAY_MINUTE </item>
+      <item> DAY_SECOND </item>
+      <item> DEC </item>
+      <item> DEFAULT </item>
+      <item> DELAYED </item>
+      <item> DELETE </item>
+      <item> DESC </item>
+      <item> DESCRIBE </item>
+      <item> DISTINCT </item>
+      <item> DISTINCTROW </item>
+      <item> DROP </item>
+      <item> ELSE </item>
+      <item> ENCLOSED </item>
+      <item> ESCAPED </item>
+      <item> EXISTS </item>
+      <item> EXPLAIN </item>
+      <item> FIELDS </item>
+      <item> FOR </item>
+      <item> FOREIGN </item>
+      <item> FROM </item>
+      <item> FULLTEXT </item>
+      <item> FUNCTION </item>
+      <item> GRANT </item>
+      <item> GROUP </item>
+      <item> HAVING </item>
+      <item> HIGH_PRIORITY </item>
+      <item> IF </item>
+      <item> IGNORE </item>
+      <item> IN </item>
+      <item> INDEX </item>
+      <item> INFILE </item>
+      <item> INNER </item>
+      <item> INNODB </item>
+      <item> INSERT </item>
+      <item> INTERVAL </item>
+      <item> INTO </item>
+      <item> IS </item>
+      <item> JOIN </item>
+      <item> KEY </item>
+      <item> KEYS </item>
+      <item> KILL </item>
+      <item> LEADING </item>
+      <item> LEFT </item>
+      <item> LIKE </item>
+      <item> LIMIT </item>
+      <item> LINES </item>
+      <item> LOAD </item>
+      <item> LOCK </item>
+      <item> LOW_PRIORITY </item>
+      <item> MASTER_SERVER_ID </item>
+      <item> MATCH </item>
+      <item> MRG_MYISAM </item>
+      <item> NATIONAL </item>
+      <item> NATURAL </item>
+      <item> NOT </item>
+      <item> NULL </item>
+      <item> NUMERIC </item>
+      <item> ON </item>
+      <item> OPTIMIZE </item>
+      <item> OPTION </item>
+      <item> OPTIONALLY </item>
+      <item> OR </item>
+      <item> ORDER </item>
+      <item> OUTER </item>
+      <item> OUTFILE </item>
+      <item> PARTIAL </item>
+      <item> PRECISION </item>
+      <item> PRIMARY </item>
+      <item> PRIVILEGES </item>
+      <item> PROCEDURE </item>
+      <item> PURGE </item>
+      <item> READ </item>
+      <item> REFERENCES </item>
+      <item> REGEXP </item>
+      <item> RENAME </item>
+      <item> REPLACE </item>
+      <item> REQUIRE </item>
+      <item> RESTRICT </item>
+      <item> RETURNS </item>
+      <item> REVOKE </item>
+      <item> RIGHT </item>
+      <item> RLIKE </item>
+      <item> SELECT </item>
+      <item> SET </item>
+      <item> SHOW </item>
+      <item> SONAME </item>
+      <item> SQL_BIG_RESULT </item>
+      <item> SQL_CALC_FOUND_ROWS </item>
+      <item> SQL_SMALL_RESULT </item>
+      <item> SSL </item>
+      <item> STARTING </item>
+      <item> STRAIGHT_JOIN </item>
+      <item> STRIPED </item>
+      <item> TABLE </item>
+      <item> TABLES </item>
+      <item> TERMINATED </item>
+      <item> THEN </item>
+      <item> TO </item>
+      <item> TRAILING </item>
+      <item> TRUNCATE </item>
+      <item> TYPE </item>
+      <item> UNION </item>
+      <item> UNIQUE </item>
+      <item> UNLOCK </item>
+      <item> UNSIGNED </item>
+      <item> UPDATE </item>
+      <item> USAGE </item>
+      <item> USE </item>
+      <item> USER_RESOURCES </item>
+      <item> USING </item>
+      <item> VALUES </item>
+      <item> VARYING </item>
+      <item> WHEN </item>
+      <item> WHERE </item>
+      <item> WHILE </item>
+      <item> WITH </item>
+      <item> WRITE </item>
+      <item> XOR </item>
+      <item> YEAR_MONTH </item>
+      <item> ZEROFILL </item>
+    </list>
+    <list name="operators">
+      <item> + </item>
+      <item> - </item>
+      <item> * </item>
+      <item> / </item>
+      <item> || </item>
+      <item> = </item>
+      <item> != </item>
+      <item> &lt;&gt; </item>
+      <item> &lt; </item>
+      <item> &lt;= </item>
+      <item> &gt; </item>
+      <item> &gt;= </item>
+      <item> ~= </item>
+      <item> ^= </item>
+      <item> := </item>
+      <item> =&gt; </item>
+      <item> ** </item>
+      <item> .. </item>
+    </list>
+    <list name="functions">
+      <!-- string functions -->
+      <item> ASCII </item>
+      <item> BIN </item>
+      <item> BIT_LENGTH </item>
+      <item> CHAR </item>
+      <item> CHARACTER_LENGTH </item>
+      <item> CHAR_LENGTH </item>
+      <item> CONCAT </item>
+      <item> CONCAT_WS </item>
+      <item> CONV </item>
+      <item> ELT </item>
+      <item> EXPORT_SET </item>
+      <item> FIELD </item>
+      <item> FIND_IN_SET </item>
+      <item> HEX </item>
+      <item> INSERT </item>
+      <item> INSTR </item>
+      <item> LCASE </item>
+      <item> LEFT </item>
+      <item> LENGTH </item>
+      <item> LOAD_FILE </item>
+      <item> LOCATE </item>
+      <item> LOWER </item>
+      <item> LPAD </item>
+      <item> LTRIM </item>
+      <item> MAKE_SET </item>
+      <item> MID </item>
+      <item> OCT </item>
+      <item> OCTET_LENGTH </item>
+      <item> ORD </item>
+      <item> POSITION </item>
+      <item> QUOTE </item>
+      <item> REPEAT </item>
+      <item> REPLACE </item>
+      <item> REVERSE </item>
+      <item> RIGHT </item>
+      <item> RPAD </item>
+      <item> RTRIM </item>
+      <item> SOUNDEX </item>
+      <item> SPACE </item>
+      <item> SUBSTRING </item>
+      <item> SUBSTRING_INDEX </item>
+      <item> TRIM </item>
+      <item> UCASE </item>
+      <item> UPPER </item>
+      <!-- math functions -->
+      <item> ABS </item>
+      <item> ACOS </item>
+      <item> ASIN </item>
+      <item> ATAN </item>
+      <item> ATAN2 </item>
+      <item> CEILING </item>
+      <item> COS </item>
+      <item> COT </item>
+      <item> DEGREES </item>
+      <item> EXP </item>
+      <item> FLOOR </item>
+      <item> GREATEST </item>
+      <item> LEAST </item>
+      <item> LN </item>
+      <item> LOG </item>
+      <item> LOG10 </item>
+      <item> LOG2 </item>
+      <item> MOD </item>
+      <item> PI </item>
+      <item> POW </item>
+      <item> POWER </item>
+      <item> RADIANS </item>
+      <item> RAND </item>
+      <item> ROUND </item>
+      <item> SIGN </item>
+      <item> SIN </item>
+      <item> SQRT </item>
+      <item> TAN </item>
+      <!-- date/time functions -->
+      <item> ADDDATE </item>
+      <item> CURDATE </item>
+      <item> CURRENT_DATE </item>
+      <item> CURRENT_TIME </item>
+      <item> CURRENT_TIMESTAMP </item>
+      <item> CURTIME </item>
+      <item> DATE_ADD </item>
+      <item> DATE_FORMAT </item>
+      <item> DATE_SUB </item>
+      <item> DAYNAME </item>
+      <item> DAYOFMONTH </item>
+      <item> DAYOFWEEK </item>
+      <item> DAYOFYEAR </item>
+      <item> EXTRACT </item>
+      <item> FROM_DAYS </item>
+      <item> FROM_UNIXTIME </item>
+      <item> HOUR </item>
+      <item> MINUTE </item>
+      <item> MONTH </item>
+      <item> MONTHNAME </item>
+      <item> NOW </item>
+      <item> PERIOD_ADD </item>
+      <item> PERIOD_DIFF </item>
+      <item> QUARTER </item>
+      <item> SECOND </item>
+      <item> SEC_TO_TIME </item>
+      <item> SUBDATE </item>
+      <item> SYSDATE </item>
+      <item> TIME_FORMAT </item>
+      <item> TIME_TO_SEC </item>
+      <item> TO_DAYS </item>
+      <item> UNIX_TIMESTAMP </item>
+      <item> WEEK </item>
+      <item> WEEKDAY </item>
+      <item> YEAR </item>
+      <item> YEARWEEK </item>
+      <!-- cast functions -->
+      <item> CAST </item>
+      <item> CONVERT </item>
+      <!-- misc -->
+      <item> AES_DECRYPT </item>
+      <item> AES_ENCRYPT </item>
+      <item> BENCHMARK </item>
+      <item> BIT_COUNT </item>
+      <item> CONNECTION_ID </item>
+      <item> DATABASE </item>
+      <item> DECODE </item>
+      <item> DES_DECRYPT </item>
+      <item> DES_ENCRYPT </item>
+      <item> ENCODE </item>
+      <item> ENCRYPT </item>
+      <item> FORMAT </item>
+      <item> FOUND_ROWS </item>
+      <item> GET_LOCK </item>
+      <item> INET_ATON </item>
+      <item> INET_NTOA </item>
+      <item> IS_FREE_LOCK </item>
+      <item> LAST_INSERT_ID </item>
+      <item> MASTER_POS_WAIT </item>
+      <item> MD5 </item>
+      <item> PASSWORD </item>
+      <item> RELEASE_LOCK </item>
+      <item> SESSION_USER </item>
+      <item> SHA </item>
+      <item> SHA1 </item>
+      <item> SYSTEM_USER </item>
+      <item> USER </item>
+      <item> VERSION </item>
+      <!-- GROUP BY -->
+      <item> AVG </item>
+      <item> BIT_AND </item>
+      <item> BIT_OR </item>
+      <item> COUNT </item>
+      <item> MAX </item>
+      <item> MIN </item>
+      <item> STD </item>
+      <item> STDDEV </item>
+      <item> SUM </item>
+    </list>
+    <list name="types">
+      <!-- strings -->
+      <item> BINARY </item>
+      <item> BLOB </item>
+      <item> CHAR </item>
+      <item> CHARACTER </item>
+      <item> ENUM </item>
+      <item> LONGBLOB </item>
+      <item> LONGTEXT </item>
+      <item> MEDIUMBLOB </item>
+      <item> MEDIUMTEXT </item>
+      <item> TEXT </item>
+      <item> TINYBLOB </item>
+      <item> TINYTEXT </item>
+      <item> VARBINARY </item>
+      <item> VARCHAR </item>
+      <!-- <item> SET </item>
+        needs special regexp (see below) -->
+      <!-- numeric -->
+      <item> BIGINT </item>
+      <item> BIT </item>
+      <item> BOOL </item>
+      <item> BOOLEAN </item>
+      <item> DEC </item>
+      <item> DECIMAL </item>
+      <item> DOUBLE </item>
+      <item> FIXED </item>
+      <item> FLOAT </item>
+      <item> INT </item>
+      <item> INTEGER </item>
+      <item> LONG </item>
+      <item> MEDIUMINT </item>
+      <item> MIDDLEINT </item>
+      <item> NUMERIC </item>
+      <item> TINYINT </item>
+      <item> REAL </item>
+      <item> SERIAL </item>
+      <item> SMALLINT </item>
+      <!-- date and time -->
+      <item> DATE </item>
+      <item> DATETIME </item>
+      <item> TIME </item>
+      <item> TIMESTAMP </item>
+      <item> YEAR </item>
+    </list>
+    <contexts>
+      <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <!-- problematic special cases -->
+        <!-- SET type -->
+        <RegExpr attribute="Data Type" context="#stay" insensitive="true" String="SET(?=\s*\()"/>
+        <!-- keyword character set -->
+        <RegExpr attribute="Keyword" context="#stay" insensitive="true" String="\bCHARACTER SET\b"/>
+        <!-- using the lists -->
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Operator" context="#stay" String="operators"/>
+        <keyword attribute="Function" context="#stay" String="functions"/>
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+
+        <DetectIdentifier/>
+        <!-- extra data types -->
+        <RegExpr attribute="Data Type" context="#stay" String="%(?:bulk_(?:exceptions|rowcount)|found|isopen|notfound|rowcount|rowtype|type)\b" insensitive="true"/>
+        <!-- numbers -->
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Float attribute="Float" context="#stay"/>
+        <Int attribute="Decimal" context="#stay"/>
+        <!-- strings -->
+        <DetectChar attribute="String" context="String" char="'"/>
+        <DetectChar attribute="String" context="String2" char="&quot;"/>
+        <DetectChar attribute="Name" context="Name" char="`"/>
+        <!-- comments -->
+        <DetectChar attribute="Comment" context="SingleLineComment" char="#"/>
+        <Detect2Chars attribute="Comment" context="SingleLineComment" char="-" char1="-"/>
+        <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*" beginRegion="Comment"/>
+        <RegExpr attribute="Comment" context="SingleLineComment" String="rem\b" insensitive="true" column="0"/>
+
+        <AnyChar attribute="Symbol" context="#stay" String=":&#38;"/>
+        <RegExpr attribute="Symbol" context="#stay" String="/$" column="0"/>
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="@@?[^@ \t\r\n]" column="0"/>
+        <!-- for something like : SELECT DB.TABLE.ROW ... -->
+        <DetectChar attribute="String Char" context="#stay" char="."/>
+      </context>
+      <!-- 'string' -->
+      <context name="String" attribute="String" lineEndContext="#stay">
+        <LineContinue attribute="String" context="#pop"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="Symbol" context="#stay" char="&#38;"/>
+        <DetectChar attribute="String" context="#pop" char="'"/>
+      </context>
+      <!-- "string", extra context needed to enable "str'ing" and 'str"ing' -->
+      <context name="String2" attribute="String" lineEndContext="#stay">
+        <LineContinue attribute="String" context="#pop"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="Symbol" context="#stay" char="&#38;"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <!-- `names` -->
+      <context name="Name" attribute="Name" lineEndContext="#stay">
+        <LineContinue attribute="Name" context="#pop"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="Name" context="#pop" char="`"/>
+      </context>
+      <!-- comments -->
+      <context name="SingleLineComment" attribute="Comment" lineEndContext="#pop"/>
+      <context name="MultiLineComment" attribute="Comment" lineEndContext="#stay">
+        <LineContinue attribute="Comment" context="#pop"/>
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+      </context>
+      <!-- preprocessor -->
+      <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"/>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"       defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Keyword"           defStyleNum="dsKeyword" spellChecking="false"/>
+      <itemData name="Operator"          defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Function"          defStyleNum="dsFunction" spellChecking="false"/>
+      <itemData name="Data Type"         defStyleNum="dsDataType" spellChecking="false"/>
+      <itemData name="Decimal"           defStyleNum="dsDecVal" spellChecking="false"/>
+      <itemData name="Hex"               defStyleNum="dsBaseN" spellChecking="false"/>
+      <itemData name="Float"             defStyleNum="dsFloat" spellChecking="false"/>
+      <itemData name="Name" color="#080" defStyleNum="dsString" spellChecking="false"/>
+      <itemData name="String"            defStyleNum="dsString"/>
+      <itemData name="String Char"       defStyleNum="dsChar" spellChecking="false"/>
+      <itemData name="Comment"           defStyleNum="dsComment"/>
+      <itemData name="Symbol"            defStyleNum="dsChar" spellChecking="false"/>
+      <itemData name="Preprocessor"      defStyleNum="dsOthers" spellChecking="false"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="--"/>
+      <comment name="multiLine" start="/*" end="*/"/>
+    </comments>
+    <keywords casesensitive="0" weakDeliminator="+-*/|=!&lt;&gt;~^:."/>
+    <folding indentationsensitive="true"/>
+  </general>
+</language>
diff --git a/xml/sql-postgresql.xml b/xml/sql-postgresql.xml
new file mode 100644
--- /dev/null
+++ b/xml/sql-postgresql.xml
@@ -0,0 +1,813 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- PostgreSQL SQL, syntax definition based on sql.xml by Yury Lebedev -->
+<language name="SQL (PostgreSQL)" version="2" kateversion="2.4" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">
+  <highlighting>
+    <list name="keywords">
+      <item> ABORT </item>
+      <item> ACCESS </item>
+      <item> ACTION </item>
+      <item> ADD </item>
+      <item> ADMIN </item>
+      <item> AFTER </item>
+      <item> AGGREGATE </item>
+      <item> ALIAS </item>
+      <item> ALL </item>
+      <item> ALLOCATE </item>
+      <item> ALTER </item>
+      <item> ANALYSE </item>
+      <item> ANALYZE </item>
+      <item> ANY </item>
+      <item> ARE </item>
+      <item> AS </item>
+      <item> ASC </item>
+      <item> ASENSITIVE </item>
+      <item> ASSERTION </item>
+      <item> ASSIGNMENT </item>
+      <item> ASYMMETRIC </item>
+      <item> AT </item>
+      <item> ATOMIC </item>
+      <item> AUTHORIZATION </item>
+      <item> BACKWARD </item>
+      <item> BEFORE </item>
+      <item> BEGIN </item>
+      <item> BETWEEN </item>
+      <item> BINARY </item>
+      <item> BOTH </item>
+      <item> BREADTH </item>
+      <item> BY </item>
+      <item> C </item>
+      <item> CACHE </item>
+      <item> CALL </item>
+      <item> CALLED </item>
+      <item> CARDINALITY </item>
+      <item> CASCADE </item>
+      <item> CASCADED </item>
+      <item> CASE </item>
+      <item> CAST </item>
+      <item> CATALOG </item>
+      <item> CATALOG_NAME </item>
+      <item> CHAIN </item>
+      <item> CHARACTERISTICS </item>
+      <item> CHARACTER_LENGTH </item>
+      <item> CHARACTER_SET_CATALOG </item>
+      <item> CHARACTER_SET_NAME </item>
+      <item> CHARACTER_SET_SCHEMA </item>
+      <item> CHAR_LENGTH </item>
+      <item> CHECK </item>
+      <item> CHECKED </item>
+      <item> CHECKPOINT </item>
+      <item> CLASS </item>
+      <item> CLASS_ORIGIN </item>
+      <item> CLOB </item>
+      <item> CLOSE </item>
+      <item> CLUSTER </item>
+      <item> COALESCE </item>
+      <item> COBOL </item>
+      <item> COLLATE </item>
+      <item> COLLATION </item>
+      <item> COLLATION_CATALOG </item>
+      <item> COLLATION_NAME </item>
+      <item> COLLATION_SCHEMA </item>
+      <item> COLUMN </item>
+      <item> COLUMN_NAME </item>
+      <item> COMMAND_FUNCTION </item>
+      <item> COMMAND_FUNCTION_CODE </item>
+      <item> COMMENT </item>
+      <item> COMMIT </item>
+      <item> COMMITTED </item>
+      <item> COMPLETION </item>
+      <item> CONDITION_NUMBER </item>
+      <item> CONNECT </item>
+      <item> CONNECTION </item>
+      <item> CONNECTION_NAME </item>
+      <item> CONSTRAINTS </item>
+      <item> CONSTRAINT </item>
+      <item> CONSTRAINT_CATALOG </item>
+      <item> CONSTRAINT_NAME </item>
+      <item> CONSTRAINT_SCHEMA </item>
+      <item> CONSTRUCTOR </item>
+      <item> CONTAINS </item>
+      <item> CONTINUE </item>
+      <item> CONVERT </item>
+      <item> COPY </item>
+      <item> CORRESPONDING </item>
+      <item> COUNT </item>
+      <item> CREATE </item>
+      <item> CREATEDB </item>
+      <item> CREATEUSER </item>
+      <item> CROSS </item>
+      <item> CUBE </item>
+      <item> CURRENT </item>
+      <item> CURRENT_DATE </item>
+      <item> CURRENT_PATH </item>
+      <item> CURRENT_ROLE </item>
+      <item> CURRENT_TIME </item>
+      <item> CURRENT_TIMESTAMP </item>
+      <item> CURRENT_USER </item>
+      <item> CURSOR </item>
+      <item> CURSOR_NAME </item>
+      <item> CYCLE </item>
+      <item> DATA </item>
+      <item> DATABASE </item>
+      <item> DATE </item>
+      <item> DATETIME_INTERVAL_CODE </item>
+      <item> DATETIME_INTERVAL_PRECISION </item>
+      <item> DAY </item>
+      <item> DEALLOCATE </item>
+      <item> DEC </item>
+      <item> DECIMAL </item>
+      <item> DECLARE </item>
+      <item> DEFAULT </item>
+      <item> DEFERRABLE </item>
+      <item> DEFERRED </item>
+      <item> DEFINED </item>
+      <item> DEFINER </item>
+      <item> DELETE </item>
+      <item> DELIMITERS </item>
+      <item> DEPTH </item>
+      <item> DEREF </item>
+      <item> DESC </item>
+      <item> DESCRIBE </item>
+      <item> DESCRIPTOR </item>
+      <item> DESTROY </item>
+      <item> DESTRUCTOR </item>
+      <item> DETERMINISTIC </item>
+      <item> DIAGNOSTICS </item>
+      <item> DICTIONARY </item>
+      <item> DISCONNECT </item>
+      <item> DISPATCH </item>
+      <item> DISTINCT </item>
+      <item> DO </item>
+      <item> DOMAIN </item>
+      <item> DOUBLE </item>
+      <item> DROP </item>
+      <item> DYNAMIC </item>
+      <item> DYNAMIC_FUNCTION </item>
+      <item> DYNAMIC_FUNCTION_CODE </item>
+      <item> EACH </item>
+      <item> ELSE </item>
+      <item> ENCODING </item>
+      <item> ENCRYPTED </item>
+      <item> END </item>
+      <item> END-EXEC </item>
+      <item> EQUALS </item>
+      <item> ESCAPE </item>
+      <item> EVERY </item>
+      <item> EXCEPT </item>
+      <item> EXCEPTION </item>
+      <item> EXCLUSIVE </item>
+      <item> EXEC </item>
+      <item> EXECUTE </item>
+      <item> EXISTING </item>
+      <item> EXISTS </item>
+      <item> EXPLAIN </item>
+      <item> EXTERNAL </item>
+      <item> FALSE </item>
+      <item> FETCH </item>
+      <item> FINAL </item>
+      <item> FIRST </item>
+      <item> FOR </item>
+      <item> FORCE </item>
+      <item> FOREIGN </item>
+      <item> FORTRAN </item>
+      <item> FORWARD </item>
+      <item> FOUND </item>
+      <item> FREE </item>
+      <item> FREEZE </item>
+      <item> FROM </item>
+      <item> FULL </item>
+      <item> FUNCTION </item>
+      <item> G </item>
+      <item> GENERAL </item>
+      <item> GENERATED </item>
+      <item> GET </item>
+      <item> GLOBAL </item>
+      <item> GO </item>
+      <item> GOTO </item>
+      <item> GRANT </item>
+      <item> GRANTED </item>
+      <item> GROUP </item>
+      <item> GROUPING </item>
+      <item> HANDLER </item>
+      <item> HAVING </item>
+      <item> HIERARCHY </item>
+      <item> HOLD </item>
+      <item> HOST </item>
+      <item> HOUR </item>
+      <item> IDENTITY </item>
+      <item> IGNORE </item>
+      <item> ILIKE </item>
+      <item> IMMEDIATE </item>
+      <item> IMMUTABLE </item>
+      <item> IMPLEMENTATION </item>
+      <item> IN </item>
+      <item> INCREMENT </item>
+      <item> INDEX </item>
+      <item> INDICATOR </item>
+      <item> INFIX </item>
+      <item> INHERITS </item>
+      <item> INITIALIZE </item>
+      <item> INITIALLY </item>
+      <item> INNER </item>
+      <item> INOUT </item>
+      <item> INPUT </item>
+      <item> INSENSITIVE </item>
+      <item> INSERT </item>
+      <item> INSTANCE </item>
+      <item> INSTANTIABLE </item>
+      <item> INSTEAD </item>
+      <item> INTERSECT </item>
+      <item> INTERVAL </item>
+      <item> INTO </item>
+      <item> INVOKER </item>
+      <item> IS </item>
+      <item> ISNULL </item>
+      <item> ISOLATION </item>
+      <item> ITERATE </item>
+      <item> JOIN </item>
+      <item> K </item>
+      <item> KEY </item>
+      <item> KEY_MEMBER </item>
+      <item> KEY_TYPE </item>
+      <item> LANCOMPILER </item>
+      <item> LANGUAGE </item>
+      <item> LARGE </item>
+      <item> LAST </item>
+      <item> LATERAL </item>
+      <item> LEADING </item>
+      <item> LEFT </item>
+      <item> LENGTH </item>
+      <item> LESS </item>
+      <item> LEVEL </item>
+      <item> LIKE </item>
+      <item> LIMIT </item>
+      <item> LISTEN </item>
+      <item> LOAD </item>
+      <item> LOCAL </item>
+      <item> LOCALTIME </item>
+      <item> LOCALTIMESTAMP </item>
+      <item> LOCATION </item>
+      <item> LOCATOR </item>
+      <item> LOCK </item>
+      <item> LOWER </item>
+      <item> M </item>
+      <item> MAP </item>
+      <item> MATCH </item>
+      <item> MAX </item>
+      <item> MAXVALUE </item>
+      <item> MESSAGE_LENGTH </item>
+      <item> MESSAGE_OCTET_LENGTH </item>
+      <item> MESSAGE_TEXT </item>
+      <item> METHOD </item>
+      <item> MIN </item>
+      <item> MINUTE </item>
+      <item> MINVALUE </item>
+      <item> MOD </item>
+      <item> MODE </item>
+      <item> MODIFIES </item>
+      <item> MODIFY </item>
+      <item> MODULE </item>
+      <item> MONTH </item>
+      <item> MORE </item>
+      <item> MOVE </item>
+      <item> MUMPS </item>
+      <item> NAME </item>
+      <item> NAMES </item>
+      <item> NATIONAL </item>
+      <item> NATURAL </item>
+      <item> NEW </item>
+      <item> NEXT </item>
+      <item> NO </item>
+      <item> NOCREATEDB </item>
+      <item> NOCREATEUSER </item>
+      <item> NONE </item>
+      <item> NOT </item>
+      <item> NOTHING </item>
+      <item> NOTIFY </item>
+      <item> NOTNULL </item>
+      <item> NULL </item>
+      <item> NULLABLE </item>
+      <item> NULLIF </item>
+      <item> NUMBER </item>
+      <item> NUMERIC </item>
+      <item> OBJECT </item>
+      <item> OCTET_LENGTH </item>
+      <item> OF </item>
+      <item> OFF </item>
+      <item> OFFSET </item>
+      <item> OIDS </item>
+      <item> OLD </item>
+      <item> ON </item>
+      <item> ONLY </item>
+      <item> OPEN </item>
+      <item> OPERATION </item>
+      <item> OPERATOR </item>
+      <item> OPTION </item>
+      <item> OPTIONS </item>
+      <item> ORDER </item>
+      <item> ORDINALITY </item>
+      <item> OUT </item>
+      <item> OUTER </item>
+      <item> OUTPUT </item>
+      <item> OVERLAPS </item>
+      <item> OVERLAY </item>
+      <item> OVERRIDING </item>
+      <item> OWNER </item>
+      <item> PAD </item>
+      <item> PARAMETER </item>
+      <item> PARAMETERS </item>
+      <item> PARAMETER_MODE </item>
+      <item> PARAMETER_NAME </item>
+      <item> PARAMETER_ORDINAL_POSITION </item>
+      <item> PARAMETER_SPECIFIC_CATALOG </item>
+      <item> PARAMETER_SPECIFIC_NAME </item>
+      <item> PARAMETER_SPECIFIC_SCHEMA </item>
+      <item> PARTIAL </item>
+      <item> PASCAL </item>
+      <item> PASSWORD </item>
+      <item> PATH </item>
+      <item> PENDANT </item>
+      <item> PLI </item>
+      <item> POSITION </item>
+      <item> POSTFIX </item>
+      <item> PRECISION </item>
+      <item> PREFIX </item>
+      <item> PREORDER </item>
+      <item> PREPARE </item>
+      <item> PRESERVE </item>
+      <item> PRIMARY </item>
+      <item> PRIOR </item>
+      <item> PRIVILEGES </item>
+      <item> PROCEDURAL </item>
+      <item> PROCEDURE </item>
+      <item> PUBLIC </item>
+      <item> READ </item>
+      <item> READS </item>
+      <item> REAL </item>
+      <item> RECURSIVE </item>
+      <item> REF </item>
+      <item> REFERENCES </item>
+      <item> REFERENCING </item>
+      <item> REINDEX </item>
+      <item> RELATIVE </item>
+      <item> RENAME </item>
+      <item> REPEATABLE </item>
+      <item> REPLACE </item>
+      <item> RESET </item>
+      <item> RESTRICT </item>
+      <item> RESULT </item>
+      <item> RETURN </item>
+      <item> RETURNED_LENGTH </item>
+      <item> RETURNED_OCTET_LENGTH </item>
+      <item> RETURNED_SQLSTATE </item>
+      <item> RETURNS </item>
+      <item> REVOKE </item>
+      <item> RIGHT </item>
+      <item> ROLE </item>
+      <item> ROLLBACK </item>
+      <item> ROLLUP </item>
+      <item> ROUTINE </item>
+      <item> ROUTINE_CATALOG </item>
+      <item> ROUTINE_NAME </item>
+      <item> ROUTINE_SCHEMA </item>
+      <item> ROW </item>
+      <item> ROWS </item>
+      <item> ROW_COUNT </item>
+      <item> RULE </item>
+      <item> SAVEPOINT </item>
+      <item> SCALE </item>
+      <item> SCHEMA </item>
+      <item> SCHEMA_NAME </item>
+      <item> SCOPE </item>
+      <item> SCROLL </item>
+      <item> SEARCH </item>
+      <item> SECOND </item>
+      <item> SECTION </item>
+      <item> SECURITY </item>
+      <item> SELECT </item>
+      <item> SELF </item>
+      <item> SENSITIVE </item>
+      <item> SEQUENCE </item>
+      <item> SERIALIZABLE </item>
+      <item> SERVER_NAME </item>
+      <item> SESSION </item>
+      <item> SESSION_USER </item>
+      <item> SET </item>
+      <item> SETOF </item>
+      <item> SETS </item>
+      <item> SHARE </item>
+      <item> SHOW </item>
+      <item> SIMILAR </item>
+      <item> SIMPLE </item>
+      <item> SIZE </item>
+      <item> SOME </item>
+      <item> SOURCE </item>
+      <item> SPACE </item>
+      <item> SPECIFIC </item>
+      <item> SPECIFICTYPE </item>
+      <item> SPECIFIC_NAME </item>
+      <item> SQL </item>
+      <item> SQLCODE </item>
+      <item> SQLERROR </item>
+      <item> SQLEXCEPTION </item>
+      <item> SQLSTATE </item>
+      <item> SQLWARNING </item>
+      <item> STABLE </item>
+      <item> START </item>
+      <item> STATE </item>
+      <item> STATEMENT </item>
+      <item> STATIC </item>
+      <item> STATISTICS </item>
+      <item> STDIN </item>
+      <item> STDOUT </item>
+      <item> STRUCTURE </item>
+      <item> STYLE </item>
+      <item> SUBCLASS_ORIGIN </item>
+      <item> SUBLIST </item>
+      <item> SUBSTRING </item>
+      <item> SUM </item>
+      <item> SYMMETRIC </item>
+      <item> SYSID </item>
+      <item> SYSTEM </item>
+      <item> SYSTEM_USER </item>
+      <item> TABLE </item>
+      <item> TABLE_NAME </item>
+      <item> TEMP </item>
+      <item> TEMPLATE </item>
+      <item> TEMPORARY </item>
+      <item> TERMINATE </item>
+      <item> THAN </item>
+      <item> THEN </item>
+      <item> TIMEZONE_HOUR </item>
+      <item> TIMEZONE_MINUTE </item>
+      <item> TO </item>
+      <item> TOAST </item>
+      <item> TRAILING </item>
+      <item> TRANSACTION </item>
+      <item> TRANSACTIONS_COMMITTED </item>
+      <item> TRANSACTIONS_ROLLED_BACK </item>
+      <item> TRANSACTION_ACTIVE </item>
+      <item> TRANSFORM </item>
+      <item> TRANSFORMS </item>
+      <item> TRANSLATE </item>
+      <item> TRANSLATION </item>
+      <item> TREAT </item>
+      <item> TRIGGER </item>
+      <item> TRIGGER_CATALOG </item>
+      <item> TRIGGER_NAME </item>
+      <item> TRIGGER_SCHEMA </item>
+      <item> TRIM </item>
+      <item> TRUE </item>
+      <item> TRUNCATE </item>
+      <item> TRUSTED </item>
+      <item> TYPE </item>
+      <item> UNCOMMITTED </item>
+      <item> UNDER </item>
+      <item> UNENCRYPTED </item>
+      <item> UNION </item>
+      <item> UNIQUE </item>
+      <item> UNKNOWN </item>
+      <item> UNLISTEN </item>
+      <item> UNNAMED </item>
+      <item> UNNEST </item>
+      <item> UNTIL </item>
+      <item> UPDATE </item>
+      <item> UPPER </item>
+      <item> USAGE </item>
+      <item> USER </item>
+      <item> USER_DEFINED_TYPE_CATALOG </item>
+      <item> USER_DEFINED_TYPE_NAME </item>
+      <item> USER_DEFINED_TYPE_SCHEMA </item>
+      <item> USING </item>
+      <item> VACUUM </item>
+      <item> VALID </item>
+      <item> VALUE </item>
+      <item> VALUES </item>
+      <item> VARIABLE </item>
+      <item> VARYING </item>
+      <item> VERBOSE </item>
+      <item> VERSION </item>
+      <item> VIEW </item>
+      <item> VOLATILE </item>
+      <item> WHEN </item>
+      <item> WHENEVER </item>
+      <item> WHERE </item>
+      <item> WHILE </item>
+      <item> WITH </item>
+      <item> WITHOUT </item>
+      <item> WORK </item>
+      <item> WRITE </item>
+      <item> YEAR </item>
+      <item> ZONE </item>
+    </list>
+    <list name="operators">
+      <item> + </item>
+      <item> - </item>
+      <item> * </item>
+      <item> / </item>
+      <item> || </item>
+      <item> |/ </item>
+      <item> ||/ </item>
+      <item> ! </item>
+      <item> !! </item>
+      <item> @ </item>
+      <item> &amp; </item>
+      <item> | </item>
+      <item> # </item>
+      <item> &lt;&lt; </item>
+      <item> &gt;&gt; </item>
+      <item> % </item>
+      <item> ^ </item>
+      <item> = </item>
+      <item> != </item>
+      <item> &lt;&gt; </item>
+      <item> &lt; </item>
+      <item> &lt;= </item>
+      <item> &gt; </item>
+      <item> &gt;= </item>
+      <item> ~ </item>
+      <item> ~* </item>
+      <item> !~ </item>
+      <item> !~* </item>
+      <item> ^= </item>
+      <item> := </item>
+      <item> =&gt; </item>
+      <item> ** </item>
+      <item> .. </item>
+      <item> AND </item>
+      <item> OR </item>
+      <item> NOT </item>
+      <!-- geometric -->
+      <item> ## </item>
+      <item> &amp;&amp; </item>
+      <item> &amp;&lt; </item>
+      <item> &amp;&gt; </item>
+      <item> &lt;-&gt; </item>
+      <item> &lt;^ </item>
+      <item> &gt;^ </item>
+      <item> ?# </item>
+      <item> ?- </item>
+      <item> ?-| </item>
+      <item> @-@ </item>
+      <item> ?| </item>
+      <item> ?|| </item>
+      <item> @@ </item>
+      <item> ~= </item>
+      <!-- network address type -->
+      <item> &lt;&lt;= </item>
+      <item> &gt;&gt;= </item>
+    </list>
+    <list name="functions">
+      <!-- math -->
+      <item> ABS </item>
+      <item> CBRT </item>
+      <item> CEIL </item>
+      <item> DEGREES </item>
+      <item> EXP </item>
+      <item> FLOOR </item>
+      <item> LN </item>
+      <item> LOG </item>
+      <item> MOD </item>
+      <item> PI </item>
+      <item> POW </item>
+      <item> RADIANS </item>
+      <item> RANDOM </item>
+      <item> ROUND </item>
+      <item> SIGN </item>
+      <item> SQRT </item>
+      <item> TRUNC </item>
+      <!-- trig -->
+      <item> ACOS </item>
+      <item> ASIN </item>
+      <item> ATAN </item>
+      <item> ATAN2 </item>
+      <item> COS </item>
+      <item> COT </item>
+      <item> SIN </item>
+      <item> TAN </item>
+      <!-- string -->
+      <item> BIT_LENGTH </item>
+      <item> CHAR_LENGTH </item>
+      <item> CHARACTER_LENGTH </item>
+      <item> LOWER </item>
+      <item> OCTET_LENGTH </item>
+      <item> POSITION </item>
+      <item> SUBSTRING </item>
+      <item> TRIM </item>
+      <item> UPPER </item>
+      <!-- other string -->
+      <item> ASCII </item>
+      <item> BTRIM </item>
+      <item> CHR </item>
+      <item> CONVERT </item>
+      <item> INITCAP </item>
+      <item> LENGTH </item>
+      <item> LPAD </item>
+      <item> LTRIM </item>
+      <item> PG_CLIENT_ENCODING </item>
+      <item> REPEAT </item>
+      <item> RPAD </item>
+      <item> RTRIM </item>
+      <item> STRPOS </item>
+      <item> SUBSTR </item>
+      <item> TO_ASCII </item>
+      <item> TRANSLATE </item>
+      <item> ENCODE </item>
+      <item> DECODE </item>
+      <!-- data type formatting -->
+      <item> TO_CHAR </item>
+      <item> TO_DATE </item>
+      <item> TO_TIMESTAMP </item>
+      <item> TO_NUMBER </item>
+      <!-- date/time -->
+      <item> AGE </item>
+      <item> DATE_PART </item>
+      <item> DATE_TRUNC </item>
+      <item> EXTRACT </item>
+      <item> ISFINITE </item>
+      <item> NOW </item>
+      <item> TIMEOFDAY </item>
+      <item> TIMESTAMP </item>
+      <item> EXTRACT </item>
+      <!-- geometric -->
+      <item> AREA </item>
+      <item> BOX </item>
+      <item> CENTER </item>
+      <item> DIAMETER </item>
+      <item> HEIGHT </item>
+      <item> ISCLOSED </item>
+      <item> ISOPEN </item>
+      <item> PCLOSE </item>
+      <item> NPOINT </item>
+      <item> POPEN </item>
+      <item> RADIUS </item>
+      <item> WIDTH </item>
+      <!-- geometric type conversion -->
+      <item> BOX </item>
+      <item> CIRCLE </item>
+      <item> LSEG </item>
+      <item> PATH </item>
+      <item> POINT </item>
+      <item> POLYGON </item>
+      <!-- network address type, TEXT is omitted as it is more commonly a data type -->
+      <item> BROADCAST </item>
+      <item> HOST </item>
+      <item> MASKLEN </item>
+      <item> SET_MASKLEN </item>
+      <item> NETMASK </item>
+      <item> NETWORK </item>
+      <item> ABBREV </item>
+      <!-- sequence manipulation -->
+      <item> NEXTVAL </item>
+      <item> CURRVAL </item>
+      <item> SETVAL </item>
+      <!-- conditional expressions -->
+      <item> COALESCE </item>
+      <item> NULLIF </item>
+      <!-- misc -->
+      <item> HAS_TABLE_PRIVILEGE </item>
+      <item> PG_GET_VIEWDEF </item>
+      <item> PG_GET_RULEDEF </item>
+      <item> PG_GET_INDEXDEF </item>
+      <item> PG_GET_USERBYID </item>
+      <item> OBJ_DESCRIPTION </item>
+      <item> COL_DESCRIPTION </item>
+      <!-- aggregate -->
+      <item> AVG </item>
+      <item> COUNT </item>
+      <item> MAX </item>
+      <item> MIN </item>
+      <item> STDDEV </item>
+      <item> SUM </item>
+      <item> VARIANCE </item>
+    </list>
+    <list name="types">
+      <item> BIGINT </item>
+      <item> BIGSERIAL </item>
+      <item> BIT </item>
+      <item> BIT VARYING </item>
+      <item> BOOL </item>
+      <item> BOOLEAN </item>
+      <item> BOX </item>
+      <item> BYTEA </item>
+      <item> CHAR </item>
+      <item> CHARACTER </item>
+      <item> CHARACTER VARYING </item>
+      <item> CIDR </item>
+      <item> CIRCLE </item>
+      <item> DATE </item>
+      <item> DECIMAL </item>
+      <item> DOUBLE PRECISION </item>
+      <item> FLOAT8 </item>
+      <item> INET </item>
+      <item> INT </item>
+      <item> INT2 </item>
+      <item> INT4 </item>
+      <item> INT8 </item>
+      <item> INTEGER </item>
+      <item> INTERVAL </item>
+      <item> LINE </item>
+      <item> LSEG </item>
+      <item> LZTEXT </item>
+      <item> MACADDR </item>
+      <item> MONEY </item>
+      <item> NUMERIC </item>
+      <item> OID </item>
+      <item> PATH </item>
+      <item> POINT </item>
+      <item> POLYGON </item>
+      <item> REAL </item>
+      <item> SERIAL </item>
+      <item> SERIAL8 </item>
+      <item> SMALLINT </item>
+      <item> TEXT </item>
+      <item> TIME </item>
+      <item> TIMESTAMP </item>
+      <item> TIMESTAMP WITH TIMEZONE </item>
+      <item> TIMESTAMPTZ </item>
+      <item> TIMETZ </item>
+      <item> VARBIT </item>
+      <item> VARCHAR </item>
+    </list>
+    <contexts>
+      <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+        <!-- HACK: don't jump into MultiLineString for CREATE FUNCTION $funcName$...$funcName$ -->
+        <RegExpr String="create\s+(or\s+replace\s+)?function" insensitive="true" context="CreateFunction" attribute="Keyword"/>
+        <RegExpr String="do\s+\$([^\$\n\r]*)\$" insensitive="true" context="FunctionBody" attribute="Keyword"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Operator" context="#stay" String="operators"/>
+        <keyword attribute="Function" context="#stay" String="functions"/>
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <RegExpr attribute="Data Type" context="#stay" String="%bulk_exceptions\b" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="%bulk_rowcount\b" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="%found\b" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="%isopen\b" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="%notfound\b" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="%rowcount\b" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="%rowtype\b" insensitive="true"/>
+        <RegExpr attribute="Data Type" context="#stay" String="%type\b" insensitive="true"/>
+        <Float attribute="Float" context="#stay"/>
+        <Int attribute="Decimal" context="#stay"/>
+        <DetectChar attribute="String" context="String" char="'"/>
+        <DetectChar attribute="Comment" context="SingleLineComment" char="#"/>
+        <Detect2Chars attribute="Comment" context="SingleLineComment" char="-" char1="-"/>
+        <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*" beginRegion="Comment"/>
+        <RegExpr attribute="Comment" context="SingleLineComment" String="rem\b" insensitive="true" column="0"/>
+        <DetectChar attribute="Comment" context="Identifier" char="&quot;"/>
+        <AnyChar attribute="Symbol" context="#stay" String=":&#38;"/>
+        <RegExpr attribute="Symbol" context="#stay" String="/$" column="0"/>
+        <RegExpr attribute="Preprocessor" context="Preprocessor" String="@@?[^@ \t\r\n]" column="0"/>
+        <RegExpr attribute="Operator" context="MultiLineString" String="\$([^\$\n\r]*)\$" dynamic="true"/>
+      </context>
+      <context name="CreateFunction" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Function" context="FunctionBody" String="\$([^\$\n\r]*)\$" dynamic="true"/>
+        <IncludeRules context="Normal"/>
+      </context>
+      <context name="FunctionBody" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Function" context="#pop#pop" String="\$%1\$" dynamic="true"/>
+        <IncludeRules context="Normal"/>
+      </context>
+      <context name="MultiLineString" attribute="String" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Operator" context="#pop" String="\$%1\$" dynamic="true"/>
+      </context>
+      <context name="String" attribute="String" lineEndContext="#stay">
+        <LineContinue attribute="String" context="#pop"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="Symbol" context="#stay" char="&#38;"/>
+        <DetectChar attribute="String" context="#pop" char="'"/>
+      </context>
+      <context name="SingleLineComment" attribute="Comment" lineEndContext="#pop"/>
+      <context name="MultiLineComment" attribute="Comment" lineEndContext="#stay">
+        <LineContinue attribute="Comment" context="#pop"/>
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+      </context>
+      <context name="Identifier" attribute="Identifier" lineEndContext="#pop">
+        <DetectChar attribute="Identifier" context="#pop" char="&quot;"/>
+      </context>
+      <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"/>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"       defStyleNum="dsNormal"/>
+      <itemData name="Keyword"           defStyleNum="dsKeyword"/>
+      <itemData name="Operator"          defStyleNum="dsNormal"/>
+      <itemData name="Function"          defStyleNum="dsFunction"/>
+      <itemData name="Data Type"         defStyleNum="dsDataType"/>
+      <itemData name="Decimal"           defStyleNum="dsDecVal"/>
+      <itemData name="Float"             defStyleNum="dsFloat"/>
+      <itemData name="String"            defStyleNum="dsString"/>
+      <itemData name="String Char"       defStyleNum="dsChar"/>
+      <itemData name="Comment"           defStyleNum="dsComment"/>
+      <itemData name="Identifier"        defStyleNum="dsOthers"/>
+      <itemData name="Symbol"            defStyleNum="dsChar"/>
+      <itemData name="Preprocessor"      defStyleNum="dsOthers"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="--"/>
+      <comment name="multiLine" start="/*" end="*/"/>
+    </comments>
+    <keywords casesensitive="0" weakDeliminator="+-*/|=!&lt;&gt;~^:.@&amp;#%?"/>
+  </general>
+</language>
diff --git a/xml/sql.xml b/xml/sql.xml
new file mode 100644
--- /dev/null
+++ b/xml/sql.xml
@@ -0,0 +1,956 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- Oracle10g SQL and PL/SQL syntax - ANSI SQL 2003 superset -->
+<!-- This file is maintained by Anders Lund <anders@alweb.dk> since 2005-11-06 -->
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
+<language name="SQL" version="2" kateversion="2.4" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Yury Lebedev (yurylebedev@mail.ru)" license="LGPL">
+  <highlighting>
+    <list name="keywords">
+      <item> ACCESS </item>
+      <item> ACCOUNT </item>
+      <item> ADD </item>
+      <item> ADMIN </item>
+      <item> ADMINISTER </item>
+      <item> ADVISE </item>
+      <item> AFTER </item>
+      <item> AGENT </item>
+      <item> ALL </item>
+      <item> ALLOCATE </item>
+      <item> ALL_ROWS </item>
+      <item> ALTER </item>
+      <item> ANALYZE </item>
+      <item> ANCILLARY </item>
+      <item> AND </item>
+      <item> ANY </item>
+      <item> ARCHIVE </item>
+      <item> ARCHIVELOG </item>
+      <item> AS </item>
+      <item> ASC </item>
+      <item> ASSERTION </item>
+      <item> ASSOCIATE </item>
+      <item> AT </item>
+      <item> ATTRIBUTE </item>
+      <item> ATTRIBUTES </item>
+      <item> AUDIT </item>
+      <item> AUTHENTICATED </item>
+      <item> AUTHID </item>
+      <item> AUTHORIZATION </item>
+      <item> AUTOALLOCATE </item>
+      <item> AUTOEXTEND </item>
+      <item> AUTOMATIC </item>
+      <item> BACKUP </item>
+      <item> BECOME </item>
+      <item> BEFORE </item>
+      <item> BEGIN </item>
+      <item> BEHALF </item>
+      <item> BETWEEN </item>
+      <item> BINDING </item>
+      <item> BITMAP </item>
+      <item> BLOCK </item>
+      <item> BLOCK_RANGE </item>
+      <item> BODY </item>
+      <item> BOTH </item>
+      <item> BOUND </item>
+      <item> BREAK </item>
+      <item> BROADCAST </item>
+      <item> BTITLE </item>
+      <item> BUFFER_POOL </item>
+      <item> BUILD </item>
+      <item> BULK </item>
+      <item> BY </item>
+      <item> CACHE </item>
+      <item> CACHE_INSTANCES </item>
+      <item> CALL </item>
+      <item> CANCEL </item>
+      <item> CASCADE </item>
+      <item> CASE </item>
+      <item> CATEGORY </item>
+      <item> CHAINED </item>
+      <item> CHANGE </item>
+      <item> CHECK </item>
+      <item> CHECKPOINT </item>
+      <item> CHILD </item>
+      <item> CHOOSE </item>
+      <item> CHUNK </item>
+      <item> CLASS </item>
+      <item> CLEAR </item>
+      <item> CLONE </item>
+      <item> CLOSE </item>
+      <item> CLOSE_CACHED_OPEN_CURSORS </item>
+      <item> CLUSTER </item>
+      <item> COALESCE </item>
+      <item> COLUMN </item>
+      <item> COLUMNS </item>
+      <item> COLUMN_VALUE </item>
+      <item> COMMENT </item>
+      <item> COMMIT </item>
+      <item> COMMITTED </item>
+      <item> COMPATIBILITY </item>
+      <item> COMPILE </item>
+      <item> COMPLETE </item>
+      <item> COMPOSITE_LIMIT </item>
+      <item> COMPRESS </item>
+      <item> COMPUTE </item>
+      <item> CONNECT </item>
+      <item> CONNECT_TIME </item>
+      <item> CONSIDER </item>
+      <item> CONSISTENT </item>
+      <item> CONSTANT </item>
+      <item> CONSTRAINT </item>
+      <item> CONSTRAINTS </item>
+      <item> CONTAINER </item>
+      <item> CONTENTS </item>
+      <item> CONTEXT </item>
+      <item> CONTINUE </item>
+      <item> CONTROLFILE </item>
+      <item> COPY </item>
+      <item> COST </item>
+      <item> CPU_PER_CALL </item>
+      <item> CPU_PER_SESSION </item>
+      <item> CREATE </item>
+      <item> CREATE_STORED_OUTLINES </item>
+      <item> CROSS </item>
+      <item> CUBE </item>
+      <item> CURRENT </item>
+      <item> CURSOR </item>
+      <item> CYCLE </item>
+      <item> DANGLING </item>
+      <item> DATA </item>
+      <item> DATABASE </item>
+      <item> DATAFILE </item>
+      <item> DATAFILES </item>
+      <item> DBA </item>
+      <item> DDL </item>
+      <item> DEALLOCATE </item>
+      <item> DEBUG </item>
+      <item> DECLARE </item>
+      <item> DEFAULT </item>
+      <item> DEFERRABLE </item>
+      <item> DEFERRED </item>
+      <item> DEFINER </item>
+      <item> DEGREE </item>
+      <item> DELETE </item>
+      <item> DEMAND </item>
+      <item> DESC </item>
+      <item> DETERMINES </item>
+      <item> DICTIONARY </item>
+      <item> DIMENSION </item>
+      <item> DIRECTORY </item>
+      <item> DISABLE </item>
+      <item> DISASSOCIATE </item>
+      <item> DISCONNECT </item>
+      <item> DISKGROUP </item>
+      <item> DISMOUNT </item>
+      <item> DISTINCT </item>
+      <item> DISTRIBUTED </item>
+      <item> DOMAIN </item>
+      <item> DROP </item>
+      <item> DYNAMIC </item>
+      <item> EACH </item>
+      <item> ELSE </item>
+      <item> ELSIF </item>
+      <item> EMPTY </item>
+      <item> ENABLE </item>
+      <item> END </item>
+      <item> ENFORCE </item>
+      <item> ENTRY </item>
+      <item> ESCAPE </item>
+      <item> ESTIMATE </item>
+      <item> EVENTS </item>
+      <item> EXCEPT </item>
+      <item> EXCEPTION </item>
+      <item> EXCEPTIONS </item>
+      <item> EXCHANGE </item>
+      <item> EXCLUDING </item>
+      <item> EXCLUSIVE </item>
+      <item> EXEC </item>
+      <item> EXECUTE </item>
+      <item> EXISTS </item>
+      <item> EXPIRE </item>
+      <item> EXPLAIN </item>
+      <item> EXPLOSION </item>
+      <item> EXTENDS </item>
+      <item> EXTENT </item>
+      <item> EXTENTS </item>
+      <item> EXTERNALLY </item>
+      <item> FAILED_LOGIN_ATTEMPTS </item>
+      <item> FALSE </item>
+      <item> FAST </item>
+      <item> FILE </item>
+      <item> FILTER </item>
+      <item> FIRST_ROWS </item>
+      <item> FLAGGER </item>
+      <item> FLASHBACK </item>
+      <item> FLUSH </item>
+      <item> FOLLOWING </item>
+      <item> FOR </item>
+      <item> FORCE </item>
+      <item> FOREIGN </item>
+      <item> FREELIST </item>
+      <item> FREELISTS </item>
+      <item> FRESH </item>
+      <item> FROM </item>
+      <item> FULL </item>
+      <item> FUNCTION </item>
+      <item> FUNCTIONS </item>
+      <item> GENERATED </item>
+      <item> GLOBAL </item>
+      <item> GLOBALLY </item>
+      <item> GLOBAL_NAME </item>
+      <item> GRANT </item>
+      <item> GROUP </item>
+      <item> GROUPS </item>
+      <item> HASH </item>
+      <item> HASHKEYS </item>
+      <item> HAVING </item>
+      <item> HEADER </item>
+      <item> HEAP </item>
+      <item> HIERARCHY </item>
+      <item> HOUR </item>
+      <item> ID </item>
+      <item> IDENTIFIED </item>
+      <item> IDENTIFIER </item>
+      <item> IDGENERATORS </item>
+      <item> IDLE_TIME </item>
+      <item> IF </item>
+      <item> IMMEDIATE </item>
+      <item> IN </item>
+      <item> INCLUDING </item>
+      <item> INCREMENT </item>
+      <item> INCREMENTAL </item>
+      <item> INDEX </item>
+      <item> INDEXED </item>
+      <item> INDEXES </item>
+      <item> INDEXTYPE </item>
+      <item> INDEXTYPES </item>
+      <item> INDICATOR </item>
+      <item> INITIAL </item>
+      <item> INITIALIZED </item>
+      <item> INITIALLY </item>
+      <item> INITRANS </item>
+      <item> INNER </item>
+      <item> INSERT </item>
+      <item> INSTANCE </item>
+      <item> INSTANCES </item>
+      <item> INSTEAD </item>
+      <item> INTERMEDIATE </item>
+      <item> INTERSECT </item>
+      <item> INTO </item>
+      <item> INVALIDATE </item>
+      <item> IS </item>
+      <item> ISOLATION </item>
+      <item> ISOLATION_LEVEL </item>
+      <item> JAVA </item>
+      <item> JOIN </item>
+      <item> KEEP </item>
+      <item> KEY </item>
+      <item> KILL </item>
+      <item> LABEL </item>
+      <item> LAYER </item>
+      <item> LEADING </item>
+      <item> LEFT </item>
+      <item> LESS </item>
+      <item> LEVEL </item>
+      <item> LIBRARY </item>
+      <item> LIKE </item>
+      <item> LIMIT </item>
+      <item> LINK </item>
+      <item> LIST </item>
+      <item> LOCAL </item>
+      <item> LOCATOR </item>
+      <item> LOCK </item>
+      <item> LOCKED </item>
+      <item> LOGFILE </item>
+      <item> LOGGING </item>
+      <item> LOGICAL_READS_PER_CALL </item>
+      <item> LOGICAL_READS_PER_SESSION </item>
+      <item> LOGOFF </item>
+      <item> LOGON </item>
+      <item> LOOP </item>
+      <item> MANAGE </item>
+      <item> MANAGED </item>
+      <item> MANAGEMENT </item>
+      <item> MASTER </item>
+      <item> MATERIALIZED </item>
+      <item> MAXARCHLOGS </item>
+      <item> MAXDATAFILES </item>
+      <item> MAXEXTENTS </item>
+      <item> MAXINSTANCES </item>
+      <item> MAXLOGFILES </item>
+      <item> MAXLOGHISTORY </item>
+      <item> MAXLOGMEMBERS </item>
+      <item> MAXSIZE </item>
+      <item> MAXTRANS </item>
+      <item> MAXVALUE </item>
+      <item> MEMBER </item>
+      <item> MERGE </item>
+      <item> METHOD </item>
+      <item> MINEXTENTS </item>
+      <item> MINIMIZE </item>
+      <item> MINIMUM </item>
+      <item> MINUS </item>
+      <item> MINUTE </item>
+      <item> MINVALUE </item>
+      <item> MODE </item>
+      <item> MODIFY </item>
+      <item> MONITORING </item>
+      <item> MOUNT </item>
+      <item> MOVE </item>
+      <item> MOVEMENT </item>
+      <item> MTS_DISPATCHERS </item>
+      <item> MULTISET </item>
+      <item> NAMED </item>
+      <item> NATURAL </item>
+      <item> NEEDED </item>
+      <item> NESTED </item>
+      <item> NESTED_TABLE_ID </item>
+      <item> NETWORK </item>
+      <item> NEVER </item>
+      <item> NEW </item>
+      <item> NEXT </item>
+      <item> NLS_CALENDAR </item>
+      <item> NLS_CHARACTERSET </item>
+      <item> NLS_COMP </item>
+      <item> NLS_CURRENCY </item>
+      <item> NLS_DATE_FORMAT </item>
+      <item> NLS_DATE_LANGUAGE </item>
+      <item> NLS_ISO_CURRENCY </item>
+      <item> NLS_LANG </item>
+      <item> NLS_LANGUAGE </item>
+      <item> NLS_NUMERIC_CHARACTERS </item>
+      <item> NLS_SORT </item>
+      <item> NLS_SPECIAL_CHARS </item>
+      <item> NLS_TERRITORY </item>
+      <item> NO </item>
+      <item> NOARCHIVELOG </item>
+      <item> NOAUDIT </item>
+      <item> NOCACHE </item>
+      <item> NOCOMPRESS </item>
+      <item> NOCYCLE </item>
+      <item> NOFORCE </item>
+      <item> NOLOGGING </item>
+      <item> NOMAXVALUE </item>
+      <item> NOMINIMIZE </item>
+      <item> NOMINVALUE </item>
+      <item> NOMONITORING </item>
+      <item> NONE </item>
+      <item> NOORDER </item>
+      <item> NOOVERRIDE </item>
+      <item> NOPARALLEL </item>
+      <item> NORELY </item>
+      <item> NORESETLOGS </item>
+      <item> NOREVERSE </item>
+      <item> NORMAL </item>
+      <item> NOSEGMENT </item>
+      <item> NOSORT </item>
+      <item> NOT </item>
+      <item> NOTHING </item>
+      <item> NOVALIDATE </item>
+      <item> NOWAIT </item>
+      <item> NULL </item>
+      <item> NULLS </item>
+      <item> OBJNO </item>
+      <item> OBJNO_REUSE </item>
+      <item> OF </item>
+      <item> OFF </item>
+      <item> OFFLINE </item>
+      <item> OID </item>
+      <item> OIDINDEX </item>
+      <item> OLD </item>
+      <item> ON </item>
+      <item> ONLINE </item>
+      <item> ONLY </item>
+      <item> OPCODE </item>
+      <item> OPEN </item>
+      <item> OPERATOR </item>
+      <item> OPTIMAL </item>
+      <item> OPTIMIZER_GOAL </item>
+      <item> OPTION </item>
+      <item> OR </item>
+      <item> ORDER </item>
+      <item> ORGANIZATION </item>
+      <item> OUT </item>
+      <item> OUTER </item>
+      <item> OUTLINE </item>
+      <item> OVER </item>
+      <item> OVERFLOW </item>
+      <item> OVERLAPS </item>
+      <item> OWN </item>
+      <item> PACKAGE </item>
+      <item> PACKAGES </item>
+      <item> PARALLEL </item>
+      <item> PARAMETERS </item>
+      <item> PARENT </item>
+      <item> PARTITION </item>
+      <item> PARTITIONS </item>
+      <item> PARTITION_HASH </item>
+      <item> PARTITION_RANGE </item>
+      <item> PASSWORD </item>
+      <item> PASSWORD_GRACE_TIME </item>
+      <item> PASSWORD_LIFE_TIME </item>
+      <item> PASSWORD_LOCK_TIME </item>
+      <item> PASSWORD_REUSE_MAX </item>
+      <item> PASSWORD_REUSE_TIME </item>
+      <item> PASSWORD_VERIFY_FUNCTION </item>
+      <item> PCTFREE </item>
+      <item> PCTINCREASE </item>
+      <item> PCTTHRESHOLD </item>
+      <item> PCTUSED </item>
+      <item> PCTVERSION </item>
+      <item> PERCENT </item>
+      <item> PERMANENT </item>
+      <item> PLAN </item>
+      <item> PLSQL_DEBUG </item>
+      <item> POST_TRANSACTION </item>
+      <item> PREBUILT </item>
+      <item> PRECEDING </item>
+      <item> PREPARE </item>
+      <item> PRESENT </item>
+      <item> PRESERVE </item>
+      <item> PREVIOUS </item>
+      <item> PRIMARY </item>
+      <item> PRIOR </item>
+      <item> PRIVATE </item>
+      <item> PRIVATE_SGA </item>
+      <item> PRIVILEGE </item>
+      <item> PRIVILEGES </item>
+      <item> PROCEDURE </item>
+      <item> PROFILE </item>
+      <item> PUBLIC </item>
+      <item> PURGE </item>
+      <item> QUERY </item>
+      <item> QUEUE </item>
+      <item> QUOTA </item>
+      <item> RANDOM </item>
+      <item> RANGE </item>
+      <item> RBA </item>
+      <item> READ </item>
+      <item> READS </item>
+      <item> REBUILD </item>
+      <item> RECORDS_PER_BLOCK </item>
+      <item> RECOVER </item>
+      <item> RECOVERABLE </item>
+      <item> RECOVERY </item>
+      <item> RECYCLE </item>
+      <item> REDUCED </item>
+      <item> REFERENCES </item>
+      <item> REFERENCING </item>
+      <item> REFRESH </item>
+      <item> RELY </item>
+      <item> RENAME </item>
+      <item> REPLACE </item>
+      <item> RESET </item>
+      <item> RESETLOGS </item>
+      <item> RESIZE </item>
+      <item> RESOLVE </item>
+      <item> RESOLVER </item>
+      <item> RESOURCE </item>
+      <item> RESTRICT </item>
+      <item> RESTRICTED </item>
+      <item> RESUME </item>
+      <item> RETURN </item>
+      <item> RETURNING </item>
+      <item> REUSE </item>
+      <item> REVERSE </item>
+      <item> REVOKE </item>
+      <item> REWRITE </item>
+      <item> RIGHT </item>
+      <item> ROLE </item>
+      <item> ROLES </item>
+      <item> ROLLBACK </item>
+      <item> ROLLUP </item>
+      <item> ROW </item>
+      <item> ROWNUM </item>
+      <item> ROWS </item>
+      <item> RULE </item>
+      <item> SAMPLE </item>
+      <item> SAVEPOINT </item>
+      <item> SCAN </item>
+      <item> SCAN_INSTANCES </item>
+      <item> SCHEMA </item>
+      <item> SCN </item>
+      <item> SCOPE </item>
+      <item> SD_ALL </item>
+      <item> SD_INHIBIT </item>
+      <item> SD_SHOW </item>
+      <item> SEGMENT </item>
+      <item> SEG_BLOCK </item>
+      <item> SEG_FILE </item>
+      <item> SELECT </item>
+      <item> SELECTIVITY </item>
+      <item> SEQUENCE </item>
+      <item> SERIALIZABLE </item>
+      <item> SERVERERROR </item>
+      <item> SESSION </item>
+      <item> SESSIONS_PER_USER </item>
+      <item> SESSION_CACHED_CURSORS </item>
+      <item> SET </item>
+      <item> SHARE </item>
+      <item> SHARED </item>
+      <item> SHARED_POOL </item>
+      <item> SHRINK </item>
+      <item> SHUTDOWN </item>
+      <item> SINGLETASK </item>
+      <item> SIZE </item>
+      <item> SKIP </item>
+      <item> SKIP_UNUSABLE_INDEXES </item>
+      <item> SNAPSHOT </item>
+      <item> SOME </item>
+      <item> SORT </item>
+      <item> SOURCE </item>
+      <item> SPECIFICATION </item>
+      <item> SPLIT </item>
+      <item> SQL_TRACE </item>
+      <item> STANDBY </item>
+      <item> START </item>
+      <item> STARTUP </item>
+      <item> STATEMENT_ID </item>
+      <item> STATIC </item>
+      <item> STATISTICS </item>
+      <item> STOP </item>
+      <item> STORAGE </item>
+      <item> STORE </item>
+      <item> STRUCTURE </item>
+      <item> SUBMULTISET </item>
+      <item> SUBPARTITION </item>
+      <item> SUBPARTITIONS </item>
+      <item> SUCCESSFUL </item>
+      <item> SUMMARY </item>
+      <item> SUPPLEMENTAL </item>
+      <item> SUSPEND </item>
+      <item> SWITCH </item>
+      <item> SYNONYM </item>
+      <item> SYSDBA </item>
+      <item> SYSOPER </item>
+      <item> SYSTEM </item>
+      <item> SYS_OP_BITVEC </item>
+      <item> SYS_OP_ENFORCE_NOT_NULL$ </item>
+      <item> SYS_OP_NOEXPAND </item>
+      <item> SYS_OP_NTCIMG$ </item>
+      <item> TABLE </item>
+      <item> TABLES </item>
+      <item> TABLESPACE </item>
+      <item> TABLESPACE_NO </item>
+      <item> TABNO </item>
+      <item> TEMPFILE </item>
+      <item> TEMPORARY </item>
+      <item> THAN </item>
+      <item> THE </item>
+      <item> THEN </item>
+      <item> THREAD </item>
+      <item> THROUGH </item>
+      <item> TIMEOUT </item>
+      <item> TIMEZONE_HOUR </item>
+      <item> TIMEZONE_MINUTE </item>
+      <item> TIME_ZONE </item>
+      <item> TO </item>
+      <item> TOPLEVEL </item>
+      <item> TRACE </item>
+      <item> TRACING </item>
+      <item> TRAILING </item>
+      <item> TRANSACTION </item>
+      <item> TRANSITIONAL </item>
+      <item> TRIGGER </item>
+      <item> TRIGGERS </item>
+      <item> TRUE </item>
+      <item> TRUNCATE </item>
+      <item> TYPE </item>
+      <item> TYPES </item>
+      <item> UNARCHIVED </item>
+      <item> UNBOUND </item>
+      <item> UNBOUNDED </item>
+      <item> UNDO </item>
+      <item> UNIFORM </item>
+      <item> UNION </item>
+      <item> UNIQUE </item>
+      <item> UNLIMITED </item>
+      <item> UNLOCK </item>
+      <item> UNRECOVERABLE </item>
+      <item> UNTIL </item>
+      <item> UNUSABLE </item>
+      <item> UNUSED </item>
+      <item> UPDATABLE </item>
+      <item> UPDATE </item>
+      <item> UPD_INDEXES </item>
+      <item> UPPPER </item>
+      <item> USAGE </item>
+      <item> USE </item>
+      <item> USER_DEFINED </item>
+      <item> USE_STORED_OUTLINES </item>
+      <item> USING </item>
+      <item> VALIDATE </item>
+      <item> VALIDATION </item>
+      <item> VALUES </item>
+      <item> VIEW </item>
+      <item> WHEN </item>
+      <item> WHENEVER </item>
+      <item> WHERE </item>
+      <item> WHILE </item>
+      <item> WITH </item>
+      <item> WITHOUT </item>
+      <item> WORK </item>
+      <item> WRITE </item>
+    </list>
+    <list name="operators">
+      <item> + </item>
+      <item> - </item>
+      <item> * </item>
+      <item> / </item>
+      <item> || </item>
+      <item> = </item>
+      <item> != </item>
+      <item> &lt;&gt; </item>
+      <item> &lt; </item>
+      <item> &lt;= </item>
+      <item> &gt; </item>
+      <item> &gt;= </item>
+      <item> ~= </item>
+      <item> ^= </item>
+      <item> := </item>
+      <item> =&gt; </item>
+      <item> ** </item>
+      <item> .. </item>
+    </list>
+    <list name="functions">
+      <item> ABS </item>
+      <item> ACOS </item>
+      <item> ADD_MONTHS </item>
+      <item> ASCII </item>
+      <item> ASCIISTR </item>
+      <item> ASIN </item>
+      <item> ATAN </item>
+      <item> ATAN2 </item>
+      <item> AVG </item>
+      <item> BFILENAME </item>
+      <item> BIN_TO_NUM </item>
+      <item> BITAND </item>
+      <item> CARDINALITY </item>
+      <item> CAST </item>
+      <item> CEIL </item>
+      <item> CHARTOROWID </item>
+      <item> CHR </item>
+      <item> COALESCE </item>
+      <item> COLLECT </item>
+      <item> COMPOSE </item>
+      <item> CONCAT </item>
+      <item> CONVERT </item>
+      <item> CORR </item>
+      <item> CORR_K </item>
+      <item> CORR_S </item>
+      <item> COS </item>
+      <item> COSH </item>
+      <item> COUNT </item>
+      <item> COVAR_POP </item>
+      <item> COVAR_SAMP </item>
+      <item> CUME_DIST </item>
+      <item> CURRENT_DATE </item>
+      <item> CURRENT_TIMESTAMP </item>
+      <item> CV </item>
+      <item> DBTIMEZONE </item>
+      <item> DECODE </item>
+      <item> DECOMPOSE </item>
+      <item> DENSE_RANK </item>
+      <item> DEPTH </item>
+      <item> DEREF </item>
+      <item> DUMP </item>
+      <item> EMPTY_BLOB </item>
+      <item> EMPTY_CLOB </item>
+      <item> EXISTSNODE </item>
+      <item> EXP </item>
+      <item> EXTRACT </item>
+      <item> EXTRACTVALUE </item>
+      <item> FIRST </item>
+      <item> FIRST_VALUE </item>
+      <item> FLOOR </item>
+      <item> FROM_TZ </item>
+      <item> GREATEST </item>
+      <item> GROUP_ID </item>
+      <item> GROUPING </item>
+      <item> GROUPING_ID </item>
+      <item> HEXTORAW </item>
+      <item> INITCAP </item>
+      <item> INSTR </item>
+      <item> INSTRB </item>
+      <item> LAG </item>
+      <item> LAST </item>
+      <item> LAST_DAY </item>
+      <item> LAST_VALUE </item>
+      <item> LEAD </item>
+      <item> LEAST </item>
+      <item> LENGTH </item>
+      <item> LENGTHB </item>
+      <item> LN </item>
+      <item> LNNVL </item>
+      <item> LOCALTIMESTAMP </item>
+      <item> LOG </item>
+      <item> LOWER </item>
+      <item> LPAD </item>
+      <item> LTRIM </item>
+      <item> MAKE_REF </item>
+      <item> MAX </item>
+      <item> MEDIAN </item>
+      <item> MIN </item>
+      <item> MOD </item>
+      <item> MONTHS_BETWEEN </item>
+      <item> NANVL </item>
+      <item> NCHR </item>
+      <item> NEW_TIME </item>
+      <item> NEXT_DAY </item>
+      <item> NLS_CHARSET_DECL_LEN </item>
+      <item> NLS_CHARSET_ID </item>
+      <item> NLS_CHARSET_NAME </item>
+      <item> NLS_INITCAP </item>
+      <item> NLS_LOWER </item>
+      <item> NLS_UPPER </item>
+      <item> NLSSORT </item>
+      <item> NTILE </item>
+      <item> NULLIF </item>
+      <item> NUMTODSINTERVAL </item>
+      <item> NUMTOYMINTERVAL </item>
+      <item> NVL </item>
+      <item> NVL2 </item>
+      <item> ORA_HASH </item>
+      <item> ORA_ROWSCN </item>
+      <item> PERCENT_RANK </item>
+      <item> PERCENTILE_CONT </item>
+      <item> PERCENTILE_DISC </item>
+      <item> POWER </item>
+      <item> POWERMULTISET </item>
+      <item> POWERMULTISET_BY_CARDINALITY </item>
+      <item> PRESENTNNV </item>
+      <item> PRESENTV </item>
+      <item> RANK </item>
+      <item> RATIO_TO_REPORT </item>
+      <item> RAWTOHEX </item>
+      <item> RAWTONHEX </item>
+      <item> REF </item>
+      <item> REFTOHEX </item>
+      <item> REGEXP_INSTR </item>
+      <item> REGEXP_LIKE </item>
+      <item> REGEXP_REPLACE </item>
+      <item> REGEXP_SUBSTR </item>
+      <item> REGR_SLOPE </item>
+      <item> REGR_INTERCEPT </item>
+      <item> REGR_COUNT </item>
+      <item> REGR_R2 </item>
+      <item> REGR_AVGX </item>
+      <item> REGR_AVGY </item>
+      <item> REGR_SXX </item>
+      <item> REGR_SYY </item>
+      <item> REGR_SXY </item>
+      <item> REMAINDER </item>
+      <item> ROUND </item>
+      <item> ROW_NUMBER </item>
+      <item> ROWIDTOCHAR </item>
+      <item> ROWIDTONCHAR </item>
+      <item> RPAD </item>
+      <item> RTRIM </item>
+      <item> SCN_TO_TIMESTAMP </item>
+      <item> SESSIONTIMEZONE </item>
+      <item> SIGN </item>
+      <item> SIN </item>
+      <item> SINH </item>
+      <item> SOUNDEX </item>
+      <item> SQRT </item>
+      <item> STATS_BINOMIAL_TEST </item>
+      <item> STATS_CROSSTAB </item>
+      <item> STATS_F_TEST </item>
+      <item> STATS_KS_TEST </item>
+      <item> STATS_MODE </item>
+      <item> STATS_MW_TEST </item>
+      <item> STATS_ONE_WAY_ANOVA </item>
+      <item> STATS_T_TEST_ONE </item>
+      <item> STATS_T_TEST_PAIRED </item>
+      <item> STATS_T_TEST_INDEP </item>
+      <item> STATS_T_TEST_INDEPU </item>
+      <item> STATS_WSR_TEST </item>
+      <item> STDDEV </item>
+      <item> STDDEV_POP </item>
+      <item> STDDEV_SAMP </item>
+      <item> SUBSTR </item>
+      <item> SUBSTRB </item>
+      <item> SUM </item>
+      <item> SYS_CONNECT_BY_PATH </item>
+      <item> SYS_CONTEXT </item>
+      <item> SYS_DBURIGEN </item>
+      <item> SYS_EXTRACT_UTC </item>
+      <item> SYS_GUID </item>
+      <item> SYS_TYPEID </item>
+      <item> SYS_XMLAGG </item>
+      <item> SYS_XMLGEN </item>
+      <item> SYSDATE </item>
+      <item> SYSTIMESTAMP </item>
+      <item> TAN </item>
+      <item> TANH </item>
+      <item> TIMESTAMP_TO_SCN </item>
+      <item> TO_BINARY_DOUBLE </item>
+      <item> TO_BINARY_FLOAT </item>
+      <item> TO_CHAR </item>
+      <item> TO_CLOB </item>
+      <item> TO_DATE </item>
+      <item> TO_DSINTERVAL </item>
+      <item> TO_LOB </item>
+      <item> TO_MULTI_BYTE </item>
+      <item> TO_NCHAR </item>
+      <item> TO_NCLOB </item>
+      <item> TO_NUMBER </item>
+      <item> TO_SINGLE_BYTE </item>
+      <item> TO_TIMESTAMP </item>
+      <item> TO_TIMESTAMP_TZ </item>
+      <item> TO_YMINTERVAL </item>
+      <item> TRANSLATE </item>
+      <item> TREAT </item>
+      <item> TRIM </item>
+      <item> TRUNC </item>
+      <item> TZ_OFFSET </item>
+      <item> UID </item>
+      <item> UNISTR </item>
+      <item> UPDATEXML </item>
+      <item> UPPER </item>
+      <item> USER </item>
+      <item> USERENV </item>
+      <item> VALUE </item>
+      <item> VAR_POP </item>
+      <item> VAR_SAMP </item>
+      <item> VARIANCE </item>
+      <item> VSIZE </item>
+      <item> WIDTH_BUCKET </item>
+      <item> XMLAGG </item>
+      <item> XMLCOLATTVAL </item>
+      <item> XMLCONCAT </item>
+      <item> XMLELEMENT </item>
+      <item> XMLFOREST </item>
+      <item> XMLSEQUENCE </item>
+      <item> XMLTRANSFORM </item>
+    </list>
+    <list name="types">
+      <item> ANYDATA </item>
+      <item> ANYDATASET </item>
+      <item> ANYTYPE </item>
+      <item> ARRAY </item>
+      <item> BFILE </item>
+      <item> BINARY_DOUBLE </item>
+      <item> BINARY_FLOAT </item>
+      <item> BINARY_INTEGER </item>
+      <item> BLOB </item>
+      <item> BOOLEAN </item>
+      <item> CFILE </item>
+      <item> CHAR </item>
+      <item> CHARACTER </item>
+      <item> CLOB </item>
+      <item> DATE </item>
+      <item> DAY </item>
+      <item> DBURITYPE </item>
+      <item> DEC </item>
+      <item> DECIMAL </item>
+      <item> DOUBLE </item>
+      <item> FLOAT </item>
+      <item> FLOB </item>
+      <item> HTTPURITYPE </item>
+      <item> INT </item>
+      <item> INTEGER </item>
+      <item> INTERVAL </item>
+      <item> LOB </item>
+      <item> LONG </item>
+      <item> MLSLABEL </item>
+      <item> MONTH </item>
+      <item> NATIONAL </item>
+      <item> NCHAR </item>
+      <item> NCLOB </item>
+      <item> NUMBER </item>
+      <item> NUMERIC </item>
+      <item> NVARCHAR </item>
+      <item> OBJECT </item>
+      <item> PLS_INTEGER </item>
+      <item> PRECISION </item>
+      <item> RAW </item>
+      <item> REAL </item>
+      <item> RECORD </item>
+      <item> ROWID </item>
+      <item> SECOND </item>
+      <item> SINGLE </item>
+      <item> SMALLINT </item>
+      <item> TIME </item>
+      <item> TIMESTAMP </item>
+      <item> URIFACTORYTYPE </item>
+      <item> URITYPE </item>
+      <item> UROWID </item>
+      <item> VARCHAR </item>
+      <item> VARCHAR2 </item>
+      <item> VARRAY </item>
+      <item> VARYING </item>
+      <item> XMLTYPE </item>
+      <item> YEAR </item>
+      <item> ZONE </item>
+    </list>
+    <contexts>
+      <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+
+        <keyword attribute="Keyword" String="keywords" context="#stay"/>
+        <keyword attribute="Operator" String="operators" context="#stay"/>
+        <keyword attribute="Function" String="functions" context="#stay"/>
+        <keyword attribute="Data Type" String="types" context="#stay"/>
+
+        <DetectIdentifier/>
+        <!-- extra data types -->
+        <RegExpr attribute="Data Type" context="#stay" String="%(?:bulk_(?:exceptions|rowcount)|found|isopen|notfound|rowcount|rowtype|type)\b" insensitive="true"/>
+        <!-- numbers -->
+        <HlCHex attribute="Hex" context="#stay"/>
+        <Float attribute="Float" context="#stay"/>
+        <Int attribute="Decimal" context="#stay"/>
+        <!-- strings -->
+        <DetectChar attribute="String" context="String literal" char="'"/>
+        <!-- comments -->
+        <Detect2Chars attribute="Comment" context="Singleline PL/SQL-style comment" char="-" char1="-"/>
+        <Detect2Chars attribute="Comment" context="Multiline C-style comment" char="/" char1="*" beginRegion="Comment"/>
+        <RegExpr attribute="Comment" context="SQL*Plus remark directive" String="^rem\b" insensitive="true" column="0"/>
+
+        <DetectChar attribute="Identifier" context="User-defined identifier" char="&quot;"/>
+        <RegExpr attribute="External Variable" context="#stay" String="(:|&amp;&amp;?)\w+"/>
+        <RegExpr attribute="Symbol" context="#stay" String="^/$" column="0"/>
+        <RegExpr attribute="Preprocessor" context="SQL*Plus directive to include file" String="^@@?[^@ \t\r\n]" column="0"/>
+      </context>
+      <context name="String literal" attribute="String" lineEndContext="#stay">
+        <Detect2Chars attribute="String" context="#pop" char="\" char1="'"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <RegExpr attribute="External Variable" context="#stay" String="&amp;&amp;?\w+"/>
+        <Detect2Chars attribute="String Char" context="#stay" char="'" char1="'"/>
+        <DetectChar attribute="String" context="#pop" char="'"/>
+      </context>
+      <context name="Singleline PL/SQL-style comment" attribute="Comment" lineEndContext="#pop"/>
+      <context name="Multiline C-style comment" attribute="Comment" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+      </context>
+      <context name="SQL*Plus remark directive" attribute="Comment" lineEndContext="#pop"/>
+      <context name="User-defined identifier" attribute="Identifier" lineEndContext="#pop">
+        <DetectChar attribute="Identifier" context="#pop" char="&quot;"/>
+      </context>
+      <context name="SQL*Plus directive to include file" attribute="Preprocessor" lineEndContext="#pop"/>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text"       defStyleNum="dsNormal"/>
+      <itemData name="Keyword"           defStyleNum="dsKeyword"/>
+      <itemData name="Operator"          defStyleNum="dsNormal"/>
+      <itemData name="Function"          defStyleNum="dsFunction"/>
+      <itemData name="Data Type"         defStyleNum="dsDataType"/>
+      <itemData name="Decimal"           defStyleNum="dsDecVal"/>
+      <itemData name="Hex"               defStyleNum="dsBaseN"/>
+      <itemData name="Float"             defStyleNum="dsFloat"/>
+      <itemData name="String"            defStyleNum="dsString"/>
+      <itemData name="String Char"       defStyleNum="dsChar"/>
+      <itemData name="Comment"           defStyleNum="dsComment"/>
+      <itemData name="Identifier"        defStyleNum="dsOthers"/>
+      <itemData name="External Variable" defStyleNum="dsChar"/>
+      <itemData name="Symbol"            defStyleNum="dsChar"/>
+      <itemData name="Preprocessor"      defStyleNum="dsOthers"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="--"/>
+      <comment name="multiLine" start="/*" end="*/"/>
+    </comments>
+    <keywords casesensitive="0" weakDeliminator="+-*/|=!&lt;&gt;~^:."/>
+  </general>
+</language>
diff --git a/xml/tcl.xml b/xml/tcl.xml
new file mode 100644
--- /dev/null
+++ b/xml/tcl.xml
@@ -0,0 +1,565 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+
+<!-- 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)
+
+    Revision history:
+        1.11:
+            - added new commands of Tcl/tk 8.5, released in 2007
+        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="3" kateversion="2.4" section="Scripts" extensions="*.tcl;*.tk" mimetype="text/x-tcl" license="BSD">
+  <highlighting>
+    <list name="keywords">
+      <item> after </item>
+      <item> append  </item>
+      <item> AppleScript  </item>
+      <item> argv  </item>
+      <item> argc  </item>
+      <item> array  </item>
+      <item> auto_execk  </item>
+      <item> auto_execok </item>
+      <item> auto_import </item>
+      <item> auto_load  </item>
+      <item> auto_mkindex  </item>
+      <item> auto_mkindex_old </item>
+      <item> auto_path  </item>
+      <item> auto_qualify </item>
+      <item> auto_reset  </item>
+      <item> beep  </item>
+      <item> bell  </item>
+      <item> binary  </item>
+      <item> bind  </item>
+      <item> bindtags  </item>
+      <item> bgerror  </item>
+      <item> break  </item>
+      <item> button  </item>
+      <item> canvas  </item>
+      <item> case  </item>
+      <item> catch  </item>
+      <item> cd  </item>
+      <item> chan </item>
+      <item> checkbutton  </item>
+      <item> clipboard  </item>
+      <item> clock  </item>
+      <item> close  </item>
+      <item> combobox </item>
+      <item> concat  </item>
+      <item> console  </item>
+      <item> continue  </item>
+      <item> dde  </item>
+      <item> destroy  </item>
+      <item> dict </item>
+      <item> else  </item>
+      <item> elseif  </item>
+      <item> encoding  </item>
+      <item> entry  </item>
+      <item> env  </item>
+      <item> eof  </item>
+      <item> error  </item>
+      <item> errorCode  </item>
+      <item> errorInfo  </item>
+      <item> eval  </item>
+      <item> event  </item>
+      <item> exec  </item>
+      <item> exit  </item>
+      <item> expr  </item>
+      <item> fblocked  </item>
+      <item> fconfigure  </item>
+      <item> fcopy  </item>
+      <item> file  </item>
+      <item> fileevent  </item>
+      <item> flush  </item>
+      <item> focus  </item>
+      <item> font  </item>
+      <item> for  </item>
+      <item> foreach  </item>
+      <item> format  </item>
+      <item> frame  </item>
+      <item> gets  </item>
+      <item> glob  </item>
+      <item> global  </item>
+      <item> grab  </item>
+      <item> grid  </item>
+      <item> history  </item>
+      <item> if  </item>
+      <item> image  </item>
+      <item> incr  </item>
+      <item> info  </item>
+      <item> interp  </item>
+      <item> join  </item>
+      <item> label  </item>
+      <item> labelframe </item>
+      <item> lappend  </item>
+      <item> lassign </item>
+      <item> lindex  </item>
+      <item> linsert  </item>
+      <item> list  </item>
+      <item> listbox  </item>
+      <item> llength  </item>
+      <item> load  </item>
+      <item> lower  </item>
+      <item> lrange  </item>
+      <item> lremove </item>
+      <item> lrepeat </item>
+      <item> lreplace  </item>
+      <item> lreverse </item>
+      <item> lsearch  </item>
+      <item> lset </item>
+      <item> lsort  </item>
+      <item> menu  </item>
+      <item> menubutton  </item>
+      <item> message  </item>
+      <item> namespace  </item>
+      <item> notebook </item>
+      <item> open  </item>
+      <item> option  </item>
+      <item> OptProc  </item>
+      <item> pack  </item>
+      <item> package  </item>
+      <item> panedwindow </item>
+      <item> parray  </item>
+      <item> pid  </item>
+      <item> place  </item>
+      <item> pkg_mkIndex </item>
+      <item> proc  </item>
+      <item> progressbar </item>
+      <item> puts  </item>
+      <item> pwd  </item>
+      <item> radiobutton  </item>
+      <item> raise  </item>
+      <item> read  </item>
+      <item> regexp  </item>
+      <item> registry  </item>
+      <item> regsub  </item>
+      <item> rename  </item>
+      <item> resource  </item>
+      <item> return  </item>
+      <item> scale  </item>
+      <item> scan  </item>
+      <item> scrollbar  </item>
+      <item> seek  </item>
+      <item> selection  </item>
+      <item> send  </item>
+      <item> separator </item>
+      <item> set  </item>
+      <item> sizegrip </item>
+      <item> socket  </item>
+      <item> source  </item>
+      <item> spinbox </item>
+      <item> split  </item>
+      <item> string  </item>
+      <item> style </item>
+      <item> subst  </item>
+      <item> switch  </item>
+      <item> tclLog  </item>
+      <item> tcl_endOfWord  </item>
+      <item> tcl_findLibrary  </item>
+      <item> tcl_library  </item>
+      <item> tcl_patchLevel  </item>
+      <item> tcl_platform  </item>
+      <item> tcl_precision  </item>
+      <item> tcl_rcFileName  </item>
+      <item> tcl_rcRsrcName  </item>
+      <item> tcl_startOfNextWord  </item>
+      <item> tcl_startOfPreviousWord  </item>
+      <item> tcl_traceCompile  </item>
+      <item> tcl_traceExec  </item>
+      <item> tcl_version  </item>
+      <item> tcl_wordBreakAfter  </item>
+      <item> tcl_wordBreakBefore  </item>
+      <item> tell  </item>
+      <item> text  </item>
+      <item> time  </item>
+      <item> tk  </item>
+      <item> tkTabToWindow  </item>
+      <item> tkwait  </item>
+      <item> tk_chooseColor  </item>
+      <item> tk_chooseDirectory  </item>
+      <item> tk_focusFollowMouse  </item>
+      <item> tk_focusNext  </item>
+      <item> tk_focusPrev  </item>
+      <item> tk_getOpenFile  </item>
+      <item> tk_getSaveFile  </item>
+      <item> tk_library  </item>
+      <item> tk_menuSetFocus </item>
+      <item> tk_messageBox  </item>
+      <item> tk_optionMenu  </item>
+      <item> tk_patchLevel  </item>
+      <item> tk_popup  </item>
+      <item> tk_strictMotif  </item>
+      <item> tk_textCopy </item>
+      <item> tk_textCut </item>
+      <item> tk_textPaste </item>
+      <item> tk_version  </item>
+      <item> toplevel  </item>
+      <item> trace  </item>
+      <item> traverseTo </item>
+      <item> treeview </item>
+      <item> unknown  </item>
+      <item> unload </item>
+      <item> unset  </item>
+      <item> update  </item>
+      <item> uplevel  </item>
+      <item> upvar  </item>
+      <item> variable  </item>
+      <item> vwait  </item>
+      <item> while  </item>
+      <item> winfo  </item>
+      <item> wm  </item>
+    </list>
+
+    <list name="keywords-opt">
+      <item> add </item>
+      <item> args </item>
+      <item> atime </item>
+      <item> attributes </item>
+      <item> body </item>
+      <item> bytelength </item>
+      <item> cancel </item>
+      <item> channels </item>
+      <item> clicks </item>
+      <item> cmdcount </item>
+      <item> commands </item>
+      <item> compare </item>
+      <item> complete </item>
+      <item> convertfrom </item>
+      <item> convertto </item>
+      <item> copy </item>
+      <item> default </item>
+      <item> delete </item>
+      <item> dirname </item>
+      <item> equal </item>
+      <item> executable </item>
+      <item> exists </item>
+      <item> extension </item>
+      <item> first </item>
+      <item> forget </item>
+      <item> format </item>
+      <item> functions </item>
+      <item> globals </item>
+      <item> hostname </item>
+      <item> idle </item>
+      <item> ifneeded </item>
+      <item> index </item>
+      <item> info </item>
+      <item> is </item>
+      <item> isdirectory </item>
+      <item> isfile </item>
+      <item> join </item>
+      <item> last </item>
+      <item> length </item>
+      <item> level </item>
+      <item> library </item>
+      <item> link </item>
+      <item> loaded </item>
+      <item> locals </item>
+      <item> lstat </item>
+      <item> map </item>
+      <item> match </item>
+      <item> mkdir </item>
+      <item> mtime </item>
+      <item> nameofexecutable </item>
+      <item> names </item>
+      <item> nativename </item>
+      <item> normalize </item>
+      <item> number </item>
+      <item> owned </item>
+      <item> patchlevel </item>
+      <item> pathtype </item>
+      <item> present </item>
+      <item> procs </item>
+      <item> provide </item>
+      <item> range </item>
+      <item> readable </item>
+      <item> readlink </item>
+      <item> remove </item>
+      <item> rename </item>
+      <item> repeat </item>
+      <item> replace </item>
+      <item> require </item>
+      <item> rootname </item>
+      <item> scan </item>
+      <item> script </item>
+      <item> seconds </item>
+      <item> separator </item>
+      <item> sharedlibextension </item>
+      <item> size </item>
+      <item> split </item>
+      <item> stat </item>
+      <item> system </item>
+      <item> tail </item>
+      <item> tclversion </item>
+      <item> tolower </item>
+      <item> totitle </item>
+      <item> toupper </item>
+      <item> trim </item>
+      <item> trimleft </item>
+      <item> trimright </item>
+      <item> type </item>
+      <item> unknown </item>
+      <item> variable </item>
+      <item> vars </item>
+      <item> vcompare </item>
+      <item> vdelete </item>
+      <item> versions </item>
+      <item> vinfo </item>
+      <item> volumes </item>
+      <item> vsatisfies </item>
+      <item> wordend </item>
+      <item> wordstart </item>
+      <item> writable </item>
+
+      <item> activate </item>
+      <item> actual </item>
+      <item> addtag </item>
+      <item> append </item>
+      <item> appname </item>
+      <item> aspect </item>
+      <item> atom </item>
+      <item> atomname </item>
+      <item> bbox </item>
+      <item> bind </item>
+      <item> broadcast </item>
+      <item> canvasx </item>
+      <item> canvasy </item>
+      <item> caret </item>
+      <item> cells </item>
+      <item> cget </item>
+      <item> children </item>
+      <item> class </item>
+      <item> clear </item>
+      <item> client </item>
+      <item> clone </item>
+      <item> colormapfull </item>
+      <item> colormapwindows </item>
+      <item> command </item>
+      <item> configure </item>
+      <item> containing </item>
+      <item> coords </item>
+      <item> create </item>
+      <item> current </item>
+      <item> curselection </item>
+      <item> dchars </item>
+      <item> debug </item>
+      <item> deiconify </item>
+      <item> delta </item>
+      <item> depth </item>
+      <item> deselect </item>
+      <item> dlineinfo </item>
+      <item> dtag </item>
+      <item> dump </item>
+      <item> edit </item>
+      <item> entrycget </item>
+      <item> entryconfigure </item>
+      <item> families </item>
+      <item> find </item>
+      <item> flash </item>
+      <item> focus </item>
+      <item> focusmodel </item>
+      <item> fpixels </item>
+      <item> fraction </item>
+      <item> frame </item>
+      <item> generate </item>
+      <item> geometry </item>
+      <item> get </item>
+      <item> gettags </item>
+      <item> grid </item>
+      <item> group </item>
+      <item> handle </item>
+      <item> height </item>
+      <item> hide </item>
+      <item> iconbitmap </item>
+      <item> iconify </item>
+      <item> iconmask </item>
+      <item> iconname </item>
+      <item> iconposition </item>
+      <item> iconwindow </item>
+      <item> icursor </item>
+      <item> id </item>
+      <item> identify </item>
+      <item> image </item>
+      <item> insert </item>
+      <item> interps </item>
+      <item> inuse </item>
+      <item> invoke </item>
+      <item> ismapped </item>
+      <item> itemcget </item>
+      <item> itemconfigure </item>
+      <item> keys </item>
+      <item> lower </item>
+      <item> manager </item>
+      <item> mark </item>
+      <item> maxsize </item>
+      <item> measure </item>
+      <item> metrics </item>
+      <item> minsize </item>
+      <item> move </item>
+      <item> name </item>
+      <item> nearest </item>
+      <item> overrideredirect </item>
+      <item> own </item>
+      <item> panecget </item>
+      <item> paneconfigure </item>
+      <item> panes </item>
+      <item> parent </item>
+      <item> pathname </item>
+      <item> pixels </item>
+      <item> pointerx </item>
+      <item> pointerxy </item>
+      <item> pointery </item>
+      <item> positionfrom </item>
+      <item> post </item>
+      <item> postcascade </item>
+      <item> postscript </item>
+      <item> protocol </item>
+      <item> proxy </item>
+      <item> raise </item>
+      <item> release </item>
+      <item> reqheight </item>
+      <item> reqwidth </item>
+      <item> resizable </item>
+      <item> rgb </item>
+      <item> rootx </item>
+      <item> rooty </item>
+      <item> scale </item>
+      <item> scaling </item>
+      <item> screen </item>
+      <item> screencells </item>
+      <item> screendepth </item>
+      <item> screenheight </item>
+      <item> screenmmheight </item>
+      <item> screenmmwidth </item>
+      <item> screenvisual </item>
+      <item> screenwidth </item>
+      <item> search </item>
+      <item> see </item>
+      <item> select </item>
+      <item> selection </item>
+      <item> server </item>
+      <item> set </item>
+      <item> show </item>
+      <item> sizefrom </item>
+      <item> stackorder </item>
+      <item> state </item>
+      <item> status </item>
+      <item> tag </item>
+      <item> title </item>
+      <item> toplevel </item>
+      <item> transient </item>
+      <item> types </item>
+      <item> unpost </item>
+      <item> useinputmethods </item>
+      <item> validate </item>
+      <item> values </item>
+      <item> viewable </item>
+      <item> visual </item>
+      <item> visualid </item>
+      <item> visualsavailable </item>
+      <item> vrootheight </item>
+      <item> vrootwidth </item>
+      <item> vrootx </item>
+      <item> vrooty </item>
+      <item> width </item>
+      <item> window </item>
+      <item> windowingsystem </item>
+      <item> withdraw </item>
+      <item> x </item>
+      <item> xview </item>
+      <item> y </item>
+    </list>
+
+    <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"/>
+        
+        <!-- Options -->
+        <RegExpr String = "\s-\w+" attribute = "Parameter" context="#stay"/>
+        
+        <!-- Variables -->
+        <RegExpr String = "\$\{([^\}]|\\\})+\}" attribute = "Variable" context="#stay"/>
+        <RegExpr String = "\$(::|\w)+" attribute = "Variable" context="#stay"/>
+        
+        <!-- Strings -->
+        <RegExpr String = "&quot;{2}" attribute = "String" context="#stay"/>
+        <RegExpr String = "&quot;" attribute = "String" context="String"/>
+        
+        <!-- Comments -->
+        <DetectChar char = ";" attribute = "Normal Text" context="New command line" />
+        <DetectChar char = "#" attribute = "Comment" context="Comment" firstNonSpace="true"/>
+        
+        <!-- Braces, brackets, etc -->
+        <DetectChar char = "{" attribute = "Keyword" context="#stay" beginRegion="block"/>
+        <DetectChar char = "}" attribute = "Keyword" context="#stay" endRegion="block"/>
+        <DetectChar char = "[" attribute = "Keyword" context="#stay"/>
+        <DetectChar char = "]" attribute = "Keyword" context="#stay"/>
+        
+      </context>
+
+      <context name = "String" attribute = "String" lineEndContext="#stay">
+        <RegExpr String="\\." attribute = "Char" context = "#stay"/>
+        <DetectChar char="&quot;" attribute = "String" context = "#pop"/>
+        <DetectChar char  = "$" attribute = "Variable" context="#stay"/>
+      </context>
+
+      <context name = "Comment" attribute = "Comment" lineEndContext="#pop"/>
+
+      <context name = "New command line" attribute = "Normal Text" lineEndContext="#stay">
+        <RegExpr String = "\s*#" attribute="Comment" context="Comment" />
+        <RegExpr String = "." attribute="Normal Text" context="#pop" lookAhead="true" />
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name = "Normal Text" defStyleNum = "dsNormal"/>
+      <itemData name = "Keyword" defStyleNum = "dsKeyword"/>
+      <itemData name = "Decimal" defStyleNum = "dsDecVal"/>
+      <itemData name = "Float" defStyleNum = "dsFloat"/>
+      <itemData name = "String" defStyleNum = "dsString"/>
+      <itemData name = "Comment" defStyleNum = "dsComment"/>
+      <itemData name = "Parameter" defStyleNum = "dsOthers"/>
+      <itemData name = "Variable" defStyleNum = "dsDataType"/>
+      <itemData name = "Char" defStyleNum="dsChar"/>
+      <itemData name = "Region Marker" defStyleNum="dsRegionMarker"/>
+    </itemDatas>
+
+  </highlighting>
+
+  <general>
+    <comments>
+	<comment name="singleLine" start="#" />
+    </comments>
+    <keywords casesensitive="1"/>
+  </general>
+
+</language>
diff --git a/xml/tcsh.xml b/xml/tcsh.xml
new file mode 100644
--- /dev/null
+++ b/xml/tcsh.xml
@@ -0,0 +1,868 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+        <!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
+        <!ENTITY varname  "[A-Za-z_][A-Za-z0-9_]*">
+        <!ENTITY word     "[|&amp;;()&lt;&gt;\s]+">	<!-- see man csh -->
+        <!ENTITY eos      "(?=($|\s))">			<!-- eol or space following -->
+        <!ENTITY noword   "(?![\w$+-])">		<!-- no word, $, + or - following -->
+        <!ENTITY pathpart "([\w_@.&#37;*?+-]|\\ )">     <!-- valid character in a file name -->
+]>
+<language name="Tcsh" version="1" kateversion="2.4" section="Scripts" extensions="*.csh;*.tcsh;csh.cshrc;csh.login;.tcshrc;.cshrc;.login" mimetype="application/x-csh" casesensitive="1" author="Matthew Woehlke (mw_triad@users.sourceforge.net)" license="LGPL">
+
+<!-- (c) 2006 Matthew Woehlke (mw_triad@users.sourceforge.net)
+    Based on the bash highlighter by Wilbert Berendsen (wilbert@kde.nl)
+    Released under the LGPL -->
+
+  <highlighting>
+    <list name="keywords">
+      <item> else </item>
+      <item> for </item>
+      <item> function </item>
+      <item> in </item>
+      <item> select </item>
+      <item> until </item>
+      <item> while </item>
+      <item> . </item>
+      <item> then </item>
+    </list>
+
+    <list name="builtins">
+      <item> : </item>
+      <item> alias </item>
+      <item> alloc </item>
+      <item> bg </item>
+      <item> bindkey </item>
+      <item> break </item>
+      <item> builtins </item>
+      <item> bye </item>
+      <item> cd </item>
+      <item> chdir </item>
+      <item> complete </item>
+      <item> continue </item>
+      <item> dirs </item>
+      <item> echo </item>
+      <item> echotc </item>
+      <item> eval </item>
+      <item> exec </item>
+      <item> exit </item>
+      <item> fg </item>
+      <item> filetest </item>
+      <item> glob </item>
+      <item> hashstat </item>
+      <item> history </item>
+      <item> hup </item>
+      <item> inlib </item>
+      <item> jobs </item>
+      <item> kill </item>
+      <item> limit </item>
+      <item> log </item>
+      <item> login </item>
+      <item> logout </item>
+      <item> ls-F </item>
+      <item> migrate </item>
+      <item> newgrp </item>
+      <item> nice </item>
+      <item> nohup </item>
+      <item> notify </item>
+      <item> onintr </item>
+      <item> popd </item>
+      <item> printenv </item>
+      <item> pushd </item>
+      <item> rehash </item>
+      <item> repeat </item>
+      <item> sched </item>
+      <item> settc </item>
+      <item> setty </item>
+      <item> shift </item>
+      <item> source </item>
+      <item> stop </item>
+      <item> suspend </item>
+      <item> telltc </item>
+      <item> time </item>
+      <item> umask </item>
+      <item> unalias </item>
+      <item> uncomplete </item>
+      <item> unhash </item>
+      <item> unlimit </item>
+      <item> ver </item>
+      <item> wait </item>
+      <item> watchlog </item>
+      <item> where </item>
+      <item> which </item>
+    </list>
+
+    <list name="builtins_var">
+      <item> unset </item>
+      <item> unsetenv </item>
+    </list>
+
+    <list name="unixcommands">
+      <!-- /bin -->
+      <item> arch </item>
+      <item> awk </item>
+      <item> bash </item>
+      <item> bunzip2 </item>
+      <item> bzcat </item>
+      <item> bzcmp </item>
+      <item> bzdiff </item>
+      <item> bzegrep </item>
+      <item> bzfgrep </item>
+      <item> bzgrep </item>
+      <item> bzip2 </item>
+      <item> bzip2recover </item>
+      <item> bzless </item>
+      <item> bzmore </item>
+      <item> cat </item>
+      <item> chattr </item>
+      <item> chgrp </item>
+      <item> chmod </item>
+      <item> chown </item>
+      <item> chvt </item>
+      <item> cp </item>
+      <item> date </item>
+      <item> dd </item>
+      <item> deallocvt </item>
+      <item> df </item>
+      <item> dir </item>
+      <item> dircolors </item>
+      <item> dmesg </item>
+      <item> dnsdomainname </item>
+      <item> domainname </item>
+      <item> du </item>
+      <item> dumpkeys </item>
+      <item> echo </item>
+      <item> ed </item>
+      <item> egrep </item>
+      <item> false </item>
+      <item> fgconsole </item>
+      <item> fgrep </item>
+      <item> fuser </item>
+      <item> gawk </item>
+      <item> getkeycodes </item>
+      <item> gocr </item>
+      <item> grep </item>
+      <item> groff </item>
+      <item> groups </item>
+      <item> gunzip </item>
+      <item> gzexe </item>
+      <item> gzip </item>
+      <item> hostname </item>
+      <item> igawk </item>
+      <item> install </item>
+      <item> kbd_mode </item>
+      <item> kbdrate </item>
+      <item> killall </item>
+      <item> last </item>
+      <item> lastb </item>
+      <item> link </item>
+      <item> ln </item>
+      <item> loadkeys </item>
+      <item> loadunimap </item>
+      <item> login </item>
+      <item> ls </item>
+      <item> lsattr </item>
+      <item> lsmod </item>
+      <item> lsmod.old </item>
+      <item> mapscrn </item>
+      <item> mesg </item>
+      <item> mkdir </item>
+      <item> mkfifo </item>
+      <item> mknod </item>
+      <item> mktemp </item>
+      <item> more </item>
+      <item> mount </item>
+      <item> mv </item>
+      <item> nano </item>
+      <item> netstat </item>
+      <item> nisdomainname </item>
+      <item> nroff </item>
+      <item> openvt </item>
+      <item> pgawk </item>
+      <item> pidof </item>
+      <item> ping </item>
+      <item> ps </item>
+      <item> pstree </item>
+      <item> pwd </item>
+      <item> rbash </item>
+      <item> readlink </item>
+      <item> red </item>
+      <item> resizecons </item>
+      <item> rm </item>
+      <item> rmdir </item>
+      <item> run-parts </item>
+      <item> sash </item>
+      <item> sed </item>
+      <item> setfont </item>
+      <item> setkeycodes </item>
+      <item> setleds </item>
+      <item> setmetamode </item>
+      <item> setserial </item>
+      <item> sh </item>
+      <item> showkey </item>
+      <item> shred </item>
+      <item> sleep </item>
+      <item> ssed </item>
+      <item> stat </item>
+      <item> stty </item>
+      <item> su </item>
+      <item> sync </item>
+      <item> tar </item>
+      <item> tempfile </item>
+      <item> touch </item>
+      <item> troff </item>
+      <item> true </item>
+      <item> umount </item>
+      <item> uname </item>
+      <item> unicode_start </item>
+      <item> unicode_stop </item>
+      <item> unlink </item>
+      <item> utmpdump </item>
+      <item> uuidgen </item>
+      <item> vdir </item>
+      <item> wall </item>
+      <item> wc </item>
+      <item> ypdomainname </item>
+      <item> zcat </item>
+      <item> zcmp </item>
+      <item> zdiff </item>
+      <item> zegrep </item>
+      <item> zfgrep </item>
+      <item> zforce </item>
+      <item> zgrep </item>
+      <item> zless </item>
+      <item> zmore </item>
+      <item> znew </item>
+      <item> zsh </item>
+
+      <!-- some from /usr/bin -->
+      <item> aclocal </item>
+      <item> aconnect </item>
+      <item> aplay </item>
+      <item> apm </item>
+      <item> apmsleep </item>
+      <item> apropos </item>
+      <item> ar </item>
+      <item> arecord </item>
+      <item> as </item>
+      <item> as86 </item>
+      <item> autoconf </item>
+      <item> autoheader </item>
+      <item> automake </item>
+      <item> awk </item>
+      <item> basename </item>
+      <item> bc </item>
+      <item> bison </item>
+      <item> c++ </item>
+      <item> cal </item>
+      <item> cat </item>
+      <item> cc </item>
+      <item> cdda2wav </item>
+      <item> cdparanoia </item>
+      <item> cdrdao </item>
+      <item> cd-read </item>
+      <item> cdrecord </item>
+      <item> chfn </item>
+      <item> chgrp </item>
+      <item> chmod </item>
+      <item> chown </item>
+      <item> chroot </item>
+      <item> chsh </item>
+      <item> clear </item>
+      <item> cmp </item>
+      <item> co </item>
+      <item> col </item>
+      <item> comm </item>
+      <item> cp </item>
+      <item> cpio </item>
+      <item> cpp </item>
+      <item> cut </item>
+      <item> dc </item>
+      <item> dd </item>
+      <item> df </item>
+      <item> diff </item>
+      <item> diff3 </item>
+      <item> dir </item>
+      <item> dircolors </item>
+      <item> directomatic </item>
+      <item> dirname </item>
+      <item> du </item>
+      <item> env </item>
+      <item> expr </item>
+      <item> fbset </item>
+      <item> file </item>
+      <item> find </item>
+      <item> flex </item>
+      <item> flex++ </item>
+      <item> fmt </item>
+      <item> free </item>
+      <item> ftp </item>
+      <item> funzip </item>
+      <item> fuser </item>
+      <item> g++ </item>
+      <item> gawk </item>
+      <item> gc </item>
+      <item> gcc </item>
+      <item> gdb </item>
+      <item> getent </item>
+      <item> getopt </item>
+      <item> gettext </item>
+      <item> gettextize </item>
+      <item> gimp </item>
+      <item> gimp-remote </item>
+      <item> gimptool </item>
+      <item> gmake </item>
+      <item> gs </item>
+      <item> head </item>
+      <item> hexdump </item>
+      <item> id </item>
+      <item> install </item>
+      <item> join </item>
+      <item> kill </item>
+      <item> killall </item>
+      <item> ld </item>
+      <item> ld86 </item>
+      <item> ldd </item>
+      <item> less </item>
+      <item> lex </item>
+      <item> ln </item>
+      <item> locate </item>
+      <item> lockfile </item>
+      <item> logname </item>
+      <item> lp </item>
+      <item> lpr </item>
+      <item> ls </item>
+      <item> lynx </item>
+      <item> m4 </item>
+      <item> make </item>
+      <item> man </item>
+      <item> mkdir </item>
+      <item> mknod </item>
+      <item> msgfmt </item>
+      <item> mv </item>
+      <item> namei </item>
+      <item> nasm </item>
+      <item> nawk </item>
+      <item> nice </item>
+      <item> nl </item>
+      <item> nm </item>
+      <item> nm86 </item>
+      <item> nmap </item>
+      <item> nohup </item>
+      <item> nop </item>
+      <item> od </item>
+      <item> passwd </item>
+      <item> patch </item>
+      <item> pcregrep </item>
+      <item> pcretest </item>
+      <item> perl </item>
+      <item> perror </item>
+      <item> pidof </item>
+      <item> pr </item>
+      <item> printf </item>
+      <item> procmail </item>
+      <item> prune </item>
+      <item> ps2ascii </item>
+      <item> ps2epsi </item>
+      <item> ps2frag </item>
+      <item> ps2pdf </item>
+      <item> ps2ps </item>
+      <item> psbook </item>
+      <item> psmerge </item>
+      <item> psnup </item>
+      <item> psresize </item>
+      <item> psselect </item>
+      <item> pstops </item>
+      <item> rcs </item>
+      <item> rev </item>
+      <item> rm </item>
+      <item> scp </item>
+      <item> sed </item>
+      <item> seq </item>
+      <item> setterm </item>
+      <item> shred </item>
+      <item> size </item>
+      <item> size86 </item>
+      <item> skill </item>
+      <item> slogin </item>
+      <item> snice </item>
+      <item> sort </item>
+      <item> sox </item>
+      <item> split </item>
+      <item> ssh </item>
+      <item> ssh-add </item>
+      <item> ssh-agent </item>
+      <item> ssh-keygen </item>
+      <item> ssh-keyscan </item>
+      <item> stat </item>
+      <item> strings </item>
+      <item> strip </item>
+      <item> sudo </item>
+      <item> suidperl </item>
+      <item> sum </item>
+      <item> tac </item>
+      <item> tail </item>
+      <item> tee </item>
+      <item> test </item>
+      <item> tr </item>
+      <item> uniq </item>
+      <item> unlink </item>
+      <item> unzip </item>
+      <item> updatedb </item>
+      <item> updmap </item>
+      <item> uptime </item>
+      <item> users </item>
+      <item> vmstat </item>
+      <item> w </item>
+      <item> wc </item>
+      <item> wget </item>
+      <item> whatis </item>
+      <item> whereis </item>
+      <item> which </item>
+      <item> who </item>
+      <item> whoami </item>
+      <item> write </item>
+      <item> xargs </item>
+      <item> yacc </item>
+      <item> yes </item>
+      <item> zip </item>
+      <item> zsoelim </item>
+
+      <!-- others -->
+      <item> dcop </item>
+      <item> kdialog </item>
+      <item> kfile </item>
+      <item> xhost </item>
+      <item> xmodmap </item>
+      <item> xset </item>
+    </list>
+
+
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Start">
+        <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" />
+      </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" />
+      </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;](?=#)" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Comment">
+        <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;](?=#)" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="CommentParen">
+        <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;](?=#)" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="CommentBackq">
+        <RegExpr attribute="Comment" context="#pop" String="[^`](?=`)" />
+        <IncludeRules context="##Alerts" />
+      </context>
+
+
+      <!-- breaksw case default if else end endif endsw foreach goto
+           set setenv switch while -->
+
+      <!-- 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="\belse\s+if&noword;" />
+<!--!--><RegExpr attribute="Keyword" context="#stay" String="\bif&noword;" beginRegion="if" />
+<!--!--><RegExpr attribute="Keyword" context="#stay" String="\bendif&noword;" endRegion="if" />
+        <!-- handle switch as a special case -->
+<!--!--><RegExpr attribute="Keyword" context="Switch" String="\bswitch&noword;" beginRegion="switch" />
+        <!-- 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 -->
+<!--R--><RegExpr attribute="Keyword" context="#stay" String="\b@\s" />
+<!--R--><RegExpr attribute="Keyword" context="#stay" String="\bset\s" />
+        <RegExpr attribute="Keyword" context="CmdSetEnv" String="\bsetenv\s" />
+        <!-- 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" />
+        <keyword attribute="Command" context="#stay" String="unixcommands" />
+        <!-- handle commands that have variable names as argument -->
+        <keyword attribute="Builtin" context="VarName" String="builtins_var" />
+        <!-- handle redirection -->
+        <RegExpr attribute="Redirection" context="#stay" String="(&lt;&lt;?|&gt;&gt;?&amp;?!?)" />
+        <!-- handle &, &&, | and || -->
+        <RegExpr attribute="Control" context="#stay" String="([|&amp;])\1?" />
+        <!-- mark function definitions without function keyword -->
+        <RegExpr attribute="Function" context="#stay" String="&funcname;\s*\(\)" />
+      </context>
+
+      <!-- FindOthers contains various rules to mark different shell input -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindOthers">
+        <RegExpr attribute="Escape" context="#stay" String="\\[;&quot;\\'$`{}()|&amp;&lt;&gt;* ]" />
+<!--?   <RegExpr attribute="Escape" context="#stay" String="\{(?!(\s|$))\S*\}" />-->
+        <RegExpr attribute="Path" context="#stay" String="&pathpart;*(?=/)" />
+        <RegExpr attribute="Path" context="#stay" String="~\w*" />
+        <RegExpr attribute="Path" context="#stay" String="/&pathpart;*(?=([\s/):;$`'&quot;]|$))" />
+        <!-- TODO: shell globs -->
+      </context>
+
+      <!-- FindStrings looks for single and double quoted strings, also with $-prefix -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">
+        <DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
+        <DetectChar attribute="String DoubleQ" context="StringDQ" char="&quot;" />
+        <Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
+        <Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1="&quot;" />
+      </context>
+
+      <!-- FindSubstitutions goes after anything starting with $ and ` and their escapes -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindSubstitutions">
+        <RegExpr attribute="Variable" context="Subscript" String="\$&varname;\[" />
+        <RegExpr attribute="Variable" context="#stay" String="\$&varname;" />
+        <RegExpr attribute="Variable" context="#stay" String="\$[*@#?$!_0-9-]" />
+        <RegExpr attribute="Variable" context="#stay" String="\$\{[*@#?$!_0-9-]\}" />
+        <RegExpr attribute="Variable" context="#stay" String="\$\{#&varname;\}" />
+        <RegExpr attribute="Variable" context="#stay" String="\$\{!&varname;\*?\}" />
+        <RegExpr attribute="Variable" context="VarBrace" String="\$\{&varname;" />
+        <RegExpr attribute="Variable" context="VarBrace" String="\$\{[*@#?$!_0-9-](?=[:#%/])" />
+        <StringDetect attribute="Variable" context="ExprDblParenSubst" String="$((" beginRegion="expression" />
+<!--?   <StringDetect attribute="Redirection" context="SubstFile" String="$(&lt;" />-->
+<!--?   <StringDetect attribute="Variable" context="SubstCommand" String="$(" />-->
+        <DetectChar attribute="Backquote" context="SubstBackq" char="`" />
+        <RegExpr attribute="Escape" context="#stay" String="\\[`$\\]" />
+      </context>
+
+      <!-- FindTests finds operators valid in tests -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindTests">
+        <RegExpr attribute="Expression" context="#stay" String="-[rwxXeozsfdlbcpSugktRLDIFNZ](?=\s)"/>
+        <RegExpr attribute="Expression" context="#stay" String="-[AMCUG]:?(?=\s)"/>
+        <RegExpr attribute="Expression" context="#stay" String="-P[0-7]{,3}:?(?=\s)"/>
+        <RegExpr attribute="Expression" context="#stay" String="([|&amp;=&gt;&lt;])\1"/>
+        <RegExpr attribute="Expression" context="#stay" String="[|^&amp;&gt;&lt;+\-*/%!~]"/>
+        <RegExpr attribute="Expression" context="#stay" String="([!=]~|[!&gt;&lt;]=)"/>
+      </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" />
+      </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" />
+      </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" />
+      </context>
+
+      <!-- ExprBracket consumes an expression till ] -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracket">
+        <RegExpr attribute="Builtin" context="#pop" String="\s\](?=($|[\s;|&amp;]))" endRegion="expression" />
+        <RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
+        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+        <IncludeRules context="FindTests" />
+        <IncludeRules context="FindMost" />
+      </context>
+
+      <!-- ExprDblBracket consumes an expression till ]] -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracket">
+        <RegExpr attribute="Keyword" context="#pop" String="\s\]\](?=($|[\s;|&amp;]))" endRegion="expression" />
+        <RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
+        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+        <IncludeRules context="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>
+
+      <!-- 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>
+
+      <!-- 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:,+_./-]+" />
+      </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" />
+      </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" />
+      </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" />
+      </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>
+
+      <!-- CmdSetEnv handles the name part of setenv -->
+      <context attribute="Normal Text" lineEndContext="#pop" name="CmdSetEnv" fallthrough="true" fallthroughContext="#pop">
+        <!-- handle command line options -->
+        <RegExpr attribute="Variable" context="#pop" String="\b&varname;" />
+        <DetectChar attribute="Variable" context="Assign" char=" " />
+        <IncludeRules context="FindMost" />
+      </context>
+
+      <!-- VarName consumes spare variable names and assignments -->
+      <context attribute="Normal Text" lineEndContext="#pop" name="VarName" fallthrough="true" fallthroughContext="#pop">
+        <!-- handle command line options -->
+        <RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9]+" />
+        <RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
+        <RegExpr attribute="Variable" context="#stay" String="\b&varname;" />
+        <DetectChar attribute="Variable" context="Subscript" char="[" />
+        <DetectChar attribute="Variable" context="Assign" char="=" />
+        <IncludeRules context="FindMost" />
+        <!-- stay here in spaces and other safe characters -->
+        <RegExpr attribute="Normal Text" context="#stay" String="[^]})|;`&amp;&gt;&lt;]" />
+      </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" />
+      </context>
+
+      <!-- StringSQ consumes anything till ' -->
+      <context attribute="String SingleQ" lineEndContext="#stay" name="StringSQ">
+        <DetectChar attribute="String SingleQ" context="#pop" char="'" />
+      </context>
+
+      <!-- StringDQ consumes anything till ", substitutes vars and expressions -->
+      <context attribute="String DoubleQ" lineEndContext="#stay" name="StringDQ">
+        <DetectChar attribute="String DoubleQ" context="#pop" char="&quot;" />
+        <RegExpr attribute="String Escape" context="#stay" String="\\[`&quot;\\$\n]" />
+        <IncludeRules context="FindSubstitutions" />
+      </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.)" />
+      </context>
+
+      <!-- VarBrace is called as soon as ${xxx is encoutered -->
+      <context attribute="Variable" 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 } -->
+      </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" />
+      </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" />
+      </context>
+
+      <!-- SubstBackq is called when a backquote is encountered -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="SubstBackq">
+        <DetectChar attribute="Backquote" context="#pop" char="`" />
+        <IncludeRules context="FindCommentsBackq" />
+        <IncludeRules context="FindCommands" />
+        <IncludeRules context="FindStrings" />
+        <IncludeRules context="FindSubstitutions" />
+        <IncludeRules context="FindOthers" />
+      </context>
+
+      <!-- Switch is called after the switch keyword is encoutered. This is
+           left over from the bash highlighter where the lonely parentheses
+           would otherwise cause trouble. We keep it because it lets us do a
+           bit of extra syntax validation. -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="Switch">
+        <RegExpr attribute="Keyword" context="SwitchCase" String="\scase\b" />
+        <RegExpr attribute="Keyword" context="SwitchDefault" String="\sdefault\b" />
+        <RegExpr attribute="Keyword" context="#pop" String="\bendsw(?=$|[\s;)])" endRegion="switch" />
+        <IncludeRules context="FindMost" />
+      </context>
+
+      <!-- SwitchCase is called when the construct 'switch ... case' has been found. -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="SwitchCase">
+        <DetectChar attribute="Keyword" context="SwitchExpr" char=":" beginRegion="switchexpr" />
+        <IncludeRules context="FindMost" />
+      </context>
+
+      <!-- SwitchDefault is called when the construct 'switch ... default' has been found. -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="SwitchDefault">
+        <DetectChar attribute="Keyword" context="SwitchExpr" char=":" beginRegion="switchexpr" />
+      </context>
+
+      <!-- SwitchExpr eats shell input till breaksw -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="SwitchExpr">
+        <RegExpr attribute="Keyword" context="#pop#pop" String="\sbreaksw\b" endRegion="switchexpr" />
+        <RegExpr attribute="Keyword" context="#pop#pop" String="\scase\b" endRegion="switchexpr" lookAhead="true" />
+        <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="HereDocIQ"  String="(&lt;&lt;-\s*&quot;(&word;)&quot;)" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*'(&word;)')" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*\\(&word;))" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocINQ" String="(&lt;&lt;-\s*(&word;))" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*&quot;(&word;)&quot;)" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*'(&word;)')" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*\\(&word;))" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocNQ"  String="(&lt;&lt;\s*(&word;))" lookAhead="true" />
+        <StringDetect attribute="Redirection" context="#pop"  String="&lt;&lt;" /><!-- always met -->
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder">
+        <IncludeRules context="FindAll" />
+      </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"/>
+      </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" />
+      </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"/>
+      </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" />
+      </context>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text"	defStyleNum="dsNormal" />
+      <itemData name="Comment"		defStyleNum="dsComment" />
+      <itemData name="Keyword" 		defStyleNum="dsKeyword" />
+      <itemData name="Control" 		defStyleNum="dsKeyword" />
+      <itemData name="Label"            defStyleNum="dsOthers" />
+      <itemData name="Builtin" 		defStyleNum="dsKeyword" />
+      <itemData name="Command" 		defStyleNum="dsKeyword" />
+      <itemData name="Redirection" 	defStyleNum="dsKeyword" />
+      <itemData name="Escape" 		defStyleNum="dsDataType" />
+      <itemData name="String SingleQ" 	defStyleNum="dsString" />
+      <itemData name="String DoubleQ" 	defStyleNum="dsString" />
+      <itemData name="Backquote" 	defStyleNum="dsKeyword" />
+      <itemData name="String Transl." 	defStyleNum="dsString" />
+      <itemData name="String Escape" 	defStyleNum="dsDataType" />
+      <itemData name="Variable" 	defStyleNum="dsOthers" />
+      <itemData name="Expression" 	defStyleNum="dsOthers" />
+      <itemData name="Function" 	defStyleNum="dsFunction" />
+      <itemData name="Path" 		defStyleNum="dsNormal" />
+      <itemData name="Option" 		defStyleNum="dsNormal" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="#"/>
+    </comments>
+    <keywords casesensitive="1" weakDeliminator="^%#[]$._{}:-" additionalDeliminator="`"/>
+  </general>
+</language>
diff --git a/xml/texinfo.xml b/xml/texinfo.xml
new file mode 100644
--- /dev/null
+++ b/xml/texinfo.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Texinfo" extensions="*.texi" section="Markup" mimetype="application/x-texinfo" author="Daniel Franke (franke.daniel@gmail.com)" license="LGPL" version="1" kateversion="2.4">
+
+  <highlighting>
+    <!--
+      In TEXINFO, commands start with "@" optionally followed by a 
+      command argument embraced by "{}", as in "@item" or "@emph{foo bar}".
+
+      Some special commands embrace a region, e.g. "@menu" and "@end menu",
+      these regions may be fold (beginRegion="foldingRegion").
+
+      Nodes to NOT end with "@end node", but a "@node" ends at the beginning 
+      of the next "@node".
+      -->
+    <contexts>
+      <context name="Normal Text" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Comment" context="singleLineComment" String="@c(omment)?\b" />
+        <RegExpr attribute="Comment" context="multiLineComment" String="@ignore\b" beginRegion="ignore" />
+        <RegExpr attribute="Command" context="nodeFolding" String="@node\b" beginRegion="node" />
+
+        <RegExpr attribute="Command" context="folding" beginRegion="foldingRegion"
+                 String="@(menu|smallexample|table|multitable)\b"/>
+
+        <RegExpr attribute="Command" context="#stay" String="@[\w]+(\{([\w]+[\s]*)+\})?" />
+      </context>
+
+      <context name="singleLineComment" attribute="Comment" lineEndContext="#pop">
+				<IncludeRules context="##Alerts" />
+			</context>
+
+      <context name="multiLineComment" attribute="Comment" lineEndContext="#stay">
+        <StringDetect attribute="Comment" context="#pop" String="@end ignore" endRegion="ignore" />
+				<IncludeRules context="##Alerts" />
+      </context>
+
+      <context name="nodeFolding" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Command" context="#pop" String="@node\b" endRegion="node" lookAhead="true" />
+        <IncludeRules context="Normal Text" />
+      </context>
+
+      <context name="folding" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Command" context="#pop" endRegion="foldingRegion"
+                 String="@end (menu|smallexample|table|multitable)\b" />
+        <IncludeRules context="Normal Text" />
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="Comment" defStyleNum="dsComment" />
+      <itemData name="Command" defStyleNum="dsFunction" />
+    </itemDatas>
+  </highlighting>
+
+  <general>
+    <comments>
+      <comment name="singleLine" start="@comment " />
+      <comment name="multiLine" start="@ignore" end="@end ignore" region="ignore" />
+    </comments>
+  </general>
+
+</language>
diff --git a/xml/verilog.xml b/xml/verilog.xml
new file mode 100644
--- /dev/null
+++ b/xml/verilog.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="Verilog" version="2" kateversion="2.4" section="Hardware" extensions="*.v;*.V;*.vl" mimetype="text/x-verilog-src" author="Yevgen Voronenko (ysv22@drexel.edu), Ryan Dalzell (ryan@tullyroan.com)" license="">
+  <highlighting>
+    <list name="keywords">
+      <item> macromodule </item>
+      <item> table </item>
+      <item> endtable </item>
+      <item> specify </item>
+      <item> specparam </item>
+      <item> endspecify </item>
+
+      <item> defparam </item>
+      <item> default </item>
+      <item> if </item>
+      <item> ifnone </item>
+      <item> else </item>
+      <item> forever </item>
+      <item> while </item>
+      <item> for </item>
+      <item> wait </item>
+      <item> repeat </item>
+      <item> disable </item>
+
+      <item> assign </item>
+      <item> deassign </item>
+      <item> force </item>
+      <item> release </item>
+
+      <item> always </item>
+      <item> initial </item>
+      <item> edge </item>
+      <item> posedge </item>
+      <item> negedge </item>
+
+      <!-- verilog-2001 keywords -->
+      <item> config </item>
+      <item> endconfig </item>
+      <item> library </item>
+      <item> design </item>
+      <item> liblist </item>
+      <item> cell </item>
+      <item> use </item>
+      <item> instance </item>
+    </list>
+
+    <list name="beginwords">
+        <item> begin </item>
+        <item> fork </item>
+        <item> module </item>
+        <item> case </item>
+        <item> casex </item>
+        <item> casez </item>
+        <item> task </item>
+        <item> function </item>
+        <item> generate </item>
+    </list>
+
+    <list name="endwords">
+        <item> end </item>
+        <item> join </item>
+        <item> endmodule </item>
+        <item> endcase </item>
+        <item> endtask </item>
+        <item> endfunction </item>
+        <item> endgenerate </item>
+    </list>
+
+    <list name="strength">
+	<!-- drive strength supply0/supply1 omitted, its in types.. -->
+	<item> strong0 </item>
+	<item> strong1 </item>
+	<item> pull0 </item>
+	<item> pull1 </item>
+	<item> weak0 </item>
+	<item> weak1 </item>
+	<item> highz0 </item>
+	<item> highz1 </item>
+	<!-- charge strength -->
+	<item> small </item>
+	<item> medium </item>
+	<item> large </item>
+    </list>
+
+    <list name="gates">
+       <item> pullup </item>
+       <item> pulldown </item>
+       <item> cmos </item>
+       <item> rcmos </item>
+       <item> nmos </item>
+       <item> pmos </item>
+       <item> rnmos </item>
+       <item> rpmos </item>
+       <item> and </item>
+       <item> nand </item>
+       <item> or </item>
+       <item> nor </item>
+       <item> xor </item>
+       <item> xnor </item>
+       <item> not </item>
+       <item> buf </item>
+       <item> tran </item>
+       <item> rtran </item>
+       <item> tranif0 </item>
+       <item> tranif1 </item>
+       <item> rtranif0 </item>
+       <item> rtranif1 </item>
+       <item> bufif0 </item>
+       <item> bufif1 </item>
+       <item> notif0 </item>
+       <item> notif1 </item>
+    </list>
+
+    <list name="types">
+      <!-- port direction -->
+      <item> input </item>
+      <item> output </item>
+      <item> inout </item>
+      <!-- net type -->
+      <item> wire </item>
+      <item> tri </item>
+      <item> tri0 </item>
+      <item> tri1 </item>
+      <item> wand </item>
+      <item> wor </item>
+      <item> triand </item>
+      <item> trior </item>
+      <item> supply0 </item>
+      <item> supply1 </item>
+      <!-- reg/variable -->
+      <item> reg </item>
+      <item> integer </item>
+      <item> real </item>
+      <item> realtime </item>
+      <item> time </item>
+      <!-- modifier -->
+      <item> vectored </item>
+      <item> scalared </item>
+      <item> trireg </item>
+      <!-- other -->
+      <item> parameter </item>
+      <item> event </item>
+      <!-- verilog-2001 types -->
+      <item> signed </item>
+      <item> automatic </item>
+      <item> genvar </item>
+      <item> localparam </item>
+    </list>
+
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <DetectSpaces />
+        <RegExpr attribute="Keyword" context="Block name" String="begin\ *:" beginRegion="Block"/>
+        <RegExpr attribute="Keyword" context="Block name" String="fork\ *:" beginRegion="Block"/>
+        <keyword attribute="Keyword" String="beginwords" context="#stay" beginRegion="Block"/>
+        <keyword attribute="Keyword" String="endwords" context="#stay" endRegion="Block"/>
+
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <keyword attribute="Data Type" context="#stay" String="types" />
+        <keyword attribute="Drive/charge strength" context="#stay" String="strength" />
+        <keyword attribute="Gate instantiation" context="#stay" String="gates" />
+
+        <RegExpr attribute="Decimal" context="#stay" String="[\d_]*'d[\d_]+"/>
+        <RegExpr attribute="Octal" context="#stay" String="[\d_]*'o[0-7xXzZ_]+"/>
+        <RegExpr attribute="Hex" context="#stay" String="[\d_]*'h[\da-fA-FxXzZ_]+"/>
+        <RegExpr attribute="Binary" context="#stay" String="[\d_]*'b[01_zZxX]+"/>
+        <Float attribute="Float" context="#stay"/>
+        <Int attribute="Integer" context="#stay" />
+
+        <RegExpr attribute="Case label" context="#stay" String="[a-zA-Z0-9_, \t]+\s*:" firstNonSpace="true"/>
+        <!--<RegExpr attribute="Port map" context="Port" String="\.[a-zA-Z0-9_]+"/>-->
+
+        <DetectChar attribute="String" context="String" char="&quot;"/>
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
+        <AnyChar attribute="Symbol" context="#stay" String="!%&amp;()+,-&lt;=+/:;&gt;?[]^{|}~@"/>
+
+        <DetectChar attribute="Preprocessor" context="Preprocessor" char="`" column="0"/>
+        <RegExpr attribute="Preprocessor" context="#stay" String="\`[a-zA-Z_]+\w*" />
+        <RegExpr attribute="System Task" context="#stay" String="\$[a-zA-Z_]+\w*" />
+        <RegExpr attribute="Delay" context="#stay" String="#[\d_]+" />
+
+      </context>
+      <context attribute="String" lineEndContext="#pop" name="String">
+        <LineContinue attribute="String" context="Some Context"/>
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
+        <IncludeRules context="##Alerts" />
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+        <IncludeRules context="##Alerts" />
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+      </context>
+      <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
+        <LineContinue attribute="Preprocessor" context="Some Context"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
+        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
+        <Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Commentar/Preprocessor">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#pop" name="Some Context"/>
+      <context attribute="Comment" lineEndContext="#stay" name="Some Context2">
+          <IncludeRules context="##Alerts" />
+          <StringDetect attribute="Comment" context="#pop" String="#endif" firstNonSpace="true"/>
+      </context>
+
+      <context attribute="Block name" lineEndContext="#pop" name="Block name">
+          <DetectIdentifier attribute="Data Type" context="#pop"/>
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#stay" name="Port">
+          <DetectIdentifier attribute="Normal Text" context="#pop"/>
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Keyword"  defStyleNum="dsKeyword"/>
+      <itemData name="Data Type"  defStyleNum="dsDataType"/>
+
+      <itemData name="Decimal"  defStyleNum="dsBaseN"/>
+      <itemData name="Octal"  defStyleNum="dsBaseN"/>
+      <itemData name="Hex"  defStyleNum="dsBaseN"/>
+      <itemData name="Binary"  defStyleNum="dsBaseN"/>
+      <itemData name="Float"  defStyleNum="dsFloat"/>
+
+      <itemData name="String"  defStyleNum="dsString"/>
+      <itemData name="String Char"  defStyleNum="dsChar"/>
+      <itemData name="Comment"  defStyleNum="dsComment"/>
+      <itemData name="Alert"        defStyleNum="dsAlert" />
+      <itemData name="Symbol"  defStyleNum="dsNormal"/>
+      <itemData name="Preprocessor"  defStyleNum="dsOthers"/>
+      <itemData name="Prep. Lib"  defStyleNum="dsFloat"/>
+      <itemData name="System Task" defStyleNum="dsDataType"/>
+
+      <itemData name="Integer" defStyleNum="dsDecVal"/>
+      <itemData name="Delay" defStyleNum="dsBaseN"/>
+      <itemData name="Block name" defStyleNum="dsDataType"/>
+      <itemData name="Drive/charge strength" defStyleNum="dsBaseN"/>
+      <itemData name="Gate instantiation" defStyleNum="dsDataType"/>
+      <itemData name="Port map" defStyleNum="dsDataType"/>
+      <itemData name="Case label" defStyleNum="dsDecVal"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="//" />
+      <comment name="multiLine" start="/*" end="*/" region="Comment"/>
+    </comments>
+    <keywords casesensitive="1" />
+  </general>
+</language>
diff --git a/xml/vhdl.xml b/xml/vhdl.xml
new file mode 100644
--- /dev/null
+++ b/xml/vhdl.xml
@@ -0,0 +1,666 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd" [
+  <!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
+  <!ENTITY varname  "\b(?!(?:process|constant|signal|variable))([A-Za-z_][A-Za-z0-9_]*)\b">
+  <!ENTITY bos      "(\b)">                        <!-- bol or space following -->
+  <!ENTITY eos      "\b">                <!-- eol or space following -->
+  <!ENTITY noword   "(?![\w$+-])">                <!-- no word, $, + or - following -->
+  <!ENTITY label     "((&varname;)\s*:\s*)?">
+
+]>
+<language name="VHDL" version="2" kateversion="3.0" section="Hardware" extensions="*.vhdl;*.vhd" mimetype="text/x-vhdl" author="Rocky Scaletta (rocky@purdue.edu), Stefan Endrullis (stefan@endrullis.de), Florent Ouchet (outchy@users.sourceforge.net), Chris Higgs (chiggs.99@gmail.com), Jan Michel (jan@mueschelsoft.de), Luigi Calligaris (luigi.calligaris@stfc.ac.uk)">
+  <highlighting>
+    <list name="keywordsToplevel">
+      <item> file </item>
+      <item> library </item>
+      <item> use </item>
+    </list>
+
+    <list name="keywords">
+      <item> access </item>
+      <item> after </item>
+      <item> alias </item>
+      <item> all </item>
+      <item> array </item>
+      <item> assert </item>
+      <item> assume </item>
+      <item> assume_guarantee </item>
+      <item> attribute </item>
+      <item> begin </item>
+      <item> block </item>
+      <item> body </item>
+      <item> bus </item>
+      <item> component </item>
+      <item> constant </item>
+      <item> context </item>
+      <item> cover </item>
+      <item> default </item>
+      <item> disconnect </item>
+      <item> downto </item>
+      <item> end </item>
+      <item> exit </item>
+      <item> fairness </item>
+      <item> falling_edge </item>
+      <item> file </item>
+      <item> for </item>
+      <item> force </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> of </item>
+      <item> on </item>
+      <item> open </item>
+      <item> others </item>
+      <item> parameter </item>
+      <item> port </item>
+      <item> postponed </item>
+      <item> procedure </item>
+      <item> process </item>
+      <item> property </item>
+      <item> protected </item>
+      <item> pure </item>
+      <item> range </item>
+      <item> record </item>
+      <item> register </item>
+      <item> reject </item>
+      <item> release </item>
+      <item> report </item>
+      <item> return </item>
+      <item> rising_edge </item>
+      <item> select </item>
+      <item> sequence </item>
+      <item> severity </item>
+      <item> signal </item>
+      <item> shared </item>
+      <item> strong </item>
+      <item> subtype </item>
+      <item> to </item>
+      <item> transport </item>
+      <item> type </item>
+      <item> unaffected </item>
+      <item> units </item>
+      <item> until </item>
+      <item> variable </item>
+      <item> vmode </item>
+      <item> vprop </item>
+      <item> vunit </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> abs </item>
+      <item> or </item>
+      <item> xor </item>
+      <item> xnor </item>
+      <item> not </item>
+      <item> mod </item>
+      <item> nand </item>
+      <item> nor </item>
+      <item> rem </item>
+      <item> rol </item>
+      <item> ror </item>
+      <item> sla </item>
+      <item> sra </item>
+      <item> sll </item>
+      <item> srl </item>
+    </list>
+
+    <list name="if">
+      <item> if </item>
+      <item> else </item>
+      <item> elsif </item>
+      <item> then </item>
+    </list>
+
+    <list name="forOrWhile">
+      <item> loop </item>
+    </list>
+
+    <list name="directions">
+      <item> in </item>
+      <item> inout </item>
+      <item> out </item>
+      <item> buffer </item>
+      <item> linkage </item>
+    </list>
+
+    <list name="signals">
+      <item> signal </item>
+      <item> variable </item>
+      <item> constant </item>
+      <item> type </item>
+      <item> attribute </item>
+    </list>
+
+    <list name="range">
+      <item> to </item>
+      <item> downto </item>
+      <item> others </item>
+    </list>
+
+    <list name="case">
+      <item> case </item>
+      <item> when </item>
+    </list>
+
+    <list name="timeunits">
+      <item>fs</item>
+      <item>ps</item>
+      <item>ns</item>
+      <item>us</item>
+      <item>ms</item>
+      <item>sec</item>
+      <item>min</item>
+      <item>hr</item>
+    </list>
+
+
+    <list name="types">
+      <item> bit </item>
+      <item> bit_vector </item>
+      <item> character </item>
+      <item> boolean </item>
+      <item> boolean_vector </item>
+      <item> integer </item>
+      <item> integer_vector </item>
+      <item> real </item>
+      <item> real_vector </item>
+      <item> time </item>
+      <item> time_vector </item>
+      <item> delay_length </item>
+      <item> string </item>
+      <item> severity_level </item>
+      <item> positive </item>
+      <item> natural </item>
+      <item> file_open_kind </item>
+      <item> file_open_status </item>
+      <item> signed </item>
+      <item> unsigned </item>
+      <item> unresolved_unsigned </item>
+      <item> unresolved_signed </item>
+      <item> line </item>
+      <item> text </item>
+      <item> side </item>
+      <item> width </item>
+      <item> std_logic </item>
+      <item> std_logic_vector </item>
+      <item> std_ulogic </item>
+      <item> std_ulogic_vector </item>
+      <item> x01 </item>
+      <item> x01z </item>
+      <item> ux01 </item>
+      <item> ux01z </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" dynamic="true">
+        <IncludeRules context="preDetection"/>
+
+        <RegExpr attribute="Control" context="architecture_main" insensitive="true" dynamic="true" lookAhead="true"
+                 String="&bos;architecture\s+(&varname;)&eos;"/>
+        <StringDetect attribute="Control" context="entity"
+                 String="entity"/>
+        <RegExpr attribute="Control" context="package" insensitive="true" lookAhead="true" dynamic="true" beginRegion="PackageRegion1"
+                 String="&bos;package\s+(&varname;)\s+is&eos;"/>
+        <RegExpr attribute="Control" context="packagebody" lookAhead="true" insensitive="true" dynamic="true" beginRegion="PackageBodyRegion1"
+                 String="&bos;package\s+body\s+(&varname;)\s+is&eos;"/>
+       <!-- <StringDetect  attribute="Control"  context="arch_decl"      String="package"     />temporary-->
+        <RegExpr attribute="Control" context="configuration" insensitive="true" dynamic="true" lookAhead="true"
+                 String="&bos;configuration\s+(&varname;)&eos;"/>
+        <keyword attribute="Keyword" context="#stay" String="keywordsToplevel"/>
+      </context>
+
+
+      <context name="package" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control"   context="#stay" insensitive="true" String="&bos;package&eos;" />
+        <RegExpr attribute="Keyword"   context="packagemain" insensitive="true" String="&bos;is&eos;" />
+        <RegExpr attribute="Name"      context="#stay"     insensitive="true" String="&bos;%2&eos;" dynamic="true"/>
+        <RegExpr attribute="Redirection" context="#pop"  dynamic="true" endRegion="PackageRegion1" insensitive="true"
+                 String="&bos;end(\s+package)?(\s+%2)?\s*;" />
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="packagemain" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Keyword"   context="#pop" lookAhead="true" insensitive="true" String="&bos;end&eos;" />
+        <RegExpr attribute="Keyword"   context="packagefunction" insensitive="true" String="&bos;function&eos;" />
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="packagefunction" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Name" context="#pop" insensitive="true" String="&bos;&varname;&eos;" />
+      </context>
+
+      <!-- package body environment -->
+
+      <context name="packagebody" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control"   context="#stay" insensitive="true" String="&bos;package&eos;" />
+        <RegExpr attribute="Keyword"   context="packagebodymain" insensitive="true" String="&bos;is&eos;" />
+        <RegExpr attribute="Name"      context="#stay"     insensitive="true" String="&bos;%2&eos;" dynamic="true"/>
+        <RegExpr attribute="Redirection" context="#pop" dynamic="true" endRegion="PackageBodyRegion1" insensitive="true"
+                 String="&bos;end(\s+package)?(\s+%2)?\s*;" />
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="packagebodymain" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Keyword"   context="#pop" lookAhead="true" insensitive="true" String="&bos;end\s+package&eos;" />
+        <RegExpr attribute="Keyword"   context="packagebodyfunc1" beginRegion="PackBodyFunc" insensitive="true" dynamic="true" lookAhead="true" String="&bos;function\s+(&varname;)&eos;" />
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="packagebodyfunc1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Redirection" context="packagebodyfunc2" beginRegion="RegionFunction" insensitive="true" String="&bos;begin&eos;" />
+        <RegExpr attribute="Keyword"   context="#pop" insensitive="true" endRegion="PackBodyFunc" dynamic="true" String="&bos;end(\s+function)?(\s+%2)?&eos;" />
+        <RegExpr attribute="Name" context="#stay" insensitive="true" String="&bos;%2&eos;"  dynamic="true"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="packagebodyfunc2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Redirection" context="#pop" insensitive="true" dynamic="true" lookAhead="true" endRegion="RegionFunction"
+                 String="&bos;end(\s+function)?&eos;"/>
+        <!--<RegExpr attribute="Error" context="#pop" insensitive="true" dynamic="true" lookAhead="true" endRegion="RegionFunction"
+                 String="&bos;end\s+function(\s+&varname;)?&eos;"/>-->
+        <RegExpr attribute="Process" context="#stay" insensitive="true"
+                 String="&bos;begin&eos;"/>
+        <IncludeRules context="proc_rules"/>
+      </context>
+
+
+<!--====ARCHITECTURE ===============-->
+      <context name="architecture_main" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="arch_start" insensitive="true" lookAhead="true" dynamic="true" beginRegion="ArchitectureRegion1"
+                 String="&bos;architecture\s+(&varname;)\s+of\s+(&varname;)\s+is"/>
+        <RegExpr attribute="Control" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ArchitectureRegion1"
+                 String="&bos;end(\s+architecture)?(\s+%2)?\s*;"/>
+        <RegExpr attribute="Error" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ArchitectureRegion1"
+                 String="&bos;end(\s+architecture)?(\s+&varname;)\s*;"/>
+        <IncludeRules context="detect_arch_parts"/>
+      </context>
+
+<!-- architecture environment "before begin" -->
+      <context name="arch_start" attribute="Control" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Keyword"   context="arch_decl" insensitive="true" String="&bos;is&eos;" />
+        <RegExpr attribute="Name"      context="#stay"     insensitive="true" String="&bos;%2&eos;" dynamic="true"/>
+        <RegExpr attribute="Reference" context="#stay"     insensitive="true" String="&bos;%4&eos;" dynamic="true"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="arch_decl" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preDetection"/>
+        <keyword attribute="Signal" context="signal"          insensitive="true" String="signals"/>
+        <StringDetect attribute="Control" context="archfunc1" insensitive="true" String="function" beginRegion="ArchFunctionRegion1"/>
+        <StringDetect attribute="Control" context="entity"    insensitive="true" String="component"/>
+        <StringDetect attribute="Control" context="#pop#pop"  insensitive="true" String="begin"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="archfunc1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Redirection" context="archfunc2" beginRegion="RegionFunction" insensitive="true" String="&bos;begin&eos;" />
+        <RegExpr attribute="Keyword"   context="#pop" insensitive="true" endRegion="ArchFunctionRegion1" dynamic="true" String="&bos;end(\s+function)?(\s+%2)?&eos;" />
+        <RegExpr attribute="Name" context="#stay" insensitive="true" String="&bos;%2&eos;"  dynamic="true"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="archfunc2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Redirection" context="#pop" insensitive="true" dynamic="true" lookAhead="true" endRegion="RegionFunction"
+                 String="&bos;end(\s+function)?&eos;"/>
+        <!--<RegExpr attribute="Error" context="#pop" insensitive="true" dynamic="true" lookAhead="true" endRegion="RegionFunction"
+                 String="&bos;end\s+function(\s+&varname;)?&eos;"/>-->
+        <RegExpr attribute="Process" context="#stay" insensitive="true"
+                 String="&bos;begin&eos;"/>
+        <IncludeRules context="proc_rules"/>
+      </context>
+
+
+<!-- parts of architecture body -->
+      <context name="detect_arch_parts" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <RegExpr attribute="Normal Text" context="generate1" lookAhead="true" insensitive="true" dynamic="true"
+                 String="&bos;(&varname;\s*:\s*)(if|for).*\s+generate&eos;"/>
+        <RegExpr attribute="Normal Text" context="process1" lookAhead="true" insensitive="true" dynamic="true"
+                 String="&bos;(&varname;\s*:\s*)?process&eos;"/>
+        <RegExpr attribute="Normal Text" context="instance" lookAhead="true" insensitive="true" dynamic="true" beginRegion="InstanceRegion1"
+                 String="&bos;(&varname;)\s*:\s*((entity\s+)?(&varname;)(\.&varname;)?)"/>
+
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+<!--====generate ===============-->
+      <context name="generate1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="generate2" insensitive="true" beginRegion="GenerateRegion"
+                 String="&bos;(generate|loop)&eos;"/>
+        <RegExpr attribute="Name"      context="#stay" dynamic="true" insensitive="true"
+                 String="&bos;%3&eos;"/>
+        <RegExpr attribute="Control" context="#stay"                insensitive="true"
+                 String="&bos;(for|if|while)&eos;"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="generate2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="#stay" insensitive="true"
+                 String="&bos;begin&eos;"/>
+        <RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="GenerateRegion"
+                 String="&bos;end\s+(generate|loop)(\s+&varname;)?"/>
+        <IncludeRules context="detect_arch_parts"/>
+      </context>
+
+
+<!--====process ===============-->
+<!-- process environment -->
+
+      <context name="process1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Process" context="#pop" insensitive="true" dynamic="true" endRegion="RegionProcess"
+                 String="&bos;end\s+process(\s+%3)?"/>
+        <RegExpr attribute="Error" context="#pop" insensitive="true" dynamic="true" endRegion="RegionProcess"
+                 String="&bos;end\s+process(\s+&varname;)?"/>
+        <RegExpr attribute="Process" context="#stay" insensitive="true" beginRegion="RegionProcess"
+                 String="&bos;process&eos;"/>
+        <RegExpr attribute="Process" context="#stay" insensitive="true"
+                 String="&bos;begin&eos;"/>
+        <IncludeRules context="proc_rules"/>
+      </context>
+
+      <context name="proc_rules" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+         <RegExpr attribute="Name" context="#stay" insensitive="true"
+                  String="&bos;&varname;(?=\s*:(?!=))"/>
+         <RegExpr attribute="Control" context="if_start" insensitive="true"
+                  String="&bos;if&eos;"/>
+         <RegExpr attribute="Control" context="case1" lookAhead="true" insensitive="true"
+                  String="&bos;case&eos;"/>
+         <RegExpr attribute="Control" context="forwhile1" dynamic="true" lookAhead="true" insensitive="true"
+                  String="&bos;((&varname;)\s*:\s*)?((for|while)\s+.+\s+)loop&eos;"/>
+         <IncludeRules context="generalDetection"/>
+      </context>
+
+
+
+
+<!--====instance =============== -->
+      <!-- When an instance has been detected-->
+      <context name="instance" attribute="Error" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Reference"   context="#stay" String="&bos;%4&eos;" dynamic="true"/>
+        <RegExpr attribute="Name"        context="#stay" String="&bos;%3&eos;" dynamic="true"/>
+        <RegExpr attribute="Keyword"     context="instanceMap" beginRegion="InstanceMapRegion"
+                 String="&bos;(port|generic)\s+map\s*\(" />
+        <DetectChar attribute="Normal Text" context="#pop" char=";" endRegion="InstanceRegion1"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <!-- Inside a port or generic map-->
+      <context name="instanceMap" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <AnyChar attribute="Error" context="#stay" String="&lt;;:"/>
+        <DetectChar attribute="Error" context="#stay" char=":" />
+        <IncludeRules context="preDetection"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=")" endRegion="InstanceMapRegion"/>
+        <DetectChar attribute="Normal Text" context="instanceInnerPar" char="("/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <!-- Inside parantheses inside a map-->
+      <context name="instanceInnerPar" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=")" endRegion="instanceInnerPar"/>
+        <DetectChar attribute="Normal Text" context="instanceInnerPar" char="("/>
+        <DetectChar attribute="Error" context="#stay" char=";"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+<!--====loop ===============-->
+      <context name="forwhile1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="forwhile2" insensitive="true" beginRegion="ForWhileRegion"
+                 String="&bos;loop&eos;"/>
+        <RegExpr attribute="Name"      context="#stay" dynamic="true" insensitive="true"
+                 String="&bos;%3&eos;"/>
+        <RegExpr attribute="Control" context="#stay"                insensitive="true"
+                 String="&bos;(for|while)&eos;"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="forwhile2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="#stay" insensitive="true"
+                 String="&bos;begin&eos;"/>
+        <RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="ForWhileRegion"
+                 String="&bos;end\s+loop(\s+&varname;)?"/>
+        <IncludeRules context="proc_rules"/>
+      </context>
+
+<!--====if ===============-->
+      <context name="if_start" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="if" insensitive="true" beginRegion="IfRegion1"
+                 String="&bos;then&eos;"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="if" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="IfRegion1"
+                 String="&bos;end\s+if(\s+&varname;)?\s*;"/>
+        <IncludeRules context="proc_rules"/>
+        <keyword attribute="Control" context="#stay" insensitive="true" String="if"/>
+      </context>
+
+
+<!--====case ===============-->
+
+      <context name="case1" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Keyword" context="case2" insensitive="true"
+                 String="&bos;is&eos;"/>
+        <keyword attribute="Control" context="#stay" insensitive="true" beginRegion="CaseRegion1" String="case"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="case2" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="CaseRegion1"
+                 String="&bos;end\s+case(&varname;)?\s*;"/>
+        <RegExpr attribute="Control" context="caseWhen" lookAhead="true" dynamic="true" insensitive="true"
+                 String="&bos;when(\s+&varname;)?&eos;"/>
+        <IncludeRules context="proc_rules"/>
+      </context>
+
+      <context name="caseWhen" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <Detect2Chars char="=" char1="&gt;" attribute="Operator" context="caseWhen2" beginRegion="CaseWhenRegion1"/>
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" insensitive="true"
+                 String="&bos;when&eos;"/>
+        <RegExpr attribute="Name" insensitive="true" dynamic="true"
+                 String="&bos;%2&eos;"/>
+        <IncludeRules context="proc_rules"/>
+      </context>
+
+      <context name="caseWhen2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="#pop#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1"
+                 String="^\s*when&eos;"/>
+        <RegExpr attribute="Control" context="#pop#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1"
+                 String="^\s*end\s+case&eos;"/>
+        <IncludeRules context="proc_rules"/>
+      </context>
+      <!-- 'when' and 'end case' are checked at the beginning of the line for better code folding -->
+
+
+
+
+<!--====ENTITY ===============-->
+<!-- entity environment -->
+
+      <context name="entity" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Name" context="entity_main" beginRegion="EntityRegion1" insensitive="true"
+                 String="(&varname;)"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+
+      <context name="entity_main" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1"
+                 String="&bos;end(\s+(entity|component))?(\s+%1)?\s*;"/>
+        <RegExpr attribute="Error" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1"
+                 String="&bos;end(\s+(entity|component))?(\s+&varname;)?\s*;"/>
+        <RegExpr attribute="Control" context="#stay" insensitive="true" String="generic"/>
+        <RegExpr attribute="Control" context="#stay" insensitive="true" String="port"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+<!--====Configuration ===============-->
+<!-- configuration environment -->
+      <context name="configuration" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Control" context="conf_start" insensitive="true" lookAhead="true" dynamic="true" beginRegion="ConfigurationRegion1"
+                 String="&bos;configuration\s+(&varname;)\s+of\s+(&varname;)\s+is"/>
+        <RegExpr attribute="Control" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ConfigurationRegion1"
+                 String="&bos;end(\s+configuration)?(\s+%2)?\s*;"/>
+        <RegExpr attribute="Error" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ConfigurationRegion1"
+                 String="&bos;end(\s+configuration)?(\s+&varname;)\s*;"/>
+      </context>
+
+      <context name="conf_start" attribute="Control" lineEndContext="#stay" dynamic="true">
+        <IncludeRules context="preDetection"/>
+        <RegExpr attribute="Keyword"   context="conf_decl" insensitive="true" String="&bos;is&eos;" />
+        <RegExpr attribute="Name"      context="#stay"     insensitive="true" String="&bos;%2&eos;" dynamic="true"/>
+        <RegExpr attribute="Reference" context="#stay"     insensitive="true" String="&bos;%4&eos;" dynamic="true"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="conf_decl" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preDetection"/>
+        <StringDetect attribute="Control" context="conf_for" insensitive="true" String="for"/>
+        <StringDetect attribute="Control" context="#pop#pop" insensitive="true" lookAhead="true"  String="end"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+      <context name="conf_for" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preDetection"/>
+        <StringDetect attribute="Control" context="conf_for" insensitive="true" String="for"/>
+        <RegExpr attribute="Control" context="#pop" insensitive="true"  String="end(\s+&varname;)?"/>
+        <IncludeRules context="generalDetection"/>
+      </context>
+
+
+<!--====Basic Stuff ===============-->
+<!-- basic rules -->
+      <context name="preDetection" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="comment" char="-" char1="-"/>
+        <DetectChar attribute="Vector" context="string" char="&quot;"/>
+        <AnyChar attribute="Operator" context="#stay" String="[&amp;&gt;&lt;=:+\-*\/|].,"/>
+        <DetectChar attribute="Attribute" context="attribute" char="'"/>
+      </context>
+
+
+
+<!-- general detection -->
+      <context name="generalDetection" attribute="Normal Text" lineEndContext="#stay">
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <keyword attribute="Data Type" context="#stay" String="timeunits"/>
+        <keyword attribute="Signal" context="signal" String="signals" beginRegion="sig"/>
+        <keyword attribute="Range" context="#stay" String="range"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <Int attribute="Integer" context="#stay"/>
+        <HlCChar attribute="Bit" context="#stay"/>
+        <DetectSpaces attribute="Normal Text" context="#stay"/>
+      </context>
+
+<!-- other environments -->
+      <context name="comment" attribute="Comment" lineEndContext="#pop"/>
+
+      <context name="string" attribute="Vector" lineEndContext="#stay">
+        <DetectChar attribute="Vector" context="#pop" char="&quot;"/>
+      </context>
+
+      <context name="attribute" attribute="Attribute" lineEndContext="#pop">
+        <DetectChar attribute="Attribute" context="quot in att" char="&quot;"/>
+        <DetectChar attribute="Attribute" context="quot in att" char="&quot;"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=" "/>
+        <DetectChar attribute="Attribute" context="#pop" char="'"/>
+        <AnyChar attribute="Attribute" context="#pop" String=")=&lt;&gt;"/>
+      </context>
+
+      <context name="quot in att" attribute="Attribute" lineEndContext="#stay">
+        <DetectChar attribute="Attribute" context="#pop" char="&quot;"/>
+      </context>
+
+      <context name="signal" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preDetection"/>
+        <DetectChar attribute="Normal Text" lookAhead="true" context="#pop" char=";" endRegion="sig"/>
+        <IncludeRules context="generalDetection"/>
+      </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="Reference" defStyleNum="dsFunction"/>
+      <itemData name="Error" defStyleNum="dsError" color="#ff0000" bold="1"/>
+      <itemData name="Vector" defStyleNum="dsString"/>
+      <itemData name="Operator" defStyleNum="dsOthers"/>
+      <itemData name="Attribute" defStyleNum="dsBaseN"/>
+      <itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
+      <itemData name="Signal" defStyleNum="dsOthers"/>
+      <itemData name="Range" defStyleNum="dsOthers"/>
+      <itemData name="Redirection" defStyleNum="dsKeyword" color="#223388"/>
+      <itemData name="Process" defStyleNum="dsKeyword" color="#0099AA"/>
+      <itemData name="Control" defStyleNum="dsKeyword" color="#223388"/>
+      <itemData name="Name" defStyleNum="dsKeyword" color="#bb6600" bold="1"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="singleLine" start="--"/>
+    </comments>
+    <keywords casesensitive="0"/>
+  </general>
+</language>
diff --git a/xml/xml.xml b/xml/xml.xml
new file mode 100644
--- /dev/null
+++ b/xml/xml.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+	<!-- names must start with a letter, ideogram or underscore. \w matches any
+		 word character *or* a number, hence the lookahead -->
+	<!ENTITY name    "(?![0-9])[\w_:][\w.:_-]*">
+	<!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
+]>
+<language name="XML" version="5" kateversion="3.4" section="Markup" extensions="*.docbook;*.xml;*.rc;*.daml;*.rdf;*.rss;*.xspf;*.xsd;*.svg;*.ui;*.kcfg;*.qrc;*.wsdl;*.scxml" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml;image/svg+xml;application/x-designer;application/xml;application/scxml+xml" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
+
+<highlighting>
+<contexts>
+  <context name="Start" attribute="Normal Text" lineEndContext="#stay">
+    <IncludeRules context="FindXML" />
+  </context>
+
+  <context name="FindXML" attribute="Normal Text" lineEndContext="#stay">
+    <DetectSpaces />
+    <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+    <StringDetect attribute="CDATA" context="CDATA" String="&lt;![CDATA[" beginRegion="cdata" />
+    <RegExpr attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE\s+" beginRegion="doctype" />
+    <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:_-]*" beginRegion="pi" />
+    <RegExpr attribute="Element" context="Element" String="&lt;&name;" beginRegion="element" />
+    <IncludeRules context="FindEntityRefs" />
+    <DetectIdentifier />
+  </context>
+
+  <context name="FindEntityRefs" attribute="Other Text" lineEndContext="#stay">
+    <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+    <AnyChar attribute="Error" context="#stay" String="&amp;&lt;" />
+  </context>
+
+  <context name="FindPEntityRefs" attribute="Other Text" lineEndContext="#stay">
+    <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+    <RegExpr attribute="PEntityRef" context="#stay" String="%&name;;" />
+    <AnyChar attribute="Error" context="#stay" String="&amp;%" />
+  </context>
+
+
+  <context name="Comment" attribute="Comment" lineEndContext="#stay">
+    <DetectSpaces />
+    <StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment" />
+    <RegExpr attribute="Error" context="#stay" String="-(-(?!-&gt;))+" />
+    <IncludeRules context="##Alerts" />
+    <DetectIdentifier />
+  </context>
+
+  <context name="CDATA" attribute="Other Text" lineEndContext="#stay">
+    <DetectSpaces />
+    <DetectIdentifier />
+    <StringDetect attribute="CDATA" context="#pop" String="]]&gt;" endRegion="cdata" />
+    <StringDetect attribute="EntityRef" context="#stay" String="]]&amp;gt;" />
+  </context>
+
+  <context name="PI" attribute="Other Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1="&gt;" endRegion="pi" />
+  </context>
+
+  <context name="Doctype" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="&gt;" endRegion="doctype" />
+    <DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
+  </context>
+
+  <context name="Doctype Internal Subset" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
+    <RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
+    <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+    <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:_-]*" beginRegion="pi" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="Doctype Markupdecl" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="&gt;" />
+    <DetectChar attribute="Value" context="Doctype Markupdecl DQ" char="&quot;" />
+    <DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="&apos;" />
+  </context>
+
+  <context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop" char="&quot;" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop" char="&apos;" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="Element" attribute="Other Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="element" />
+    <DetectChar attribute="Element" context="El Content" char="&gt;" />
+    <RegExpr attribute="Attribute" context="Attribute" String="^&name;" />
+    <RegExpr attribute="Attribute" context="Attribute" String="\s+&name;" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="El Content" attribute="Other Text" lineEndContext="#stay">
+    <RegExpr attribute="Element" context="El End" String="&lt;/&name;" />
+    <IncludeRules context="FindXML" />
+  </context>
+
+  <context name="El End" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Element" context="#pop#pop#pop" char="&gt;" endRegion="element" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="Attribute" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Attribute" context="Value" char="=" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="Value" attribute="Other Text" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="Value DQ" char="&quot;" />
+    <DetectChar attribute="Value" context="Value SQ" char="&apos;" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="Value DQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop#pop#pop" char="&quot;" />
+    <IncludeRules context="FindEntityRefs" />
+  </context>
+
+  <context name="Value SQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop#pop#pop" char="&apos;" />
+    <IncludeRules context="FindEntityRefs" />
+  </context>
+
+</contexts>
+<itemDatas>
+  <itemData name="Normal Text" defStyleNum="dsNormal" />
+  <itemData name="Other Text" defStyleNum="dsNormal" />
+  <itemData name="Comment" defStyleNum="dsComment" spellChecking="false" />
+  <itemData name="CDATA" defStyleNum="dsBaseN" bold="1" spellChecking="false" />
+  <itemData name="Processing Instruction" defStyleNum="dsKeyword" spellChecking="false" />
+  <itemData name="Doctype" defStyleNum="dsDataType" bold="1" spellChecking="false" />
+  <itemData name="Element" defStyleNum="dsKeyword" spellChecking="false" />
+  <itemData name="Attribute" defStyleNum="dsOthers" spellChecking="false" />
+  <itemData name="Value" defStyleNum="dsString" spellChecking="false" />
+  <itemData name="EntityRef" defStyleNum="dsDecVal" spellChecking="false" />
+  <itemData name="PEntityRef" defStyleNum="dsDecVal" spellChecking="false" />
+  <itemData name="Error" defStyleNum="dsError" spellChecking="false" />
+</itemDatas>
+
+</highlighting>
+<general>
+  <comments>
+    <comment name="multiLine" start="&lt;!--" end="--&gt;" />
+  </comments>
+  <indentation mode="xml" />
+</general>
+</language>
diff --git a/xml/xorg.xml b/xml/xorg.xml
new file mode 100644
--- /dev/null
+++ b/xml/xorg.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="x.org Configuration" section="Configuration" extensions="xorg.conf" mimetype="" version="2" kateversion="2.4" author="Jan Janssen (medhefgo@web.de)" license="LGPL">
+
+<highlighting>
+<contexts>
+ <context name="xorg" attribute="Normal Text" lineEndContext="#stay">
+  <StringDetect String="Section" attribute="Section" context="Section" beginRegion="Section" insensitive="true" />
+  <DetectChar char="#" context="Comment" />
+ </context>
+
+ <context name="Section" attribute="Normal Text" lineEndContext="#stay">
+  <RangeDetect char="&quot;" char1="&quot;" attribute="Section Name" context="Section Content" />
+  <RangeDetect char="'" char1="'" attribute="Section Name" context="Section Content" />
+  <DetectIdentifier attribute="Alert" />
+  <DetectChar char="#" context="Comment" />
+ </context>
+
+ <context name="Section Content" attribute="Normal Text" lineEndContext="#stay">
+  <StringDetect String="EndSection" attribute="Section" context="#pop#pop" endRegion="Section" insensitive="true" />
+  <StringDetect String="EndSubSection" attribute="Section" context="#pop#pop" endRegion="SubSection" insensitive="true" />
+  <StringDetect String="SubSection" attribute="Section" context="Section" beginRegion="SubSection" insensitive="true" />
+  <RegExpr String="\b\w+\b" context="Keyword" />
+  <DetectChar char="#" context="Comment" />
+ </context>
+
+ <context name="Keyword" attribute="Keyword" lineEndContext="#pop">
+  <RangeDetect attribute="Value" char="&quot;" char1="&quot;" />
+  <RangeDetect attribute="Value" char="'" char1="'" />
+  <Float attribute="Float" />
+  <Int attribute="Int" />
+  <RegExpr attribute="Value2" String="[\w\d]+" />
+  <DetectChar char="#" context="Comment" />
+ </context>
+
+ <context name="Comment" attribute="Comment" lineEndContext="#pop">
+  <DetectSpaces />
+  <IncludeRules context="##Alerts" />
+  <DetectIdentifier />
+ </context>
+</contexts>
+
+
+<itemDatas>
+ <itemData name="Normal Text" defStyleNum="dsNormal" />
+ <itemData name="Section" defStyleNum="dsFunction" />
+ <itemData name="Section Name" defStyleNum="dsString" />
+ <itemData name="Value" defStyleNum="dsDataType" />
+ <itemData name="Keyword" defStyleNum="dsKeyword" />
+ <itemData name="Alert" defStyleNum="dsError" />
+ <itemData name="Int" defStyleNum="dsDecVal" />
+ <itemData name="Value2" defStyleNum="dsOthers" />
+ <itemData name="Float" defStyleNum="dsFloat" />
+ <itemData name="Comment" defStyleNum="dsComment" />
+</itemDatas>
+</highlighting>
+
+
+<general>
+ <comments>
+  <comment name="singleLine" start="#" />
+ </comments>
+</general>
+
+</language>
diff --git a/xml/xslt.xml b/xml/xslt.xml
new file mode 100644
--- /dev/null
+++ b/xml/xslt.xml
@@ -0,0 +1,439 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+	<!ENTITY qname    "[A-Za-z_:][\w.:_-]*">
+	<!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&qname;);">
+	<!ENTITY axisname  "ancestor|ancestor-or-self|attribute|child|descendant|descendant-or-self|following|following-sibling|namespace|parent|preceding|preceding-sibling|self">
+]>
+
+<!--
+  Kate syntax highlighting for XSLT
+  2004 by Peter Lammich (views@gmx.de)
+  Published under the LGPL
+  
+  TODO/FIXME
+  
+    - Is qname - entity correct ??
+  
+    - Integrate latest XML highlighting, that supports ...
+      This version is mainly based on kate 2.1 XML highlighting file
+    
+    - highlight functions only if they are followed by a '('. (How to do that ??)
+    - use <IncludeRules> to make things a bit more modular and cleaner 
+
+    - I'd like to properly comment this file, but kate 2.1 (I have to work with it) behaves strange whith comments.
+      It seems to immediately stop processing a tag's content when encountering a comment
+      
+    - Define own highlighting rules for patterns (Currently a pattern is highlighted as XPath)
+    
+    - Highlight also XPath keywords, such as 'cast as'
+      
+
+    DONE: !DOCTYPE, ![CDATA[, Processing Instructions support copied from latest XML-highlighting
+    
+    DONE: Added XSLT 2.0 tag- and XPath2.0 and XSLT2.0 function keywords
+    
+    FIXED: axis highlighting does not work, if identifier continues directly behind axis: (self::someWord)
+    
+    DONE: highlight entity references
+      Do not replace the <RegExpr> by <IncludeEntities>, this is a kate 2.1 workaround !
+
+    FIXED axis-names are even highlighted if there are characters in front of them, i.e. in "xxxself::", "self::" would 
+      be highlighted.
+        Now matching any qnames in XPath by own matcher
+
+    &varname; entity, what exactly is allowed by xslt ?
+      &varname; entity not used any more, variable names can be qnames.
+                      
+    CHANGED: Use the Alert style for the highlighting of todo and fixme, etc.
+         Comments are foldable, two dashes inside comment hl as error, 
+         use the dsError style for Invalid data (Wilbert Berendsen, wbsoft@xs4all.nl)
+       
+
+-->
+
+<language version="2" kateversion="2.4" name="xslt" section="Markup" extensions="*.xsl;*.xslt" license="LGPL" author="Peter Lammich (views@gmx.de)">
+  <highlighting>
+    <list name="keytags">
+      <item> xsl:value-of </item>
+      <item> xsl:output </item>
+      <item> xsl:decimal-format </item>
+      <item> xsl:apply-templates </item>
+      <item> xsl:param </item>
+      <item> xsl:transform </item>
+      <item> xsl:namespace-alias </item>
+      <item> xsl:comment </item>
+      <item> xsl:element </item>
+      <item> xsl:attribute </item>
+      <item> xsl:apply-imports </item>
+      <item> xsl:text </item>
+      <item> xsl:when </item>
+      <item> xsl:template </item>
+      <item> xsl:processing-instruction </item>
+      <item> xsl:include </item>
+      <item> xsl:copy-of </item>
+      <item> xsl:copy </item>
+      <item> xsl:with-param </item>
+      <item> xsl:stylesheet </item>
+      <item> xsl:for-each </item>
+      <item> xsl:choose </item>
+      <item> xsl:sort </item>
+      <item> xsl:otherwise </item>
+      <item> xsl:key </item>
+      <item> xsl:variable </item>
+      <item> xsl:number </item>
+      <item> xsl:message </item>
+      <item> xsl:fallback </item>
+      <item> xsl:strip-space </item>
+      <item> xsl:import </item>
+      <item> xsl:preserve-space </item>
+      <item> xsl:if </item>
+      <item> xsl:call-template </item>
+      <item> xsl:attribute-set </item>
+    </list>
+  
+    <list name="keytags_2.0">
+      <item> xsl:perform-sort </item>
+      <item> xsl:import-schema </item>
+      <item> xsl:for-each-group </item>
+      <item> xsl:sequence </item>
+      <item> xsl:non-matching-substring </item>
+      <item> xsl:namespace </item>
+      <item> xsl:next-match </item>
+      <item> xsl:function </item>
+      <item> xsl:analyze-string </item>
+      <item> xsl:output-character </item>
+      <item> xsl:matching-substring </item>
+      <item> xsl:result-document </item>
+      <item> xsl:character-map </item>
+      <item> xsl:document </item>
+    </list>
+    
+    <list name="functions">    
+      <item> format-number </item>
+      <item> position </item>
+      <item> lang </item>
+      <item> substring-before </item>
+      <item> substring </item>
+      <item> normalize-space </item>
+      <item> round </item>
+      <item> translate </item>
+      <item> starts-with </item>
+      <item> concat </item>
+      <item> local-name </item>
+      <item> key </item>
+      <item> count </item>
+      <item> document </item>
+      <item> system-property </item>
+      <item> current </item>
+      <item> boolean </item>
+      <item> number </item>
+      <item> contains </item>
+      <item> name </item>
+      <item> last </item>
+      <item> unparsed-entity-uri </item>
+      <item> sum </item>
+      <item> generate-id </item>
+      <item> function-available </item>
+      <item> element-available </item>
+      <item> false </item>
+      <item> substring-after </item>
+      <item> not </item>
+      <item> string-length </item>
+      <item> id </item>
+      <item> floor </item>
+      <item> ceiling </item>
+      <item> namespace-uri </item>
+      <item> true </item>
+      <item> string </item>
+      <item> text </item>
+    </list>
+
+    <list name="functions_2.0">
+      <item> zero-or-one </item>
+      <item> replace </item>
+      <item> namespace-uri-for-prefix </item>
+      <item> current-grouping-key </item>
+      <item> seconds-from-duration </item>
+      <item> resolve-uri </item>
+      <item> node-kind </item>
+      <item> minutes-from-dateTime </item>
+      <item> implicit-timezone </item>
+      <item> exactly-one </item>
+      <item> current-time </item>
+      <item> current-dateTime </item>
+      <item> unordered </item>
+      <item> subtract-dates-yielding-dayTimeDuration </item>
+      <item> string-join </item>
+      <item> static-base-uri </item>
+      <item> months-from-duration </item>
+      <item> input </item>
+      <item> exists </item>
+      <item> default-collation </item>
+      <item> dateTime </item>
+      <item> current-group </item>
+      <item> current-date </item>
+      <item> collection </item>
+      <item> timezone-from-time </item>
+      <item> matches </item>
+      <item> local-name-from-QName </item>
+      <item> day-from-date </item>
+      <item> timezone-from-date </item>
+      <item> round-half-to-even </item>
+      <item> month-from-dateTime </item>
+      <item> month-from-date </item>
+      <item> hours-from-duration </item>
+      <item> escape-uri </item>
+      <item> distinct-values </item>
+      <item> avg </item>
+      <item> years-from-duration </item>
+      <item> unparsed-text </item>
+      <item> unparsed-entity-public-id </item>
+      <item> subtract-dateTimes-yielding-dayTimeDuration </item>
+      <item> subtract-dates-yielding-yearMonthDuration </item>
+      <item> string-to-codepoints </item>
+      <item> sequence-node-identical </item>
+      <item> hours-from-time </item>
+      <item> hours-from-dateTime </item>
+      <item> format-time </item>
+      <item> codepoints-to-string </item>
+      <item> trace </item>
+      <item> tokenize </item>
+      <item> subtract-dateTimes-yielding-yearMonthDuration </item>
+      <item> subsequence </item>
+      <item> seconds-from-dateTime </item>
+      <item> regex-group </item>
+      <item> one-or-more </item>
+      <item> node-name </item>
+      <item> namespace-uri-from-QName </item>
+      <item> min </item>
+      <item> idref </item>
+      <item> format-dateTime </item>
+      <item> format-date </item>
+      <item> days-from-duration </item>
+      <item> compare </item>
+      <item> base-uri </item>
+      <item> seconds-from-time </item>
+      <item> in-scope-prefixes </item>
+      <item> expanded-QName </item>
+      <item> adjust-date-to-timezone </item>
+      <item> year-from-date </item>
+      <item> resolve-QName </item>
+      <item> remove </item>
+      <item> QName </item>
+      <item> minutes-from-time </item>
+      <item> max </item>
+      <item> lower-case </item>
+      <item> index-of </item>
+      <item> doc </item>
+      <item> deep-equal </item>
+      <item> data </item>
+      <item> minutes-from-duration </item>
+      <item> adjust-dateTime-to-timezone </item>
+      <item> abs </item>
+      <item> timezone-from-dateTime </item>
+      <item> reverse </item>
+      <item> error </item>
+      <item> ends-with </item>
+      <item> day-from-dateTime </item>
+      <item> year-from-dateTime </item>
+      <item> upper-case </item>
+      <item> root </item>
+      <item> normalize-unicode </item>
+      <item> empty </item>
+      <item> insert-before </item>
+      <item> document-uri </item>
+      <item> adjust-time-to-timezone </item>
+    </list>
+    
+    <contexts>
+
+       <context name="normalText" attribute="Normal Text" lineEndContext="#stay">
+         <StringDetect attribute="Comment" context="comment" String="&lt;!--" beginRegion="comment"/>
+         
+         <StringDetect attribute="CDATA" context="CDATA" String="&lt;![CDATA[" beginRegion="cdata" />
+         <RegExpr attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE\s+" beginRegion="doctype" />
+         <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:_-]*" beginRegion="pi" />
+
+         <DetectChar attribute="Tag" context="tagname" char="&lt;" />
+         <RegExpr attribute="Entity Reference" context="#stay" String="&entref;" />
+       </context>
+
+
+       
+       <context name="CDATA" attribute="Normal Text" lineEndContext="#stay">
+         <DetectSpaces />
+         <DetectIdentifier />
+         <StringDetect attribute="CDATA" context="#pop" String="]]&gt;" endRegion="cdata" />
+         <StringDetect attribute="Entity Reference" context="#stay" String="]]&amp;gt;" />
+       </context>
+       
+       <context name="PI" attribute="Normal Text" lineEndContext="#stay">
+         <Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1="&gt;" endRegion="pi" />
+       </context>
+       
+       <context name="Doctype" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar attribute="Doctype" context="#pop" char="&gt;" endRegion="doctype" />
+         <DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
+       </context>
+       
+       <context name="Doctype Internal Subset" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
+         <RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
+         <StringDetect attribute="Comment" context="comment" String="&lt;!--" beginRegion="comment" />
+         <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:_-]*" beginRegion="pi" />
+         <IncludeRules context="FindPEntityRefs" />
+       </context>
+       
+       <context name="Doctype Markupdecl" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar attribute="Doctype" context="#pop" char="&gt;" />
+         <DetectChar attribute="Value" context="Doctype Markupdecl DQ" char="&quot;" />
+         <DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="&apos;" />
+       </context>
+       
+       <context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
+         <DetectChar attribute="Value" context="#pop" char="&quot;" />
+         <IncludeRules context="FindPEntityRefs" />
+       </context>
+       
+       <context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
+         <DetectChar attribute="Value" context="#pop" char="&apos;" />
+         <IncludeRules context="FindPEntityRefs" />
+       </context>
+       
+       <context name="detectEntRef" attribute="Normal Text" lineEndContext="#stay">
+         <RegExpr attribute="Entity Reference" context="#stay" String="&entref;" />
+       </context>
+       <context name="FindPEntityRefs" attribute="Normal Text" lineEndContext="#stay">
+         <RegExpr attribute="Entity Reference" context="#stay" String="&entref;" />
+         <RegExpr attribute="PEntity Reference" context="#stay" String="%&qname;;" />
+         <AnyChar attribute="Error" context="#stay" String="&amp;%" />
+       </context>
+       
+       <context name="tagname" attribute="Tag" lineEndContext="#stay">
+         <keyword attribute="XSLT Tag" context="xattributes" String="keytags" />
+         <keyword attribute="XSLT 2.0 Tag" context="xattributes" String="keytags_2.0" />
+         <RegExpr attribute="Attribute" context="attributes" String="\s*" />
+         <DetectChar attribute="Tag" context="#pop" char="&gt;" />
+       </context>
+       
+       <context name="attributes" attribute="Attribute" lineEndContext="#stay">
+         <Detect2Chars attribute="Tag" context="#pop#pop" char="/" char1="&gt;" />
+         <DetectChar attribute="Tag" context="#pop#pop" char="&gt;" />
+         <RegExpr attribute="Normal Text" context="attrValue" String="\s*=\s*" />
+       </context>
+
+       <context name="attrValue" attribute="Invalid" lineEndContext="#stay">
+         <Detect2Chars attribute="Invalid" context="#pop#pop#pop" char="/" char1="&gt;" />
+         <DetectChar attribute="Invalid" context="#pop#pop#pop" char="&gt;" />
+         <DetectChar attribute="Attribute Value" context="string" char="&quot;" />
+         <DetectChar attribute="Attribute Value" context="sqstring" char="'" />
+       </context>
+
+       <context name="xattributes" attribute="Attribute" lineEndContext="#stay">
+          <Detect2Chars attribute="Tag" context="#pop#pop" char="/" char1="&gt;" />
+          <DetectChar attribute="Tag" context="#pop#pop" char="&gt;" />
+          <RegExpr attribute="Attribute" context="xattrValue" String="select\s*=\s*" />
+          <RegExpr attribute="Attribute" context="xattrValue" String="test\s*=\s*" />
+          <RegExpr attribute="Attribute" context="xattrValue" String="match\s*=\s*" />
+          <RegExpr attribute="Attribute" context="attrValue" String="\s*=\s*" />
+       </context>
+
+       <context name="xattrValue" attribute="Invalid" lineEndContext="#stay">
+         <Detect2Chars attribute="Invalid" context="#pop#pop#pop" char="/" char1="&gt;" />
+         <DetectChar attribute="Invalid" context="#pop#pop#pop" char="&gt;" />
+         <DetectChar attribute="XPath" context="xpath" char="&quot;" />
+         <DetectChar attribute="XPath" context="sqxpath" char="'" />
+       </context>
+       
+       
+       <context name="string" attribute="Attribute Value" lineEndContext="#stay">
+         <DetectChar attribute="XPath" context="xpath" char="{" />
+         <DetectChar attribute="Attribute Value" context="#pop#pop" char="&quot;" />
+         <IncludeRules context="detectEntRef" />
+       </context>
+
+       <context name="sqstring" attribute="Attribute Value" lineEndContext="#stay">
+         <DetectChar attribute="XPath" context="sqxpath" char="{" />
+         <DetectChar attribute="Attribute Value" context="#pop#pop" char="'" />
+         <IncludeRules context="detectEntRef" />
+       </context>
+       
+       <context name="comment" attribute="Comment" lineEndContext="#stay">
+         <StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment" />
+         <RegExpr attribute="Invalid" context="#stay" String="-(-(?!-&gt;))+" />
+         <RegExpr attribute="Alert" context="#stay" String="(FIXME|TODO|HACK)" />
+       </context>
+
+       <context name="xpath" attribute="XPath" lineEndContext="#stay">
+         <keyword attribute="XPath/ XSLT Function" context="#stay" String="functions" />
+         <keyword attribute="XPath 2.0/ XSLT 2.0 Function" context="#stay" String="functions_2.0" />
+         <RegExpr attribute="XPath Axis" context="#stay" String="(&axisname;)::" />
+         <DetectChar attribute="XPath" context="#pop" char="}" />
+         <DetectChar attribute="XPath String" context="sqxpathstring" char="'" />
+         <DetectChar attribute="XPath" context="#pop#pop" char="&quot;" />
+         <RegExpr attribute="XPath Attribute" context="#stay" String="@&qname;" />
+         <RegExpr attribute="Variable" context="#stay" String="\$&qname;" />
+         <RegExpr attribute="XPath" context="#stay" String="&qname;" />
+         <DetectChar attribute="Invalid" context="#stay" char="$" />
+         <IncludeRules context="detectEntRef" />
+       </context>
+       
+       <context name="sqxpath" attribute="XPath" lineEndContext="#stay">
+         <keyword attribute="XPath/ XSLT Function" context="#stay" String="functions" />
+         <keyword attribute="XPath 2.0/ XSLT 2.0 Function" context="#stay" String="functions_2.0" />
+         <RegExpr attribute="XPath Axis" context="#stay" String="(&axisname;)::" />
+         <DetectChar attribute="XPath" context="#pop" char="}" />
+         <DetectChar attribute="XPath String" context="xpathstring" char="&quot;" />
+         <DetectChar attribute="XPath" context="#pop#pop" char="'" />
+         <RegExpr attribute="XPath Attribute" context="#stay" String="@&qname;" />
+         <RegExpr attribute="Variable" context="#stay" String="\$&qname;" />
+         <RegExpr attribute="XPath" context="#stay" String="&qname;" />
+         <DetectChar attribute="Invalid" context="#stay" char="$" />
+         <IncludeRules context="detectEntRef" />
+       </context>
+       
+       <context name="sqxpathstring" attribute="XPath String" lineEndContext="#stay">
+         <DetectChar attribute="XPath String" context="#pop" char="'" />
+         <IncludeRules context="detectEntRef" />
+       </context>
+       
+       <context name="xpathstring" attribute="XPath String" lineEndContext="#stay">
+         <DetectChar attribute="XPath String" context="#pop" char="&quot;" />
+         <IncludeRules context="detectEntRef" />
+       </context>
+       
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Tag" defStyleNum="dsKeyword"/>
+      <itemData name="Attribute" defStyleNum="dsOthers"/>
+      <itemData name="Invalid" defStyleNum="dsError"/>
+      <itemData name="Alert" defStyleNum="dsAlert"/>
+      <itemData name="Attribute Value" defStyleNum="dsString" color="#800000" selColor="#ffffff" bold="0" italic="0"/>
+      <itemData name="XPath" defStyleNum="dsOthers" color="#008080" selColor="#ffffff" bold="0" italic="0"/>
+      <itemData name="XPath String" defStyleNum="dsString" color="#800000" selColor="#ffffff" bold="0" italic="0"/>
+      <itemData name="XPath Axis" defStyleNum="dsKeyword" color="#008080" selColor="#ffffff" bold="0" italic="1"/>
+      <itemData name="XPath/ XSLT Function" defStyleNum="dsKeyword" color="#008080" selColor="#ffffff" bold="1" italic="0"/>
+      <itemData name="XPath 2.0/ XSLT 2.0 Function" defStyleNum="dsKeyword" color="#008080" selColor="#ffffff" bold="1" italic="0"/>
+      <itemData name="XPath Attribute" defStyleNum="dsNormal" color="#008080" selColor="#ffffff" bold="0" italic="1" />
+      <itemData name="Variable" defStyleNum="dsNormal" color="#008080" selColor="#ffffff" bold="0" italic="1" />
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="XSLT Tag" defStyleNum="dsKeyword" color="#000080" selColor="#ffffff" bold="1" italic="0" />
+      <itemData name="XSLT 2.0 Tag" defStyleNum="dsKeyword" color="#000080" selColor="#ffffff" bold="1" italic="0" />
+      <itemData name="Entity Reference" defStyleNum="dsDecVal" />
+
+      <itemData name="CDATA" defStyleNum="dsBaseN" bold="1" />
+      <itemData name="Processing Instruction" defStyleNum="dsKeyword" />
+      <itemData name="Doctype" defStyleNum="dsDataType" bold="1" />
+      <itemData name="PEntity Reference" defStyleNum="dsDecVal" />
+      
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="multiLine" start="&lt;!--" end="--&gt;" />
+    </comments>
+    <keywords casesensitive="0" weakDeliminator="-:" additionalDeliminator="&quot;{}"/>
+  </general>
+</language>
diff --git a/xml/xul.xml b/xml/xul.xml
new file mode 100644
--- /dev/null
+++ b/xml/xul.xml
@@ -0,0 +1,627 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+	<!ENTITY name    "[A-Za-z_:][\w.:_-]*">
+	<!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
+]>
+        <language name="XUL" version="2" kateversion="2.4" section="Markup" extensions="*.xul;*.xbl" mimetype="text/xul" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl), Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net), Marc Dassonneville (marc.dassonneville@gmail.com)" license="LGPL">
+
+<highlighting>
+   <list name="keywords">
+      <item> if </item>
+      <item> else </item>
+      <item> for </item>
+      <item> in </item>
+      <item> while </item>
+      <item> do </item>
+      <item> continue </item>
+      <item> break </item>
+      <item> with </item>
+      <item> try </item>
+      <item> catch </item>
+      <item> finally </item>
+      <item> switch </item>
+      <item> case </item>
+      <item> new </item>
+      <item> var </item>
+      <item> function </item>
+      <item> return </item>
+      <item> delete </item>
+      <item> true </item>
+      <item> false </item>
+      <item> void </item>
+      <item> throw </item>
+      <item> typeof </item>
+      <item> const </item>
+      <item> default </item>
+   </list>
+   <list name="functions">
+      <item> escape </item>
+      <item> isFinite </item>
+      <item> isNaN </item>
+      <item> Number </item>
+      <item> parseFloat </item>
+      <item> parseInt </item>
+      <item> reload </item>
+      <item> taint </item>
+      <item> unescape </item>
+      <item> untaint </item>
+      <item> write </item>
+   </list>
+   <list name="objects">
+      <item>Anchor</item>
+      <item>Applet</item>
+      <item>Area</item>
+      <item>Array</item>
+      <item>Boolean</item>
+      <item>Button</item>
+      <item>Checkbox</item>
+      <item>Date</item>
+      <item>document</item>
+      <item>window</item>
+      <item>Image</item>
+      <item>FileUpload</item>
+      <item>Form</item>
+      <item>Frame</item>
+      <item>Function</item>
+      <item>Hidden</item>
+      <item>Link</item>
+      <item>MimeType</item>
+      <item>Math</item>
+      <item>Max</item>
+      <item>Min</item>
+      <item>Layer</item>
+      <item>navigator</item>
+      <item>Object</item>
+      <item>Password</item>
+      <item>Plugin</item>
+      <item>Radio</item>
+      <item>RegExp</item>
+      <item>Reset</item>
+      <item>Screen</item>
+      <item>Select</item>
+      <item>String</item>
+      <item>Text</item>
+      <item>Textarea</item>
+      <item>this</item>
+      <item>Window</item>
+   </list>
+   <list name="math">
+      <item> abs </item>
+      <item> acos </item>
+      <item> asin </item>
+      <item> atan </item>
+      <item> atan2 </item>
+      <item> ceil </item>
+      <item> cos </item>
+      <item> ctg </item>
+      <item> E </item>
+      <item> exp </item>
+      <item> floor </item>
+      <item> LN2 </item>
+      <item> LN10 </item>
+      <item> log </item>
+      <item> LOG2E </item>
+      <item> LOG10E </item>
+      <item> PI </item>
+      <item> pow </item>
+      <item> round </item>
+      <item> sin </item>
+      <item> sqrt </item>
+      <item> SQRT1_2 </item>
+      <item> SQRT2 </item>
+      <item> tan </item>
+   </list>
+   <list name="events">
+      <item>onAbort</item>
+      <item>onBlur</item>
+      <item>onChange</item>
+      <item>onClick</item>
+      <item>onError</item>
+      <item>onFocus</item>
+      <item>onLoad</item>
+      <item>onMouseOut</item>
+      <item>onMouseOver</item>
+      <item>onReset</item>
+      <item>onSelect</item>
+      <item>onSubmit</item>
+      <item>onUnload</item>
+   </list>
+   <list name="methods">
+      <item>above</item>
+      <item>action</item>
+      <item>alinkColor</item>
+      <item>alert</item>
+      <item>anchor</item>
+      <item>anchors</item>
+      <item>appCodeName</item>
+      <item>applets</item>
+      <item>apply</item>
+      <item>appName</item>
+      <item>appVersion</item>
+      <item>argument</item>
+      <item>arguments</item>
+      <item>arity</item>
+      <item>availHeight</item>
+      <item>availWidth</item>
+      <item>back</item>
+      <item>background</item>
+      <item>below</item>
+      <item>bgColor</item>
+      <item>border</item>
+      <item>big</item>
+      <item>blink</item>
+      <item>blur</item>
+      <item>bold</item>
+      <item>border</item>
+      <item>call</item>
+      <item>caller</item>
+      <item>charAt</item>
+      <item>charCodeAt</item>
+      <item>checked</item>
+      <item>clearInterval</item>
+      <item>clearTimeout</item>
+      <item>click</item>
+      <item>clip</item>
+      <item>close</item>
+      <item>closed</item>
+      <item>colorDepth</item>
+      <item>complete</item>
+      <item>compile</item>
+      <item>constructor</item>
+      <item>confirm</item>
+      <item>cookie</item>
+      <item>current</item>
+      <item>cursor</item>
+      <item>data</item>
+      <item>defaultChecked</item>
+      <item>defaultSelected</item>
+      <item>defaultStatus</item>
+      <item>defaultValue</item>
+      <item>description</item>
+      <item>disableExternalCapture</item>
+      <item>domain</item>
+      <item>elements</item>
+      <item>embeds</item>
+      <item>enabledPlugin</item>
+      <item>enableExternalCapture</item>
+      <item>encoding</item>
+      <item>eval</item>
+      <item>exec</item>
+      <item>fgColor</item>
+      <item>filename</item>
+      <item>find</item>
+      <item>fixed</item>
+      <item>focus</item>
+      <item>fontcolor</item>
+      <item>fontsize</item>
+      <item>form</item>
+      <item>forms</item>
+      <item>formName</item>
+      <item>forward</item>
+      <item>frames</item>
+      <item>fromCharCode</item>
+      <item>getDate</item>
+      <item>getDay</item>
+      <item>getHours</item>
+      <item>getMiliseconds</item>
+      <item>getMinutes</item>
+      <item>getMonth</item>
+      <item>getSeconds</item>
+      <item>getSelection</item>
+      <item>getTime</item>
+      <item>getTimezoneOffset</item>
+      <item>getUTCDate</item>
+      <item>getUTCDay</item>
+      <item>getUTCFullYear</item>
+      <item>getUTCHours</item>
+      <item>getUTCMilliseconds</item>
+      <item>getUTCMinutes</item>
+      <item>getUTCMonth</item>
+      <item>getUTCSeconds</item>
+      <item>getYear</item>
+      <item>global</item>
+      <item>go</item>
+      <item>hash</item>
+      <item>height</item>
+      <item>history</item>
+      <item>home</item>
+      <item>host</item>
+      <item>hostname</item>
+      <item>href</item>
+      <item>hspace</item>
+      <item>ignoreCase</item>
+      <item>images</item>
+      <item>index</item>
+      <item>indexOf</item>
+      <item>innerHeight</item>
+      <item>innerWidth</item>
+      <item>input</item>
+      <item>italics</item>
+      <item>javaEnabled</item>
+      <item>join</item>
+      <item>language</item>
+      <item>lastIndex</item>
+      <item>lastIndexOf</item>
+      <item>lastModified</item>
+      <item>lastParen</item>
+      <item>layers</item>
+      <item>layerX</item>
+      <item>layerY</item>
+      <item>left</item>
+      <item>leftContext</item>
+      <item>length</item>
+      <item>link</item>
+      <item>linkColor</item>
+      <item>links</item>
+      <item>location</item>
+      <item>locationbar</item>
+      <item>load</item>
+      <item>lowsrc</item>
+      <item>match</item>
+      <item>MAX_VALUE</item>
+      <item>menubar</item>
+      <item>method</item>
+      <item>mimeTypes</item>
+      <item>MIN_VALUE</item>
+      <item>modifiers</item>
+      <item>moveAbove</item>
+      <item>moveBelow</item>
+      <item>moveBy</item>
+      <item>moveTo</item>
+      <item>moveToAbsolute</item>
+      <item>multiline</item>
+      <item>name</item>
+      <item>NaN</item>
+      <item>NEGATIVE_INFINITY</item>
+      <item>negative_infinity</item>
+      <item>next</item>
+      <item>open</item>
+      <item>opener</item>
+      <item>options</item>
+      <item>outerHeight</item>
+      <item>outerWidth</item>
+      <item>pageX</item>
+      <item>pageY</item>
+      <item>pageXoffset</item>
+      <item>pageYoffset</item>
+      <item>parent</item>
+      <item>parse</item>
+      <item>pathname</item>
+      <item>personalbar</item>
+      <item>pixelDepth</item>
+      <item>platform</item>
+      <item>plugins</item>
+      <item>pop</item>
+      <item>port</item>
+      <item>POSITIVE_INFINITY</item>
+      <item>positive_infinity</item>
+      <item>preference</item>
+      <item>previous</item>
+      <item>print</item>
+      <item>prompt</item>
+      <item>protocol</item>
+      <item>prototype</item>
+      <item>push</item>
+      <item>referrer</item>
+      <item>refresh</item>
+      <item>releaseEvents</item>
+      <item>reload</item>
+      <item>replace</item>
+      <item>reset</item>
+      <item>resizeBy</item>
+      <item>resizeTo</item>
+      <item>reverse</item>
+      <item>rightContext</item>
+      <item>screenX</item>
+      <item>screenY</item>
+      <item>scroll</item>
+      <item>scrollbar</item>
+      <item>scrollBy</item>
+      <item>scrollTo</item>
+      <item>search</item>
+      <item>select</item>
+      <item>selected</item>
+      <item>selectedIndex</item>
+      <item>self</item>
+      <item>setDate</item>
+      <item>setHours</item>
+      <item>setMinutes</item>
+      <item>setMonth</item>
+      <item>setSeconds</item>
+      <item>setTime</item>
+      <item>setTimeout</item>
+      <item>setUTCDate</item>
+      <item>setUTCDay</item>
+      <item>setUTCFullYear</item>
+      <item>setUTCHours</item>
+      <item>setUTCMilliseconds</item>
+      <item>setUTCMinutes</item>
+      <item>setUTCMonth</item>
+      <item>setUTCSeconds</item>
+      <item>setYear</item>
+      <item>shift</item>
+      <item>siblingAbove</item>
+      <item>siblingBelow</item>
+      <item>small</item>
+      <item>sort</item>
+      <item>source</item>
+      <item>splice</item>
+      <item>split</item>
+      <item>src</item>
+      <item>status</item>
+      <item>statusbar</item>
+      <item>strike</item>
+      <item>sub</item>
+      <item>submit</item>
+      <item>substr</item>
+      <item>substring</item>
+      <item>suffixes</item>
+      <item>sup</item>
+      <item>taintEnabled</item>
+      <item>target</item>
+      <item>test</item>
+      <item>text</item>
+      <item>title</item>
+      <item>toGMTString</item>
+      <item>toLocaleString</item>
+      <item>toLowerCase</item>
+      <item>toolbar</item>
+      <item>toSource</item>
+      <item>toString</item>
+      <item>top</item>
+      <item>toUpperCase</item>
+      <item>toUTCString</item>
+      <item>type</item>
+      <item>URL</item>
+      <item>unshift</item>
+      <item>unwatch</item>
+      <item>userAgent</item>
+      <item>UTC</item>
+      <item>value</item>
+      <item>valueOf</item>
+      <item>visibility</item>
+      <item>vlinkColor</item>
+      <item>vspace</item>
+      <item>width</item>
+      <item>watch</item>
+      <item>which</item>
+      <item>width</item>
+      <item>write</item>
+      <item>writeln</item>
+      <item>x</item>
+      <item>y</item>
+      <item>zIndex</item>
+    </list>
+<contexts>
+  <context name="Start" attribute="Normal Text" lineEndContext="#stay">
+    <IncludeRules context="FindXML" />
+  </context>
+
+  <context name="FindXML" attribute="Normal Text" lineEndContext="#stay">
+    <DetectSpaces />
+    <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+    <StringDetect attribute="CDATA" context="CDATA" String="&lt;![CDATA[" beginRegion="cdata" />
+    <RegExpr attribute="Doctype" context="Doctype" String="&lt;!DOCTYPE\s+" beginRegion="doctype" />
+    <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:_-]*" beginRegion="pi" />
+    <RegExpr attribute="Element" context="Element" String="&lt;&name;" beginRegion="element" />
+    <IncludeRules context="FindEntityRefs" />
+    <DetectIdentifier />
+  </context>
+
+  <context name="FindEntityRefs" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+    <AnyChar attribute="Error" context="#stay" String="&amp;&lt;" />
+  </context>
+
+  <context name="FindPEntityRefs" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="EntityRef" context="#stay" String="&entref;" />
+    <RegExpr attribute="PEntityRef" context="#stay" String="%&name;;" />
+    <AnyChar attribute="Error" context="#stay" String="&amp;%" />
+  </context>
+
+
+  <context name="Comment" attribute="Comment" lineEndContext="#stay">
+    <DetectSpaces />
+    <StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment" />
+    <RegExpr attribute="Error" context="#stay" String="-(-(?!-&gt;))+" />
+    <IncludeRules context="##Alerts" />
+    <DetectIdentifier />
+  </context>
+
+  <context name="PI" attribute="Normal Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Processing Instruction" context="#pop" char="?" char1="&gt;" endRegion="pi" />
+  </context>
+
+  <context name="Doctype" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="&gt;" endRegion="doctype" />
+    <DetectChar attribute="Doctype" context="Doctype Internal Subset" char="[" beginRegion="int_subset" />
+  </context>
+
+  <context name="Doctype Internal Subset" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
+    <RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
+    <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
+    <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:_-]*" beginRegion="pi" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="Doctype Markupdecl" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Doctype" context="#pop" char="&gt;" />
+    <DetectChar attribute="Value" context="Doctype Markupdecl DQ" char="&quot;" />
+    <DetectChar attribute="Value" context="Doctype Markupdecl SQ" char="&apos;" />
+  </context>
+
+  <context name="Doctype Markupdecl DQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop" char="&quot;" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="Doctype Markupdecl SQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop" char="&apos;" />
+    <IncludeRules context="FindPEntityRefs" />
+  </context>
+
+  <context name="Element" attribute="Normal Text" lineEndContext="#stay">
+    <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="element" />
+    <DetectChar attribute="Element" context="El Content" char="&gt;" />
+    <RegExpr attribute="Attribute" context="Attribute" String="^&name;" />
+    <RegExpr attribute="Attribute" context="Attribute" String="\s+&name;" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="El Content" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="Element" context="El End" String="&lt;/&name;" />
+    <IncludeRules context="FindXML" />
+  </context>
+
+  <context name="El End" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Element" context="#pop#pop#pop" char="&gt;" endRegion="element" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="Attribute" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Attribute" context="Value" char="=" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="Value" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="Value DQ" char="&quot;" />
+    <DetectChar attribute="Value" context="Value SQ" char="&apos;" />
+    <RegExpr attribute="Error" context="#stay" String="\S" />
+  </context>
+
+  <context name="Value DQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop#pop#pop" char="&quot;" />
+    <IncludeRules context="FindEntityRefs" />
+  </context>
+
+  <context name="Value SQ" attribute="Value" lineEndContext="#stay">
+    <DetectChar attribute="Value" context="#pop#pop#pop" char="&apos;" />
+    <IncludeRules context="FindEntityRefs" />
+  </context>
+
+  <context name="CDATA" attribute="Normal Text" lineEndContext="#stay">
+     <StringDetect attribute="CDATA" context="#pop" String="]]&gt;" endRegion="cdata" />
+     <StringDetect attribute="EntityRef" context="#stay" String="]]&amp;gt;" />
+     <DetectSpaces/>
+     <StringDetect attribute="Region Marker" context="region_marker" String="//BEGIN" beginRegion="Region1"/>
+     <StringDetect attribute="Region Marker" context="region_marker" String="//END" endRegion="Region1"/>
+     <keyword attribute="Keyword" context="#stay" String="keywords" />
+     <keyword attribute="Function" context="#stay" String="functions" />
+     <keyword attribute="Objects" context="#stay" String="objects" />
+     <keyword attribute="Math" context="#stay" String="math" />
+     <keyword attribute="Events" context="#stay" String="events" />
+     <keyword attribute="Data Type" context="#stay" String="methods" />
+     <DetectIdentifier/>
+     <Float attribute="Float" context="#stay" />
+     <Int attribute="Decimal" context="#stay" />
+     <DetectChar attribute="String" context="String" char="&quot;"/>
+     <DetectChar attribute="String" context="String 1" char="'"/>
+     <Detect2Chars attribute="Comment" context="JSComment" char="/" char1="/"/>
+     <Detect2Chars attribute="Comment" context="Multi/inline Comment" char="/" char1="*" beginRegion="Comment"/>
+     <RegExpr attribute="Normal Text" context="(Internal regex catch)" String="[=?:]" />
+     <RegExpr attribute="Normal Text" context="(Internal regex catch)" String="\(" />
+     <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
+     <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
+     <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;+,-/.*&lt;=&gt;?[]|~^&#59;"/>
+  </context>
+  
+  <context attribute="String" lineEndContext="#pop" name="String">
+     <DetectIdentifier/>
+     <HlCStringChar attribute="String Char" context="#stay"/>
+     <DetectChar attribute="String" context="#pop" char="&quot;"/>
+  </context>
+  <context attribute="String Char" lineEndContext="#pop" name="String 1">
+     <DetectIdentifier/>
+     <DetectChar attribute="String" context="String" char="&quot;"/>
+     <DetectChar attribute="String Char" context="#pop" char="'"/>
+  </context>
+
+  <context attribute="Comment" lineEndContext="#pop" name="JSComment">
+     <DetectSpaces />
+     <IncludeRules context="##Alerts" />
+     <DetectIdentifier />
+  </context>
+  <context attribute="Comment" lineEndContext="#stay" name="Multi/inline Comment">
+     <IncludeRules context="##Alerts" />
+     <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+  </context>
+  
+  <context attribute="Regular Expression" lineEndContext="#stay" name="Regular Expression">
+     <RegExpr attribute="Regular Expression" context="#pop#pop#pop" String="/[ig]{0,2}" />
+     <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\{[\d, ]+\}" />
+     <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\\[bB]" />
+     <RegExpr attribute="Pattern Character Class" context="#stay" String="\\[nrtvfDdSsWw]" />
+     <DetectChar attribute="Pattern Character Class" context="(charclass caret first check)" char="[" />
+     <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\\." />
+     <RegExpr attribute="Pattern Internal Operator" context="#stay" String="\$(?=/)" />
+     <AnyChar attribute="Pattern Internal Operator" context="#stay" String="?+*()|" />
+  </context>
+  <context attribute="Normal Text" lineEndContext="#stay" name="(Internal regex catch)" fallthrough="true" fallthroughContext="#pop">
+     <RegExpr attribute="Normal Text" context="#stay" String="\s*" />
+     <RegExpr attribute="Regular Expression" context="#pop" String="//(?=;)" />
+     <Detect2Chars attribute="Comment" context="JSComment" char="/" char1="/" />
+     <Detect2Chars attribute="Comment" context="Multi/inline Comment" char="/" char1="*" />
+     <DetectChar attribute="Regular Expression" context="(regex caret first check)" char="/" />
+  </context>
+  <context attribute="Pattern Character Class" lineEndContext="#stay" name="Regular Expression Character Class">
+     <RegExpr attribute="Pattern Character Class" context="#stay" String="\\[\[\]]" />
+     <DetectChar attribute="Pattern Character Class" context="#pop#pop" char="]" />
+  </context>
+  <context attribute="Pattern Internal Operator" lineEndContext="#pop" name="(regex caret first check)" fallthrough="true" fallthroughContext="Regular Expression">
+     <DetectChar attribute="Pattern Internal Operator" context="Regular Expression" char="^" />
+  </context>
+  <context attribute="Pattern Internal Operator" lineEndContext="#pop" name="(charclass caret first check)" fallthrough="true" fallthroughContext="Regular Expression Character Class">
+     <DetectChar attribute="Pattern Internal Operator" context="Regular Expression Character Class" char="^" />
+  </context>
+  
+  <context name="region_marker" attribute="Region Marker" lineEndContext="#pop" >
+     <DetectIdentifier />
+     <DetectSpaces />
+  </context>
+
+</contexts>
+<itemDatas>
+  <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" />
+  <itemData name="EntityRef" defStyleNum="dsDecVal" />
+  <itemData name="PEntityRef" defStyleNum="dsDecVal" />
+  <itemData name="Error" defStyleNum="dsError" />
+
+  <itemData name="Keyword"      defStyleNum="dsKeyword"/>
+  <itemData name="Function" defStyleNum="dsFunction"/>
+  <itemData name="Objects" defStyleNum="dsKeyword" color="#008000" selColor="#00ffff" bold="0" italic="0"/>
+  <itemData name="Math" defStyleNum="dsKeyword" color="#DBA716" selColor="#00ffff" bold="0" italic="0"/>
+  <itemData name="Events" defStyleNum="dsKeyword" color="#F766D5" selColor="#00ffff" bold="0" italic="0"/>
+  <itemData name="Data Type"    defStyleNum="dsDataType"/>
+  <itemData name="Decimal"      defStyleNum="dsDecVal"/>
+  <itemData name="Float"        defStyleNum="dsFloat"/>
+  <itemData name="Char"         defStyleNum="dsChar"/>
+  <itemData name="String"       defStyleNum="dsString"/>
+  <itemData name="String Char"  defStyleNum="dsChar"/>
+  <itemData name="Comment"      defStyleNum="dsComment"/>
+  <itemData name="Symbol"       defStyleNum="dsNormal"/>
+  <itemData name="Regular Expression" defStyleNum="dsOthers"   />
+  <itemData name="Pattern Internal Operator" defStyleNum="dsFloat" />
+  <itemData name="Pattern Character Class" defStyleNum="dsBaseN" />
+  <itemData name="Region Marker" defStyleNum="dsRegionMarker" />
+</itemDatas>
+
+</highlighting>
+<general>
+  <comments>
+    <comment name="multiLine" start="&lt;!--" end="--&gt;" />
+    <comment name="singleLine" start="//" />
+    <comment name="multiLine" start="/*" end="*/" />
+  </comments>
+  <indentation mode="xml" />
+  <keywords casesensitive="1" />
+</general>
+</language>
diff --git a/xml/yacc.xml b/xml/yacc.xml
new file mode 100644
--- /dev/null
+++ b/xml/yacc.xml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!--
+========================================================================
+YACC.XML supports syntax highlighting for Yacc/Bison source under Kate.
+
+Copyright (C) 2004, Jan Villat <jan.villat@net2000.ch>
+This code is released under the LGPL as part of kdelibs/kate.
+========================================================================
+
+
+== UPDATE HISTORY ==
+2007-10-01 // Sebastian Pipping <webmaster@hartwork.org>
+
+  Added: Extension "*.yy" for Bison
+
+2004-05-26 // Jan Villat <jan.villat@net2000.ch>
+
+  YACC.XML 1.00 - First released.
+
+
+== TODO ==
+- Add a mime type (cannot find it !?)
+
+
+========================================================================
+-->
+<language name="Yacc/Bison" version="3" kateversion="2.4" section="Sources" extensions="*.y;*.yy" author="Jan Villat (jan.villat@net2000.ch)" license="LGPL">
+
+<highlighting>
+<contexts>
+  <context name="Pre Start" attribute="Normal Text" lineEndContext="#stay">
+    <IncludeRules context="Comment" />
+    <DetectSpaces />
+    <Detect2Chars attribute="Content-Type Delimiter" context="C Declarations" char="%" char1="{" beginRegion="cdeclarations" column="0" />
+    <RegExpr attribute="Normal Text" context="Declarations" String="." beginRegion="declarations" lookAhead="true" />
+  </context>
+
+  <context name="C Declarations" attribute="Normal Text" lineEndContext="#stay">
+    <IncludeRules context="Comment" />
+    <Detect2Chars attribute="Content-Type Delimiter" context="#pop" char="%" char1="}" endRegion="cdeclarations" column="0" />
+    <IncludeRules context="##C++" />
+  </context>
+
+  <context name="Declarations" attribute="Normal Text" lineEndContext="#stay">
+    <IncludeRules context="Comment" />
+    <StringDetect attribute="Directive" context="Union Start" String="%union" />
+    <Detect2Chars attribute="Content-Type Delimiter" context="Rules" char="%" char1="%" beginRegion="rules" endRegion="declarations" />
+
+    <!-- not sure that strict yacc allows that ... but it is commonly used -->
+    <Detect2Chars attribute="Content-Type Delimiter" context="C Declarations" char="%" char1="{" beginRegion="cdeclarations" column="0" />
+
+    <DetectChar attribute="Directive" context="Percent Command" char="%" />
+  </context>
+
+  <context name="Union Start" attribute="Normal Text" lineEndContext="#stay">
+    <IncludeRules context="Comment" />
+    <DetectSpaces />
+    <DetectChar attribute="Normal Text" context="Union In" char="{" beginRegion="union" />
+    <RegExpr attribute="Alert" context="#pop" String="." />
+  </context>
+  <context name="Union In" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Normal Text" context="Union InIn" char="{" />
+    <DetectChar attribute="Normal Text" context="#pop#pop" char="}" endRegion="union" />
+    <IncludeRules context="##C++" />
+  </context>
+  <context name="Union InIn" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Normal Text" context="Union InIn" char="{" />
+    <DetectChar attribute="Normal Text" context="#pop" char="}" />
+    <IncludeRules context="##C++" />
+  </context>
+
+  <context name="Rules" attribute="Rule" lineEndContext="#stay">
+    <IncludeRules context="Comment" />
+    <Detect2Chars attribute="Content-Type Delimiter" context="User Code" char="%" char1="%" beginRegion="code" endRegion="rules" />
+    <DetectChar attribute="Normal Text" context="Rule In" char=":" beginRegion="rule" />
+  </context>
+
+  <context name="Rule In" attribute="Definition" lineEndContext="#stay">
+    <IncludeRules context="Comment" />
+    <DetectChar attribute="Normal Text" context="#pop" char=";" endRegion="rule" />
+    <DetectChar attribute="Normal Text" context="Normal C Bloc" char="{" beginRegion="bloc" />
+    <DetectChar attribute="Normal Text" context="#stay" char="|" />
+    <IncludeRules context="StringOrChar" />
+  </context>
+
+  <context name="User Code" attribute="Normal Text" lineEndContext="#stay">
+    <IncludeRules context="##C++" />
+  </context>
+
+  <context name="Percent Command" attribute="Directive" lineEndContext="#pop">
+    <IncludeRules context="Comment" />
+    <RegExpr attribute="Normal Text" context="Percent Command In" String="\W" lookAhead="true" />
+  </context>
+  <context name="Percent Command In" attribute="Normal Text" lineEndContext="#pop#pop">
+    <IncludeRules context="StringOrChar" />
+    <DetectChar attribute="Data Type" context="PC type" char="&lt;" />
+  </context>
+  <context name="PC type" attribute="Data Type" lineEndContext="#pop#pop#pop">
+    <DetectChar attribute="Data Type" context="#pop" char="&gt;" />
+  </context>
+
+  <context name="Comment" attribute="Comment" lineEndContext="#stay">
+    <Detect2Chars attribute="Comment" context="CommentStar" char="/" char1="*" />
+    <!-- not sure that strict yacc allows that ... but I saw it in some sources ... -->
+    <Detect2Chars attribute="Comment" context="CommentSlash" char="/" char1="/" />
+  </context>
+  <context name="CommentStar" attribute="Comment" lineEndContext="#stay">
+    <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
+  </context>
+  <context name="CommentSlash" attribute="Comment" lineEndContext="#stay">
+    <RegExpr attribute="Comment" context="#pop" String="[^\\]$" />
+  </context>
+
+  <context name="StringOrChar" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="String Char" context="Char" char="'" />
+    <DetectChar attribute="String" context="String" char="&quot;" />
+  </context>
+  <context name="String" attribute="String" lineEndContext="#pop">
+    <RegExpr attribute="Backslash Code" context="#stay" String="\\." />
+    <DetectChar attribute="String" context="#pop" char="&quot;" />
+  </context>
+  <context name="Char" attribute="String Char" lineEndContext="#pop">
+    <RegExpr attribute="Backslash Code" context="#stay" String="\\." />
+    <DetectChar attribute="String Char" context="#pop" char="'" />
+  </context>
+
+  <context name="Normal C Bloc" attribute="Normal Text" lineEndContext="#stay">
+    <DetectChar attribute="Normal Text" context="Normal C Bloc" char="{" beginRegion="bloc" />
+    <DetectChar attribute="Normal Text" context="#pop" char="}" endRegion="bloc" />
+    <IncludeRules context="##C++" />
+    <DetectChar attribute="Directive" context="Dol" char="$" />
+  </context>
+  <context name="Dol" attribute="Normal Text" fallthrough="true" fallthroughContext="DolEnd" lineEndContext="#stay">
+    <RegExpr attribute="Data Type" context="DolEnd" String="&lt;[^&gt;]+&gt;" />
+  </context>
+  <context name="DolEnd" attribute="Normal Text" lineEndContext="#stay">
+    <RegExpr attribute="Directive" context="#pop#pop" String="\d+" />
+    <DetectChar attribute="Directive" context="#pop#pop" char="$" />
+  </context>
+</contexts>
+
+<itemDatas>
+  <itemData name="Normal Text" defStyleNum="dsNormal" />
+  <itemData name="Definition" defStyleNum="dsNormal" />
+  <itemData name="Comment" defStyleNum="dsComment" />
+  <itemData name="Content-Type Delimiter" defStyleNum="dsBaseN" bold="1" />
+  <itemData name="Directive" defStyleNum="dsKeyword"/>
+  <itemData name="Rule" defStyleNum="dsString" />
+  <itemData name="Backslash Code" defStyleNum="dsString" bold="1" />
+  <itemData name="Alert" defStyleNum="dsAlert" />
+  <itemData name="String" defStyleNum="dsString"/>
+  <itemData name="String Char" defStyleNum="dsChar"/>
+  <itemData name="Data Type" defStyleNum="dsDataType"/>
+</itemDatas>
+
+</highlighting>
+<general>
+  <comments>
+    <comment name="multiLine" start="/*" end="*/" />
+  </comments>
+</general>
+</language>
+<!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/yaml.xml b/xml/yaml.xml
new file mode 100644
--- /dev/null
+++ b/xml/yaml.xml
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<!-- Author: Dr Orlovsky MA <maxim@orlovsky.info> //-->
+<language name="YAML" version="3" kateversion="5.0" section="Markup"
+          extensions="*.yaml;*.yml" mimetype="text/yaml"
+          author="Dr Orlovsky MA (dr.orlovsky@gmail.com)" license="LGPL">
+  <highlighting>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="normal" >
+        <RegExpr attribute="Document Header" context="header" String="^---"/>
+        <RegExpr attribute="End of Document" context="EOD" String="^\.\.\.$"/>
+        <RegExpr attribute="Directive" context="directive" String="^%"/>
+
+        <DetectSpaces/>
+        <DetectChar attribute="Comment" context="comment" char="#" />
+
+        <DetectChar attribute="Operator" firstNonSpace="true"  context="dash" char="-" />
+
+        <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />
+        <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />
+
+        <RegExpr attribute="Data Types" firstNonSpace="true" context="#stay" String="!!\S+" />
+        <RegExpr attribute="Alias" firstNonSpace="true" context="#stay" String="&amp;\S+" />
+        <RegExpr attribute="Reference" firstNonSpace="true" context="#stay" String="\*\S+" />
+
+        <RegExpr attribute="Key" context="attribute-pre" String="\??\s*[^&quot;'#-][^:#]*:"/>
+        <RegExpr attribute="Key" context="attribute-pre" String="\??\s*&quot;[^&quot;#]+&quot;\s*:"/>
+        <RegExpr attribute="Key" context="attribute-pre" String="\??\s*'[^'#]+'\s*:"/>
+
+        <DetectChar attribute="String" context="string" char="'" beginRegion="String" />
+        <DetectChar attribute="String" context="stringx" char="&quot;" beginRegion="String" />
+      </context>
+
+      <context attribute="List" lineEndContext="#pop" name="dash">
+        <DetectSpaces/>
+        <DetectChar attribute="Comment" context="comment" char="#" />
+        <RegExpr attribute="Data Types" context="#stay" String="null$" />
+        <RegExpr attribute="Data Types" context="#stay" String="!!\S+" />
+        <RegExpr attribute="Alias" context="#stay" String="&amp;\S+" />
+        <RegExpr attribute="Reference" context="#stay" String="\*\S+" />
+        <RegExpr attribute="Normal Text" lookAhead="true" context="#pop" String="." />
+      </context>
+
+      <context attribute="Document Header" lineEndContext="#pop" name="header">
+        <DetectChar attribute="Comment" context="comment" char="#" />
+      </context>
+
+      <context attribute="End of Document" lineEndContext="#stay" name="EOD">
+      </context>
+
+      <context attribute="Directive" lineEndContext="#pop" name="directive">
+      </context>
+
+      <context attribute="Attribute" lineEndContext="#pop#pop" name="attribute">
+        <DetectChar attribute="Comment" context="comment" char="#" />
+      </context>
+
+      <context attribute="Attribute" lineEndContext="#stay" name="attribute-inline">
+        <DetectChar attribute="Operator" context="#pop#pop" char="," />
+        <DetectChar attribute="Operator" context="#pop#pop" lookAhead="true" char="}" />
+        <DetectChar attribute="Comment" context="comment" char="#" />
+      </context>
+
+      <context attribute="Attribute" lineEndContext="#pop" name="attribute-pre">
+        <DetectSpaces/>
+        <DetectChar attribute="Comment" context="comment" char="#" />
+        <RegExpr attribute="Data Types" context="#stay" String="null$" />
+        <RegExpr attribute="Data Types" context="#stay" String="!!\S+" />
+        <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />
+        <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />
+        <DetectChar attribute="String" context="attribute-string" char="'" beginRegion="String" />
+        <DetectChar attribute="String" context="attribute-stringx" char="&quot;" beginRegion="String" />
+        <RegExpr attribute="Alias" context="attribute" String="&amp;\S+" />
+        <RegExpr attribute="Reference" context="attribute" String="\*\S+" />
+        <RegExpr attribute="Attribute" context="attribute" String="." />
+      </context>
+
+      <context attribute="Attribute" lineEndContext="#pop" name="attribute-pre-inline">
+        <DetectSpaces/>
+        <DetectChar attribute="Comment" context="comment" char="#" />
+
+        <StringDetect attribute="Data Types" context="#stay" String="null" />
+        <RegExpr attribute="Data Types" context="#stay" String="!!\S+" />
+        <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />
+        <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />
+        <DetectChar attribute="String" context="attribute-string-inline" char="'" beginRegion="String" />
+        <DetectChar attribute="String" context="attribute-stringx-inline" char="&quot;" beginRegion="String" />
+        <RegExpr attribute="Alias" context="attribute-inline" String="&amp;\S+" />
+        <RegExpr attribute="Reference" context="attribute-inline" String="\*\S+" />
+
+        <DetectChar attribute="Operator" context="#pop" char="," />
+        <DetectChar attribute="Operator" context="#pop" lookAhead="true" char="}" />
+        <RegExpr attribute="Attribute" context="attribute-inline" String="." />
+      </context>
+
+      <context attribute="List" lineEndContext="#stay" name="list">
+        <DetectSpaces/>
+        <DetectChar attribute="Comment" context="comment" char="#" />
+
+        <DetectChar attribute="Operator" context="#pop" char="]" endRegion="List" />
+
+        <RegExpr attribute="Key" context="attribute-pre" String="\??\s*[^&quot;'#-][^:#]*:"/>
+        <RegExpr attribute="Key" context="attribute-pre" String="\??\s*&quot;[^&quot;#]+&quot;\s*:"/>
+        <RegExpr attribute="Key" context="attribute-pre" String="\??\s*'[^'#]+'\s*:"/>
+
+        <StringDetect attribute="Data Types" context="#stay" String="null" />
+        <RegExpr attribute="Data Types" context="#stay" String="!!\S+" />
+        <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />
+        <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />
+        <RegExpr attribute="Alias" context="#stay" String="&amp;\S+" />
+        <RegExpr attribute="Reference" context="#stay" String="\*\S+" />
+        <DetectChar attribute="String" context="string" char="'" beginRegion="String" />
+        <DetectChar attribute="String" context="stringx" char="&quot;" beginRegion="String" />
+
+        <DetectChar attribute="Operator" context="#stay" char="," />
+      </context>
+
+      <context attribute="Hash" lineEndContext="#stay" name="hash">
+        <DetectSpaces/>
+        <DetectChar attribute="Comment" context="comment" char="#" />
+
+        <RegExpr attribute="Key" context="attribute-pre-inline" String="\??\s*[^&quot;'#-][^:#]*:"/>
+        <RegExpr attribute="Key" context="attribute-pre-inline" String="\??\s*&quot;[^&quot;#]+&quot;\s*:"/>
+        <RegExpr attribute="Key" context="attribute-pre-inline" String="\??\s*'[^'#]+'\s*:"/>
+
+        <DetectChar attribute="Operator" context="#pop" char="}" endRegion="Hash" />
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="attribute-string">
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="attribute-end" char="'" endRegion="String" />
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="attribute-stringx">
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="attribute-end" char="&quot;" endRegion="String" />
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="attribute-string-inline">
+          <DetectIdentifier />
+          <DetectChar attribute="String" context="attribute-end-inline" char="'" endRegion="String" />
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="attribute-stringx-inline">
+          <DetectIdentifier />
+          <DetectChar attribute="String" context="attribute-end-inline" char="&quot;" endRegion="String" />
+      </context>
+
+      <context attribute="Error" lineEndContext="#pop#pop#pop" name="attribute-end">
+      </context>
+
+      <context attribute="Error" lineEndContext="#pop#pop#pop" name="attribute-end-inline">
+          <RegExpr attribute="Normal Text" context="#stay" String="\s*"/>
+          <DetectChar attribute="String" context="#pop#pop#pop"  lookAhead="true" char="}"/>
+          <RegExpr attribute="Operator" context="#pop#pop#pop"  String=",\s"/>
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="string">
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="#pop" char="'" endRegion="String" />
+      </context>
+
+      <context attribute="String" lineEndContext="#stay" name="stringx">
+        <DetectIdentifier />
+        <DetectChar attribute="String" context="#pop" char="&quot;" endRegion="String" />
+      </context>
+
+      <context attribute="Comment" lineEndContext="#pop" name="comment">
+        <IncludeRules context="##Alerts" />
+        <IncludeRules context="##Modelines" />
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal" />
+      <itemData name="List" defStyleNum="dsNormal" />
+      <itemData name="Hash" defStyleNum="dsNormal" />
+      <itemData name="Comment" defStyleNum="dsComment" />
+      <itemData name="End of Document" defStyleNum="dsComment" />
+      <itemData name="Attribute" defStyleNum="dsAttribute" />
+      <itemData name="Document Header" defStyleNum="dsOthers" />
+      <itemData name="Data Types" defStyleNum="dsDataType" />
+      <itemData name="Alias" defStyleNum="dsDataType" />
+      <itemData name="Reference" defStyleNum="dsDataType" />
+      <itemData name="Key" defStyleNum="dsFunction" />
+      <itemData name="Directive" defStyleNum="dsOthers" />
+      <itemData name="Operator" defStyleNum="dsKeyword" />
+      <itemData name="String" defStyleNum="dsString" />
+      <itemData name="Error" defStyleNum="dsError" />
+    </itemDatas>
+  </highlighting>
+
+  <general>
+    <comments>
+      <comment name="singleLine" start="#" position="afterwhitespace" />
+    </comments>
+    <keywords casesensitive="1"/>
+  </general>
+</language>
diff --git a/xml/zsh.xml b/xml/zsh.xml
new file mode 100644
--- /dev/null
+++ b/xml/zsh.xml
@@ -0,0 +1,959 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+        <!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
+        <!ENTITY varname  "[A-Za-z_][A-Za-z0-9_]*">
+        <!ENTITY word     "[^|&amp;;()&lt;&gt;\s]+">    <!-- see man bash -->
+        <!ENTITY eos      "(?=($|\s))">                 <!-- eol or space following -->
+        <!ENTITY noword   "(?![\w$+-])">                <!-- no word, $, + or - following -->
+        <!ENTITY pathpart "([\w_@.&#37;*?+-]|\\ )">     <!-- valid character in a file name -->
+]>
+<language name="Zsh" version="1" kateversion="2.4" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Jonathan Kolberg (bulldog98@kubuntu-de.org)" license="LGPL">
+
+<!-- (c) 2011 by Jonathan Kolberg (bulldog98@kubuntu-de.org)
+  modified for zsh -->
+<!-- (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>
+    <list name="keywords">
+      <item> else </item>
+      <item> for </item>
+      <item> function </item>
+      <item> in </item>
+      <item> select </item>
+      <item> until </item>
+      <item> while </item>
+      <item> elif </item>
+      <item> then </item>
+      <item> set </item>
+    </list>
+
+<list name="builtins"><!-- see man zshbuiltins -->
+	<item> - </item>
+	<item> . </item>
+	<item> : </item>
+	<item> alias </item>
+	<item> autoload </item>
+	<item> bg </item>
+	<item> bindkey </item>
+	<item> break </item>
+	<item> builtin </item>
+	<item> bye </item>
+	<item> cap </item>
+	<item> cd </item>
+	<item> chdir </item>
+	<item> clone </item>
+	<item> command </item>
+	<item> comparguments </item>
+	<item> compcall </item>
+	<item> compctl </item>
+	<item> compdescribe </item>
+	<item> compfiles </item>
+	<item> compgroups </item>
+	<item> compquote </item>
+	<item> comptags </item>
+	<item> comptry </item>
+	<item> compvalues </item>
+	<item> continue </item>
+	<item> dirs </item>
+	<item> disable </item>
+	<item> disown </item>
+	<item> echo </item>
+	<item> echotc </item>
+	<item> echoti </item>
+	<item> emulate </item>
+	<item> enable </item>
+	<item> eval </item>
+	<item> exec </item>
+	<item> exit </item>
+	<item> false </item>
+	<item> fc </item>
+	<item> fg </item>
+	<item> functions </item>
+	<item> getcap </item>
+	<item> getopts </item>
+	<item> hash </item>
+	<item> history </item>
+	<item> jobs </item>
+	<item> kill </item>
+	<item> let </item>
+	<item> limit </item>
+	<item> log </item>
+	<item> logout </item>
+	<item> noglob </item>
+	<item> popd </item>
+	<item> print </item>
+	<item> printf </item>
+	<item> pushd </item>
+	<item> pushln </item>
+	<item> pwd </item>
+	<item> r </item>
+	<item> rehash </item>
+	<item> return </item>
+	<item> sched </item>
+	<item> set </item>
+	<item> setcap </item>
+	<item> setopt </item>
+	<item> shift </item>
+	<item> source </item>
+	<item> stat </item>
+	<item> suspend </item>
+	<item> test </item>
+	<item> times </item>
+	<item> trap </item>
+	<item> true </item>
+	<item> ttyctl </item>
+	<item> type </item>
+	<item> ulimit </item>
+	<item> umask </item>
+	<item> unalias </item>
+	<item> unfunction </item>
+	<item> unhash </item>
+	<item> unlimit </item>
+	<item> unset </item>
+	<item> unsetopt </item>
+	<item> vared </item>
+	<item> wait </item>
+	<item> whence </item>
+	<item> where </item>
+	<item> which </item>
+	<item> zcompile </item>
+	<item> zformat </item>
+	<item> zftp </item>
+	<item> zle </item>
+	<item> zmodload </item>
+	<item> zparseopts </item>
+	<item> zprof </item>
+	<item> zpty </item>
+	<item> zregexparse </item>
+	<item> zsocket </item>
+	<item> zstyle </item>
+	<item> ztcp </item>
+    </list>
+
+    <list name="builtins_var">
+	<item> declare </item>
+	<item> export </item>
+	<item> float </item>
+	<item> getln </item>
+	<item> integer </item>
+	<item> unset </item>
+	<item> declare </item>
+	<item> typeset </item>
+	<item> local </item>
+	<item> read </item>
+	<item> readonly </item>
+    </list>
+
+    <list name="unixcommands">
+      <!-- /bin -->
+      <item> arch </item>
+      <item> awk </item>
+      <item> bash </item>
+      <item> bunzip2 </item>
+      <item> bzcat </item>
+      <item> bzcmp </item>
+      <item> bzdiff </item>
+      <item> bzegrep </item>
+      <item> bzfgrep </item>
+      <item> bzgrep </item>
+      <item> bzip2 </item>
+      <item> bzip2recover </item>
+      <item> bzless </item>
+      <item> bzmore </item>
+      <item> cat </item>
+      <item> chattr </item>
+      <item> chgrp </item>
+      <item> chmod </item>
+      <item> chown </item>
+      <item> chvt </item>
+      <item> cp </item>
+      <item> date </item>
+      <item> dd </item>
+      <item> deallocvt </item>
+      <item> df </item>
+      <item> dir </item>
+      <item> dircolors </item>
+      <item> dmesg </item>
+      <item> dnsdomainname </item>
+      <item> domainname </item>
+      <item> du </item>
+      <item> dumpkeys </item>
+      <item> echo </item>
+      <item> ed </item>
+      <item> egrep </item>
+      <item> false </item>
+      <item> fgconsole </item>
+      <item> fgrep </item>
+      <item> fuser </item>
+      <item> gawk </item>
+      <item> getkeycodes </item>
+      <item> gocr </item>
+      <item> grep </item>
+      <item> groff </item>
+      <item> groups </item>
+      <item> gunzip </item>
+      <item> gzexe </item>
+      <item> gzip </item>
+      <item> hostname </item>
+      <item> igawk </item>
+      <item> install </item>
+      <item> kbd_mode </item>
+      <item> kbdrate </item>
+      <item> killall </item>
+      <item> last </item>
+      <item> lastb </item>
+      <item> link </item>
+      <item> ln </item>
+      <item> loadkeys </item>
+      <item> loadunimap </item>
+      <item> login </item>
+      <item> ls </item>
+      <item> lsattr </item>
+      <item> lsmod </item>
+      <item> lsmod.old </item>
+      <item> lzcat </item>
+      <item> lzcmp </item>
+      <item> lzdiff </item>
+      <item> lzegrep </item>
+      <item> lzfgrep </item>
+      <item> lzgrep </item>
+      <item> lzless </item>
+      <item> lzcat </item>
+      <item> lzma </item>
+      <item> lzmainfo </item>
+      <item> lzmore </item>
+      <item> mapscrn </item>
+      <item> mesg </item>
+      <item> mkdir </item>
+      <item> mkfifo </item>
+      <item> mknod </item>
+      <item> mktemp </item>
+      <item> more </item>
+      <item> mount </item>
+      <item> mv </item>
+      <item> nano </item>
+      <item> netstat </item>
+      <item> nisdomainname </item>
+      <item> nroff </item>
+      <item> openvt </item>
+      <item> pgawk </item>
+      <item> pidof </item>
+      <item> ping </item>
+      <item> ps </item>
+      <item> pstree </item>
+      <item> pwd </item>
+      <item> rbash </item>
+      <item> readlink </item>
+      <item> red </item>
+      <item> resizecons </item>
+      <item> rm </item>
+      <item> rmdir </item>
+      <item> run-parts </item>
+      <item> sash </item>
+      <item> sed </item>
+      <item> setfont </item>
+      <item> setkeycodes </item>
+      <item> setleds </item>
+      <item> setmetamode </item>
+      <item> setserial </item>
+      <item> sh </item>
+      <item> showkey </item>
+      <item> shred </item>
+      <item> sleep </item>
+      <item> ssed </item>
+      <item> stat </item>
+      <item> stty </item>
+      <item> su </item>
+      <item> sync </item>
+      <item> tar </item>
+      <item> tempfile </item>
+      <item> touch </item>
+      <item> troff </item>
+      <item> true </item>
+      <item> umount </item>
+      <item> uname </item>
+      <item> unicode_start </item>
+      <item> unicode_stop </item>
+      <item> unlink </item>
+      <item> unlzma </item>
+      <item> unxz </item>
+      <item> utmpdump </item>
+      <item> uuidgen </item>
+      <item> vdir </item>
+      <item> wall </item>
+      <item> wc </item>
+      <item> xz </item>
+      <item> xzcat </item>
+      <item> ypdomainname </item>
+      <item> zcat </item>
+      <item> zcmp </item>
+      <item> zdiff </item>
+      <item> zegrep </item>
+      <item> zfgrep </item>
+      <item> zforce </item>
+      <item> zgrep </item>
+      <item> zless </item>
+      <item> zmore </item>
+      <item> znew </item>
+      <item> zsh </item>
+
+      <!-- some from /usr/bin -->
+      <item> aclocal </item>
+      <item> aconnect </item>
+      <item> aplay </item>
+      <item> apm </item>
+      <item> apmsleep </item>
+      <item> apropos </item>
+      <item> ar </item>
+      <item> arecord </item>
+      <item> as </item>
+      <item> as86 </item>
+      <item> autoconf </item>
+      <item> autoheader </item>
+      <item> automake </item>
+      <item> awk </item>
+      <item> basename </item>
+      <item> bc </item>
+      <item> bison </item>
+      <item> c++ </item>
+      <item> cal </item>
+      <item> cat </item>
+      <item> cc </item>
+      <item> cdda2wav </item>
+      <item> cdparanoia </item>
+      <item> cdrdao </item>
+      <item> cd-read </item>
+      <item> cdrecord </item>
+      <item> chfn </item>
+      <item> chgrp </item>
+      <item> chmod </item>
+      <item> chown </item>
+      <item> chroot </item>
+      <item> chsh </item>
+      <item> clear </item>
+      <item> cmp </item>
+      <item> co </item>
+      <item> col </item>
+      <item> comm </item>
+      <item> cp </item>
+      <item> cpio </item>
+      <item> cpp </item>
+      <item> cut </item>
+      <item> dc </item>
+      <item> dd </item>
+      <item> df </item>
+      <item> diff </item>
+      <item> diff3 </item>
+      <item> dir </item>
+      <item> dircolors </item>
+      <item> directomatic </item>
+      <item> dirname </item>
+      <item> du </item>
+      <item> env </item>
+      <item> expr </item>
+      <item> fbset </item>
+      <item> file </item>
+      <item> find </item>
+      <item> flex </item>
+      <item> flex++ </item>
+      <item> fmt </item>
+      <item> free </item>
+      <item> ftp </item>
+      <item> funzip </item>
+      <item> fuser </item>
+      <item> g++ </item>
+      <item> gawk </item>
+      <item> gc </item>
+      <item> gcc </item>
+      <item> gdb </item>
+      <item> getent </item>
+      <item> getopt </item>
+      <item> gettext </item>
+      <item> gettextize </item>
+      <item> gimp </item>
+      <item> gimp-remote </item>
+      <item> gimptool </item>
+      <item> gmake </item>
+      <item> gs </item>
+      <item> head </item>
+      <item> hexdump </item>
+      <item> id </item>
+      <item> install </item>
+      <item> join </item>
+      <item> kill </item>
+      <item> killall </item>
+      <item> ld </item>
+      <item> ld86 </item>
+      <item> ldd </item>
+      <item> less </item>
+      <item> lex </item>
+      <item> ln </item>
+      <item> locate </item>
+      <item> lockfile </item>
+      <item> logname </item>
+      <item> lp </item>
+      <item> lpr </item>
+      <item> ls </item>
+      <item> lynx </item>
+      <item> m4 </item>
+      <item> make </item>
+      <item> man </item>
+      <item> mkdir </item>
+      <item> mknod </item>
+      <item> msgfmt </item>
+      <item> mv </item>
+      <item> namei </item>
+      <item> nasm </item>
+      <item> nawk </item>
+      <item> nice </item>
+      <item> nl </item>
+      <item> nm </item>
+      <item> nm86 </item>
+      <item> nmap </item>
+      <item> nohup </item>
+      <item> nop </item>
+      <item> od </item>
+      <item> passwd </item>
+      <item> patch </item>
+      <item> pcregrep </item>
+      <item> pcretest </item>
+      <item> perl </item>
+      <item> perror </item>
+      <item> pidof </item>
+      <item> pr </item>
+      <item> printf </item>
+      <item> procmail </item>
+      <item> prune </item>
+      <item> ps2ascii </item>
+      <item> ps2epsi </item>
+      <item> ps2frag </item>
+      <item> ps2pdf </item>
+      <item> ps2ps </item>
+      <item> psbook </item>
+      <item> psmerge </item>
+      <item> psnup </item>
+      <item> psresize </item>
+      <item> psselect </item>
+      <item> pstops </item>
+      <item> rcs </item>
+      <item> rev </item>
+      <item> rm </item>
+      <item> scp </item>
+      <item> sed </item>
+      <item> seq </item>
+      <item> setterm </item>
+      <item> shred </item>
+      <item> size </item>
+      <item> size86 </item>
+      <item> skill </item>
+      <item> slogin </item>
+      <item> snice </item>
+      <item> sort </item>
+      <item> sox </item>
+      <item> split </item>
+      <item> ssh </item>
+      <item> ssh-add </item>
+      <item> ssh-agent </item>
+      <item> ssh-keygen </item>
+      <item> ssh-keyscan </item>
+      <item> stat </item>
+      <item> strings </item>
+      <item> strip </item>
+      <item> sudo </item>
+      <item> suidperl </item>
+      <item> sum </item>
+      <item> tac </item>
+      <item> tail </item>
+      <item> tee </item>
+      <item> test </item>
+      <item> tr </item>
+      <item> uniq </item>
+      <item> unlink </item>
+      <item> unzip </item>
+      <item> updatedb </item>
+      <item> updmap </item>
+      <item> uptime </item>
+      <item> users </item>
+      <item> vmstat </item>
+      <item> w </item>
+      <item> wc </item>
+      <item> wget </item>
+      <item> whatis </item>
+      <item> whereis </item>
+      <item> which </item>
+      <item> who </item>
+      <item> whoami </item>
+      <item> write </item>
+      <item> xargs </item>
+      <item> yacc </item>
+      <item> yes </item>
+      <item> zip </item>
+      <item> zsoelim </item>
+
+      <!-- others -->
+      <item> dcop </item>
+      <item> kdialog </item>
+      <item> kfile </item>
+      <item> xhost </item>
+      <item> xmodmap </item>
+      <item> xset </item>
+    </list>
+
+
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Start">
+        <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" />
+      </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" />
+      </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;](?=#)" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="Comment">
+        <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;](?=#)" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="CommentParen">
+        <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;](?=#)" />
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="CommentBackq">
+        <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&eos;" 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 here-string -->
+        <RegExpr attribute="Redirection" context="#stay" String="\d*&lt;&lt;&lt;" />
+        <!-- handle here document -->
+        <StringDetect attribute="Redirection" context="HereDoc" String="&lt;&lt;" lookAhead="true" />
+        <!-- handle process subst -->
+        <RegExpr attribute="Redirection" context="ProcessSubst" String="[&lt;&gt;]\(" />
+        <!-- handle redirection -->
+        <RegExpr attribute="Redirection" context="#stay" String="([0-9]*(&gt;{1,2}|&lt;)(&amp;[0-9]+-?)?|&amp;&gt;|&gt;&amp;|[0-9]*&lt;&gt;)" />
+        <!-- handle &, &&, | and || -->
+        <RegExpr attribute="Control" context="#stay" String="([|&amp;])\1?" />
+        <!-- mark function definitions without function keyword -->
+        <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="\\[][;\\$`{}()|&amp;&lt;&gt;* ]" />
+        <RegExpr attribute="Keyword" context="#stay" String="\\$" />
+        <RegExpr attribute="Escape" context="#stay" String="\{(?!(\s|$))\S*\}" />
+        <RegExpr attribute="Path" context="#stay" String="&pathpart;*(?=/)" />
+        <RegExpr attribute="Path" context="#stay" String="~\w*" />
+        <RegExpr attribute="Path" context="#stay" String="/&pathpart;*(?=([\s/):;$`'&quot;]|$))" />
+        <!-- TODO: shell globs beside * and ? (in Path's) -->
+      </context>
+
+      <!-- FindStrings looks for single and double quoted strings, also with $-prefix -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindStrings">
+        <Detect2Chars attribute="Escape" context="#stay" char="\\" char1="'" />
+        <Detect2Chars attribute="Escape" context="#stay" char="\\" char1="&quot;" />
+        <DetectChar attribute="String SingleQ" context="StringSQ" char="'" />
+        <DetectChar attribute="String DoubleQ" context="StringDQ" char="&quot;" />
+        <Detect2Chars attribute="String SingleQ" context="StringEsc" char="$" char1="'" />
+        <Detect2Chars attribute="String Transl." context="StringDQ" char="$" char1="&quot;" />
+      </context>
+
+      <!-- FindSubstitutions goes after anything starting with $ and ` and their escapes -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindSubstitutions">
+        <RegExpr attribute="Variable" context="Subscript" String="\$&varname;\[" />
+        <RegExpr attribute="Variable" context="#stay" String="\$&varname;" />
+        <RegExpr attribute="Variable" context="#stay" String="\$[*@#?$!_0-9-]" />
+        <RegExpr attribute="Variable" context="#stay" String="\$\{[*@#?$!_0-9-]\}" />
+        <RegExpr attribute="Variable" context="#stay" String="\$\{#&varname;(\[[*@]\])?\}" />
+        <RegExpr attribute="Variable" context="#stay" String="\$\{!&varname;(\[[*@]\]|[*@])?\}" />
+        <RegExpr attribute="Variable" context="VarBrace" String="\$\{&varname;" />
+        <RegExpr attribute="Variable" context="VarBrace" String="\$\{[*@#?$!_0-9-](?=[:#%/=?+-])" />
+        <StringDetect attribute="Variable" context="ExprDblParenSubst" String="$((" beginRegion="expression" />
+        <StringDetect attribute="Redirection" context="SubstFile" String="$(&lt;" />
+        <StringDetect attribute="Variable" context="SubstCommand" String="$(" />
+        <DetectChar attribute="Backquote" context="SubstBackq" char="`" />
+        <RegExpr attribute="Escape" context="#stay" String="\\[`$\\]" />
+      </context>
+
+      <!-- FindTests finds operators valid in tests -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="FindTests">
+        <RegExpr attribute="Expression" context="#stay" String="-[abcdefghkprstuwxOGLSNozn](?=\s)"/>
+        <RegExpr attribute="Expression" context="#stay" String="-([no]t|ef)(?=\s)"/>
+        <RegExpr attribute="Expression" context="#stay" String="([!=]=?|[&gt;&lt;])(?=\s)"/>
+        <RegExpr attribute="Expression" context="#stay" String="-(eq|ne|[gl][te])(?=\s)"/>
+      </context>
+
+
+<!-- ====== These are the contexts that can be branched to ======= -->
+
+      <!-- ExprDblParen consumes an expression started in command mode till )) -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblParen">
+        <Detect2Chars attribute="Keyword" context="#pop" char=")" char1=")" endRegion="expression" />
+        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+        <IncludeRules context="FindMost" />
+      </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" />
+      </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" />
+      </context>
+
+      <!-- ExprBracket consumes an expression till ] -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="ExprBracket">
+        <RegExpr attribute="Builtin" context="#pop" String="\s\](?=($|[\s;|&amp;]))" endRegion="expression" />
+        <RegExpr attribute="Builtin" context="#pop" String="\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
+        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+        <IncludeRules context="FindTests" />
+        <IncludeRules context="FindMost" />
+      </context>
+
+      <!-- ExprDblBracket consumes an expression till ]] -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="ExprDblBracket">
+        <RegExpr attribute="Keyword" context="#pop" String="\s\]\](?=($|[\s;|&amp;]))" endRegion="expression" />
+        <RegExpr attribute="Keyword" context="#pop" String="\]\](?=($|[\s;|&amp;]))" endRegion="expression" column="0"/>
+        <DetectChar attribute="Normal Text" context="ExprSubParen" char="(" />
+        <IncludeRules context="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>
+
+      <!-- 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>
+
+      <!-- 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:,+_./-]" />
+      </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" />
+      </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="[" />
+        <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" />
+      </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>
+
+      <!-- VarName consumes spare variable names and assignments -->
+      <context attribute="Normal Text" lineEndContext="#pop" name="VarName" fallthrough="true" fallthroughContext="#pop">
+        <!-- handle command line options -->
+        <RegExpr attribute="Option" context="#stay" String="-[A-Za-z0-9]+" />
+        <RegExpr attribute="Option" context="#stay" String="--[a-z][A-Za-z0-9_-]*" />
+        <RegExpr attribute="Variable" context="#stay" String="\b&varname;" />
+        <DetectChar attribute="Variable" context="Subscript" char="[" />
+        <DetectChar attribute="Variable" context="Assign" char="=" />
+        <IncludeRules context="FindMost" />
+        <!-- stay here in spaces and other safe characters -->
+        <RegExpr attribute="Normal Text" context="#stay" String="[^]})|;`&amp;&gt;&lt;]" />
+      </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" />
+      </context>
+
+      <!-- StringSQ consumes anything till ' -->
+      <context attribute="String SingleQ" lineEndContext="#stay" name="StringSQ">
+        <DetectChar attribute="String SingleQ" context="#pop" char="'" />
+      </context>
+
+      <!-- StringDQ consumes anything till ", substitutes vars and expressions -->
+      <context attribute="String DoubleQ" lineEndContext="#stay" name="StringDQ">
+        <DetectChar attribute="String DoubleQ" context="#pop" char="&quot;" />
+        <RegExpr attribute="String Escape" context="#stay" String="\\[`&quot;\\$\n]" />
+        <IncludeRules context="FindSubstitutions" />
+      </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.)" />
+      </context>
+
+      <!-- VarBrace is called as soon as ${xxx is encoutered -->
+      <context attribute="Error" lineEndContext="#stay" name="VarBrace">
+        <DetectChar attribute="Variable" context="#pop" char="}" />
+        <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" />
+      </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" />
+      </context>
+
+      <!-- SubstBackq is called when a backquote is encountered -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="SubstBackq">
+        <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
+           the lonely closing parentheses that would otherwise disturb the expr matching -->
+      <context attribute="Normal Text" lineEndContext="#stay" name="Case">
+        <RegExpr attribute="Keyword" context="CaseIn" String="\sin\b" />
+        <IncludeRules context="FindMost" />
+      </context>
+
+      <!-- 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="(|" />
+        <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" />
+        <RegExpr attribute="Keyword" context="#pop" String="esac(?=$|[\s;)])" lookAhead="true" firstNonSpace="true" endRegion="caseexpr"/>
+        <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="HereDocIQ"  String="(&lt;&lt;-\s*&quot;(&word;)&quot;)" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*'(&word;)')" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocIQ"  String="(&lt;&lt;-\s*\\(&word;))" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocINQ" String="(&lt;&lt;-\s*(&word;))" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*&quot;(&word;)&quot;)" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*'(&word;)')" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocQ"   String="(&lt;&lt;\s*\\(&word;))" lookAhead="true" />
+        <RegExpr attribute="Redirection" context="HereDocNQ"  String="(&lt;&lt;\s*(&word;))" lookAhead="true" />
+        <StringDetect attribute="Redirection" context="#pop"  String="&lt;&lt;" /><!-- always met -->
+      </context>
+
+      <context attribute="Normal Text" lineEndContext="#pop" name="HereDocRemainder">
+        <IncludeRules context="FindAll" />
+      </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\b" 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\b" 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="^\t*%2\b" 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="^\t*%2\b" dynamic="true" column="0"/>
+        <IncludeRules context="FindSubstitutions" />
+      </context>
+
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text"	defStyleNum="dsNormal" />
+      <itemData name="Comment"		defStyleNum="dsComment" />
+      <itemData name="Keyword" 		defStyleNum="dsKeyword" />
+      <itemData name="Control" 		defStyleNum="dsKeyword" />
+      <itemData name="Builtin" 		defStyleNum="dsKeyword" color="#808" />
+      <itemData name="Command" 		defStyleNum="dsKeyword" color="#c0c" />
+      <itemData name="Redirection" 	defStyleNum="dsKeyword" color="#238" />
+      <itemData name="Escape" 		defStyleNum="dsDataType" />
+      <itemData name="String SingleQ" 	defStyleNum="dsString" />
+      <itemData name="String DoubleQ" 	defStyleNum="dsString" />
+      <itemData name="Backquote" 	defStyleNum="dsKeyword" />
+      <itemData name="String Transl." 	defStyleNum="dsString" />
+      <itemData name="String Escape" 	defStyleNum="dsDataType" />
+      <itemData name="Variable" 	defStyleNum="dsOthers" />
+      <itemData name="Expression" 	defStyleNum="dsOthers" />
+      <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="`"/>
+  </general>
+</language>
