diff --git a/ParseSyntaxFiles.hs b/ParseSyntaxFiles.hs
--- a/ParseSyntaxFiles.hs
+++ b/ParseSyntaxFiles.hs
@@ -384,6 +384,8 @@
     "SQL (MySQL)" -> "SqlMysql"
     "DoxygenLua" -> "Doxygenlua"
     "reStructuredText" -> "Restructuredtext"
+    "ISO C++" -> "Isocpp"
+    "GCCExtensions" -> "Gcc"
     x -> x
 
 listName :: String -> String
diff --git a/Text/Highlighting/Kate/Common.hs b/Text/Highlighting/Kate/Common.hs
--- a/Text/Highlighting/Kate/Common.hs
+++ b/Text/Highlighting/Kate/Common.hs
@@ -182,10 +182,15 @@
 
 compileRegex :: String -> KateParser Regex
 #ifdef _PCRE_LIGHT
-compileRegex regexpStr = return $ compile ('.' : convertOctal regexpStr) [anchored]
+compileRegex regexpStr = do
+  st <- getState
+  let opts = [anchored] + [caseless | not (synStCaseSensitive st)]
+  return $ compile ('.' : convertOctal regexpStr) opts
 #else
-compileRegex regexpStr =
-  case unsafePerformIO $ compile (compAnchored) (execNotEmpty)
+compileRegex regexpStr = do
+  st <- getState
+  let opts = compAnchored + if synStCaseSensitive st then 0 else compCaseless
+  case unsafePerformIO $ compile opts (execNotEmpty)
        ('.' : convertOctal regexpStr) of
         Left _  -> fail $ "Error compiling regex: " ++ show regexpStr
         Right r -> return r
diff --git a/Text/Highlighting/Kate/Syntax.hs b/Text/Highlighting/Kate/Syntax.hs
--- a/Text/Highlighting/Kate/Syntax.hs
+++ b/Text/Highlighting/Kate/Syntax.hs
@@ -48,12 +48,14 @@
 import qualified Text.Highlighting.Kate.Syntax.Erlang as Erlang
 import qualified Text.Highlighting.Kate.Syntax.Fortran as Fortran
 import qualified Text.Highlighting.Kate.Syntax.Fsharp as Fsharp
+import qualified Text.Highlighting.Kate.Syntax.Gcc as Gcc
 import qualified Text.Highlighting.Kate.Syntax.Gnuassembler as Gnuassembler
 import qualified Text.Highlighting.Kate.Syntax.Go as Go
 import qualified Text.Highlighting.Kate.Syntax.Haskell as Haskell
 import qualified Text.Highlighting.Kate.Syntax.Haxe as Haxe
 import qualified Text.Highlighting.Kate.Syntax.Html as Html
 import qualified Text.Highlighting.Kate.Syntax.Ini as Ini
+import qualified Text.Highlighting.Kate.Syntax.Isocpp as Isocpp
 import qualified Text.Highlighting.Kate.Syntax.Java as Java
 import qualified Text.Highlighting.Kate.Syntax.Javadoc as Javadoc
 import qualified Text.Highlighting.Kate.Syntax.Javascript as Javascript
@@ -117,11 +119,11 @@
 
 -- | List of supported languages.
 languages :: [String]
-languages = ["Actionscript","Ada","Alert","Alert_indent","Apache","Asn1","Asp","Awk","Bash","Bibtex","Boo","C","Changelog","Clojure","Cmake","Coffee","Coldfusion","Commonlisp","Cpp","Cs","Css","Curry","D","Diff","Djangotemplate","Doxygen","Doxygenlua","Dtd","Eiffel","Email","Erlang","Fortran","Fsharp","Gnuassembler","Go","Haskell","Haxe","Html","Ini","Java","Javadoc","Javascript","Json","Jsp","Julia","Latex","Lex","LiterateCurry","LiterateHaskell","Lua","Makefile","Mandoc","Markdown","Matlab","Maxima","Metafont","Mips","Modelines","Modula2","Modula3","Monobasic","Nasm","Noweb","Objectivec","Objectivecpp","Ocaml","Octave","Pascal","Perl","Php","Pike","Postscript","Prolog","Python","R","Relaxngcompact","Restructuredtext","Rhtml","Roff","Ruby","Rust","Scala","Scheme","Sci","Sed","Sgml","Sql","SqlMysql","SqlPostgresql","Tcl","Texinfo","Verilog","Vhdl","Xml","Xorg","Xslt","Xul","Yacc","Yaml"]
+languages = ["Actionscript","Ada","Alert","Alert_indent","Apache","Asn1","Asp","Awk","Bash","Bibtex","Boo","C","Changelog","Clojure","Cmake","Coffee","Coldfusion","Commonlisp","Cpp","Cs","Css","Curry","D","Diff","Djangotemplate","Doxygen","Doxygenlua","Dtd","Eiffel","Email","Erlang","Fortran","Fsharp","Gcc","Gnuassembler","Go","Haskell","Haxe","Html","Ini","Isocpp","Java","Javadoc","Javascript","Json","Jsp","Julia","Latex","Lex","LiterateCurry","LiterateHaskell","Lua","Makefile","Mandoc","Markdown","Matlab","Maxima","Metafont","Mips","Modelines","Modula2","Modula3","Monobasic","Nasm","Noweb","Objectivec","Objectivecpp","Ocaml","Octave","Pascal","Perl","Php","Pike","Postscript","Prolog","Python","R","Relaxngcompact","Restructuredtext","Rhtml","Roff","Ruby","Rust","Scala","Scheme","Sci","Sed","Sgml","Sql","SqlMysql","SqlPostgresql","Tcl","Texinfo","Verilog","Vhdl","Xml","Xorg","Xslt","Xul","Yacc","Yaml"]
 
 -- | List of language extensions.
 languageExtensions :: [(String, String)]
-languageExtensions = [("Actionscript", Actionscript.syntaxExtensions), ("Ada", Ada.syntaxExtensions), ("Alert", Alert.syntaxExtensions), ("Alert_indent", Alert_indent.syntaxExtensions), ("Apache", Apache.syntaxExtensions), ("Asn1", Asn1.syntaxExtensions), ("Asp", Asp.syntaxExtensions), ("Awk", Awk.syntaxExtensions), ("Bash", Bash.syntaxExtensions), ("Bibtex", Bibtex.syntaxExtensions), ("Boo", Boo.syntaxExtensions), ("C", C.syntaxExtensions), ("Changelog", Changelog.syntaxExtensions), ("Clojure", Clojure.syntaxExtensions), ("Cmake", Cmake.syntaxExtensions), ("Coffee", Coffee.syntaxExtensions), ("Coldfusion", Coldfusion.syntaxExtensions), ("Commonlisp", Commonlisp.syntaxExtensions), ("Cpp", Cpp.syntaxExtensions), ("Cs", Cs.syntaxExtensions), ("Css", Css.syntaxExtensions), ("Curry", Curry.syntaxExtensions), ("D", D.syntaxExtensions), ("Diff", Diff.syntaxExtensions), ("Djangotemplate", Djangotemplate.syntaxExtensions), ("Doxygen", Doxygen.syntaxExtensions), ("Doxygenlua", Doxygenlua.syntaxExtensions), ("Dtd", Dtd.syntaxExtensions), ("Eiffel", Eiffel.syntaxExtensions), ("Email", Email.syntaxExtensions), ("Erlang", Erlang.syntaxExtensions), ("Fortran", Fortran.syntaxExtensions), ("Fsharp", Fsharp.syntaxExtensions), ("Gnuassembler", Gnuassembler.syntaxExtensions), ("Go", Go.syntaxExtensions), ("Haskell", Haskell.syntaxExtensions), ("Haxe", Haxe.syntaxExtensions), ("Html", Html.syntaxExtensions), ("Ini", Ini.syntaxExtensions), ("Java", Java.syntaxExtensions), ("Javadoc", Javadoc.syntaxExtensions), ("Javascript", Javascript.syntaxExtensions), ("Json", Json.syntaxExtensions), ("Jsp", Jsp.syntaxExtensions), ("Julia", Julia.syntaxExtensions), ("Latex", Latex.syntaxExtensions), ("Lex", Lex.syntaxExtensions), ("LiterateCurry", LiterateCurry.syntaxExtensions), ("LiterateHaskell", LiterateHaskell.syntaxExtensions), ("Lua", Lua.syntaxExtensions), ("Makefile", Makefile.syntaxExtensions), ("Mandoc", Mandoc.syntaxExtensions), ("Markdown", Markdown.syntaxExtensions), ("Matlab", Matlab.syntaxExtensions), ("Maxima", Maxima.syntaxExtensions), ("Metafont", Metafont.syntaxExtensions), ("Mips", Mips.syntaxExtensions), ("Modelines", Modelines.syntaxExtensions), ("Modula2", Modula2.syntaxExtensions), ("Modula3", Modula3.syntaxExtensions), ("Monobasic", Monobasic.syntaxExtensions), ("Nasm", Nasm.syntaxExtensions), ("Noweb", Noweb.syntaxExtensions), ("Objectivec", Objectivec.syntaxExtensions), ("Objectivecpp", Objectivecpp.syntaxExtensions), ("Ocaml", Ocaml.syntaxExtensions), ("Octave", Octave.syntaxExtensions), ("Pascal", Pascal.syntaxExtensions), ("Perl", Perl.syntaxExtensions), ("Php", Php.syntaxExtensions), ("Pike", Pike.syntaxExtensions), ("Postscript", Postscript.syntaxExtensions), ("Prolog", Prolog.syntaxExtensions), ("Python", Python.syntaxExtensions), ("R", R.syntaxExtensions), ("Relaxngcompact", Relaxngcompact.syntaxExtensions), ("Restructuredtext", Restructuredtext.syntaxExtensions), ("Rhtml", Rhtml.syntaxExtensions), ("Roff", Roff.syntaxExtensions), ("Ruby", Ruby.syntaxExtensions), ("Rust", Rust.syntaxExtensions), ("Scala", Scala.syntaxExtensions), ("Scheme", Scheme.syntaxExtensions), ("Sci", Sci.syntaxExtensions), ("Sed", Sed.syntaxExtensions), ("Sgml", Sgml.syntaxExtensions), ("Sql", Sql.syntaxExtensions), ("SqlMysql", SqlMysql.syntaxExtensions), ("SqlPostgresql", SqlPostgresql.syntaxExtensions), ("Tcl", Tcl.syntaxExtensions), ("Texinfo", Texinfo.syntaxExtensions), ("Verilog", Verilog.syntaxExtensions), ("Vhdl", Vhdl.syntaxExtensions), ("Xml", Xml.syntaxExtensions), ("Xorg", Xorg.syntaxExtensions), ("Xslt", Xslt.syntaxExtensions), ("Xul", Xul.syntaxExtensions), ("Yacc", Yacc.syntaxExtensions), ("Yaml", Yaml.syntaxExtensions)]
+languageExtensions = [("Actionscript", Actionscript.syntaxExtensions), ("Ada", Ada.syntaxExtensions), ("Alert", Alert.syntaxExtensions), ("Alert_indent", Alert_indent.syntaxExtensions), ("Apache", Apache.syntaxExtensions), ("Asn1", Asn1.syntaxExtensions), ("Asp", Asp.syntaxExtensions), ("Awk", Awk.syntaxExtensions), ("Bash", Bash.syntaxExtensions), ("Bibtex", Bibtex.syntaxExtensions), ("Boo", Boo.syntaxExtensions), ("C", C.syntaxExtensions), ("Changelog", Changelog.syntaxExtensions), ("Clojure", Clojure.syntaxExtensions), ("Cmake", Cmake.syntaxExtensions), ("Coffee", Coffee.syntaxExtensions), ("Coldfusion", Coldfusion.syntaxExtensions), ("Commonlisp", Commonlisp.syntaxExtensions), ("Cpp", Cpp.syntaxExtensions), ("Cs", Cs.syntaxExtensions), ("Css", Css.syntaxExtensions), ("Curry", Curry.syntaxExtensions), ("D", D.syntaxExtensions), ("Diff", Diff.syntaxExtensions), ("Djangotemplate", Djangotemplate.syntaxExtensions), ("Doxygen", Doxygen.syntaxExtensions), ("Doxygenlua", Doxygenlua.syntaxExtensions), ("Dtd", Dtd.syntaxExtensions), ("Eiffel", Eiffel.syntaxExtensions), ("Email", Email.syntaxExtensions), ("Erlang", Erlang.syntaxExtensions), ("Fortran", Fortran.syntaxExtensions), ("Fsharp", Fsharp.syntaxExtensions), ("Gcc", Gcc.syntaxExtensions), ("Gnuassembler", Gnuassembler.syntaxExtensions), ("Go", Go.syntaxExtensions), ("Haskell", Haskell.syntaxExtensions), ("Haxe", Haxe.syntaxExtensions), ("Html", Html.syntaxExtensions), ("Ini", Ini.syntaxExtensions), ("Isocpp", Isocpp.syntaxExtensions), ("Java", Java.syntaxExtensions), ("Javadoc", Javadoc.syntaxExtensions), ("Javascript", Javascript.syntaxExtensions), ("Json", Json.syntaxExtensions), ("Jsp", Jsp.syntaxExtensions), ("Julia", Julia.syntaxExtensions), ("Latex", Latex.syntaxExtensions), ("Lex", Lex.syntaxExtensions), ("LiterateCurry", LiterateCurry.syntaxExtensions), ("LiterateHaskell", LiterateHaskell.syntaxExtensions), ("Lua", Lua.syntaxExtensions), ("Makefile", Makefile.syntaxExtensions), ("Mandoc", Mandoc.syntaxExtensions), ("Markdown", Markdown.syntaxExtensions), ("Matlab", Matlab.syntaxExtensions), ("Maxima", Maxima.syntaxExtensions), ("Metafont", Metafont.syntaxExtensions), ("Mips", Mips.syntaxExtensions), ("Modelines", Modelines.syntaxExtensions), ("Modula2", Modula2.syntaxExtensions), ("Modula3", Modula3.syntaxExtensions), ("Monobasic", Monobasic.syntaxExtensions), ("Nasm", Nasm.syntaxExtensions), ("Noweb", Noweb.syntaxExtensions), ("Objectivec", Objectivec.syntaxExtensions), ("Objectivecpp", Objectivecpp.syntaxExtensions), ("Ocaml", Ocaml.syntaxExtensions), ("Octave", Octave.syntaxExtensions), ("Pascal", Pascal.syntaxExtensions), ("Perl", Perl.syntaxExtensions), ("Php", Php.syntaxExtensions), ("Pike", Pike.syntaxExtensions), ("Postscript", Postscript.syntaxExtensions), ("Prolog", Prolog.syntaxExtensions), ("Python", Python.syntaxExtensions), ("R", R.syntaxExtensions), ("Relaxngcompact", Relaxngcompact.syntaxExtensions), ("Restructuredtext", Restructuredtext.syntaxExtensions), ("Rhtml", Rhtml.syntaxExtensions), ("Roff", Roff.syntaxExtensions), ("Ruby", Ruby.syntaxExtensions), ("Rust", Rust.syntaxExtensions), ("Scala", Scala.syntaxExtensions), ("Scheme", Scheme.syntaxExtensions), ("Sci", Sci.syntaxExtensions), ("Sed", Sed.syntaxExtensions), ("Sgml", Sgml.syntaxExtensions), ("Sql", Sql.syntaxExtensions), ("SqlMysql", SqlMysql.syntaxExtensions), ("SqlPostgresql", SqlPostgresql.syntaxExtensions), ("Tcl", Tcl.syntaxExtensions), ("Texinfo", Texinfo.syntaxExtensions), ("Verilog", Verilog.syntaxExtensions), ("Vhdl", Vhdl.syntaxExtensions), ("Xml", Xml.syntaxExtensions), ("Xorg", Xorg.syntaxExtensions), ("Xslt", Xslt.syntaxExtensions), ("Xul", Xul.syntaxExtensions), ("Yacc", Yacc.syntaxExtensions), ("Yaml", Yaml.syntaxExtensions)]
 
 -- | Returns a list of languages appropriate for the given file extension.
 languagesByExtension :: String -> [String]
@@ -137,7 +139,7 @@
 -- extension (if unique).
 -- The parsers read the input lazily and parse line by line;
 -- results are returned immediately.
--- Supported languages: @actionscript@, @ada@, @alert@, @alert_indent@, @apache@, @asn1@, @asp@, @awk@, @bash@, @bibtex@, @boo@, @c@, @changelog@, @clojure@, @cmake@, @coffee@, @coldfusion@, @commonlisp@, @cpp@, @cs@, @css@, @curry@, @d@, @diff@, @djangotemplate@, @doxygen@, @doxygenlua@, @dtd@, @eiffel@, @email@, @erlang@, @fortran@, @fsharp@, @gnuassembler@, @go@, @haskell@, @haxe@, @html@, @ini@, @java@, @javadoc@, @javascript@, @json@, @jsp@, @julia@, @latex@, @lex@, @literatecurry@, @literatehaskell@, @lua@, @makefile@, @mandoc@, @markdown@, @matlab@, @maxima@, @metafont@, @mips@, @modelines@, @modula2@, @modula3@, @monobasic@, @nasm@, @noweb@, @objectivec@, @objectivecpp@, @ocaml@, @octave@, @pascal@, @perl@, @php@, @pike@, @postscript@, @prolog@, @python@, @r@, @relaxngcompact@, @restructuredtext@, @rhtml@, @roff@, @ruby@, @rust@, @scala@, @scheme@, @sci@, @sed@, @sgml@, @sql@, @sqlmysql@, @sqlpostgresql@, @tcl@, @texinfo@, @verilog@, @vhdl@, @xml@, @xorg@, @xslt@, @xul@, @yacc@, @yaml@.
+-- Supported languages: @actionscript@, @ada@, @alert@, @alert_indent@, @apache@, @asn1@, @asp@, @awk@, @bash@, @bibtex@, @boo@, @c@, @changelog@, @clojure@, @cmake@, @coffee@, @coldfusion@, @commonlisp@, @cpp@, @cs@, @css@, @curry@, @d@, @diff@, @djangotemplate@, @doxygen@, @doxygenlua@, @dtd@, @eiffel@, @email@, @erlang@, @fortran@, @fsharp@, @gcc@, @gnuassembler@, @go@, @haskell@, @haxe@, @html@, @ini@, @isocpp@, @java@, @javadoc@, @javascript@, @json@, @jsp@, @julia@, @latex@, @lex@, @literatecurry@, @literatehaskell@, @lua@, @makefile@, @mandoc@, @markdown@, @matlab@, @maxima@, @metafont@, @mips@, @modelines@, @modula2@, @modula3@, @monobasic@, @nasm@, @noweb@, @objectivec@, @objectivecpp@, @ocaml@, @octave@, @pascal@, @perl@, @php@, @pike@, @postscript@, @prolog@, @python@, @r@, @relaxngcompact@, @restructuredtext@, @rhtml@, @roff@, @ruby@, @rust@, @scala@, @scheme@, @sci@, @sed@, @sgml@, @sql@, @sqlmysql@, @sqlpostgresql@, @tcl@, @texinfo@, @verilog@, @vhdl@, @xml@, @xorg@, @xslt@, @xul@, @yacc@, @yaml@.
 highlightAs :: String         -- ^ Language syntax (e.g. "haskell") or extension (e.g. "hs").
             -> String         -- ^ Source code to highlight
             -> [SourceLine]   -- ^ List of highlighted source lines
@@ -182,12 +184,14 @@
         "erlang" -> Erlang.highlight
         "fortran" -> Fortran.highlight
         "fsharp" -> Fsharp.highlight
+        "gcc" -> Gcc.highlight
         "gnuassembler" -> Gnuassembler.highlight
         "go" -> Go.highlight
         "haskell" -> Haskell.highlight
         "haxe" -> Haxe.highlight
         "html" -> Html.highlight
         "ini" -> Ini.highlight
+        "isocpp" -> Isocpp.highlight
         "java" -> Java.highlight
         "javadoc" -> Javadoc.highlight
         "javascript" -> Javascript.highlight
diff --git a/Text/Highlighting/Kate/Syntax/Alert.hs b/Text/Highlighting/Kate/Syntax/Alert.hs
--- a/Text/Highlighting/Kate/Syntax/Alert.hs
+++ b/Text/Highlighting/Kate/Syntax/Alert.hs
@@ -1,5 +1,5 @@
 {- This module was generated from data in the Kate syntax
-   highlighting file alert.xml, version 1.08, by Dominik Haumann (dhdev@gmx.de) -}
+   highlighting file alert.xml, version 1.09, by Dominik Haumann (dhdev@gmx.de) -}
 
 module Text.Highlighting.Kate.Syntax.Alert
           (highlight, parseExpression, syntaxName, syntaxExtensions)
@@ -56,7 +56,7 @@
   return (attr, txt)
 
 list_alerts'5fhi = Set.fromList $ words $ "ALERT ATTENTION DANGER HACK SECURITY"
-list_alerts'5fmid = Set.fromList $ words $ "BUG FIXME DEPRECATED TASK TODO TBD WARNING NOLINT"
+list_alerts'5fmid = Set.fromList $ words $ "BUG FIXME DEPRECATED TASK TODO TBD WARNING CAUTION NOLINT"
 list_alerts'5flo = Set.fromList $ words $ "### NOTE NOTICE TEST TESTING"
 
 
diff --git a/Text/Highlighting/Kate/Syntax/Alert_indent.hs b/Text/Highlighting/Kate/Syntax/Alert_indent.hs
--- a/Text/Highlighting/Kate/Syntax/Alert_indent.hs
+++ b/Text/Highlighting/Kate/Syntax/Alert_indent.hs
@@ -1,15 +1,15 @@
 {- This module was generated from data in the Kate syntax
-   highlighting file alert_indent.xml, version 1.08, by Dominik Haumann (dhdev@gmx.de) -}
+   highlighting file alert_indent.xml, version 1.09, by Dominik Haumann (dhdev@gmx.de) -}
 
 module Text.Highlighting.Kate.Syntax.Alert_indent
           (highlight, parseExpression, syntaxName, syntaxExtensions)
 where
 import Text.Highlighting.Kate.Types
 import Text.Highlighting.Kate.Common
+import qualified Text.Highlighting.Kate.Syntax.Alert
 import Text.ParserCombinators.Parsec hiding (State)
 import Control.Monad.State
 import Data.Char (isSpace)
-import qualified Data.Set as Set
 
 -- | Full name of language.
 syntaxName :: String
@@ -55,13 +55,13 @@
                           , synStPrevNonspace = synStPrevNonspace st || not (all isSpace txt) }
   return (attr, txt)
 
-list_alerts = Set.fromList $ words $ "### ALERT BUG DANGER DEPRECATED FIXME HACK NOTE NOTICE SECURITY TASK TEST TESTING TODO WARNING"
 
 
 parseRules ("Alerts_indent","Normal Text") =
-  (((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_alerts >>= withAttribute AlertTok))
+  (((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts",""))))
    <|>
    (currentContext >>= \x -> guard (x == ("Alerts_indent","Normal Text")) >> pDefault >>= withAttribute NormalTok))
 
+parseRules ("Alerts", _) = Text.Highlighting.Kate.Syntax.Alert.parseExpression Nothing
 
 parseRules x = parseRules ("Alerts_indent","Normal Text") <|> fail ("Unknown context" ++ show x)
diff --git a/Text/Highlighting/Kate/Syntax/Bash.hs b/Text/Highlighting/Kate/Syntax/Bash.hs
--- a/Text/Highlighting/Kate/Syntax/Bash.hs
+++ b/Text/Highlighting/Kate/Syntax/Bash.hs
@@ -155,6 +155,7 @@
 regex_'5c'24'5c'7b'5b'2a'40'23'3f'24'21'5f0'2d9'2d'5d'5c'7d = compileRegex "\\$\\{[*@#?$!_0-9-]\\}"
 regex_'5c'24'5c'7b'23'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz0'2d9'5f'5d'2a'28'5c'5b'5b'2a'40'5d'5c'5d'29'3f'5c'7d = compileRegex "\\$\\{#[A-Za-z_][A-Za-z0-9_]*(\\[[*@]\\])?\\}"
 regex_'5c'24'5c'7b'21'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz0'2d9'5f'5d'2a'28'5c'5b'5b'2a'40'5d'5c'5d'7c'5b'2a'40'5d'29'3f'5c'7d = compileRegex "\\$\\{![A-Za-z_][A-Za-z0-9_]*(\\[[*@]\\]|[*@])?\\}"
+regex_'5c'24'5c'7b'23'5b0'2d9'5d'2b'5c'7d = compileRegex "\\$\\{#[0-9]+\\}"
 regex_'5c'24'5c'7b'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz0'2d9'5f'5d'2a = compileRegex "\\$\\{[A-Za-z_][A-Za-z0-9_]*"
 regex_'5c'24'5c'7b'5b'2a'40'23'3f'24'21'5f0'2d9'2d'5d'28'3f'3d'5b'3a'23'25'2f'3d'3f'2b'2d'5d'29 = compileRegex "\\$\\{[*@#?$!_0-9-](?=[:#%/=?+-])"
 regex_'5c'5c'5b'60'24'5c'5c'5d = compileRegex "\\\\[`$\\\\]"
@@ -442,6 +443,8 @@
    ((pRegExpr regex_'5c'24'5c'7b'23'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz0'2d9'5f'5d'2a'28'5c'5b'5b'2a'40'5d'5c'5d'29'3f'5c'7d >>= withAttribute OtherTok))
    <|>
    ((pRegExpr regex_'5c'24'5c'7b'21'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz0'2d9'5f'5d'2a'28'5c'5b'5b'2a'40'5d'5c'5d'7c'5b'2a'40'5d'29'3f'5c'7d >>= withAttribute OtherTok))
+   <|>
+   ((pRegExpr regex_'5c'24'5c'7b'23'5b0'2d9'5d'2b'5c'7d >>= withAttribute OtherTok))
    <|>
    ((pRegExpr regex_'5c'24'5c'7b'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz0'2d9'5f'5d'2a >>= withAttribute OtherTok) >>~ pushContext ("Bash","VarBrace"))
    <|>
diff --git a/Text/Highlighting/Kate/Syntax/C.hs b/Text/Highlighting/Kate/Syntax/C.hs
--- a/Text/Highlighting/Kate/Syntax/C.hs
+++ b/Text/Highlighting/Kate/Syntax/C.hs
@@ -71,6 +71,7 @@
 list_types = Set.fromList $ words $ "auto char const double float int long register restrict short signed static unsigned void volatile int8_t int16_t int32_t int64_t uint8_t uint16_t uint32_t uint64_t wchar_t _Imaginary _Complex _Bool"
 
 regex_'23'5cs'2aif'5cs'2b0'5cs'2a'24 = compileRegex "#\\s*if\\s+0\\s*$"
+regex_0b'5b01'5d'2b'5bul'5d'7b0'2c3'7d = compileRegex "0b[01]+[ul]{0,3}"
 regex_'23'5cs'2aif'28'3f'3adef'7cndef'29'3f'28'3f'3d'5cs'2b'5cS'29 = compileRegex "#\\s*if(?:def|ndef)?(?=\\s+\\S)"
 regex_'23'5cs'2aendif = compileRegex "#\\s*endif"
 regex_'23'5cs'2adefine'2e'2a'28'28'3f'3d'5c'5c'29'29 = compileRegex "#\\s*define.*((?=\\\\))"
@@ -107,6 +108,8 @@
    ((pHlCOct >>= withAttribute BaseNTok))
    <|>
    ((pHlCHex >>= withAttribute BaseNTok))
+   <|>
+   ((pRegExpr regex_0b'5b01'5d'2b'5bul'5d'7b0'2c3'7d >>= withAttribute BaseNTok))
    <|>
    (withChildren (pInt >>= withAttribute DecValTok) (((pString False "ULL" >>= withAttribute DecValTok))
                                                      <|>
diff --git a/Text/Highlighting/Kate/Syntax/Cmake.hs b/Text/Highlighting/Kate/Syntax/Cmake.hs
--- a/Text/Highlighting/Kate/Syntax/Cmake.hs
+++ b/Text/Highlighting/Kate/Syntax/Cmake.hs
@@ -1,5 +1,5 @@
 {- This module was generated from data in the Kate syntax
-   highlighting file cmake.xml, version 1.23, by Alexander Neundorf (neundorf@kde.org) -}
+   highlighting file cmake.xml, version 1.29, by Alexander Neundorf (neundorf@kde.org) -}
 
 module Text.Highlighting.Kate.Syntax.Cmake
           (highlight, parseExpression, syntaxName, syntaxExtensions)
@@ -8,7 +8,6 @@
 import Text.Highlighting.Kate.Common
 import qualified Text.Highlighting.Kate.Syntax.Alert
 import qualified Text.Highlighting.Kate.Syntax.Modelines
-import qualified Text.Highlighting.Kate.Syntax.Restructuredtext
 import Text.ParserCombinators.Parsec hiding (State)
 import Control.Monad.State
 import Data.Char (isSpace)
@@ -20,7 +19,7 @@
 
 -- | Filename extensions for this language.
 syntaxExtensions :: String
-syntaxExtensions = "CMakeLists.txt;*.cmake;"
+syntaxExtensions = "CMakeLists.txt;*.cmake;*.cmake.in"
 
 -- | Highlight source code using this syntax definition.
 highlight :: String -> [SourceLine]
@@ -59,8 +58,10 @@
       ("CMake","Command Args") -> return ()
       ("CMake","Macro Args") -> return ()
       ("CMake","Comment") -> (popContext) >> pEndLine
-      ("CMake","DocumentationBracketBlock") -> return ()
+      ("CMake","RST Documentation") -> return ()
+      ("CMake","Bracketed Comment") -> return ()
       ("CMake","String") -> return ()
+      ("CMake","Bracketed String") -> return ()
       _ -> return ()
     else return ()
 
@@ -70,15 +71,15 @@
                           , synStPrevNonspace = synStPrevNonspace st || not (all isSpace txt) }
   return (attr, txt)
 
-list_commands = Set.fromList $ words $ "add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command build_name cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile exec_program execute_process export export_library_dependencies file find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install install_files install_programs install_targets link_directories link_libraries list load_cache load_command macro make_directory mark_as_advanced math message option output_required_files project qt_wrap_cpp qt_wrap_ui remove remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string subdir_depends subdirs target_compile_definitions target_include_directories target_link_libraries try_compile try_run unset use_mangled_mesa utility_source variable_requires variable_watch while write_file"
+list_commands = Set.fromList $ words $ "add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command build_name cmake_host_system_information cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile exec_program execute_process export export_library_dependencies file find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install install_files install_programs install_targets link_directories link_libraries list load_cache load_command macro make_directory mark_as_advanced math message option output_required_files project qt_wrap_cpp qt_wrap_ui remove remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string subdir_depends subdirs target_compile_definitions target_compile_options target_include_directories target_link_libraries try_compile try_run unset use_mangled_mesa utility_source variable_requires variable_watch while write_file"
 list_itkvtk'5fcommands = Set.fromList $ words $ "itk_wrap_tcl vtk_make_instantiator vtk_wrap_java vtk_wrap_python vtk_wrap_tcl"
-list_special'5fargs = Set.fromList $ words $ "AFTER ALL ALPHABET AND APPEND APPEND_STRING ARCHIVE ARGS ASCII AUTHOR_WARNING BEFORE BRIEF_DOCS BUNDLE CACHE CACHED_VARIABLE CLEAR CMAKE_FIND_ROOT_PATH_BOTH CMAKE_FLAGS CODE COMMAND COMMAND_NAME COMMENT COMPARE COMPILE_DEFINITIONS COMPILE_OUTPUT_VARIABLE COMPILE_RESULT_VAR COMPONENT COMPONENTS CONFIG CONFIGS CONFIGURATION CONFIGURATIONS CONFIGURE COPY COPYONLY COPY_FILE CRLF DEFINED DEFINITION DEPENDS DESTINATION DIRECTORY DIRECTORY_PERMISSIONS DOC DOS DOWNLOAD ENV EQUAL ERROR_FILE ERROR_QUIET ERROR_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE ESCAPE_QUOTES EXACT EXCLUDE EXCLUDE_FROM_ALL EXISTS EXPECTED_HASH EXPECTED_MD5 EXPORT EXPR EXTRA_INCLUDE FATAL_ERROR FILE FILES FILES_MATCHING FILE_PERMISSIONS FIND FOLLOW_SYMLINKS FORCE FRAMEWORK FULL_DOCS FUNCTION GET GLOB GLOBAL GLOB_RECURSE GREATER GROUP_EXECUTE GROUP_READ GUID HEX HINTS IMPLICIT_DEPENDS IMPORTED IN INACTIVITY_TIMEOUT INCLUDE_INTERNALS INHERITED INPUT_FILE INSERT INSTALL INTERFACE IS_ABSOLUTE IS_DIRECTORY IS_NEWER_THAN IS_SYMLINK ITEMS LENGTH LENGTH_MAXIMUM LENGTH_MINIMUM LESS LF LIBRARY LIMIT LIMIT_COUNT LIMIT_INPUT LIMIT_OUTPUT LINK_INTERFACE_LIBRARIES LINK_LIBRARIES LINK_PRIVATE LINK_PUBLIC LISTS LOG MACOSX_BUNDLE MAIN_DEPENDENCY MAKE_DIRECTORY MATCH MATCHALL MATCHES MD5 MODULE NAME NAMELINK_ONLY NAMELINK_SKIP NAMES NAMESPACE NAMES_PER_DIR NEW NEWLINE_CONSUME NEWLINE_STYLE NOT NOTEQUAL NO_CMAKE_BUILDS_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PACKAGE_REGISTRY NO_CMAKE_PATH NO_CMAKE_SYSTEM_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_HEX_CONVERSION NO_MODULE NO_POLICY_SCOPE NO_SOURCE_PERMISSIONS NO_SYSTEM_ENVIRONMENT_PATH OBJECT OFFSET OLD ONLY_CMAKE_FIND_ROOT_PATH OPTIONAL OPTIONAL_COMPONENTS OR OUTPUT OUTPUT_DIRECTORY OUTPUT_FILE OUTPUT_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE OWNER_EXECUTE OWNER_READ OWNER_WRITE PACKAGE PARENT_SCOPE PATHS PATH_SUFFIXES PATH_TO_MESA PATTERN PERMISSIONS PLATFORM POLICY POP POST_BUILD PREORDER PRE_BUILD PRE_LINK PRIVATE PRIVATE_HEADER PROGRAM PROGRAMS PROGRAM_ARGS PROJECT_NAME PROPERTIES PROPERTY PUBLIC PUBLIC_HEADER PUSH QUIET RANDOM RANDOM_SEED RANGE READ READ_WITH_PREFIX REGEX REGULAR_EXPRESSION RELATIVE RELATIVE_PATH REMOVE REMOVE_AT REMOVE_DUPLICATES REMOVE_ITEM REMOVE_RECURSE RENAME REPLACE REQUIRED REQUIRED_VARIABLE1 REQUIRED_VARIABLE2 RESOURCE RESULT_VAR RESULT_VARIABLE RETURN_VALUE REVERSE RUNTIME RUNTIME_DIRECTORY RUN_OUTPUT_VARIABLE RUN_RESULT_VAR SCRIPT SEND_ERROR SET SHA1 SHA224 SHA256 SHA384 SHA512 SHARED SHOW_PROGRESS SORT SOURCE SOURCES STATIC STATUS STREQUAL STRGREATER STRINGS STRIP STRLESS SUBSTRING SYSTEM TARGET TARGETS TEST TEST_VARIABLE TIMEOUT TIMESTAMP TLS_CAINFO TLS_VERIFY TOLOWER TOUPPER TO_CMAKE_PATH TO_NATIVE_PATH TYPE UNIX UNIX_COMMAND UNKNOWN UPLOAD USE_SOURCE_PERMISSIONS UTC VALUE VARIABLE VERBATIM VERSION VERSION_EQUAL VERSION_GREATER VERSION_LESS WARNING WIN32 WINDOWS_COMMAND WORKING_DIRECTORY WRITE"
-list_extra'5fspecial'5fargs = Set.fromList $ words $ "PATH NAME EXT NAME_WE ABSOLUTE REALPATH FILEPATH STRING BOOL INTERNAL"
-list_properties = Set.fromList $ words $ "ABSTRACT ADDITIONAL_MAKE_CLEAN_FILES ADVANCED ALLOW_DUPLICATE_CUSTOM_TARGETS ARCHIVE_OUTPUT_DIRECTORY ARCHIVE_OUTPUT_NAME ATTACHED_FILES ATTACHED_FILES_ON_FAIL AUTOMOC AUTOMOC_MOC_OPTIONS BUILD_WITH_INSTALL_RPATH BUNDLE BUNDLE_EXTENSION CACHE_VARIABLES CLEAN_NO_CUSTOM COMPATIBLE_INTERFACE_BOOL COMPATIBLE_INTERFACE_STRING COMPILE_DEFINITIONS COMPILE_FLAGS COST DEBUG_CONFIGURATIONS DEBUG_POSTFIX DEFINE_SYMBOL DEFINITIONS DEPENDS DISABLED_FEATURES ENABLED_FEATURES ENABLED_LANGUAGES ENABLE_EXPORTS ENVIRONMENT EXCLUDE_FROM_ALL EXCLUDE_FROM_DEFAULT_BUILD EXTERNAL_OBJECT EchoString FAIL_REGULAR_EXPRESSION FIND_LIBRARY_USE_LIB64_PATHS FIND_LIBRARY_USE_OPENBSD_VERSIONING FOLDER FRAMEWORK Fortran_FORMAT Fortran_MODULE_DIRECTORY GENERATED GENERATOR_FILE_NAME GLOBAL_DEPENDS_DEBUG_MODE GLOBAL_DEPENDS_NO_CYCLES GNUtoMS HAS_CXX HEADER_FILE_ONLY HELPSTRING IMPLICIT_DEPENDS_INCLUDE_TRANSFORM IMPORTED IMPORTED_CONFIGURATIONS IMPORTED_IMPLIB IMPORTED_LINK_DEPENDENT_LIBRARIES IMPORTED_LINK_INTERFACE_LANGUAGES IMPORTED_LINK_INTERFACE_LIBRARIES IMPORTED_LINK_INTERFACE_MULTIPLICITY IMPORTED_LOCATION IMPORTED_NO_SONAME IMPORTED_SONAME IMPORT_PREFIX IMPORT_SUFFIX INCLUDE_DIRECTORIES INCLUDE_REGULAR_EXPRESSION INSTALL_NAME_DIR INSTALL_RPATH INSTALL_RPATH_USE_LINK_PATH INTERFACE_COMPILE_DEFINITIONS INTERFACE_INCLUDE_DIRECTORIES INTERFACE_POSITION_INDEPENDENT_CODE INTERPROCEDURAL_OPTIMIZATION IN_TRY_COMPILE KEEP_EXTENSION LABELS LANGUAGE LIBRARY_OUTPUT_DIRECTORY LIBRARY_OUTPUT_NAME LINKER_LANGUAGE LINK_DEPENDS LINK_DEPENDS_NO_SHARED LINK_DIRECTORIES LINK_FLAGS LINK_INTERFACE_LIBRARIES LINK_INTERFACE_MULTIPLICITY LINK_LIBRARIES LINK_SEARCH_END_STATIC LINK_SEARCH_START_STATIC LISTFILE_STACK LOCATION MACOSX_BUNDLE MACOSX_BUNDLE_INFO_PLIST MACOSX_FRAMEWORK_INFO_PLIST MACOSX_PACKAGE_LOCATION MACROS MEASUREMENT MODIFIED NO_SONAME OBJECT_DEPENDS OBJECT_OUTPUTS OSX_ARCHITECTURES OUTPUT_NAME PACKAGES_FOUND PACKAGES_NOT_FOUND PARENT_DIRECTORY PASS_REGULAR_EXPRESSION PDB_NAME PDB_OUTPUT_DIRECTORY POSITION_INDEPENDENT_CODE POST_INSTALL_SCRIPT PREDEFINED_TARGETS_FOLDER PREFIX PRE_INSTALL_SCRIPT PRIVATE_HEADER PROCESSORS PROJECT_LABEL PUBLIC_HEADER REPORT_UNDEFINED_PROPERTIES REQUIRED_FILES RESOURCE RESOURCE_LOCK RULE_LAUNCH_COMPILE RULE_LAUNCH_CUSTOM RULE_LAUNCH_LINK RULE_MESSAGES RUNTIME_OUTPUT_DIRECTORY RUNTIME_OUTPUT_NAME RUN_SERIAL SKIP_BUILD_RPATH SOURCES SOVERSION STATIC_LIBRARY_FLAGS STRINGS SUFFIX SYMBOLIC TARGET_ARCHIVES_MAY_BE_SHARED_LIBS TARGET_SUPPORTS_SHARED_LIBS TEST_INCLUDE_FILE TIMEOUT TYPE USE_FOLDERS VALUE VARIABLES VERSION VS_DOTNET_REFERENCES VS_GLOBAL_KEYWORD VS_GLOBAL_PROJECT_TYPES VS_KEYWORD VS_SCC_AUXPATH VS_SCC_LOCALPATH VS_SCC_PROJECTNAME VS_SCC_PROVIDER VS_WINRT_EXTENSIONS VS_WINRT_REFERENCES WILL_FAIL WIN32_EXECUTABLE WORKING_DIRECTORY WRAP_EXCLUDE __CMAKE_DELETE_CACHE_CHANGE_VARS_"
+list_special'5fargs = Set.fromList $ words $ "AFTER ALIAS ALL ALPHABET AND APPEND APPEND_STRING ARCHIVE ARGS ASCII AUTHOR_WARNING BEFORE BRIEF_DOCS BUNDLE CACHE CACHED_VARIABLE CLEAR CMAKE_FIND_ROOT_PATH_BOTH CMAKE_FLAGS CODE COMMAND COMMAND_NAME COMMENT COMPARE COMPILE_DEFINITIONS COMPILE_OUTPUT_VARIABLE COMPILE_RESULT_VAR COMPONENT COMPONENTS CONDITION CONFIG CONFIGS CONFIGURATION CONFIGURATIONS CONFIGURE CONTENT COPY COPYONLY COPY_FILE COPY_FILE_ERROR CRLF DEFINED DEFINITION DEPENDS DESTINATION DIRECTORY DIRECTORY_PERMISSIONS DOC DOS DOWNLOAD ENV EQUAL ERROR_FILE ERROR_QUIET ERROR_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE ESCAPE_QUOTES EXACT EXCLUDE EXCLUDE_FROM_ALL EXISTS EXPECTED_HASH EXPECTED_MD5 EXPORT EXPORT_LINK_INTERFACE_LIBRARIES EXPR EXTRA_INCLUDE FATAL_ERROR FILE FILES FILES_MATCHING FILE_PERMISSIONS FIND FOLLOW_SYMLINKS FORCE FRAMEWORK FULL_DOCS FUNCTION GENERATE GET GLOB GLOBAL GLOB_RECURSE GREATER GROUP_EXECUTE GROUP_READ GUID HEX HINTS IMPLICIT_DEPENDS IMPORTED IN INACTIVITY_TIMEOUT INCLUDES INCLUDE_INTERNALS INHERITED INPUT INPUT_FILE INSERT INSTALL INTERFACE IS_ABSOLUTE IS_DIRECTORY IS_NEWER_THAN IS_SYMLINK ITEMS LENGTH LENGTH_MAXIMUM LENGTH_MINIMUM LESS LF LIBRARY LIMIT LIMIT_COUNT LIMIT_INPUT LIMIT_OUTPUT LINK_INTERFACE_LIBRARIES LINK_LIBRARIES LINK_PRIVATE LINK_PUBLIC LISTS LOG MACOSX_BUNDLE MAIN_DEPENDENCY MAKE_C_IDENTIFIER MAKE_DIRECTORY MATCH MATCHALL MATCHES MD5 MODULE NAME NAMELINK_ONLY NAMELINK_SKIP NAMES NAMESPACE NAMES_PER_DIR NEW NEWLINE_CONSUME NEWLINE_STYLE NOT NOTEQUAL NO_CMAKE_BUILDS_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_FIND_ROOT_PATH NO_CMAKE_PACKAGE_REGISTRY NO_CMAKE_PATH NO_CMAKE_SYSTEM_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PATH NO_DEFAULT_PATH NO_HEX_CONVERSION NO_MODULE NO_POLICY_SCOPE NO_SOURCE_PERMISSIONS NO_SYSTEM_ENVIRONMENT_PATH OBJECT OFFSET OLD ONLY_CMAKE_FIND_ROOT_PATH OPTIONAL OPTIONAL_COMPONENTS OR OUTPUT OUTPUT_DIRECTORY OUTPUT_FILE OUTPUT_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE OWNER_EXECUTE OWNER_READ OWNER_WRITE PACKAGE PARENT_SCOPE PATHS PATH_SUFFIXES PATH_TO_MESA PATTERN PERMISSIONS PLATFORM POLICY POP POST_BUILD PREORDER PRE_BUILD PRE_LINK PRIVATE PRIVATE_HEADER PROGRAM PROGRAMS PROGRAM_ARGS PROJECT_NAME PROPERTIES PROPERTY PUBLIC PUBLIC_HEADER PUSH QUERY QUIET RANDOM RANDOM_SEED RANGE READ READ_WITH_PREFIX REGEX REGULAR_EXPRESSION RELATIVE RELATIVE_PATH REMOVE REMOVE_AT REMOVE_DUPLICATES REMOVE_ITEM REMOVE_RECURSE RENAME REPLACE REQUIRED REQUIRED_VARIABLE1 REQUIRED_VARIABLE2 RESOURCE RESULT RESULT_VAR RESULT_VARIABLE RETURN_VALUE REVERSE RUNTIME RUNTIME_DIRECTORY RUN_OUTPUT_VARIABLE RUN_RESULT_VAR SCRIPT SEND_ERROR SET SHA1 SHA224 SHA256 SHA384 SHA512 SHARED SHOW_PROGRESS SORT SOURCE SOURCES STATIC STATUS STREQUAL STRGREATER STRINGS STRIP STRLESS SUBSTRING SYSTEM TARGET TARGETS TEST TEST_VARIABLE TIMEOUT TIMESTAMP TLS_CAINFO TLS_VERIFY TOLOWER TOUPPER TO_CMAKE_PATH TO_NATIVE_PATH TYPE UNIX UNIX_COMMAND UNKNOWN UPLOAD USE_SOURCE_PERMISSIONS UTC VALUE VARIABLE VERBATIM VERSION VERSION_EQUAL VERSION_GREATER VERSION_LESS WARNING WIN32 WINDOWS_COMMAND WORKING_DIRECTORY WRITE"
+list_extra'5fspecial'5fargs = Set.fromList $ words $ "PATH NAME EXT NAME_WE ABSOLUTE REALPATH FILEPATH STRING BOOL INTERNAL NUMBER_OF_LOGICAL_CORES NUMBER_OF_PHYSICAL_CORES HOSTNAME FQDN TOTAL_VIRTUAL_MEMORY AVAILABLE_VIRTUAL_MEMORY TOTAL_PHYSICAL_MEMORY AVAILABLE_PHYSICAL_MEMORY"
+list_properties = Set.fromList $ words $ "ABSTRACT ADDITIONAL_MAKE_CLEAN_FILES ADVANCED ALIASED_TARGET ALLOW_DUPLICATE_CUSTOM_TARGETS ARCHIVE_OUTPUT_DIRECTORY ARCHIVE_OUTPUT_NAME ATTACHED_FILES ATTACHED_FILES_ON_FAIL AUTOMOC AUTOMOC_MOC_OPTIONS AUTOMOC_TARGETS_FOLDER BUILD_WITH_INSTALL_RPATH BUNDLE BUNDLE_EXTENSION CACHE_VARIABLES CLEAN_NO_CUSTOM COMPATIBLE_INTERFACE_BOOL COMPATIBLE_INTERFACE_STRING COMPILE_DEFINITIONS COMPILE_FLAGS COMPILE_OPTIONS COST DEBUG_CONFIGURATIONS DEBUG_POSTFIX DEFINE_SYMBOL DEFINITIONS DEPENDS DISABLED_FEATURES ENABLED_FEATURES ENABLED_LANGUAGES ENABLE_EXPORTS ENVIRONMENT EXCLUDE_FROM_ALL EXCLUDE_FROM_DEFAULT_BUILD EXPORT_NAME EXTERNAL_OBJECT EchoString FAIL_REGULAR_EXPRESSION FIND_LIBRARY_USE_LIB64_PATHS FIND_LIBRARY_USE_OPENBSD_VERSIONING FOLDER FRAMEWORK Fortran_FORMAT Fortran_MODULE_DIRECTORY GENERATED GENERATOR_FILE_NAME GLOBAL_DEPENDS_DEBUG_MODE GLOBAL_DEPENDS_NO_CYCLES GNUtoMS HAS_CXX HEADER_FILE_ONLY HELPSTRING IMPLICIT_DEPENDS_INCLUDE_TRANSFORM IMPORTED IMPORTED_CONFIGURATIONS IMPORTED_IMPLIB IMPORTED_LINK_DEPENDENT_LIBRARIES IMPORTED_LINK_INTERFACE_LANGUAGES IMPORTED_LINK_INTERFACE_LIBRARIES IMPORTED_LINK_INTERFACE_MULTIPLICITY IMPORTED_LOCATION IMPORTED_NO_SONAME IMPORTED_SONAME IMPORT_PREFIX IMPORT_SUFFIX INCLUDE_DIRECTORIES INCLUDE_REGULAR_EXPRESSION INSTALL_NAME_DIR INSTALL_RPATH INSTALL_RPATH_USE_LINK_PATH INTERFACE_COMPILE_DEFINITIONS INTERFACE_COMPILE_OPTIONS INTERFACE_INCLUDE_DIRECTORIES INTERFACE_LINK_LIBRARIES INTERFACE_POSITION_INDEPENDENT_CODE INTERFACE_SYSTEM_INCLUDE_DIRECTORIES INTERPROCEDURAL_OPTIMIZATION IN_TRY_COMPILE KEEP_EXTENSION LABELS LANGUAGE LIBRARY_OUTPUT_DIRECTORY LIBRARY_OUTPUT_NAME LINKER_LANGUAGE LINK_DEPENDS LINK_DEPENDS_NO_SHARED LINK_DIRECTORIES LINK_FLAGS LINK_INTERFACE_LIBRARIES LINK_INTERFACE_MULTIPLICITY LINK_LIBRARIES LINK_SEARCH_END_STATIC LINK_SEARCH_START_STATIC LISTFILE_STACK LOCATION MACOSX_BUNDLE MACOSX_BUNDLE_INFO_PLIST MACOSX_FRAMEWORK_INFO_PLIST MACOSX_PACKAGE_LOCATION MACOSX_RPATH MACROS MEASUREMENT MODIFIED NAME NO_SONAME OBJECT_DEPENDS OBJECT_OUTPUTS OSX_ARCHITECTURES OUTPUT_NAME PACKAGES_FOUND PACKAGES_NOT_FOUND PARENT_DIRECTORY PASS_REGULAR_EXPRESSION PDB_NAME PDB_OUTPUT_DIRECTORY POSITION_INDEPENDENT_CODE POST_INSTALL_SCRIPT PREDEFINED_TARGETS_FOLDER PREFIX PRE_INSTALL_SCRIPT PRIVATE_HEADER PROCESSORS PROJECT_LABEL PUBLIC_HEADER REPORT_UNDEFINED_PROPERTIES REQUIRED_FILES RESOURCE RESOURCE_LOCK RULE_LAUNCH_COMPILE RULE_LAUNCH_CUSTOM RULE_LAUNCH_LINK RULE_MESSAGES RUNTIME_OUTPUT_DIRECTORY RUNTIME_OUTPUT_NAME RUN_SERIAL SKIP_BUILD_RPATH SOURCES SOVERSION STATIC_LIBRARY_FLAGS STRINGS SUFFIX SYMBOLIC TARGET_ARCHIVES_MAY_BE_SHARED_LIBS TARGET_SUPPORTS_SHARED_LIBS TEST_INCLUDE_FILE TIMEOUT TYPE USE_FOLDERS VALUE VARIABLES VERSION VISIBILITY_INLINES_HIDDEN VS_DOTNET_REFERENCES VS_DOTNET_TARGET_FRAMEWORK_VERSION VS_GLOBAL_KEYWORD VS_GLOBAL_PROJECT_TYPES VS_GLOBAL_ROOTNAMESPACE VS_KEYWORD VS_SCC_AUXPATH VS_SCC_LOCALPATH VS_SCC_PROJECTNAME VS_SCC_PROVIDER VS_WINRT_EXTENSIONS VS_WINRT_REFERENCES WILL_FAIL WIN32_EXECUTABLE WORKING_DIRECTORY WRAP_EXCLUDE __CMAKE_DELETE_CACHE_CHANGE_VARS_"
 list_extra'5fproperties = Set.fromList $ words $ "COMMANDS DEFINITION"
-list_cmake'5fvars = Set.fromList $ words $ "APPLE BORLAND BUILD_SHARED_LIBS CMAKE_ABSOLUTE_DESTINATION_FILES CMAKE_AR CMAKE_ARCHIVE_OUTPUT_DIRECTORY CMAKE_ARGC CMAKE_ARGV0 CMAKE_AUTOMOC CMAKE_AUTOMOC_MOC_OPTIONS CMAKE_AUTOMOC_RELAXED_MODE CMAKE_BACKWARDS_COMPATIBILITY CMAKE_BINARY_DIR CMAKE_BUILD_TOOL CMAKE_BUILD_TYPE CMAKE_BUILD_WITH_INSTALL_RPATH CMAKE_CACHEFILE_DIR CMAKE_CACHE_MAJOR_VERSION CMAKE_CACHE_MINOR_VERSION CMAKE_CACHE_PATCH_VERSION CMAKE_CFG_INTDIR CMAKE_CL_64 CMAKE_COLOR_MAKEFILE CMAKE_COMMAND CMAKE_COMPILER_2005 CMAKE_CONFIGURATION_TYPES CMAKE_CROSSCOMPILING CMAKE_CTEST_COMMAND CMAKE_CURRENT_BINARY_DIR CMAKE_CURRENT_LIST_DIR CMAKE_CURRENT_LIST_FILE CMAKE_CURRENT_LIST_LINE CMAKE_CURRENT_SOURCE_DIR CMAKE_DEBUG_POSTFIX CMAKE_DEBUG_TARGET_PROPERTIES CMAKE_DL_LIBS CMAKE_EDIT_COMMAND CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_EXECUTABLE_SUFFIX CMAKE_EXE_LINKER_FLAGS CMAKE_EXTRA_GENERATOR CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES CMAKE_FIND_LIBRARY_PREFIXES CMAKE_FIND_LIBRARY_SUFFIXES CMAKE_FIND_PACKAGE_WARN_NO_MODULE CMAKE_Fortran_FORMAT CMAKE_Fortran_MODDIR_DEFAULT CMAKE_Fortran_MODDIR_FLAG CMAKE_Fortran_MODOUT_FLAG CMAKE_Fortran_MODULE_DIRECTORY CMAKE_GENERATOR CMAKE_GENERATOR_TOOLSET CMAKE_GNUtoMS CMAKE_HOME_DIRECTORY CMAKE_HOST_APPLE CMAKE_HOST_SYSTEM CMAKE_HOST_SYSTEM_NAME CMAKE_HOST_SYSTEM_PROCESSOR CMAKE_HOST_SYSTEM_VERSION CMAKE_HOST_UNIX CMAKE_HOST_WIN32 CMAKE_IGNORE_PATH CMAKE_IMPORT_LIBRARY_PREFIX CMAKE_IMPORT_LIBRARY_SUFFIX CMAKE_INCLUDE_CURRENT_DIR CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE CMAKE_INCLUDE_PATH CMAKE_INSTALL_DEFAULT_COMPONENT_NAME CMAKE_INSTALL_NAME_DIR CMAKE_INSTALL_PREFIX CMAKE_INSTALL_RPATH CMAKE_INSTALL_RPATH_USE_LINK_PATH CMAKE_INTERNAL_PLATFORM_ABI CMAKE_LIBRARY_ARCHITECTURE CMAKE_LIBRARY_ARCHITECTURE_REGEX CMAKE_LIBRARY_OUTPUT_DIRECTORY CMAKE_LIBRARY_PATH CMAKE_LIBRARY_PATH_FLAG CMAKE_LINK_DEF_FILE_FLAG CMAKE_LINK_DEPENDS_NO_SHARED CMAKE_LINK_INTERFACE_LIBRARIES CMAKE_LINK_LIBRARY_FILE_FLAG CMAKE_LINK_LIBRARY_FLAG CMAKE_LINK_LIBRARY_SUFFIX CMAKE_MACOSX_BUNDLE CMAKE_MAJOR_VERSION CMAKE_MAKE_PROGRAM CMAKE_MFC_FLAG CMAKE_MINOR_VERSION CMAKE_MODULE_PATH CMAKE_NOT_USING_CONFIG_FLAGS CMAKE_NO_BUILTIN_CHRPATH CMAKE_OBJECT_PATH_MAX CMAKE_PARENT_LIST_FILE CMAKE_PATCH_VERSION CMAKE_PDB_OUTPUT_DIRECTORY CMAKE_POSITION_INDEPENDENT_CODE CMAKE_PREFIX_PATH CMAKE_PROGRAM_PATH CMAKE_PROJECT_NAME CMAKE_RANLIB CMAKE_ROOT CMAKE_RUNTIME_OUTPUT_DIRECTORY CMAKE_SCRIPT_MODE_FILE CMAKE_SHARED_LIBRARY_PREFIX CMAKE_SHARED_LIBRARY_SUFFIX CMAKE_SHARED_MODULE_PREFIX CMAKE_SHARED_MODULE_SUFFIX CMAKE_SIZEOF_VOID_P CMAKE_SKIP_BUILD_RPATH CMAKE_SKIP_INSTALL_ALL_DEPENDENCY CMAKE_SKIP_INSTALL_RPATH CMAKE_SKIP_RPATH CMAKE_SOURCE_DIR CMAKE_STANDARD_LIBRARIES CMAKE_STATIC_LIBRARY_PREFIX CMAKE_STATIC_LIBRARY_SUFFIX CMAKE_SYSTEM CMAKE_SYSTEM_IGNORE_PATH CMAKE_SYSTEM_INCLUDE_PATH CMAKE_SYSTEM_LIBRARY_PATH CMAKE_SYSTEM_NAME CMAKE_SYSTEM_PREFIX_PATH CMAKE_SYSTEM_PROCESSOR CMAKE_SYSTEM_PROGRAM_PATH CMAKE_SYSTEM_VERSION CMAKE_TRY_COMPILE_CONFIGURATION CMAKE_TWEAK_VERSION CMAKE_USER_MAKE_RULES_OVERRIDE CMAKE_USE_RELATIVE_PATHS CMAKE_VERBOSE_MAKEFILE CMAKE_VERSION CMAKE_VS_PLATFORM_TOOLSET CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_WIN32_EXECUTABLE CMAKE_XCODE_PLATFORM_TOOLSET CYGWIN EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH MSVC MSVC10 MSVC11 MSVC60 MSVC70 MSVC71 MSVC80 MSVC90 MSVC_IDE MSVC_VERSION PROJECT_BINARY_DIR PROJECT_NAME PROJECT_SOURCE_DIR UNIX WIN32 XCODE_VERSION"
+list_cmake'5fvars = Set.fromList $ words $ "APPLE BORLAND BUILD_SHARED_LIBS CMAKE_ABSOLUTE_DESTINATION_FILES CMAKE_AR CMAKE_ARCHIVE_OUTPUT_DIRECTORY CMAKE_ARGC CMAKE_ARGV0 CMAKE_AUTOMOC CMAKE_AUTOMOC_MOC_OPTIONS CMAKE_AUTOMOC_RELAXED_MODE CMAKE_BACKWARDS_COMPATIBILITY CMAKE_BINARY_DIR CMAKE_BUILD_TOOL CMAKE_BUILD_TYPE CMAKE_BUILD_WITH_INSTALL_RPATH CMAKE_CACHEFILE_DIR CMAKE_CACHE_MAJOR_VERSION CMAKE_CACHE_MINOR_VERSION CMAKE_CACHE_PATCH_VERSION CMAKE_CFG_INTDIR CMAKE_CL_64 CMAKE_COLOR_MAKEFILE CMAKE_COMMAND CMAKE_COMPILER_2005 CMAKE_CONFIGURATION_TYPES CMAKE_CROSSCOMPILING CMAKE_CTEST_COMMAND CMAKE_CURRENT_BINARY_DIR CMAKE_CURRENT_LIST_DIR CMAKE_CURRENT_LIST_FILE CMAKE_CURRENT_LIST_LINE CMAKE_CURRENT_SOURCE_DIR CMAKE_DEBUG_POSTFIX CMAKE_DEBUG_TARGET_PROPERTIES CMAKE_DL_LIBS CMAKE_EDIT_COMMAND CMAKE_ERROR_DEPRECATED CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_EXECUTABLE_SUFFIX CMAKE_EXE_LINKER_FLAGS CMAKE_EXTRA_GENERATOR CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES CMAKE_FIND_LIBRARY_PREFIXES CMAKE_FIND_LIBRARY_SUFFIXES CMAKE_FIND_PACKAGE_WARN_NO_MODULE CMAKE_Fortran_FORMAT CMAKE_Fortran_MODDIR_DEFAULT CMAKE_Fortran_MODDIR_FLAG CMAKE_Fortran_MODOUT_FLAG CMAKE_Fortran_MODULE_DIRECTORY CMAKE_GENERATOR CMAKE_GENERATOR_TOOLSET CMAKE_GNUtoMS CMAKE_HOME_DIRECTORY CMAKE_HOST_APPLE CMAKE_HOST_SYSTEM CMAKE_HOST_SYSTEM_NAME CMAKE_HOST_SYSTEM_PROCESSOR CMAKE_HOST_SYSTEM_VERSION CMAKE_HOST_UNIX CMAKE_HOST_WIN32 CMAKE_IGNORE_PATH CMAKE_IMPORT_LIBRARY_PREFIX CMAKE_IMPORT_LIBRARY_SUFFIX CMAKE_INCLUDE_CURRENT_DIR CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE CMAKE_INCLUDE_PATH CMAKE_INSTALL_DEFAULT_COMPONENT_NAME CMAKE_INSTALL_NAME_DIR CMAKE_INSTALL_PREFIX CMAKE_INSTALL_RPATH CMAKE_INSTALL_RPATH_USE_LINK_PATH CMAKE_INTERNAL_PLATFORM_ABI CMAKE_LIBRARY_ARCHITECTURE CMAKE_LIBRARY_ARCHITECTURE_REGEX CMAKE_LIBRARY_OUTPUT_DIRECTORY CMAKE_LIBRARY_PATH CMAKE_LIBRARY_PATH_FLAG CMAKE_LINK_DEF_FILE_FLAG CMAKE_LINK_DEPENDS_NO_SHARED CMAKE_LINK_INTERFACE_LIBRARIES CMAKE_LINK_LIBRARY_FILE_FLAG CMAKE_LINK_LIBRARY_FLAG CMAKE_LINK_LIBRARY_SUFFIX CMAKE_MACOSX_BUNDLE CMAKE_MAJOR_VERSION CMAKE_MAKE_PROGRAM CMAKE_MFC_FLAG CMAKE_MINIMUM_REQUIRED_VERSION CMAKE_MINOR_VERSION CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_PATH CMAKE_NOT_USING_CONFIG_FLAGS CMAKE_NO_BUILTIN_CHRPATH CMAKE_OBJECT_PATH_MAX CMAKE_PARENT_LIST_FILE CMAKE_PATCH_VERSION CMAKE_PDB_OUTPUT_DIRECTORY CMAKE_POSITION_INDEPENDENT_CODE CMAKE_PREFIX_PATH CMAKE_PROGRAM_PATH CMAKE_PROJECT_NAME CMAKE_RANLIB CMAKE_ROOT CMAKE_RUNTIME_OUTPUT_DIRECTORY CMAKE_SCRIPT_MODE_FILE CMAKE_SHARED_LIBRARY_PREFIX CMAKE_SHARED_LIBRARY_SUFFIX CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_MODULE_PREFIX CMAKE_SHARED_MODULE_SUFFIX CMAKE_SIZEOF_VOID_P CMAKE_SKIP_BUILD_RPATH CMAKE_SKIP_INSTALL_ALL_DEPENDENCY CMAKE_SKIP_INSTALL_RPATH CMAKE_SKIP_RPATH CMAKE_SOURCE_DIR CMAKE_STANDARD_LIBRARIES CMAKE_STATIC_LIBRARY_PREFIX CMAKE_STATIC_LIBRARY_SUFFIX CMAKE_STATIC_LINKER_FLAGS CMAKE_SYSTEM CMAKE_SYSTEM_IGNORE_PATH CMAKE_SYSTEM_INCLUDE_PATH CMAKE_SYSTEM_LIBRARY_PATH CMAKE_SYSTEM_NAME CMAKE_SYSTEM_PREFIX_PATH CMAKE_SYSTEM_PROCESSOR CMAKE_SYSTEM_PROGRAM_PATH CMAKE_SYSTEM_VERSION CMAKE_TRY_COMPILE_CONFIGURATION CMAKE_TWEAK_VERSION CMAKE_USER_MAKE_RULES_OVERRIDE CMAKE_USE_RELATIVE_PATHS CMAKE_VERBOSE_MAKEFILE CMAKE_VERSION CMAKE_VISIBILITY_INLINES_HIDDEN CMAKE_VS_PLATFORM_TOOLSET CMAKE_WARN_DEPRECATED CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION CMAKE_WIN32_EXECUTABLE CMAKE_XCODE_PLATFORM_TOOLSET CYGWIN ENV EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH MSVC MSVC10 MSVC11 MSVC12 MSVC60 MSVC70 MSVC71 MSVC80 MSVC90 MSVC_IDE MSVC_VERSION PROJECT_BINARY_DIR PROJECT_NAME PROJECT_SOURCE_DIR UNIX WIN32 XCODE_VERSION"
 list_simple'5fgenerator'5fexpr = Set.fromList $ words $ "CONFIGURATION ANGLE-R COMMA SEMICOLON INSTALL_PREFIX"
-list_generator'5fexpr = Set.fromList $ words $ "0 1 CONFIG BOOL STREQUAL TARGET_NAME INSTALL_INTERFACE BUILD_INTERFACE TARGET_FILE TARGET_LINKER_FILE TARGET_SONAME_FILE TARGET_DIR TARGET_LINKER_DIR TARGET_SONAME_DIR TARGET_PROPERTY TARGET_OBJECTS TARGET_POLICY AND OR NOT"
+list_generator'5fexpr = Set.fromList $ words $ "0 1 CONFIG BOOL STREQUAL JOIN TARGET_NAME INSTALL_INTERFACE BUILD_INTERFACE C_COMPILER_ID CXX_COMPILER_ID VERSION_GREATER VERSION_LESS VERSION_EQUAL C_COMPILER_VERSION CXX_COMPILER_VERSION TARGET_FILE TARGET_LINKER_FILE TARGET_SONAME_FILE TARGET_FILE_DIR TARGET_FILE_NAME TARGET_DIR TARGET_LINKER_FILE_DIR TARGET_LINKER_FILE_NAME TARGET_SONAME_FILE_DIR TARGET_SONAME_FILE_NAME TARGET_PROPERTY TARGET_OBJECTS TARGET_POLICY AND OR NOT"
 
 regex_'5cbif'5cb = compileRegex "\\bif\\b"
 regex_'5cbelse'5cb = compileRegex "\\belse\\b"
@@ -93,11 +94,15 @@
 regex_'23'5cs'2aBEGIN'2e'2a'24 = compileRegex "#\\s*BEGIN.*$"
 regex_'23'5cs'2aEND'2e'2a'24 = compileRegex "#\\s*END.*$"
 regex_'23'5c'5b'28'3d'2a'29'5c'5b'5c'2erst'3a = compileRegex "#\\[(=*)\\[\\.rst:"
+regex_'23'5c'5b'28'3d'2a'29'5c'5b = compileRegex "#\\[(=*)\\["
 regex_'5cw'2b'5cs'2a'28'3f'3d'5c'28'29 = compileRegex "\\w+\\s*(?=\\()"
 regex_'5cbCMAKE'5fCOMPILER'5fIS'5fGNU'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb = compileRegex "\\bCMAKE_COMPILER_IS_GNU[A-Za-z_][A-Za-z_0-9]*\\b"
 regex_'5cbCMAKE'5fDISABLE'5fFIND'5fPACKAGE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb = compileRegex "\\bCMAKE_DISABLE_FIND_PACKAGE_[A-Za-z_][A-Za-z_0-9]*\\b"
 regex_'5cbCMAKE'5fEXE'5fLINKER'5fFLAGS'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb = compileRegex "\\bCMAKE_EXE_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\\b"
+regex_'5cbCMAKE'5fMODULE'5fLINKER'5fFLAGS'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb = compileRegex "\\bCMAKE_MODULE_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\\b"
 regex_'5cbCMAKE'5fPOLICY'5fDEFAULT'5fCMP'5b0'2d9'5d'2b'5cb = compileRegex "\\bCMAKE_POLICY_DEFAULT_CMP[0-9]+\\b"
+regex_'5cbCMAKE'5fSHARED'5fLINKER'5fFLAGS'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb = compileRegex "\\bCMAKE_SHARED_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\\b"
+regex_'5cbCMAKE'5fSTATIC'5fLINKER'5fFLAGS'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb = compileRegex "\\bCMAKE_STATIC_LINKER_FLAGS_[A-Za-z_][A-Za-z_0-9]*\\b"
 regex_'5cbCMAKE'5fUSER'5fMAKE'5fRULES'5fOVERRIDE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb = compileRegex "\\bCMAKE_USER_MAKE_RULES_OVERRIDE_[A-Za-z_][A-Za-z_0-9]*\\b"
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fARCHIVE'5fAPPEND'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_ARCHIVE_APPEND\\b"
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fARCHIVE'5fCREATE'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_ARCHIVE_CREATE\\b"
@@ -111,6 +116,7 @@
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fCREATE'5fSHARED'5fLIBRARY'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_CREATE_SHARED_LIBRARY\\b"
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fCREATE'5fSHARED'5fMODULE'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_CREATE_SHARED_MODULE\\b"
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fCREATE'5fSTATIC'5fLIBRARY'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_CREATE_STATIC_LIBRARY\\b"
+regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fFLAGS'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS\\b"
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fFLAGS'5fDEBUG'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_DEBUG\\b"
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fFLAGS'5fMINSIZEREL'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_MINSIZEREL\\b"
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fFLAGS'5fRELEASE'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_FLAGS_RELEASE\\b"
@@ -129,10 +135,13 @@
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fPOSTFIX'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_POSTFIX\\b"
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fSIZEOF'5fDATA'5fPTR'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_SIZEOF_DATA_PTR\\b"
 regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fSOURCE'5fFILE'5fEXTENSIONS'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_SOURCE_FILE_EXTENSIONS\\b"
+regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fVISIBILITY'5fPRESET'5cb = compileRegex "\\bCMAKE_[A-Za-z_][A-Za-z_0-9]*_VISIBILITY_PRESET\\b"
 regex_'5c'24ENV'5c'7b'5cs'2a'5b'5cw'2d'5d'2b'5cs'2a'5c'7d = compileRegex "\\$ENV\\{\\s*[\\w-]+\\s*\\}"
 regex_'5cbCMP'5b0'2d9'5d'2b'5cb = compileRegex "\\bCMP[0-9]+\\b"
-regex_'22'28'3f'3d'5b_'29'3b'5d'7c'24'29 = compileRegex "\"(?=[ );]|$)"
 regex_'5c'5c'5b'22'24n'5c'5c'5d = compileRegex "\\\\[\"$n\\\\]"
+regex_'5c'5b'28'3d'2a'29'5c'5b = compileRegex "\\[(=*)\\["
+regex_'22'28'3f'3d'5b_'29'3b'5d'7c'24'29 = compileRegex "\"(?=[ );]|$)"
+regex_'5c'5c'5b'22'24nrt'5c'5c'5d = compileRegex "\\\\[\"$nrt\\\\]"
 
 parseRules ("CMake","Normal Text") =
   (((pDetectSpaces >>= withAttribute NormalTok))
@@ -165,8 +174,10 @@
    <|>
    ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2aEND'2e'2a'24 >>= withAttribute RegionMarkerTok))
    <|>
-   ((pColumn 0 >> pRegExpr regex_'23'5c'5b'28'3d'2a'29'5c'5b'5c'2erst'3a >>= withAttribute NormalTok) >>~ pushContext ("CMake","DocumentationBracketBlock"))
+   ((pColumn 0 >> pRegExpr regex_'23'5c'5b'28'3d'2a'29'5c'5b'5c'2erst'3a >>= withAttribute RegionMarkerTok) >>~ pushContext ("CMake","RST Documentation"))
    <|>
+   ((pColumn 0 >> pRegExpr regex_'23'5c'5b'28'3d'2a'29'5c'5b >>= withAttribute CommentTok) >>~ pushContext ("CMake","Bracketed Comment"))
+   <|>
    ((pDetectChar False '#' >>= withAttribute CommentTok) >>~ pushContext ("CMake","Comment"))
    <|>
    ((parseRules ("CMake","Detect Variables")))
@@ -182,8 +193,14 @@
    <|>
    ((pRegExpr regex_'5cbCMAKE'5fEXE'5fLINKER'5fFLAGS'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb >>= withAttribute DecValTok))
    <|>
+   ((pRegExpr regex_'5cbCMAKE'5fMODULE'5fLINKER'5fFLAGS'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb >>= withAttribute DecValTok))
+   <|>
    ((pRegExpr regex_'5cbCMAKE'5fPOLICY'5fDEFAULT'5fCMP'5b0'2d9'5d'2b'5cb >>= withAttribute DecValTok))
    <|>
+   ((pRegExpr regex_'5cbCMAKE'5fSHARED'5fLINKER'5fFLAGS'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb >>= withAttribute DecValTok))
+   <|>
+   ((pRegExpr regex_'5cbCMAKE'5fSTATIC'5fLINKER'5fFLAGS'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb >>= withAttribute DecValTok))
+   <|>
    ((pRegExpr regex_'5cbCMAKE'5fUSER'5fMAKE'5fRULES'5fOVERRIDE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5cb >>= withAttribute DecValTok))
    <|>
    ((pRegExpr regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fARCHIVE'5fAPPEND'5cb >>= withAttribute DecValTok))
@@ -210,6 +227,8 @@
    <|>
    ((pRegExpr regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fCREATE'5fSTATIC'5fLIBRARY'5cb >>= withAttribute DecValTok))
    <|>
+   ((pRegExpr regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fFLAGS'5cb >>= withAttribute DecValTok))
+   <|>
    ((pRegExpr regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fFLAGS'5fDEBUG'5cb >>= withAttribute DecValTok))
    <|>
    ((pRegExpr regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fFLAGS'5fMINSIZEREL'5cb >>= withAttribute DecValTok))
@@ -246,6 +265,8 @@
    <|>
    ((pRegExpr regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fSOURCE'5fFILE'5fEXTENSIONS'5cb >>= withAttribute DecValTok))
    <|>
+   ((pRegExpr regex_'5cbCMAKE'5f'5bA'2dZa'2dz'5f'5d'5bA'2dZa'2dz'5f0'2d9'5d'2a'5fVISIBILITY'5fPRESET'5cb >>= withAttribute DecValTok))
+   <|>
    (currentContext >>= \x -> guard (x == ("CMake","Detect More Builtin Variables")) >> pDefault >>= withAttribute NormalTok))
 
 parseRules ("CMake","Detect Builtin Variables") =
@@ -316,10 +337,12 @@
 parseRules ("CMake","Macro Args") =
   (((pDetectChar False ')' >>= withAttribute NormalTok) >>~ (popContext))
    <|>
-   ((pString False "\\\"" >>= withAttribute CharTok))
+   ((pRegExpr regex_'5c'5c'5b'22'24n'5c'5c'5d >>= withAttribute CharTok))
    <|>
    ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("CMake","String"))
    <|>
+   ((pRegExpr regex_'5c'5b'28'3d'2a'29'5c'5b >>= withAttribute StringTok) >>~ pushContext ("CMake","Bracketed String"))
+   <|>
    ((pDetectChar False '#' >>= withAttribute CommentTok) >>~ pushContext ("CMake","Comment"))
    <|>
    ((parseRules ("CMake","Detect Builtin Variables")))
@@ -337,17 +360,24 @@
    <|>
    (currentContext >>= \x -> guard (x == ("CMake","Comment")) >> pDefault >>= withAttribute CommentTok))
 
-parseRules ("CMake","DocumentationBracketBlock") =
-  (((Text.Highlighting.Kate.Syntax.Restructuredtext.parseExpression (Just ("reStructuredText",""))))
+parseRules ("CMake","RST Documentation") =
+  (((pColumn 0 >> pRegExprDynamic "#?\\]%1\\]" >>= withAttribute RegionMarkerTok) >>~ (popContext))
    <|>
-   ((lookAhead (pRegExprDynamic "\\]%1\\]") >> (popContext >> popContext) >> currentContext >>= parseRules))
+   (currentContext >>= \x -> guard (x == ("CMake","RST Documentation")) >> pDefault >>= withAttribute CommentTok))
+
+parseRules ("CMake","Bracketed Comment") =
+  (((pColumn 0 >> pRegExprDynamic "#?\\]%1\\]" >>= withAttribute CommentTok) >>~ (popContext))
    <|>
-   (currentContext >>= \x -> guard (x == ("CMake","DocumentationBracketBlock")) >> pDefault >>= withAttribute NormalTok))
+   ((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Modelines.parseExpression (Just ("Modelines","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   (currentContext >>= \x -> guard (x == ("CMake","Bracketed Comment")) >> pDefault >>= withAttribute CommentTok))
 
 parseRules ("CMake","String") =
   (((pRegExpr regex_'22'28'3f'3d'5b_'29'3b'5d'7c'24'29 >>= withAttribute StringTok) >>~ (popContext))
    <|>
-   ((pRegExpr regex_'5c'5c'5b'22'24n'5c'5c'5d >>= withAttribute CharTok))
+   ((pRegExpr regex_'5c'5c'5b'22'24nrt'5c'5c'5d >>= withAttribute CharTok))
    <|>
    ((parseRules ("CMake","Detect Variables")))
    <|>
@@ -355,8 +385,12 @@
    <|>
    (currentContext >>= \x -> guard (x == ("CMake","String")) >> pDefault >>= withAttribute StringTok))
 
+parseRules ("CMake","Bracketed String") =
+  (((pRegExprDynamic "\\]%1\\]" >>= withAttribute StringTok) >>~ (popContext))
+   <|>
+   (currentContext >>= \x -> guard (x == ("CMake","Bracketed String")) >> pDefault >>= withAttribute StringTok))
+
 parseRules ("Alerts", _) = Text.Highlighting.Kate.Syntax.Alert.parseExpression Nothing
 parseRules ("Modelines", _) = Text.Highlighting.Kate.Syntax.Modelines.parseExpression Nothing
-parseRules ("reStructuredText", _) = Text.Highlighting.Kate.Syntax.Restructuredtext.parseExpression Nothing
 
 parseRules x = parseRules ("CMake","Normal Text") <|> fail ("Unknown context" ++ show x)
diff --git a/Text/Highlighting/Kate/Syntax/Coffee.hs b/Text/Highlighting/Kate/Syntax/Coffee.hs
--- a/Text/Highlighting/Kate/Syntax/Coffee.hs
+++ b/Text/Highlighting/Kate/Syntax/Coffee.hs
@@ -204,7 +204,7 @@
 parseRules ("CoffeeScript","Javascript") =
   (((pDetectChar False '`' >>= withAttribute AlertTok) >>~ (popContext))
    <|>
-   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript",""))))
+   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript","Normal"))))
    <|>
    (currentContext >>= \x -> guard (x == ("CoffeeScript","Javascript")) >> pDefault >>= withAttribute AlertTok))
 
diff --git a/Text/Highlighting/Kate/Syntax/Cpp.hs b/Text/Highlighting/Kate/Syntax/Cpp.hs
--- a/Text/Highlighting/Kate/Syntax/Cpp.hs
+++ b/Text/Highlighting/Kate/Syntax/Cpp.hs
@@ -1,13 +1,12 @@
 {- This module was generated from data in the Kate syntax
-   highlighting file cpp.xml, version 1.50, by  -}
+   highlighting file cpp.xml, version 1.5, by Alex Turbov (i.zaufi@gmail.com) -}
 
 module Text.Highlighting.Kate.Syntax.Cpp
           (highlight, parseExpression, syntaxName, syntaxExtensions)
 where
 import Text.Highlighting.Kate.Types
 import Text.Highlighting.Kate.Common
-import qualified Text.Highlighting.Kate.Syntax.Doxygen
-import qualified Text.Highlighting.Kate.Syntax.Alert
+import qualified Text.Highlighting.Kate.Syntax.Isocpp
 import Text.ParserCombinators.Parsec hiding (State)
 import Control.Monad.State
 import Data.Char (isSpace)
@@ -48,16 +47,9 @@
   if length contexts >= 2
     then case context of
       ("C++","Normal") -> return ()
-      ("C++","String") -> (popContext) >> pEndLine
-      ("C++","Region Marker") -> (popContext) >> pEndLine
-      ("C++","Commentar 1") -> (popContext) >> pEndLine
-      ("C++","Commentar 2") -> return ()
-      ("C++","AfterHash") -> (popContext) >> pEndLine
-      ("C++","Preprocessor") -> (popContext) >> pEndLine
-      ("C++","Define") -> (popContext) >> pEndLine
-      ("C++","Commentar/Preprocessor") -> return ()
-      ("C++","Outscoped") -> return ()
-      ("C++","Outscoped intern") -> return ()
+      ("C++","DetectQt4Extensions") -> return ()
+      ("C++","QtClassMember") -> (popContext) >> pEndLine
+      ("C++","DetectNSEnd") -> (popContext) >> pEndLine
       _ -> return ()
     else return ()
 
@@ -67,197 +59,44 @@
                           , synStPrevNonspace = synStPrevNonspace st || not (all isSpace txt) }
   return (attr, txt)
 
-list_keywords = Set.fromList $ words $ "asm break case catch class constexpr const_cast continue decltype default delete do dynamic_cast else enum explicit export extern false final friend for goto if inline namespace new noexcept nullptr operator override private protected public qobject_cast reinterpret_cast return sizeof static_assert static_cast struct switch template this throw true try typedef typeid type_info typename union using virtual while and and_eq bad_cast bad_typeid bitand bitor compl not not_eq or or_eq xor xor_eq"
-list_extensions = Set.fromList $ words $ "K_DCOP Q_ARG Q_ASSERT Q_ASSERT_X Q_CHECK_PTR Q_CLASSINFO Q_CLEANUP_RESOURCE Q_D Q_DECLARE_FLAGS Q_DECLARE_FLAGS Q_DECLARE_INTERFACE Q_DECLARE_METATYPE Q_DECLARE_OPERATORS_FOR_FLAGS Q_DECLARE_PRIVATE Q_DECLARE_PUBLIC Q_DECLARE_SHARED Q_DECLARE_TYPEINFO Q_DISABLE_COPY Q_EMIT Q_ENUMS Q_EXPORT Q_FLAGS Q_FOREACH Q_FOREVER Q_GADGET Q_GLOBAL_STATIC Q_GLOBAL_STATIC_WITH_ARGS Q_INIT_RESOURCE Q_INTERFACES Q_INVOKABLE Q_NOREPLY Q_OBJECT Q_OVERRIDE Q_PRIVATE_SLOT Q_PROPERTY Q_Q Q_RETURN_ARG Q_SCRIPTABLE Q_SETS Q_SIGNALS Q_SLOTS Q_UNUSED SIGNAL SLOT TRUE FALSE connect disconnect emit signals slots foreach forever qint8 qint16 qint32 qint64 qlonglong qptrdiff qreal quint8 quint16 quint32 quint64 quintptr qulonglong"
-list_types = Set.fromList $ words $ "auto bool char char16_t char32_t const double float int long mutable register short signed static unsigned void volatile uchar uint int8_t int16_t int32_t int64_t uint8_t uint16_t uint32_t uint64_t wchar_t"
+list_Qt4Macros = Set.fromList $ words $ "emit signals slots foreach forever SIGNAL SLOT qApp Q_DECLARE_TR_FUNCTIONS Q_CLASSINFO Q_DISABLE_COPY Q_EMIT Q_ENUMS Q_FLAGS Q_INTERFACES Q_INVOKABLE Q_OBJECT Q_PROPERTY Q_SIGNAL Q_SIGNALS Q_SLOT Q_SLOTS Q_DECLARE_METATYPE QT_NO_CAST_FROM_BYTEARRAY QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII QT_NO_URL_CAST_FROM_STRING QT_USE_QSTRINGBUILDER QBENCHMARK QBENCHMARK_ONCE QCOMPARE QEXPECT_FAIL QFAIL QFETCH QSKIP QTEST QTEST_APPLESS_MAIN QTEST_MAIN QTEST_NOOP_MAIN QVERIFY2 QVERIFY QWARN QAXCLASS QAXFACTORY_BEGIN QAXFACTORY_DEFAULT QAXFACTORY_END QAXFACTORY_EXPORT QAXTYPE QDESIGNER_WIDGET_EXPORT QML_DECLARE_TYPE QML_DECLARE_TYPEINFO QTWEBKIT_VERSION QTWEBKIT_VERSION_CHECK QTWEBKIT_VERSION_STR Q_ARG Q_RETURN_ARG Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE Q_ATOMIC_INT_FETCH_AND_ADD_IS_NOT_NATIVE Q_ATOMIC_INT_FETCH_AND_ADD_IS_SOMETIMES_NATIVE Q_ATOMIC_INT_FETCH_AND_ADD_IS_WAIT_FREE Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE Q_ATOMIC_INT_FETCH_AND_STORE_IS_NOT_NATIVE Q_ATOMIC_INT_FETCH_AND_STORE_IS_SOMETIMES_NATIVE Q_ATOMIC_INT_FETCH_AND_STORE_IS_WAIT_FREE Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE Q_ATOMIC_INT_REFERENCE_COUNTING_IS_NOT_NATIVE Q_ATOMIC_INT_REFERENCE_COUNTING_IS_SOMETIMES_NATIVE Q_ATOMIC_INT_REFERENCE_COUNTING_IS_WAIT_FREE Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE Q_ATOMIC_INT_TEST_AND_SET_IS_NOT_NATIVE Q_ATOMIC_INT_TEST_AND_SET_IS_SOMETIMES_NATIVE Q_ATOMIC_INT_TEST_AND_SET_IS_WAIT_FREE Q_DECLARE_EXTENSION_INTERFACE Q_DECLARE_INTERFACE Q_EXPORT_PLUGIN2 Q_IMPORT_PLUGIN Q_NOREPLY Q_SCRIPT_DECLARE_QMETAOBJECT QWIDGETSIZE_MAX QT3_SUPPORT QT3_SUPPORT_CONSTRUCTOR QT3_SUPPORT_VARIABLE QT3_SUPPORT_WARNINGS QT_ARCH_X86_64 QT_ASCII_CAST_WARN QT_ASCII_CAST_WARN_CONSTRUCTOR QT_BUILD_KEY QT_BUILD_KEY_COMPAT QT_CATCH QT_COMPAT QT_COMPAT_WARNINGS QT_DEBUG QT_DEPRECATED QT_DEPRECATED_CONSTRUCTOR QT_DEPRECATED_VARIABLE QT_EDITION QT_EDITION_ACADEMIC QT_EDITION_CONSOLE QT_EDITION_DESKTOP QT_EDITION_DESKTOPLIGHT QT_EDITION_EDUCATIONAL QT_EDITION_EVALUATION QT_EDITION_OPENSOURCE QT_EDITION_UNIVERSAL QT_ENSURE_STACK_ALIGNED_FOR_SSE QT_FASTCALL QT_FORWARD_DECLARE_CLASS QT_FORWARD_DECLARE_STRUCT QT_HAVE_ARMV6 QT_LARGEFILE_SUPPORT QT_LICENSED_MODULE QT_LINKED_OPENSSL QT_LINUXBASE QT_MAC_USE_COCOA QT_MOC_COMPAT QT_MODULE QT_MODULE_ACTIVEQT QT_MODULE_CORE QT_MODULE_DBUS QT_MODULE_DECLARATIVE QT_MODULE_GRAPHICSVIEW QT_MODULE_GUI QT_MODULE_HELP QT_MODULE_MULTIMEDIA QT_MODULE_NETWORK QT_MODULE_OPENGL QT_MODULE_OPENVG QT_MODULE_QT3SUPPORT QT_MODULE_QT3SUPPORTLIGHT QT_MODULE_SCRIPT QT_MODULE_SCRIPTTOOLS QT_MODULE_SQL QT_MODULE_SVG QT_MODULE_TEST QT_MODULE_XML QT_MODULE_XMLPATTERNS QT_NO_ACCESSIBILITY QT_NO_ANIMATION QT_NO_ARM_EABI QT_NO_BEARERMANAGEMENT QT_NO_BUTTONGROUP QT_NO_CALENDARWIDGET QT_NO_CLIPBOARD QT_NO_CODECS QT_NO_COLORDIALOG QT_NO_COLUMNVIEW QT_NO_COMBOBOX QT_NO_COMPLETER QT_NO_CONCURRENT QT_NO_CONCURRENT_FILTER QT_NO_CONCURRENT_MAP QT_NO_CONTEXTMENU QT_NO_COP QT_NO_CRASHHANDLER QT_NO_CUPS QT_NO_DATAWIDGETMAPPER QT_NO_DATESTRING QT_NO_DATETIMEEDIT QT_NO_DBUS QT_NO_DEBUG QT_NO_DEBUG_STREAM QT_NO_DECLARATIVE QT_NO_DIAL QT_NO_DIRMODEL QT_NO_DOCKWIDGET QT_NO_DRAGANDDROP QT_NO_EGL QT_NO_ERRORMESSAGE QT_NO_EXCEPTIONS QT_NO_FILEDIALOG QT_NO_FILESYSTEMMODEL QT_NO_FONTCOMBOBOX QT_NO_FONTCONFIG QT_NO_FONTDIALOG QT_NO_FPU QT_NO_FSCOMPLETER QT_NO_FTP QT_NO_GETIFADDRS QT_NO_GRAPHICSEFFECT QT_NO_GRAPHICSSVGITEM QT_NO_GRAPHICSVIEW QT_NO_GSTREAMER QT_NO_HOSTINFO QT_NO_HTTP QT_NO_ICD QT_NO_IM QT_NO_IMAGEFORMAT_JPEG QT_NO_IMAGEFORMAT_MNG QT_NO_IMAGEFORMAT_PNG QT_NO_IMAGEFORMAT_TIFF QT_NO_IMAGEFORMAT_XPM QT_NO_INPUTDIALOG QT_NO_ITEMVIEWS QT_NO_LIBRARY QT_NO_LISTVIEW QT_NO_LISTWIDGET QT_NO_LPR QT_NO_MAINWINDOW QT_NO_MDIAREA QT_NO_MENU QT_NO_MENUBAR QT_NO_MITSHM QT_NO_MULTIMEDIA QT_NO_NAS QT_NO_NETWORKDISKCACHE QT_NO_OPENGL QT_NO_OPENVG QT_NO_PAINT_DEBUG QT_NO_PHONON QT_NO_PHONON_EFFECTWIDGET QT_NO_PHONON_PLATFORMPLUGIN QT_NO_PHONON_SEEKSLIDER QT_NO_PHONON_SETTINGSGROUP QT_NO_PHONON_VIDEOPLAYER QT_NO_PHONON_VOLUMEFADEREFFECT QT_NO_PHONON_VOLUMESLIDER QT_NO_PRINTDIALOG QT_NO_PRINTER QT_NO_PRINTPREVIEWDIALOG QT_NO_PRINTPREVIEWWIDGET QT_NO_PROCESS QT_NO_PROGRESSDIALOG QT_NO_PROXYMODEL QT_NO_PULSEAUDIO QT_NO_QDEBUG_MACRO QT_NO_QFUTURE QT_NO_QWARNING_MACRO QT_NO_QWS_CURSOR QT_NO_QWS_DECORATION_STYLED QT_NO_QWS_DECORATION_WINDOWS QT_NO_QWS_DYNAMICSCREENTRANSFORMATION QT_NO_QWS_INPUTMETHODS QT_NO_QWS_MANAGER QT_NO_QWS_MULTIPROCESS QT_NO_QWS_SOUNDSERVER QT_NO_QWS_TRANSFORMED QT_NO_QWS_VNC QT_NO_RAWFONT QT_NO_S60 QT_NO_SCRIPT QT_NO_SCRIPTTOOLS QT_NO_SCROLLAREA QT_NO_SCROLLBAR QT_NO_SESSIONMANAGER QT_NO_SHAPE QT_NO_SHAREDMEMORY QT_NO_SOCKS5 QT_NO_SOFTKEYMANAGER QT_NO_SORTFILTERPROXYMODEL QT_NO_SPINBOX QT_NO_SPLITTER QT_NO_STANDARDITEMMODEL QT_NO_STATEMACHINE QT_NO_STL_WCHAR QT_NO_STRINGLISTMODEL QT_NO_STYLE_CDE QT_NO_STYLE_CLEANLOOKS QT_NO_STYLE_GTK QT_NO_STYLE_PLASTIQUE QT_NO_STYLE_S60 QT_NO_STYLE_STYLESHEET QT_NO_STYLE_WINDOWSCE QT_NO_STYLE_WINDOWSMOBILE QT_NO_STYLE_WINDOWSVISTA QT_NO_STYLE_WINDOWSXP QT_NO_SVG QT_NO_SVGGENERATOR QT_NO_SVGRENDERER QT_NO_SVGWIDGET QT_NO_SXE QT_NO_SYNTAXHIGHLIGHTER QT_NO_SYSTEMSEMAPHORE QT_NO_TABBAR QT_NO_TABDIALOG QT_NO_TABLET QT_NO_TABLEVIEW QT_NO_TABLEWIDGET QT_NO_TABWIDGET QT_NO_TEMPLATE_TEMPLATE_PARAMETERS QT_NO_TEXTBROWSER QT_NO_TEXTCODECPLUGIN QT_NO_TEXTEDIT QT_NO_TEXTODFWRITER QT_NO_TOOLBAR QT_NO_TOOLBOX QT_NO_TOOLBUTTON QT_NO_TRANSLATION_UTF8 QT_NO_TREEVIEW QT_NO_TREEWIDGET QT_NO_UNDOGROUP QT_NO_UNDOSTACK QT_NO_UNDOVIEW QT_NO_WARNINGS QT_NO_WEBKIT QT_NO_WHATSTHIS QT_NO_WIN_ACTIVEQT QT_NO_WIZARD QT_NO_WORKSPACE QT_NO_XCURSOR QT_NO_XFIXES QT_NO_XINERAMA QT_NO_XINPUT QT_NO_XKB QT_NO_XMLPATTERNS QT_NO_XMLSTREAMREADER QT_NO_XMLSTREAMWRITER QT_NO_XRANDR QT_NO_XRENDER QT_NO_XSYNC QT_NO_XVIDEO QT_NO_ZLIB QT_PACKAGEDATE_STR QT_PACKAGE_TAG QT_POINTER_SIZE QT_PREPEND_NAMESPACE QT_PRODUCT_LICENSE QT_PRODUCT_LICENSEE QT_RETHROW QT_STATIC_CONST QT_STATIC_CONST_IMPL QT_STRINGIFY QT_STRINGIFY2 QT_SUPPORTS QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER QT_SYMBIAN_SUPPORTS_SGIMAGE QT_THROW QT_TRANSLATE_NOOP QT_TRANSLATE_NOOP3 QT_TRANSLATE_NOOP3_UTF8 QT_TRANSLATE_NOOP_UTF8 QT_TRAP_THROWING QT_TRID_NOOP QT_TRY QT_TRYCATCH_ERROR QT_TRYCATCH_LEAVING QT_TR_NOOP QT_TR_NOOP_UTF8 QT_USE_MATH_H_FLOATS QT_USE_NAMESPACE QT_VERSION QT_VERSION_CHECK QT_VERSION_STR QT_VISIBILITY_AVAILABLE QT_WA QT_WA_INLINE QT_WIN_CALLBACK QT_USE_NAMESPACE QT_BEGIN_NAMESPACE QT_END_NAMESPACE QT_BEGIN_HEADER QT_END_HEADER Q_ALIGNOF Q_ASSERT Q_ASSERT_X Q_BIG_ENDIAN Q_BROKEN_DEBUG_STREAM Q_BROKEN_TEMPLATE_SPECIALIZATION Q_BYTE_ORDER Q_CANNOT_DELETE_CONSTANT Q_CC_BOR Q_CC_CDS Q_CC_CLANG Q_CC_COMEAU Q_CC_DEC Q_CC_DIAB Q_CC_EDG Q_CC_GCCE Q_CC_GHS Q_CC_GNU Q_CC_HIGHC Q_CC_HP Q_CC_HPACC Q_CC_INTEL Q_CC_KAI Q_CC_MINGW Q_CC_MIPS Q_CC_MSVC Q_CC_MSVC_NET Q_CC_MWERKS Q_CC_NOKIAX86 Q_CC_OC Q_CC_PGI Q_CC_RVCT Q_CC_SUN Q_CC_SYM Q_CC_USLC Q_CC_WAT Q_CC_XLC Q_CHECK_PTR Q_CLEANUP_RESOURCE Q_COMPILER_AUTO_TYPE Q_COMPILER_CLASS_ENUM Q_COMPILER_CONSTEXPR Q_COMPILER_DECLTYPE Q_COMPILER_DEFAULT_DELETE_MEMBERS Q_COMPILER_EXTERN_TEMPLATES Q_COMPILER_INITIALIZER_LISTS Q_COMPILER_LAMBDA Q_COMPILER_MANGLES_RETURN_TYPE Q_COMPILER_RVALUE_REFS Q_COMPILER_UNICODE_STRINGS Q_COMPILER_VARIADIC_TEMPLATES Q_CONSTRUCTOR_FUNCTION Q_CONSTRUCTOR_FUNCTION0 Q_C_CALLBACKS Q_D Q_DECLARE_FLAGS Q_DECLARE_INCOMPATIBLE_FLAGS Q_DECLARE_OPERATORS_FOR_FLAGS Q_DECLARE_PRIVATE Q_DECLARE_PRIVATE_D Q_DECLARE_PUBLIC Q_DECLARE_SHARED Q_DECLARE_SHARED_STL Q_DECLARE_TYPEINFO Q_DECLARE_TYPEINFO_BODY Q_DECL_ALIGN Q_DECL_CONSTEXPR Q_DECL_CONSTRUCTOR_DEPRECATED Q_DECL_DEPRECATED Q_DECL_HIDDEN Q_DECL_IMPORT Q_DECL_VARIABLE_DEPRECATED Q_DESTRUCTOR_FUNCTION Q_DESTRUCTOR_FUNCTION0 Q_DISABLE_COPY Q_DUMMY_COMPARISON_OPERATOR Q_FOREACH Q_FOREVER Q_FULL_TEMPLATE_INSTANTIATION Q_FUNC_INFO Q_GLOBAL_STATIC Q_GLOBAL_STATIC_INIT Q_GLOBAL_STATIC_WITH_ARGS Q_GLOBAL_STATIC_WITH_INITIALIZER Q_INIT_RESOURCE Q_INIT_RESOURCE_EXTERN Q_INLINE_TEMPLATE Q_INT64_C Q_LIKELY Q_LITTLE_ENDIAN Q_NO_BOOL_TYPE Q_NO_DATA_RELOCATION Q_NO_DECLARED_NOT_DEFINED Q_NO_DEPRECATED_CONSTRUCTORS Q_NO_EXPLICIT_KEYWORD Q_NO_PACKED_REFERENCE Q_NO_POSIX_SIGNALS Q_NO_TEMPLATE_FRIENDS Q_NO_USING_KEYWORD Q_OF_ELF Q_OS_AIX Q_OS_BSD4 Q_OS_BSDI Q_OS_CYGWIN Q_OS_DARWIN Q_OS_DARWIN32 Q_OS_DARWIN64 Q_OS_DGUX Q_OS_DYNIX Q_OS_FREEBSD Q_OS_HPUX Q_OS_HURD Q_OS_INTEGRITY Q_OS_IRIX Q_OS_LINUX Q_OS_LYNX Q_OS_MAC Q_OS_MAC32 Q_OS_MAC64 Q_OS_MACX Q_OS_MSDOS Q_OS_NACL Q_OS_NETBSD Q_OS_OPENBSD Q_OS_OS2 Q_OS_OS2EMX Q_OS_OSF Q_OS_QNX Q_OS_RELIANT Q_OS_SCO Q_OS_SOLARIS Q_OS_SYMBIAN Q_OS_ULTRIX Q_OS_UNIX Q_OS_UNIXWARE Q_OS_VXWORKS Q_OS_WIN Q_OS_WIN32 Q_OS_WIN64 Q_OS_WINCE Q_OUTOFLINE_TEMPLATE Q_PACKED Q_Q Q_REQUIRED_RESULT Q_SYMBIAN_FIXED_POINTER_CURSORS Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE Q_SYMBIAN_SUPPORTS_FIXNATIVEORIENTATION Q_SYMBIAN_SUPPORTS_MULTIPLE_SCREENS Q_SYMBIAN_SUPPORTS_SURFACES Q_SYMBIAN_TRANSITION_EFFECTS Q_SYMBIAN_WINDOW_SIZE_CACHE Q_TEMPLATEDLL Q_TYPENAME Q_TYPEOF Q_UINT64_C Q_UNLIKELY Q_UNUSED Q_WRONG_SB_CTYPE_MACROS Q_WS_MAC Q_WS_MAC32 Q_WS_MAC64 Q_WS_MACX Q_WS_PM Q_WS_S60 Q_WS_WIN Q_WS_WIN16 Q_WS_WIN32 Q_WS_WIN64 Q_WS_WINCE Q_WS_WINCE_WM Q_WS_X11 Q_COMPLEX_TYPE Q_PRIMITIVE_TYPE Q_STATIC_TYPE Q_MOVABLE_TYPE Q_DUMMY_TYPE"
+list_Qt4Classes = Set.fromList $ words $ "QAbstractAnimation QAbstractButton QAbstractEventDispatcher QAbstractExtensionFactory QAbstractExtensionManager QAbstractFileEngine QAbstractFileEngineHandler QAbstractFileEngineIterator QAbstractFontEngine QAbstractFormBuilder QAbstractGraphicsShapeItem QAbstractItemDelegate QAbstractItemModel QAbstractItemView QAbstractListModel QAbstractMessageHandler QAbstractNetworkCache QAbstractPrintDialog QAbstractProxyModel QAbstractScrollArea QAbstractSlider QAbstractSocket QAbstractSpinBox QAbstractState QAbstractTableModel QAbstractTextDocumentLayout QAbstractTransition QAbstractUriResolver QAbstractVideoBuffer QAbstractVideoSurface QAbstractXmlNodeModel QAbstractXmlReceiver QAccessible QAccessibleBridge QAccessibleBridgePlugin QAccessibleEvent QAccessibleInterface QAccessibleObject QAccessiblePlugin QAccessibleWidget QAction QActionEvent QActionGroup QAnimationGroup QApplication QAtomicInt QAtomicPointer QAudioDeviceInfo QAudioFormat QAudioInput QAudioOutput QAuthenticator QAxAggregated QAxBase QAxBindable QAxFactory QAxObject QAxScript QAxScriptEngine QAxScriptManager QAxWidget QBasicTimer QBitArray QBitmap QBoxLayout QBool QBrush QBuffer QButtonGroup QByteArray QByteArrayMatcher QCache QCalendarWidget QCDEStyle QChar QCheckBox QChildEvent QCleanlooksStyle QClipboard QCloseEvent QColor QColorDialog QColormap QColumnView QComboBox QCommandLinkButton QCommonStyle QCompleter QConicalGradient QContextMenuEvent QContiguousCache QCopChannel QCoreApplication QCryptographicHash QCursor QCustomRasterPaintDevice QDataStream QDataWidgetMapper QDate QDateEdit QDateTime QDateTimeEdit QDBusAbstractAdaptor QDBusAbstractInterface QDBusArgument QDBusConnection QDBusConnectionInterface QDBusContext QDBusError QDBusInterface QDBusMessage QDBusObjectPath QDBusPendingCall QDBusPendingCallWatcher QDBusPendingReply QDBusReply QDBusServiceWatcher QDBusSignature QDBusUnixFileDescriptor QDBusVariant QDebug QDeclarativeComponent QDeclarativeContext QDeclarativeEngine QDeclarativeError QDeclarativeExpression QDeclarativeExtensionPlugin QDeclarativeImageProvider QDeclarativeItem QDeclarativeListProperty QDeclarativeListReference QDeclarativeNetworkAccessManagerFactory QDeclarativeParserStatus QDeclarativeProperty QDeclarativePropertyMap QDeclarativePropertyValueSource QDeclarativeScriptString QDeclarativeView QDecoration QDecorationDefault QDecorationFactory QDecorationPlugin QDesignerActionEditorInterface QDesignerContainerExtension QDesignerCustomWidgetCollectionInterface QDesignerCustomWidgetInterface QDesignerDynamicPropertySheetExtension QDesignerFormEditorInterface QDesignerFormWindowCursorInterface QDesignerFormWindowInterface QDesignerFormWindowManagerInterface QDesignerMemberSheetExtension QDesignerObjectInspectorInterface QDesignerPropertyEditorInterface QDesignerPropertySheetExtension QDesignerTaskMenuExtension QDesignerWidgetBoxInterface QDesktopServices QDesktopWidget QDial QDialog QDialogButtonBox QDir QDirectPainter QDirIterator QDockWidget QDomAttr QDomCDATASection QDomCharacterData QDomComment QDomDocument QDomDocumentFragment QDomDocumentType QDomElement QDomEntity QDomEntityReference QDomImplementation QDomNamedNodeMap QDomNode QDomNodeList QDomNotation QDomProcessingInstruction QDomText QDoubleSpinBox QDoubleValidator QDrag QDragEnterEvent QDragLeaveEvent QDragMoveEvent QDropEvent QDynamicPropertyChangeEvent QEasingCurve QElapsedTimer QErrorMessage QEvent QEventLoop QEventTransition QExplicitlySharedDataPointer QExtensionFactory QExtensionManager QFile QFileDialog QFileIconProvider QFileInfo QFileOpenEvent QFileSystemModel QFileSystemWatcher QFinalState QFlag QFlags QFocusEvent QFocusFrame QFont QFontComboBox QFontDatabase QFontDialog QFontEngineInfo QFontEnginePlugin QFontInfo QFontMetrics QFontMetricsF QFormBuilder QFormLayout QFrame QFSFileEngine QFtp QFuture QFutureIterator QFutureSynchronizer QFutureWatcher QGenericArgument QGenericMatrix QGenericPlugin QGenericPluginFactory QGenericReturnArgument QGesture QGestureEvent QGestureRecognizer QGLBuffer QGLColormap QGLContext QGLFormat QGLFramebufferObject QGLFramebufferObjectFormat QGLFunctions QGLPixelBuffer QGLShader QGLShaderProgram QGLWidget QGlyphRun QGradient QGraphicsAnchor QGraphicsAnchorLayout QGraphicsBlurEffect QGraphicsColorizeEffect QGraphicsDropShadowEffect QGraphicsEffect QGraphicsEllipseItem QGraphicsGridLayout QGraphicsItem QGraphicsItemAnimation QGraphicsItemGroup QGraphicsLayout QGraphicsLayoutItem QGraphicsLinearLayout QGraphicsLineItem QGraphicsObject QGraphicsOpacityEffect QGraphicsPathItem QGraphicsPixmapItem QGraphicsPolygonItem QGraphicsProxyWidget QGraphicsRectItem QGraphicsRotation QGraphicsScale QGraphicsScene QGraphicsSceneContextMenuEvent QGraphicsSceneDragDropEvent QGraphicsSceneEvent QGraphicsSceneHelpEvent QGraphicsSceneHoverEvent QGraphicsSceneMouseEvent QGraphicsSceneMoveEvent QGraphicsSceneResizeEvent QGraphicsSceneWheelEvent QGraphicsSimpleTextItem QGraphicsSvgItem QGraphicsTextItem QGraphicsTransform QGraphicsView QGraphicsWebView QGraphicsWidget QGridLayout QGroupBox QGtkStyle QHash QHashIterator QHBoxLayout QHeaderView QHelpContentItem QHelpContentModel QHelpContentWidget QHelpEngine QHelpEngineCore QHelpEvent QHelpIndexModel QHelpIndexWidget QHelpSearchEngine QHelpSearchQuery QHelpSearchQueryWidget QHelpSearchResultWidget QHideEvent QHistoryState QHostAddress QHostInfo QHoverEvent QHttpMultiPart QHttpPart QIcon QIconDragEvent QIconEngine QIconEnginePlugin QIconEnginePluginV2 QIconEngineV2 QIdentityProxyModel QImage QImageIOHandler QImageIOPlugin QImageReader QImageWriter QInputContext QInputContextFactory QInputContextPlugin QInputDialog QInputEvent QInputMethodEvent QIntValidator QIODevice QItemDelegate QItemEditorCreator QItemEditorCreatorBase QItemEditorFactory QItemSelection QItemSelectionModel QItemSelectionRange QKbdDriverFactory QKbdDriverPlugin QKeyEvent QKeyEventTransition QKeySequence QLabel QLatin1Char QLatin1String QLayout QLayoutItem QLCDNumber QLibrary QLibraryInfo QLine QLinearGradient QLineEdit QLineF QLinkedList QLinkedListIterator QList QListIterator QListView QListWidget QListWidgetItem QLocale QLocalServer QLocalSocket QMacCocoaViewContainer QMacNativeWidget QMacPasteboardMime QMacStyle QMainWindow QMap QMapIterator QMargins QMatrix4x4 QMdiArea QMdiSubWindow QMenu QMenuBar QMessageBox QMetaClassInfo QMetaEnum QMetaMethod QMetaObject QMetaProperty QMetaType QMimeData QModelIndex QMotifStyle QMouseDriverFactory QMouseDriverPlugin QMouseEvent QMouseEventTransition QMoveEvent QMovie QMultiHash QMultiMap QMutableHashIterator QMutableLinkedListIterator QMutableListIterator QMutableMapIterator QMutableSetIterator QMutableVectorIterator QMutex QMutexLocker QNetworkAccessManager QNetworkAddressEntry QNetworkCacheMetaData QNetworkConfiguration QNetworkConfigurationManager QNetworkCookie QNetworkCookieJar QNetworkDiskCache QNetworkInterface QNetworkProxy QNetworkProxyFactory QNetworkProxyQuery QNetworkReply QNetworkRequest QNetworkSession QObject QObjectCleanupHandler QPageSetupDialog QPaintDevice QPaintEngine QPaintEngineState QPainter QPainterPath QPainterPathStroker QPaintEvent QPair QPalette QPanGesture QParallelAnimationGroup QPauseAnimation QPen QPersistentModelIndex QPicture QPinchGesture QPixmap QPixmapCache QPlainTextDocumentLayout QPlainTextEdit QPlastiqueStyle QPlatformCursor QPlatformCursorImage QPlatformFontDatabase QPlatformWindowFormat QPluginLoader QPoint QPointer QPointF QPolygon QPolygonF QPrintDialog QPrintEngine QPrinter QPrinterInfo QPrintPreviewDialog QPrintPreviewWidget QProcess QProcessEnvironment QProgressBar QProgressDialog QPropertyAnimation QProxyScreen QProxyScreenCursor QProxyStyle QPushButton QQuaternion QQueue QRadialGradient QRadioButton QRasterPaintEngine QRawFont QReadLocker QReadWriteLock QRect QRectF QRegExp QRegExpValidator QRegion QResizeEvent QResource QRubberBand QRunnable QS60MainApplication QS60MainAppUi QS60MainDocument QS60Style QScopedArrayPointer QScopedPointer QScopedValueRollback QScreen QScreenCursor QScreenDriverFactory QScreenDriverPlugin QScriptable QScriptClass QScriptClassPropertyIterator QScriptContext QScriptContextInfo QScriptEngine QScriptEngineAgent QScriptEngineDebugger QScriptExtensionPlugin QScriptProgram QScriptString QScriptSyntaxCheckResult QScriptValue QScriptValueIterator QScrollArea QScrollBar QSemaphore QSequentialAnimationGroup QSessionManager QSet QSetIterator QSettings QSharedData QSharedDataPointer QSharedMemory QSharedPointer QShortcut QShortcutEvent QShowEvent QSignalMapper QSignalSpy QSignalTransition QSimpleXmlNodeModel QSize QSizeF QSizeGrip QSizePolicy QSlider QSocketNotifier QSortFilterProxyModel QSound QSourceLocation QSpacerItem QSpinBox QSplashScreen QSplitter QSplitterHandle QSqlDatabase QSqlDriver QSqlDriverCreator QSqlDriverCreatorBase QSqlDriverPlugin QSqlError QSqlField QSqlIndex QSqlQuery QSqlQueryModel QSqlRecord QSqlRelation QSqlRelationalDelegate QSqlRelationalTableModel QSqlResult QSqlTableModel QSslCertificate QSslCipher QSslConfiguration QSslError QSslKey QSslSocket QStack QStackedLayout QStackedWidget QStandardItem QStandardItemEditorCreator QStandardItemModel QState QStateMachine QStaticText QStatusBar QStatusTipEvent QString QStringList QStringListModel QStringMatcher QStringRef QStyle QStyledItemDelegate QStyleFactory QStyleHintReturn QStyleHintReturnMask QStyleHintReturnVariant QStyleOption QStyleOptionButton QStyleOptionComboBox QStyleOptionComplex QStyleOptionDockWidget QStyleOptionFocusRect QStyleOptionFrame QStyleOptionFrameV2 QStyleOptionFrameV3 QStyleOptionGraphicsItem QStyleOptionGroupBox QStyleOptionHeader QStyleOptionMenuItem QStyleOptionProgressBar QStyleOptionProgressBarV2 QStyleOptionQ3DockWindow QStyleOptionQ3ListView QStyleOptionQ3ListViewItem QStyleOptionRubberBand QStyleOptionSizeGrip QStyleOptionSlider QStyleOptionSpinBox QStyleOptionTab QStyleOptionTabBarBase QStyleOptionTabBarBaseV2 QStyleOptionTabV2 QStyleOptionTabV3 QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2 QStyleOptionTitleBar QStyleOptionToolBar QStyleOptionToolBox QStyleOptionToolBoxV2 QStyleOptionToolButton QStyleOptionViewItem QStyleOptionViewItemV2 QStyleOptionViewItemV3 QStyleOptionViewItemV4 QStylePainter QStylePlugin QSupportedWritingSystems QSvgGenerator QSvgRenderer QSvgWidget QSwipeGesture QSymbianEvent QSymbianGraphicsSystemHelper QSyntaxHighlighter QSysInfo QSystemLocale QSystemSemaphore QSystemTrayIcon QTabBar QTabletEvent QTableView QTableWidget QTableWidgetItem QTableWidgetSelectionRange QTabWidget QTapAndHoldGesture QTapGesture QTcpServer QTcpSocket QTemporaryFile QTestEventList QTextBlock QTextBlockFormat QTextBlockGroup QTextBlockUserData QTextBoundaryFinder QTextBrowser QTextCharFormat QTextCodec QTextCodecPlugin QTextCursor QTextDecoder QTextDocument QTextDocumentFragment QTextDocumentWriter QTextEdit QTextEncoder QTextFormat QTextFragment QTextFrame QTextFrameFormat QTextImageFormat QTextInlineObject QTextItem QTextLayout QTextLength QTextLine QTextList QTextListFormat QTextObject QTextObjectInterface QTextOption QTextStream QTextTable QTextTableCell QTextTableCellFormat QTextTableFormat QThread QThreadPool QThreadStorage QTileRules QTime QTimeEdit QTimeLine QTimer QTimerEvent QToolBar QToolBox QToolButton QToolTip QTouchEvent QTransform QTranslator QTreeView QTreeWidget QTreeWidgetItem QTreeWidgetItemIterator QUdpSocket QUiLoader QUndoCommand QUndoGroup QUndoStack QUndoView QUrl QUrlInfo QUuid QValidator QVariant QVariantAnimation QVarLengthArray QVBoxLayout QVector QVector2D QVector3D QVector4D QVectorIterator QVideoFrame QVideoSurfaceFormat QWaitCondition QWeakPointer QWebDatabase QWebElement QWebElementCollection QWebFrame QWebHistory QWebHistoryInterface QWebHistoryItem QWebHitTestResult QWebInspector QWebPage QWebPluginFactory QWebSecurityOrigin QWebSettings QWebView QWhatsThis QWhatsThisClickedEvent QWheelEvent QWidget QWidgetAction QWidgetItem QWindowsMime QWindowsStyle QWindowStateChangeEvent QWindowsVistaStyle QWindowsXPStyle QWizard QWizardPage QWriteLocker QWSCalibratedMouseHandler QWSClient QWSEmbedWidget QWSEvent QWSGLWindowSurface QWSInputMethod QWSKeyboardHandler QWSMouseHandler QWSPointerCalibrationData QWSScreenSaver QWSServer QWSWindow QX11EmbedContainer QX11EmbedWidget QX11Info QXmlAttributes QXmlContentHandler QXmlDeclHandler QXmlDefaultHandler QXmlDTDHandler QXmlEntityResolver QXmlErrorHandler QXmlFormatter QXmlInputSource QXmlItem QXmlLexicalHandler QXmlLocator QXmlName QXmlNamePool QXmlNamespaceSupport QXmlNodeModelIndex QXmlParseException QXmlQuery QXmlReader QXmlResultItems QXmlSchema QXmlSchemaValidator QXmlSerializer QXmlSimpleReader QXmlStreamAttribute QXmlStreamAttributes QXmlStreamEntityDeclaration QXmlStreamEntityResolver QXmlStreamNamespaceDeclaration QXmlStreamNotationDeclaration QXmlStreamReader QXmlStreamWriter Qt QTest QtConcurrent Phonon QFileInfoList QMutableStringListIterator QTouchEventSequence QStringListIterator QStringBuilder QWidgetList"
+list_Qt4Func = Set.fromList $ words $ "connect disconnect staticMetaObject tr trUtf8 qFindChildren qobject_cast qAbs qBound qCritical qDebug qFatal qFuzzyCompare qFuzzyCompare qInstallMsgHandler qMacVersion qMakePair qMax qMin qPrintable qRound64 qRound qVersion qWarning q_check_ptr qgetenv qrand qsrand qtTrId qt_set_sequence_auto_mnemonic qt_symbian_exception2Error qt_symbian_exception2LeaveL qt_symbian_throwIfError qBinaryFind qCopy qCopyBackward qCount qDeleteAll qEqual qFill qFind qGreater qLess qLowerBound qSort qStableSort qSwap qUpperBound qChecksum qCompress qUncompress qsnprintf qstrcmp qstrcpy qstrdup qstricmp qstrlen qstrncmp qstrncpy qstrnicmp qstrnlen qvsnprintf qHash qMetaTypeId qRegisterMetaType qRegisterMetaType qRegisterMetaTypeStreamOperators qAlpha qBlue qGray qGray qGreen qRed qRgb qRgba qAddPostRoutine qmlInfo qmlRegisterInterface qmlRegisterType qmlRegisterType qmlRegisterTypeNotAvailable qmlRegisterUncreatableType qWebKitMajorVersion qWebKitMinorVersion qWebKitVersion qt_extension qDBusRegisterMetaType qdbus_cast"
+list_Qt4Types = Set.fromList $ words $ "QtMsgHandler QtMsgType QObjectList qint8 qint16 qint32 qint64 qlonglong qptrdiff qreal quint8 quint16 quint32 quint64 quintptr qulonglong uchar uint ulong ushort Q_PID QRgb qScriptConnect qScriptDisconnect qScriptRegisterMetaType qScriptRegisterSequenceMetaType qScriptValueFromSequence qScriptValueToSequence WId"
 
-regex_'23'5cs'2aif'5cs'2b0'5cs'2a'24 = compileRegex "#\\s*if\\s+0\\s*$"
-regex_'23'5cs'2aif'28'3f'3adef'7cndef'29'3f'28'3f'3d'5cs'2b'5cS'29 = compileRegex "#\\s*if(?:def|ndef)?(?=\\s+\\S)"
-regex_'23'5cs'2aendif = compileRegex "#\\s*endif"
-regex_'23'5cs'2adefine'2e'2a'28'28'3f'3d'5c'5c'29'29 = compileRegex "#\\s*define.*((?=\\\\))"
-regex_'23'5cs'2a'28'3f'3ael'28'3f'3ase'7cif'29'7cinclude'28'3f'3a'5fnext'29'3f'7cdefine'7cundef'7cline'7cerror'7cwarning'7cpragma'29 = compileRegex "#\\s*(?:el(?:se|if)|include(?:_next)?|define|undef|line|error|warning|pragma)"
-regex_'23'5cs'2b'5b0'2d9'5d'2b = compileRegex "#\\s+[0-9]+"
-regex_'23'5cs'2aif = compileRegex "#\\s*if"
-regex_'23'5cs'2ael'28'3f'3ase'7cif'29 = compileRegex "#\\s*el(?:se|if)"
 
 parseRules ("C++","Normal") =
-  (((pDetectSpaces >>= withAttribute NormalTok))
-   <|>
-   ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2aif'5cs'2b0'5cs'2a'24 >>= withAttribute OtherTok) >>~ pushContext ("C++","Outscoped"))
-   <|>
-   ((pFirstNonSpace >> lookAhead (pDetectChar False '#') >> pushContext ("C++","AfterHash") >> currentContext >>= parseRules))
-   <|>
-   ((pFirstNonSpace >> pString False "//BEGIN" >>= withAttribute RegionMarkerTok) >>~ pushContext ("C++","Region Marker"))
-   <|>
-   ((pFirstNonSpace >> pString False "//END" >>= withAttribute RegionMarkerTok) >>~ pushContext ("C++","Region Marker"))
-   <|>
-   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_keywords >>= withAttribute KeywordTok))
-   <|>
-   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_extensions >>= withAttribute KeywordTok))
-   <|>
-   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_types >>= withAttribute DataTypeTok))
-   <|>
-   ((pHlCChar >>= withAttribute CharTok))
-   <|>
-   ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("C++","String"))
-   <|>
-   ((pDetectIdentifier >>= withAttribute NormalTok))
-   <|>
-   (withChildren (pFloat >>= withAttribute FloatTok) ((pAnyChar "fF" >>= withAttribute FloatTok)))
-   <|>
-   ((pHlCOct >>= withAttribute BaseNTok))
-   <|>
-   ((pHlCHex >>= withAttribute BaseNTok))
-   <|>
-   (withChildren (pInt >>= withAttribute DecValTok) (((pString False "ULL" >>= withAttribute DecValTok))
-                                                     <|>
-                                                     ((pString False "LUL" >>= withAttribute DecValTok))
-                                                     <|>
-                                                     ((pString False "LLU" >>= withAttribute DecValTok))
-                                                     <|>
-                                                     ((pString False "UL" >>= withAttribute DecValTok))
-                                                     <|>
-                                                     ((pString False "LU" >>= withAttribute DecValTok))
-                                                     <|>
-                                                     ((pString False "LL" >>= withAttribute DecValTok))
-                                                     <|>
-                                                     ((pString False "U" >>= withAttribute DecValTok))
-                                                     <|>
-                                                     ((pString False "L" >>= withAttribute DecValTok))))
-   <|>
-   ((Text.Highlighting.Kate.Syntax.Doxygen.parseExpression (Just ("Doxygen",""))))
-   <|>
-   ((pDetect2Chars False '/' '/' >>= withAttribute CommentTok) >>~ pushContext ("C++","Commentar 1"))
-   <|>
-   ((pDetect2Chars False '/' '*' >>= withAttribute CommentTok) >>~ pushContext ("C++","Commentar 2"))
-   <|>
-   ((pDetectChar False '{' >>= withAttribute NormalTok))
-   <|>
-   ((pDetectChar False '}' >>= withAttribute NormalTok))
+  (((parseRules ("C++","DetectQt4Extensions")))
    <|>
-   ((pAnyChar ":!%&()+,-/.*<=>?[]{|}~^;" >>= withAttribute NormalTok))
+   ((Text.Highlighting.Kate.Syntax.Isocpp.parseExpression (Just ("ISO C++",""))))
    <|>
    (currentContext >>= \x -> guard (x == ("C++","Normal")) >> pDefault >>= withAttribute NormalTok))
 
-parseRules ("C++","String") =
-  (((pLineContinue >>= withAttribute StringTok))
-   <|>
-   ((pHlCStringChar >>= withAttribute CharTok))
-   <|>
-   ((pDetectChar False '"' >>= withAttribute StringTok) >>~ (popContext))
-   <|>
-   (currentContext >>= \x -> guard (x == ("C++","String")) >> pDefault >>= withAttribute StringTok))
-
-parseRules ("C++","Region Marker") =
-  (currentContext >>= \x -> guard (x == ("C++","Region Marker")) >> pDefault >>= withAttribute RegionMarkerTok)
-
-parseRules ("C++","Commentar 1") =
-  (((pLineContinue >>= withAttribute CommentTok))
-   <|>
-   ((pDetectSpaces >>= withAttribute CommentTok))
-   <|>
-   ((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts","")) >>= ((withAttribute CommentTok) . snd)))
-   <|>
-   ((pDetectIdentifier >>= withAttribute CommentTok))
-   <|>
-   (currentContext >>= \x -> guard (x == ("C++","Commentar 1")) >> pDefault >>= withAttribute CommentTok))
-
-parseRules ("C++","Commentar 2") =
-  (((pDetectSpaces >>= withAttribute CommentTok))
-   <|>
-   ((pDetect2Chars False '*' '/' >>= withAttribute CommentTok) >>~ (popContext))
-   <|>
-   ((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts","")) >>= ((withAttribute CommentTok) . snd)))
-   <|>
-   ((pDetectIdentifier >>= withAttribute CommentTok))
-   <|>
-   (currentContext >>= \x -> guard (x == ("C++","Commentar 2")) >> pDefault >>= withAttribute CommentTok))
-
-parseRules ("C++","AfterHash") =
-  (((pFirstNonSpace >> pRegExpr regex_'23'5cs'2aif'28'3f'3adef'7cndef'29'3f'28'3f'3d'5cs'2b'5cS'29 >>= withAttribute OtherTok) >>~ pushContext ("C++","Preprocessor"))
-   <|>
-   ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2aendif >>= withAttribute OtherTok) >>~ pushContext ("C++","Preprocessor"))
-   <|>
-   ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2adefine'2e'2a'28'28'3f'3d'5c'5c'29'29 >>= withAttribute OtherTok) >>~ pushContext ("C++","Define"))
-   <|>
-   ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2a'28'3f'3ael'28'3f'3ase'7cif'29'7cinclude'28'3f'3a'5fnext'29'3f'7cdefine'7cundef'7cline'7cerror'7cwarning'7cpragma'29 >>= withAttribute OtherTok) >>~ pushContext ("C++","Preprocessor"))
-   <|>
-   ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2b'5b0'2d9'5d'2b >>= withAttribute OtherTok) >>~ pushContext ("C++","Preprocessor"))
-   <|>
-   (currentContext >>= \x -> guard (x == ("C++","AfterHash")) >> pDefault >>= withAttribute ErrorTok))
-
-parseRules ("C++","Preprocessor") =
-  (((pLineContinue >>= withAttribute OtherTok))
-   <|>
-   ((pRangeDetect '"' '"' >>= withAttribute OtherTok))
-   <|>
-   ((pRangeDetect '<' '>' >>= withAttribute OtherTok))
-   <|>
-   ((Text.Highlighting.Kate.Syntax.Doxygen.parseExpression (Just ("Doxygen","")) >>= ((withAttribute OtherTok) . snd)))
-   <|>
-   ((pDetect2Chars False '/' '*' >>= withAttribute CommentTok) >>~ pushContext ("C++","Commentar/Preprocessor"))
-   <|>
-   ((pDetect2Chars False '/' '/' >>= withAttribute CommentTok) >>~ pushContext ("C++","Commentar 1"))
-   <|>
-   (currentContext >>= \x -> guard (x == ("C++","Preprocessor")) >> pDefault >>= withAttribute OtherTok))
-
-parseRules ("C++","Define") =
-  (((pLineContinue >>= withAttribute OtherTok))
+parseRules ("C++","DetectQt4Extensions") =
+  (((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_Qt4Types >>= withAttribute DataTypeTok))
    <|>
-   (currentContext >>= \x -> guard (x == ("C++","Define")) >> pDefault >>= withAttribute OtherTok))
-
-parseRules ("C++","Commentar/Preprocessor") =
-  (((pDetectSpaces >>= withAttribute CommentTok))
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_Qt4Classes >>= withAttribute OtherTok) >>~ pushContext ("C++","QtClassMember"))
    <|>
-   ((pDetect2Chars False '*' '/' >>= withAttribute CommentTok) >>~ (popContext))
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_Qt4Func >>= withAttribute FunctionTok))
    <|>
-   ((pDetectIdentifier >>= withAttribute CommentTok))
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_Qt4Macros >>= withAttribute KeywordTok))
    <|>
-   (currentContext >>= \x -> guard (x == ("C++","Commentar/Preprocessor")) >> pDefault >>= withAttribute CommentTok))
+   (currentContext >>= \x -> guard (x == ("C++","DetectQt4Extensions")) >> pDefault >>= withAttribute NormalTok))
 
-parseRules ("C++","Outscoped") =
-  (((pDetectSpaces >>= withAttribute CommentTok))
-   <|>
-   ((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts","")) >>= ((withAttribute CommentTok) . snd)))
-   <|>
-   ((pDetectIdentifier >>= withAttribute CommentTok))
-   <|>
-   ((Text.Highlighting.Kate.Syntax.Doxygen.parseExpression (Just ("Doxygen","")) >>= ((withAttribute CommentTok) . snd)))
-   <|>
-   ((pDetect2Chars False '/' '/' >>= withAttribute CommentTok) >>~ pushContext ("C++","Commentar 1"))
-   <|>
-   ((pDetect2Chars False '/' '*' >>= withAttribute CommentTok) >>~ pushContext ("C++","Commentar 2"))
-   <|>
-   ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2aif >>= withAttribute CommentTok) >>~ pushContext ("C++","Outscoped intern"))
-   <|>
-   ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2ael'28'3f'3ase'7cif'29 >>= withAttribute OtherTok) >>~ (popContext))
-   <|>
-   ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2aendif >>= withAttribute OtherTok) >>~ (popContext))
+parseRules ("C++","QtClassMember") =
+  (((parseRules ("C++","DetectNSEnd")))
    <|>
-   (currentContext >>= \x -> guard (x == ("C++","Outscoped")) >> pDefault >>= withAttribute CommentTok))
+   (currentContext >>= \x -> guard (x == ("C++","QtClassMember")) >> pDefault >>= withAttribute OtherTok))
 
-parseRules ("C++","Outscoped intern") =
-  (((pDetectSpaces >>= withAttribute CommentTok))
-   <|>
-   ((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts","")) >>= ((withAttribute CommentTok) . snd)))
-   <|>
-   ((pDetectIdentifier >>= withAttribute CommentTok))
-   <|>
-   ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("C++","String"))
-   <|>
-   ((Text.Highlighting.Kate.Syntax.Doxygen.parseExpression (Just ("Doxygen","")) >>= ((withAttribute CommentTok) . snd)))
-   <|>
-   ((pDetect2Chars False '/' '/' >>= withAttribute CommentTok) >>~ pushContext ("C++","Commentar 1"))
-   <|>
-   ((pDetect2Chars False '/' '*' >>= withAttribute CommentTok) >>~ pushContext ("C++","Commentar 2"))
+parseRules ("C++","DetectNSEnd") =
+  (((pDetectIdentifier >>= withAttribute NormalTok))
    <|>
-   ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2aif >>= withAttribute CommentTok) >>~ pushContext ("C++","Outscoped intern"))
+   ((lookAhead (pAnyChar "!% &()+-/.*<=>?[]{|}~^,;") >> (popContext) >> currentContext >>= parseRules))
    <|>
-   ((pFirstNonSpace >> pRegExpr regex_'23'5cs'2aendif >>= withAttribute CommentTok) >>~ (popContext))
+   ((lookAhead (pAnyChar " ") >> currentContext >>= parseRules))
    <|>
-   (currentContext >>= \x -> guard (x == ("C++","Outscoped intern")) >> pDefault >>= withAttribute CommentTok))
+   (currentContext >>= \x -> guard (x == ("C++","DetectNSEnd")) >> pDefault >>= withAttribute NormalTok))
 
-parseRules ("Doxygen", _) = Text.Highlighting.Kate.Syntax.Doxygen.parseExpression Nothing
-parseRules ("Alerts", _) = Text.Highlighting.Kate.Syntax.Alert.parseExpression Nothing
+parseRules ("ISO C++", _) = Text.Highlighting.Kate.Syntax.Isocpp.parseExpression Nothing
 
 parseRules x = parseRules ("C++","Normal") <|> fail ("Unknown context" ++ show x)
diff --git a/Text/Highlighting/Kate/Syntax/Css.hs b/Text/Highlighting/Kate/Syntax/Css.hs
--- a/Text/Highlighting/Kate/Syntax/Css.hs
+++ b/Text/Highlighting/Kate/Syntax/Css.hs
@@ -1,5 +1,5 @@
 {- This module was generated from data in the Kate syntax
-   highlighting file css.xml, version 2.06, by Wilbert Berendsen (wilbert@kde.nl) -}
+   highlighting file css.xml, version 2.08, by Wilbert Berendsen (wilbert@kde.nl) -}
 
 module Text.Highlighting.Kate.Syntax.Css
           (highlight, parseExpression, syntaxName, syntaxExtensions)
@@ -52,6 +52,11 @@
       ("CSS","FindStrings") -> return ()
       ("CSS","FindComments") -> return ()
       ("CSS","Media") -> return ()
+      ("CSS","MediaTypes") -> return ()
+      ("CSS","MediaQueries") -> return ()
+      ("CSS","MediaQueryExpression") -> return ()
+      ("CSS","MQEE") -> return ()
+      ("CSS","MQEV") -> return ()
       ("CSS","Media2") -> return ()
       ("CSS","SelAttr") -> return ()
       ("CSS","SelPseudo") -> (popContext) >> pEndLine
@@ -78,7 +83,9 @@
 list_types = Set.fromList $ words $ "inherit none hidden dotted dashed solid double groove ridge inset outset xx-small x-small small medium large x-large xx-large smaller larger italic oblique small-caps normal bold bolder lighter light 100 200 300 400 500 600 700 800 900 transparent repeat repeat-x repeat-y no-repeat baseline sub super top text-top middle bottom text-bottom left right center justify konq-center disc circle square box decimal decimal-leading-zero lower-roman upper-roman lower-greek lower-alpha lower-latin upper-alpha upper-latin hebrew armenian georgian cjk-ideographic hiragana katakana hiragana-iroha katakana-iroha inline inline-block block list-item run-in compact marker table inline-table table-row-group table-header-group table-footer-group table-row table-column-group table-column table-cell table-caption auto crosshair default pointer move e-resize ne-resize nw-resize n-resize se-resize sw-resize s-resize w-resize text wait help above absolute always avoid below bidi-override blink both capitalize caption clip close-quote collapse condensed crop cross ellipsis ellipsis-word embed expanded extra-condensed extra-expanded fixed hand hide higher icon inside invert landscape level line-through loud lower lowercase ltr menu message-box mix narrower no-close-quote no-open-quote nowrap open-quote outside overline portrait pre pre-line pre-wrap relative rtl scroll semi-condensed semi-expanded separate show small-caption static static-position status-bar thick thin ultra-condensed ultra-expanded underline uppercase visible wider break serif sans-serif cursive fantasy monospace border-box content-box -epub-hyphens"
 list_colors = Set.fromList $ words $ "aqua black blue cyan fuchsia gray green lime maroon navy olive purple red silver teal white yellow activeborder activecaption appworkspace background buttonface buttonhighlight buttonshadow buttontext captiontext graytext highlight highlighttext inactiveborder inactivecaption inactivecaptiontext infobackground infotext menu menutext scrollbar threeddarkshadow threedface threedhighlight threedlightshadow threedshadow window windowframe windowtext"
 list_paren = Set.fromList $ words $ "url attr rect rgb rgba hsl hsla counter counters local format expression"
-list_mediatypes = Set.fromList $ words $ "all aural braille embossed handheld print projection screen tty tv"
+list_mediatypes = Set.fromList $ words $ "all aural braille embossed handheld print projection screen speech tty tv"
+list_mediatypes'5fop = Set.fromList $ words $ "not only"
+list_media'5ffeatures = Set.fromList $ words $ "width min-width max-width height min-height max-height device-width min-device-width max-device-width device-height min-device-height max-device-height orientation aspect-ratio min-aspect-ratio max-aspect-ratio device-aspect-ratio min-device-aspect-ratio max-device-aspect-ratio color min-color max-color color-index min-color-index max-color-index monochrome min-monochrome max-monochrome resolution min-resolution max-resolution scan grid"
 list_pseudoclasses = Set.fromList $ words $ "hover link visited active focus first-child last-child only-child first-of-type last-of-type only-of-type first-letter first-line before after selection root empty target enabled disabled checked indeterminate nth-child nth-last-child nth-of-type nth-last-of-type not"
 
 regex_'40media'5cb = compileRegex "@media\\b"
@@ -93,6 +100,13 @@
 regex_'2f'5c'2aBEGIN'2e'2a'5c'2a'2f = compileRegex "/\\*BEGIN.*\\*/"
 regex_'2f'5c'2aEND'2e'2a'5c'2a'2f = compileRegex "/\\*END.*\\*/"
 regex_'5cS'2b = compileRegex "\\S+"
+regex_'5cs'2band'5cs'2b'5c'28 = compileRegex "\\s+and\\s+\\("
+regex_'5c'29'5cs'2band'5cs'2b'5c'28 = compileRegex "\\)\\s+and\\s+\\("
+regex_'5b1'2d9'5d'5b0'2d9'2e'5d'2a'5cs'2a'2f'5cs'2a'5b1'2d9'5d'5b0'2d9'2e'5d'2a = compileRegex "[1-9][0-9.]*\\s*/\\s*[1-9][0-9.]*"
+regex_'5b0'2d9'2e'5d'2b'28em'7cex'7cch'7crem'7cvw'7cvh'7cvm'7cpx'7cin'7ccm'7cmm'7cpt'7cpc'7cdeg'7crad'7cgrad'7cturn'7cms'7cs'7cHz'7ckHz'7cdpi'7cdpcm'29'5cb = compileRegex "[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"
+regex_'5b0'2d9'2e'5d'2b'5b'25'5d'3f = compileRegex "[0-9.]+[%]?"
+regex_'28portrait'7clandscape'29 = compileRegex "(portrait|landscape)"
+regex_'2e'2a = compileRegex ".*"
 regex_'2d'3f'5bA'2dZa'2dz'5f'2d'5d'2b'28'3f'3d'5cs'2a'3a'29 = compileRegex "-?[A-Za-z_-]+(?=\\s*:)"
 regex_'5cS = compileRegex "\\S"
 regex_'23'28'5b0'2d9A'2dFa'2df'5d'7b3'7d'29'7b1'2c4'7d'5cb = compileRegex "#([0-9A-Fa-f]{3}){1,4}\\b"
@@ -161,8 +175,12 @@
 parseRules ("CSS","Media") =
   (((pDetectChar False '{' >>= withAttribute DecValTok) >>~ pushContext ("CSS","Media2"))
    <|>
-   ((pKeyword " \n\t.():!+,<=>&*/;?[]^{|}~\\" list_mediatypes >>= withAttribute DecValTok))
+   ((pDetectChar False '(' >>= withAttribute DecValTok) >>~ pushContext ("CSS","MediaQueryExpression"))
    <|>
+   ((pKeyword " \n\t.():!+,<=>&*/;?[]^{|}~\\" list_mediatypes >>= withAttribute DecValTok) >>~ pushContext ("CSS","MediaQueries"))
+   <|>
+   ((pKeyword " \n\t.():!+,<=>&*/;?[]^{|}~\\" list_mediatypes'5fop >>= withAttribute DecValTok) >>~ pushContext ("CSS","MediaTypes"))
+   <|>
    ((pDetectChar False ',' >>= withAttribute DecValTok))
    <|>
    ((parseRules ("CSS","FindComments")))
@@ -170,6 +188,73 @@
    ((pRegExpr regex_'5cS'2b >>= withAttribute ErrorTok))
    <|>
    (currentContext >>= \x -> guard (x == ("CSS","Media")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("CSS","MediaTypes") =
+  (((pKeyword " \n\t.():!+,<=>&*/;?[]^{|}~\\" list_mediatypes >>= withAttribute DecValTok) >>~ pushContext ("CSS","MediaQueries"))
+   <|>
+   ((lookAhead (pDetectChar False '{') >> (popContext) >> currentContext >>= parseRules))
+   <|>
+   ((lookAhead (pDetectChar False ',') >> (popContext) >> currentContext >>= parseRules))
+   <|>
+   ((pDetectSpaces >>= withAttribute DecValTok))
+   <|>
+   ((parseRules ("CSS","FindComments")))
+   <|>
+   ((pRegExpr regex_'5cS'2b >>= withAttribute ErrorTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("CSS","MediaTypes")) >> pDefault >>= withAttribute DecValTok))
+
+parseRules ("CSS","MediaQueries") =
+  (((pRegExpr regex_'5cs'2band'5cs'2b'5c'28 >>= withAttribute DecValTok) >>~ pushContext ("CSS","MediaQueryExpression"))
+   <|>
+   ((lookAhead (pDetectChar False '{') >> (popContext) >> currentContext >>= parseRules))
+   <|>
+   ((lookAhead (pDetectChar False ',') >> (popContext) >> currentContext >>= parseRules))
+   <|>
+   ((pDetectSpaces >>= withAttribute DecValTok))
+   <|>
+   ((parseRules ("CSS","FindComments")))
+   <|>
+   ((pRegExpr regex_'5cS'2b >>= withAttribute ErrorTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("CSS","MediaQueries")) >> pDefault >>= withAttribute DecValTok))
+
+parseRules ("CSS","MediaQueryExpression") =
+  (((pDetectSpaces >>= withAttribute DecValTok))
+   <|>
+   ((pKeyword " \n\t.():!+,<=>&*/;?[]^{|}~\\" list_media'5ffeatures >>= withAttribute DecValTok) >>~ pushContext ("CSS","MQEE"))
+   <|>
+   ((parseRules ("CSS","FindComments")))
+   <|>
+   ((pRegExpr regex_'5cS'2b >>= withAttribute ErrorTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("CSS","MediaQueryExpression")) >> pDefault >>= withAttribute DecValTok))
+
+parseRules ("CSS","MQEE") =
+  (((pDetectSpaces >>= withAttribute DecValTok))
+   <|>
+   ((parseRules ("CSS","FindComments")))
+   <|>
+   ((pDetectChar False ':' >>= withAttribute DecValTok) >>~ pushContext ("CSS","MQEV"))
+   <|>
+   ((pRegExpr regex_'5c'29'5cs'2band'5cs'2b'5c'28 >>= withAttribute DecValTok) >>~ (popContext))
+   <|>
+   ((pDetectChar False ')' >>= withAttribute DecValTok) >>~ (popContext >> popContext))
+   <|>
+   ((popContext) >> currentContext >>= parseRules))
+
+parseRules ("CSS","MQEV") =
+  (((pRegExpr regex_'5b1'2d9'5d'5b0'2d9'2e'5d'2a'5cs'2a'2f'5cs'2a'5b1'2d9'5d'5b0'2d9'2e'5d'2a >>= withAttribute DataTypeTok) >>~ (popContext))
+   <|>
+   ((pRegExpr regex_'5b0'2d9'2e'5d'2b'28em'7cex'7cch'7crem'7cvw'7cvh'7cvm'7cpx'7cin'7ccm'7cmm'7cpt'7cpc'7cdeg'7crad'7cgrad'7cturn'7cms'7cs'7cHz'7ckHz'7cdpi'7cdpcm'29'5cb >>= withAttribute DataTypeTok) >>~ (popContext))
+   <|>
+   ((pRegExpr regex_'5b0'2d9'2e'5d'2b'5b'25'5d'3f >>= withAttribute DataTypeTok) >>~ (popContext))
+   <|>
+   ((pRegExpr regex_'28portrait'7clandscape'29 >>= withAttribute DataTypeTok) >>~ (popContext))
+   <|>
+   ((pRegExpr regex_'2e'2a >>= withAttribute ErrorTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("CSS","MQEV")) >> pDefault >>= withAttribute DecValTok))
 
 parseRules ("CSS","Media2") =
   (((pDetectChar False '}' >>= withAttribute DecValTok) >>~ (popContext >> popContext))
diff --git a/Text/Highlighting/Kate/Syntax/Djangotemplate.hs b/Text/Highlighting/Kate/Syntax/Djangotemplate.hs
--- a/Text/Highlighting/Kate/Syntax/Djangotemplate.hs
+++ b/Text/Highlighting/Kate/Syntax/Djangotemplate.hs
@@ -466,7 +466,7 @@
    <|>
    ((parseRules ("Django HTML Template","FindTemplate")))
    <|>
-   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript",""))))
+   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript","Normal"))))
    <|>
    (currentContext >>= \x -> guard (x == ("Django HTML Template","JS content")) >> pDefault >>= withAttribute NormalTok))
 
diff --git a/Text/Highlighting/Kate/Syntax/Gcc.hs b/Text/Highlighting/Kate/Syntax/Gcc.hs
new file mode 100644
--- /dev/null
+++ b/Text/Highlighting/Kate/Syntax/Gcc.hs
@@ -0,0 +1,116 @@
+{- This module was generated from data in the Kate syntax
+   highlighting file gcc.xml, version 0.4, by Alex Turbov (i.zaufi@gmail.com) -}
+
+module Text.Highlighting.Kate.Syntax.Gcc
+          (highlight, parseExpression, syntaxName, syntaxExtensions)
+where
+import Text.Highlighting.Kate.Types
+import Text.Highlighting.Kate.Common
+import Text.ParserCombinators.Parsec hiding (State)
+import Control.Monad.State
+import Data.Char (isSpace)
+import qualified Data.Set as Set
+
+-- | Full name of language.
+syntaxName :: String
+syntaxName = "GCCExtensions"
+
+-- | Filename extensions for this language.
+syntaxExtensions :: String
+syntaxExtensions = "*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;"
+
+-- | Highlight source code using this syntax definition.
+highlight :: String -> [SourceLine]
+highlight input = evalState (mapM parseSourceLine $ lines input) startingState
+
+parseSourceLine :: String -> State SyntaxState SourceLine
+parseSourceLine = mkParseSourceLine (parseExpression Nothing)
+
+-- | Parse an expression using appropriate local context.
+parseExpression :: Maybe (String,String)
+                -> KateParser Token
+parseExpression mbcontext = do
+  (lang,cont) <- maybe currentContext return mbcontext
+  result <- parseRules (lang,cont)
+  optional $ do eof
+                updateState $ \st -> st{ synStPrevChar = '\n' }
+                pEndLine
+  return result
+
+startingState = SyntaxState {synStContexts = [("GCCExtensions","DetectGccExtensions")], synStLineNumber = 0, synStPrevChar = '\n', synStPrevNonspace = False, synStCaseSensitive = True, synStKeywordCaseSensitive = True, synStCaptures = []}
+
+pEndLine = do
+  updateState $ \st -> st{ synStPrevNonspace = False }
+  context <- currentContext
+  contexts <- synStContexts `fmap` getState
+  if length contexts >= 2
+    then case context of
+      ("GCCExtensions","DetectGccExtensions") -> return ()
+      ("GCCExtensions","GNUMacros") -> return ()
+      ("GCCExtensions","AttrArgs") -> (popContext) >> pEndLine
+      ("GCCExtensions","Close") -> return ()
+      ("GCCExtensions","AttrStringArg") -> return ()
+      _ -> return ()
+    else return ()
+
+withAttribute attr txt = do
+  when (null txt) $ fail "Parser matched no text"
+  updateState $ \st -> st { synStPrevChar = last txt
+                          , synStPrevNonspace = synStPrevNonspace st || not (all isSpace txt) }
+  return (attr, txt)
+
+list_GNUTypes = Set.fromList $ words $ "__float80 __float128 _Decimal32 _Decimal64 _Decimal128 __int128 __fp16 _Fract _Sat _Accum"
+list_GNUKeywords = Set.fromList $ words $ "__asm__ __const__ __extension__ __inline__ __label__ __complex__ __real__ __restrict__ __restrict __imag__ __typeof__ typeof __alignof__ __thread"
+list_GNUFunctions = Set.fromList $ words $ "__has_nothrow_assign __has_nothrow_copy __has_nothrow_constructor __has_trivial_assign __has_trivial_copy __has_trivial_constructor __has_trivial_destructor __has_virtual_destructor __is_abstract __is_base_of __is_class __is_empty __is_enum __is_pod __is_polymorphic __is_union __sync_fetch_and_add __sync_fetch_and_sub __sync_fetch_and_or __sync_fetch_and_and __sync_fetch_and_xor __sync_fetch_and_nand __sync_add_and_fetch __sync_sub_and_fetch __sync_or_and_fetch __sync_and_and_fetch __sync_xor_and_fetch __sync_nand_and_fetch __sync_bool_compare_and_swap __sync_val_compare_and_swap __sync_synchronize __sync_lock_test_and_set __sync_lock_release __atomic_load_n __atomic_load __atomic_store_n __atomic_store __atomic_exchange_n __atomic_exchange __atomic_compare_exchange_n __atomic_compare_exchange __atomic_add_fetch __atomic_sub_fetch __atomic_and_fetch __atomic_or_fetch __atomic_xor_fetch __atomic_nand_fetch __atomic_fetch_add __atomic_fetch_sub __atomic_fetch_and __atomic_fetch_or __atomic_fetch_xor __atomic_fetch_nand __atomic_test_and_set __atomic_clear __atomic_signal_fence __atomic_thread_fence __atomic_always_lock_free __atomic_is_lock_free"
+list_GNUMacros = Set.fromList $ words $ "_FORTIFY_SOURCE _GNU_SOURCE _ILP32 _LP64 _REENTRANT _STDC_PREDEF_H __3dNOW_A__ __3dNOW__ __ABM__ __ADX__ __AES__ __ATOMIC_ACQUIRE __ATOMIC_ACQ_REL __ATOMIC_CONSUME __ATOMIC_HLE_ACQUIRE __ATOMIC_HLE_RELEASE __ATOMIC_RELAXED __ATOMIC_RELEASE __ATOMIC_SEQ_CST __AVX2__ __AVX__ __BASE_FILE__ __BIGGEST_ALIGNMENT__ __BMI2__ __BMI__ __BYTE_ORDER__ __CHAR16_TYPE__ __CHAR32_TYPE__ __CHAR_BIT__ __CHAR_UNSIGNED__ __COUNTER__ __DBL_DECIMAL_DIG__ __DBL_DENORM_MIN__ __DBL_DIG__ __DBL_EPSILON__ __DBL_HAS_DENORM__ __DBL_HAS_INFINITY__ __DBL_HAS_QUIET_NAN__ __DBL_MANT_DIG__ __DBL_MAX_10_EXP__ __DBL_MAX_EXP__ __DBL_MAX__ __DBL_MIN_10_EXP__ __DBL_MIN_EXP__ __DBL_MIN__ __DEC128_EPSILON__ __DEC128_MANT_DIG__ __DEC128_MAX_EXP__ __DEC128_MAX__ __DEC128_MIN_EXP__ __DEC128_MIN__ __DEC128_SUBNORMAL_MIN__ __DEC32_EPSILON__ __DEC32_MANT_DIG__ __DEC32_MAX_EXP__ __DEC32_MAX__ __DEC32_MIN_EXP__ __DEC32_MIN__ __DEC32_SUBNORMAL_MIN__ __DEC64_EPSILON__ __DEC64_MANT_DIG__ __DEC64_MAX_EXP__ __DEC64_MAX__ __DEC64_MIN_EXP__ __DEC64_MIN__ __DEC64_SUBNORMAL_MIN__ __DECIMAL_BID_FORMAT__ __DECIMAL_DIG__ __DEC_EVAL_METHOD__ __DEPRECATED __ELF__ __EXCEPTIONS __F16C__ __FAST_MATH__ __FINITE_MATH_ONLY__ __FLOAT_WORD_ORDER__ __FLT_DECIMAL_DIG__ __FLT_DENORM_MIN__ __FLT_DIG__ __FLT_EPSILON__ __FLT_EVAL_METHOD__ __FLT_HAS_DENORM__ __FLT_HAS_INFINITY__ __FLT_HAS_QUIET_NAN__ __FLT_MANT_DIG__ __FLT_MAX_10_EXP__ __FLT_MAX_EXP__ __FLT_MAX__ __FLT_MIN_10_EXP__ __FLT_MIN_EXP__ __FLT_MIN__ __FLT_RADIX__ __FMA4__ __FMA__ __FP_FAST_FMA __FP_FAST_FMAF __FSGSBASE__ __FUNCTION__ __FXSR__ __GCC_ATOMIC_BOOL_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR32_T_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_INT_LOCK_FREE __GCC_ATOMIC_LLONG_LOCK_FREE __GCC_ATOMIC_LONG_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_SHORT_LOCK_FREE __GCC_ATOMIC_TEST_AND_SET_TRUEVAL __GCC_ATOMIC_WCHAR_T_LOCK_FREE __GCC_HAVE_DWARF2_CFI_ASM __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 __GFORTRAN__ __GNUC_GNU_INLINE__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__ __GNUC_STDC_INLINE__ __GNUC__ __GNUG__ __GXX_ABI_VERSION __GXX_EXPERIMENTAL_CXX0X__ __GXX_RTTI __GXX_WEAK__ __ILP32__ __INCLUDE_LEVEL__ __INT16_C __INT16_MAX__ __INT16_TYPE__ __INT32_C __INT32_MAX__ __INT32_TYPE__ __INT64_C __INT64_MAX__ __INT64_TYPE__ __INT8_C __INT8_MAX__ __INT8_TYPE__ __INTMAX_C __INTMAX_MAX__ __INTMAX_TYPE__ __INTPTR_MAX__ __INTPTR_TYPE__ __INT_FAST16_MAX__ __INT_FAST16_TYPE__ __INT_FAST32_MAX__ __INT_FAST32_TYPE__ __INT_FAST64_MAX__ __INT_FAST64_TYPE__ __INT_FAST8_MAX__ __INT_FAST8_TYPE__ __INT_LEAST16_MAX__ __INT_LEAST16_TYPE__ __INT_LEAST32_MAX__ __INT_LEAST32_TYPE__ __INT_LEAST64_MAX__ __INT_LEAST64_TYPE__ __INT_LEAST8_MAX__ __INT_LEAST8_TYPE__ __INT_MAX__ __LDBL_DENORM_MIN__ __LDBL_DIG__ __LDBL_EPSILON__ __LDBL_HAS_DENORM__ __LDBL_HAS_INFINITY__ __LDBL_HAS_QUIET_NAN__ __LDBL_MANT_DIG__ __LDBL_MAX_10_EXP__ __LDBL_MAX_EXP__ __LDBL_MAX__ __LDBL_MIN_10_EXP__ __LDBL_MIN_EXP__ __LDBL_MIN__ __LONG_LONG_MAX__ __LONG_MAX__ __LP64__ __LWP__ __LZCNT__ __MMX__ __NEXT_RUNTIME__ __NO_INLINE__ __OPTIMIZE_SIZE__ __OPTIMIZE__ __ORDER_BIG_ENDIAN__ __ORDER_LITTLE_ENDIAN__ __ORDER_PDP_ENDIAN__ __PCLMUL__ __PIC__ __PIE__ __POPCNT__ __PRAGMA_REDEFINE_EXTNAME __PRETTY_FUNCTION__ __PRFCHW__ __PTRDIFF_MAX__ __PTRDIFF_TYPE__ __RDRND__ __RDSEED__ __REGISTER_PREFIX__ __RTM__ __SANITIZE_ADDRESS__ __SCHAR_MAX__ __SHRT_MAX__ __SIG_ATOMIC_MAX__ __SIG_ATOMIC_MIN__ __SIG_ATOMIC_TYPE__ __SIZEOF_DOUBLE__ __SIZEOF_FLOAT__ __SIZEOF_INT128__ __SIZEOF_INT__ __SIZEOF_LONG_DOUBLE__ __SIZEOF_LONG_LONG__ __SIZEOF_LONG__ __SIZEOF_POINTER__ __SIZEOF_PTRDIFF_T__ __SIZEOF_SHORT__ __SIZEOF_SIZE_T__ __SIZEOF_WCHAR_T__ __SIZEOF_WINT_T__ __SIZE_MAX__ __SIZE_TYPE__ __SSE2_MATH__ __SSE2__ __SSE3__ __SSE4A__ __SSE4_1__ __SSE4_2__ __SSE_MATH__ __SSE__ __SSP_ALL__ __SSP__ __SSSE3__ __STDC_HOSTED__ __STDC_IEC_559_COMPLEX__ __STDC_IEC_559__ __STDC_ISO_10646__ __STDC_NO_THREADS__ __STDC_UTF_16__ __STDC_UTF_32__ __STDC_VERSION__ __STDC__ __STRICT_ANSI__ __TBM__ __TIMESTAMP__ __UINT16_C __UINT16_MAX__ __UINT16_TYPE__ __UINT32_C __UINT32_MAX__ __UINT32_TYPE__ __UINT64_C __UINT64_MAX__ __UINT64_TYPE__ __UINT8_C __UINT8_MAX__ __UINT8_TYPE__ __UINTMAX_C __UINTMAX_MAX__ __UINTMAX_TYPE__ __UINTPTR_MAX__ __UINTPTR_TYPE__ __UINT_FAST16_MAX__ __UINT_FAST16_TYPE__ __UINT_FAST32_MAX__ __UINT_FAST32_TYPE__ __UINT_FAST64_MAX__ __UINT_FAST64_TYPE__ __UINT_FAST8_MAX__ __UINT_FAST8_TYPE__ __UINT_LEAST16_MAX__ __UINT_LEAST16_TYPE__ __UINT_LEAST32_MAX__ __UINT_LEAST32_TYPE__ __UINT_LEAST64_MAX__ __UINT_LEAST64_TYPE__ __UINT_LEAST8_MAX__ __UINT_LEAST8_TYPE__ __USER_LABEL_PREFIX__ __USING_SJLJ_EXCEPTIONS__ __VA_ARGS__ __VERSION__ __WCHAR_MAX__ __WCHAR_MIN__ __WCHAR_TYPE__ __WCHAR_UNSIGNED__ __WINT_MAX__ __WINT_MIN__ __WINT_TYPE__ __XOP__ __XSAVEOPT__ __XSAVE__ __amd64 __amd64__ __amdfam10 __amdfam10__ __athlon __athlon__ __athlon_sse__ __atom __atom__ __bdver1 __bdver1__ __bdver2 __bdver2__ __bdver3 __bdver3__ __btver1 __btver1__ __btver2 __btver2__ __code_model_32__ __code_model_small__ __core2 __core2__ __core_avx2 __core_avx2__ __corei7 __corei7__ __cplusplus __geode __geode__ __gnu_linux__ __i386 __i386__ __i486 __i486__ __i586 __i586__ __i686 __i686__ __k6 __k6_2__ __k6_3__ __k6__ __k8 __k8__ __linux __linux__ __nocona __nocona__ __pentium __pentium4 __pentium4__ __pentium__ __pentium_mmx__ __pentiumpro __pentiumpro__ __pic__ __pie__ __tune_amdfam10__ __tune_athlon__ __tune_athlon_sse__ __tune_atom__ __tune_bdver1__ __tune_bdver2__ __tune_bdver3__ __tune_btver1__ __tune_btver2__ __tune_core2__ __tune_core_avx2__ __tune_corei7__ __tune_geode__ __tune_i386__ __tune_i486__ __tune_i586__ __tune_i686__ __tune_k6_2__ __tune_k6_3__ __tune_k6__ __tune_k8__ __tune_nocona__ __tune_pentium2__ __tune_pentium3__ __tune_pentium4__ __tune_pentium__ __tune_pentium_mmx__ __tune_pentiumpro__ __unix __unix__ __x86_64 __x86_64__ i386 linux unix"
+
+regex_'5f'5fbuiltin'5f'5ba'2dzA'2dZ0'2d9'5f'5d'2b = compileRegex "__builtin_[a-zA-Z0-9_]+"
+regex_0'5bBb'5d'5b01'5d'2b'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb = compileRegex "0[Bb][01]+([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\\b"
+
+parseRules ("GCCExtensions","DetectGccExtensions") =
+  (((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_GNUMacros >>= withAttribute OtherTok))
+   <|>
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_GNUFunctions >>= withAttribute OtherTok))
+   <|>
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_GNUTypes >>= withAttribute OtherTok))
+   <|>
+   ((pString False "__attribute__" >>= withAttribute OtherTok) >>~ pushContext ("GCCExtensions","AttrArgs"))
+   <|>
+   ((pString False "__declspec" >>= withAttribute OtherTok) >>~ pushContext ("GCCExtensions","AttrArgs"))
+   <|>
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_GNUKeywords >>= withAttribute OtherTok))
+   <|>
+   ((pRegExpr regex_'5f'5fbuiltin'5f'5ba'2dzA'2dZ0'2d9'5f'5d'2b >>= withAttribute OtherTok))
+   <|>
+   ((pRegExpr regex_0'5bBb'5d'5b01'5d'2b'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb >>= withAttribute OtherTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("GCCExtensions","DetectGccExtensions")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("GCCExtensions","GNUMacros") =
+  (((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_GNUMacros >>= withAttribute OtherTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("GCCExtensions","GNUMacros")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("GCCExtensions","AttrArgs") =
+  (((pDetect2Chars False '(' '(' >>= withAttribute OtherTok))
+   <|>
+   ((pDetect2Chars False ')' ')' >>= withAttribute OtherTok) >>~ (popContext))
+   <|>
+   ((pDetectChar False '(' >>= withAttribute OtherTok) >>~ pushContext ("GCCExtensions","Close"))
+   <|>
+   (currentContext >>= \x -> guard (x == ("GCCExtensions","AttrArgs")) >> pDefault >>= withAttribute OtherTok))
+
+parseRules ("GCCExtensions","Close") =
+  (((pDetectChar False ')' >>= withAttribute OtherTok) >>~ (popContext))
+   <|>
+   ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("GCCExtensions","AttrStringArg"))
+   <|>
+   (currentContext >>= \x -> guard (x == ("GCCExtensions","Close")) >> pDefault >>= withAttribute OtherTok))
+
+parseRules ("GCCExtensions","AttrStringArg") =
+  (((pDetectChar False '"' >>= withAttribute StringTok) >>~ (popContext))
+   <|>
+   (currentContext >>= \x -> guard (x == ("GCCExtensions","AttrStringArg")) >> pDefault >>= withAttribute StringTok))
+
+
+parseRules x = parseRules ("GCCExtensions","DetectGccExtensions") <|> fail ("Unknown context" ++ show x)
diff --git a/Text/Highlighting/Kate/Syntax/Html.hs b/Text/Highlighting/Kate/Syntax/Html.hs
--- a/Text/Highlighting/Kate/Syntax/Html.hs
+++ b/Text/Highlighting/Kate/Syntax/Html.hs
@@ -1,5 +1,5 @@
 {- This module was generated from data in the Kate syntax
-   highlighting file html.xml, version 1.99, by Wilbert Berendsen (wilbert@kde.nl) -}
+   highlighting file html.xml, version 2.0, by Wilbert Berendsen (wilbert@kde.nl) -}
 
 module Text.Highlighting.Kate.Syntax.Html
           (highlight, parseExpression, syntaxName, syntaxExtensions)
@@ -94,6 +94,15 @@
 regex_'3cul'5cb = compileRegex "<ul\\b"
 regex_'3col'5cb = compileRegex "<ol\\b"
 regex_'3cdl'5cb = compileRegex "<dl\\b"
+regex_'3carticle'5cb = compileRegex "<article\\b"
+regex_'3caside'5cb = compileRegex "<aside\\b"
+regex_'3cdetails'5cb = compileRegex "<details\\b"
+regex_'3cfigure'5cb = compileRegex "<figure\\b"
+regex_'3cfooter'5cb = compileRegex "<footer\\b"
+regex_'3cheader'5cb = compileRegex "<header\\b"
+regex_'3cmain'5cb = compileRegex "<main\\b"
+regex_'3cnav'5cb = compileRegex "<nav\\b"
+regex_'3csection'5cb = compileRegex "<section\\b"
 regex_'3c'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a = compileRegex "<[A-Za-z_:][\\w.:_-]*"
 regex_'3c'2fpre'5cb = compileRegex "</pre\\b"
 regex_'3c'2fdiv'5cb = compileRegex "</div\\b"
@@ -101,6 +110,15 @@
 regex_'3c'2ful'5cb = compileRegex "</ul\\b"
 regex_'3c'2fol'5cb = compileRegex "</ol\\b"
 regex_'3c'2fdl'5cb = compileRegex "</dl\\b"
+regex_'3c'2farticle'5cb = compileRegex "</article\\b"
+regex_'3c'2faside'5cb = compileRegex "</aside\\b"
+regex_'3c'2fdetails'5cb = compileRegex "</details\\b"
+regex_'3c'2ffigure'5cb = compileRegex "</figure\\b"
+regex_'3c'2ffooter'5cb = compileRegex "</footer\\b"
+regex_'3c'2fheader'5cb = compileRegex "</header\\b"
+regex_'3c'2fmain'5cb = compileRegex "</main\\b"
+regex_'3c'2fnav'5cb = compileRegex "</nav\\b"
+regex_'3c'2fsection'5cb = compileRegex "</section\\b"
 regex_'3c'2f'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a = compileRegex "</[A-Za-z_:][\\w.:_-]*"
 regex_'26'28'23'5b0'2d9'5d'2b'7c'23'5bxX'5d'5b0'2d9A'2dFa'2df'5d'2b'7c'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a'29'3b = compileRegex "&(#[0-9]+|#[xX][0-9A-Fa-f]+|[A-Za-z_:][\\w.:_-]*);"
 regex_'25'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a'3b = compileRegex "%[A-Za-z_:][\\w.:_-]*;"
@@ -149,6 +167,24 @@
    <|>
    ((pRegExpr regex_'3cdl'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
    <|>
+   ((pRegExpr regex_'3carticle'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
+   <|>
+   ((pRegExpr regex_'3caside'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
+   <|>
+   ((pRegExpr regex_'3cdetails'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
+   <|>
+   ((pRegExpr regex_'3cfigure'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
+   <|>
+   ((pRegExpr regex_'3cfooter'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
+   <|>
+   ((pRegExpr regex_'3cheader'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
+   <|>
+   ((pRegExpr regex_'3cmain'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
+   <|>
+   ((pRegExpr regex_'3cnav'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
+   <|>
+   ((pRegExpr regex_'3csection'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
+   <|>
    ((pRegExpr regex_'3c'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Open"))
    <|>
    ((pRegExpr regex_'3c'2fpre'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
@@ -163,6 +199,24 @@
    <|>
    ((pRegExpr regex_'3c'2fdl'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
    <|>
+   ((pRegExpr regex_'3c'2farticle'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
+   <|>
+   ((pRegExpr regex_'3c'2faside'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
+   <|>
+   ((pRegExpr regex_'3c'2fdetails'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
+   <|>
+   ((pRegExpr regex_'3c'2ffigure'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
+   <|>
+   ((pRegExpr regex_'3c'2ffooter'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
+   <|>
+   ((pRegExpr regex_'3c'2fheader'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
+   <|>
+   ((pRegExpr regex_'3c'2fmain'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
+   <|>
+   ((pRegExpr regex_'3c'2fnav'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
+   <|>
+   ((pRegExpr regex_'3c'2fsection'5cb >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
+   <|>
    ((pRegExpr regex_'3c'2f'5bA'2dZa'2dz'5f'3a'5d'5b'5cw'2e'3a'5f'2d'5d'2a >>= withAttribute KeywordTok) >>~ pushContext ("HTML","El Close"))
    <|>
    ((parseRules ("HTML","FindDTDRules")))
@@ -339,7 +393,7 @@
    <|>
    ((pRegExpr regex_'2f'2f'28'3f'3d'2e'2a'3c'2fscript'5cb'29 >>= withAttribute CommentTok) >>~ pushContext ("HTML","JS comment close"))
    <|>
-   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript",""))))
+   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript","Normal"))))
    <|>
    (currentContext >>= \x -> guard (x == ("HTML","JS content")) >> pDefault >>= withAttribute NormalTok))
 
diff --git a/Text/Highlighting/Kate/Syntax/Isocpp.hs b/Text/Highlighting/Kate/Syntax/Isocpp.hs
new file mode 100644
--- /dev/null
+++ b/Text/Highlighting/Kate/Syntax/Isocpp.hs
@@ -0,0 +1,549 @@
+{- This module was generated from data in the Kate syntax
+   highlighting file isocpp.xml, version 2.2, by Alex Turbov (i.zaufi@gmail.com) -}
+
+module Text.Highlighting.Kate.Syntax.Isocpp
+          (highlight, parseExpression, syntaxName, syntaxExtensions)
+where
+import Text.Highlighting.Kate.Types
+import Text.Highlighting.Kate.Common
+import qualified Text.Highlighting.Kate.Syntax.Gcc
+import qualified Text.Highlighting.Kate.Syntax.Doxygen
+import qualified Text.Highlighting.Kate.Syntax.Alert
+import qualified Text.Highlighting.Kate.Syntax.Modelines
+import Text.ParserCombinators.Parsec hiding (State)
+import Control.Monad.State
+import Data.Char (isSpace)
+import qualified Data.Set as Set
+
+-- | Full name of language.
+syntaxName :: String
+syntaxName = "ISO C++"
+
+-- | Filename extensions for this language.
+syntaxExtensions :: String
+syntaxExtensions = "*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc"
+
+-- | Highlight source code using this syntax definition.
+highlight :: String -> [SourceLine]
+highlight input = evalState (mapM parseSourceLine $ lines input) startingState
+
+parseSourceLine :: String -> State SyntaxState SourceLine
+parseSourceLine = mkParseSourceLine (parseExpression Nothing)
+
+-- | Parse an expression using appropriate local context.
+parseExpression :: Maybe (String,String)
+                -> KateParser Token
+parseExpression mbcontext = do
+  (lang,cont) <- maybe currentContext return mbcontext
+  result <- parseRules (lang,cont)
+  optional $ do eof
+                updateState $ \st -> st{ synStPrevChar = '\n' }
+                pEndLine
+  return result
+
+startingState = SyntaxState {synStContexts = [("ISO C++","Normal")], synStLineNumber = 0, synStPrevChar = '\n', synStPrevNonspace = False, synStCaseSensitive = True, synStKeywordCaseSensitive = True, synStCaptures = []}
+
+pEndLine = do
+  updateState $ \st -> st{ synStPrevNonspace = False }
+  context <- currentContext
+  contexts <- synStContexts `fmap` getState
+  if length contexts >= 2
+    then case context of
+      ("ISO C++","Normal") -> return ()
+      ("ISO C++","Main") -> return ()
+      ("ISO C++","UDLOperator") -> (popContext) >> pEndLine
+      ("ISO C++","Char Literal") -> (popContext) >> pEndLine
+      ("ISO C++","U-Char Literal") -> (popContext) >> pEndLine
+      ("ISO C++","Simple Esc") -> (popContext) >> pEndLine
+      ("ISO C++","Universal Char") -> (popContext) >> pEndLine
+      ("ISO C++","String") -> (popContext) >> pEndLine
+      ("ISO C++","UDLStringSuffix") -> (popContext >> popContext) >> pEndLine
+      ("ISO C++","Attribute") -> return ()
+      ("ISO C++","RawString") -> return ()
+      ("ISO C++","DetectIdentifierEnd") -> (popContext) >> pEndLine
+      ("ISO C++","Region Marker") -> (popContext) >> pEndLine
+      ("ISO C++","DetectNSEnd") -> (popContext) >> pEndLine
+      ("ISO C++","Standard Classes") -> (popContext) >> pEndLine
+      ("ISO C++","Boost Stuff") -> (popContext) >> pEndLine
+      ("ISO C++","InternalsNS") -> (popContext) >> pEndLine
+      ("ISO C++","Comment 1") -> (popContext) >> pEndLine
+      ("ISO C++","Comment 2") -> return ()
+      ("ISO C++","AfterHash") -> (popContext) >> pEndLine
+      ("ISO C++","Preprocessor") -> (popContext) >> pEndLine
+      ("ISO C++","Define") -> (popContext) >> pEndLine
+      ("ISO C++","Comment/Preprocessor") -> return ()
+      ("ISO C++","Outscoped Common") -> return ()
+      ("ISO C++","Outscoped") -> return ()
+      ("ISO C++","Outscoped 2") -> return ()
+      ("ISO C++","Inscoped") -> return ()
+      ("ISO C++","Outscoped intern") -> return ()
+      _ -> return ()
+    else return ()
+
+withAttribute attr txt = do
+  when (null txt) $ fail "Parser matched no text"
+  updateState $ \st -> st { synStPrevChar = last txt
+                          , synStPrevNonspace = synStPrevNonspace st || not (all isSpace txt) }
+  return (attr, txt)
+
+list_keywords = Set.fromList $ words $ "alignof alignas asm auto break case catch class constexpr const_cast continue decltype default delete do dynamic_cast else enum explicit export false final friend for goto if inline namespace new noexcept nullptr operator override private protected public reinterpret_cast return sizeof static_assert static_cast struct switch template this throw true try typedef typeid typename union using virtual while and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq"
+list_template = Set.fromList $ words $ "template"
+list_attributes = Set.fromList $ words $ "noreturn carries_dependency deprecated"
+list_types = Set.fromList $ words $ "bool char char16_t char32_t double float int long short signed unsigned void int8_t int16_t int32_t int64_t uint8_t uint16_t uint32_t uint64_t wchar_t"
+list_modifiers = Set.fromList $ words $ "const extern mutable register static thread_local volatile"
+list_StdMacros = Set.fromList $ words $ "__FILE__ __LINE__ __DATE__ __TIME__ __STDC__ __STDC_VERSION__ __STDC_HOSTED__ __STDC_ISO_10646__ __STDC_MB_MIGHT_NEQ_WC__ __cplusplus __func__"
+
+regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aif'5cs'2b'280'7cfalse'29'5cs'2a = compileRegex "(#|%\\:|\\?\\?=)\\s*if\\s+(0|false)\\s*"
+regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aif'5cs'2b'281'7ctrue'29'5cs'2a = compileRegex "(#|%\\:|\\?\\?=)\\s*if\\s+(1|true)\\s*"
+regex_operator'5cs'2a'22'22_'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'5cb = compileRegex "operator\\s*\"\" _[_0-9A-Za-z]*\\b"
+regex_operator'5cs'2a'22'22_'5b'5f0'2d9A'2dZa'2dz'5d'2a'5cb = compileRegex "operator\\s*\"\" [_0-9A-Za-z]*\\b"
+regex_'5b'5c'2b'5c'2d'5d'3f0x'5b0'2d9A'2dFa'2df'5d'28'27'3f'5b0'2d9A'2dFa'2df'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb = compileRegex "[\\+\\-]?0x[0-9A-Fa-f]('?[0-9A-Fa-f]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\\b"
+regex_0'5bBb'5d'5b01'5d'28'27'3f'5b01'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb = compileRegex "0[Bb][01]('?[01]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\\b"
+regex_'5b'5c'2b'5c'2d'5d'3f'28'5b0'2d9'5d'2b'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'7c'28'5b0'2d9'5d'2b'5c'2e'7c'5c'2e'5b0'2d9'5d'2b'7c'5b0'2d9'5d'2b'5c'2e'5b0'2d9'5d'2b'29'28'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'29'3f'29'5bFfLl'5d'3f = compileRegex "[\\+\\-]?([0-9]+[Ee][\\+\\-]?[0-9]+|([0-9]+\\.|\\.[0-9]+|[0-9]+\\.[0-9]+)([Ee][\\+\\-]?[0-9]+)?)[FfLl]?"
+regex_'5b'5c'2b'5c'2d'5d'3f0'27'3f'5b0'2d7'5d'28'27'3f'5b0'2d7'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb = compileRegex "[\\+\\-]?0'?[0-7]('?[0-7]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\\b"
+regex_'5b'5c'2b'5c'2d'5d'3f'280'7c'5b1'2d9'5d'28'27'3f'5b0'2d9'5d'2b'29'2a'29'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb = compileRegex "[\\+\\-]?(0|[1-9]('?[0-9]+)*)([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\\b"
+regex_'5b'5c'2b'5c'2d'5d'3f'280x'3f'7c'5b1'2d9'5d'5b0'2d9'5d'2a'29'5b0'2d9A'2dZa'2dz'5d'5b'5f0'2d9A'2dZa'2dz'5d'2a'5cb = compileRegex "[\\+\\-]?(0x?|[1-9][0-9]*)[0-9A-Za-z][_0-9A-Za-z]*\\b"
+regex_'28u'7cu8'7cU'7cL'29'3fR'22'28'5b'5e'5c'28'5d'7b0'2c16'7d'29'5c'28 = compileRegex "(u|u8|U|L)?R\"([^\\(]{0,16})\\("
+regex_'28u'7cu8'7cU'7cL'29'3fR'22'28'5b'5e'5c'28'5d'7b16'2c'7d'29'5c'28 = compileRegex "(u|u8|U|L)?R\"([^\\(]{16,})\\("
+regex_'5f'5ba'2dzA'2dZ0'2d9'5f'5d'2b = compileRegex "_[a-zA-Z0-9_]+"
+regex_'5ba'2dzA'2dZ'5d'5ba'2dzA'2dZ0'2d9'5f'5d'2a'5f'5f'5cb = compileRegex "[a-zA-Z][a-zA-Z0-9_]*__\\b"
+regex_'5ba'2dz'5d'5ba'2dzA'2dZ0'2d9'5f'5d'2a'5f'5cb = compileRegex "[a-z][a-zA-Z0-9_]*_\\b"
+regex_m'5f'5ba'2dzA'2dZ0'2d9'5f'5d'2b = compileRegex "m_[a-zA-Z0-9_]+"
+regex_g'5f'5ba'2dzA'2dZ0'2d9'5f'5d'2b = compileRegex "g_[a-zA-Z0-9_]+"
+regex_s'5f'5ba'2dzA'2dZ0'2d9'5f'5d'2b = compileRegex "s_[a-zA-Z0-9_]+"
+regex_'5bA'2dZ'5d'5bA'2dZ0'2d9'5f'5d'7b2'2c'7d'5cb = compileRegex "[A-Z][A-Z0-9_]{2,}\\b"
+regex_'5ba'2dzA'2dZ'5d'5ba'2dzA'2dZ0'2d9'5f'5d'2a'5ft'28ype'29'3f'5cb = compileRegex "[a-zA-Z][a-zA-Z0-9_]*_t(ype)?\\b"
+regex_'5b'5e'27'5d'7b2'2c'7d = compileRegex "[^']{2,}"
+regex_'2e'7b1'7d = compileRegex ".{1}"
+regex_'5b0'2d7'5d'7b1'2c3'7d = compileRegex "[0-7]{1,3}"
+regex_x'5b0'2d9A'2dFa'2df'5d'7b1'2c'7d = compileRegex "x[0-9A-Fa-f]{1,}"
+regex_'2e = compileRegex "."
+regex_'5c'5cu'5b0'2d9A'2dFa'2df'5d'7b4'7d = compileRegex "\\\\u[0-9A-Fa-f]{4}"
+regex_'5c'5cu'2e'7b0'2c3'7d = compileRegex "\\\\u.{0,3}"
+regex_'5c'5cU'5b0'2d9A'2dFa'2df'5d'7b8'7d = compileRegex "\\\\U[0-9A-Fa-f]{8}"
+regex_'5c'5cU'2e'7b0'2c7'7d = compileRegex "\\\\U.{0,7}"
+regex_'25'5b'5e'22diouxXeEfFgGaAcsP'25'5cs'5d'2a'5bdiouxXeEfFgGaAcsP'25'5d = compileRegex "%[^\"diouxXeEfFgGaAcsP%\\s]*[diouxXeEfFgGaAcsP%]"
+regex_'5f'5b'5f0'2d9A'2dZ'2da'2dz'5d'2a'5cb = compileRegex "_[_0-9A-Z-a-z]*\\b"
+regex_'2e'2a = compileRegex ".*"
+regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aif'28'3f'3adef'7cndef'29'3f'28'3f'3d'28'3f'3a'5c'28'7c'5cs'2b'29'5cS'29 = compileRegex "(#|%\\:|\\?\\?=)\\s*if(?:def|ndef)?(?=(?:\\(|\\s+)\\S)"
+regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aendif = compileRegex "(#|%\\:|\\?\\?=)\\s*endif"
+regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2a'28cmake'29'3fdefine'2e'2a'28'28'3f'3d'5c'5c'29'29 = compileRegex "(#|%\\:|\\?\\?=)\\s*(cmake)?define.*((?=\\\\))"
+regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2a'28'3f'3ael'28'3f'3ase'7cif'29'7cinclude'28'3f'3a'5fnext'29'3f'7c'28cmake'29'3fdefine'7cundef'7cline'7cerror'7cwarning'7cpragma'29 = compileRegex "(#|%\\:|\\?\\?=)\\s*(?:el(?:se|if)|include(?:_next)?|(cmake)?define|undef|line|error|warning|pragma)"
+regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2b'5b0'2d9'5d'2b = compileRegex "(#|%\\:|\\?\\?=)\\s+[0-9]+"
+regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aif = compileRegex "(#|%\\:|\\?\\?=)\\s*if"
+regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2ael'28'3f'3ase'7cif'29 = compileRegex "(#|%\\:|\\?\\?=)\\s*el(?:se|if)"
+
+parseRules ("ISO C++","Normal") =
+  (((pDetectSpaces >>= withAttribute NormalTok))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aif'5cs'2b'280'7cfalse'29'5cs'2a >>= withAttribute OtherTok) >>~ pushContext ("ISO C++","Outscoped"))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aif'5cs'2b'281'7ctrue'29'5cs'2a >>= withAttribute OtherTok) >>~ pushContext ("ISO C++","Inscoped"))
+   <|>
+   ((parseRules ("ISO C++","Main")))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Normal")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("ISO C++","Main") =
+  (((pFirstNonSpace >> lookAhead (pDetectChar False '#') >> pushContext ("ISO C++","AfterHash") >> currentContext >>= parseRules))
+   <|>
+   ((pFirstNonSpace >> lookAhead (pDetect2Chars False '%' ':') >> pushContext ("ISO C++","AfterHash") >> currentContext >>= parseRules))
+   <|>
+   ((pFirstNonSpace >> lookAhead (pString False "??=") >> pushContext ("ISO C++","AfterHash") >> currentContext >>= parseRules))
+   <|>
+   ((pDetect2Chars False '%' ':' >>= withAttribute ErrorTok))
+   <|>
+   ((pString False "??=" >>= withAttribute ErrorTok))
+   <|>
+   ((pFirstNonSpace >> pString False "//BEGIN" >>= withAttribute RegionMarkerTok) >>~ pushContext ("ISO C++","Region Marker"))
+   <|>
+   ((pFirstNonSpace >> pString False "//END" >>= withAttribute RegionMarkerTok) >>~ pushContext ("ISO C++","Region Marker"))
+   <|>
+   ((lookAhead (pRegExpr regex_operator'5cs'2a'22'22_'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'5cb) >> pushContext ("ISO C++","UDLOperator") >> currentContext >>= parseRules))
+   <|>
+   ((pRegExpr regex_operator'5cs'2a'22'22_'5b'5f0'2d9A'2dZa'2dz'5d'2a'5cb >>= withAttribute ErrorTok))
+   <|>
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_keywords >>= withAttribute KeywordTok))
+   <|>
+   ((pDetect2Chars False '[' '[' >>= withAttribute NormalTok) >>~ pushContext ("ISO C++","Attribute"))
+   <|>
+   ((pRegExpr regex_'5b'5c'2b'5c'2d'5d'3f0x'5b0'2d9A'2dFa'2df'5d'28'27'3f'5b0'2d9A'2dFa'2df'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb >>= withAttribute BaseNTok))
+   <|>
+   ((pRegExpr regex_0'5bBb'5d'5b01'5d'28'27'3f'5b01'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb >>= withAttribute BaseNTok))
+   <|>
+   ((pRegExpr regex_'5b'5c'2b'5c'2d'5d'3f'28'5b0'2d9'5d'2b'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'7c'28'5b0'2d9'5d'2b'5c'2e'7c'5c'2e'5b0'2d9'5d'2b'7c'5b0'2d9'5d'2b'5c'2e'5b0'2d9'5d'2b'29'28'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'29'3f'29'5bFfLl'5d'3f >>= withAttribute FloatTok))
+   <|>
+   ((pRegExpr regex_'5b'5c'2b'5c'2d'5d'3f0'27'3f'5b0'2d7'5d'28'27'3f'5b0'2d7'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb >>= withAttribute BaseNTok))
+   <|>
+   ((pRegExpr regex_'5b'5c'2b'5c'2d'5d'3f'280'7c'5b1'2d9'5d'28'27'3f'5b0'2d9'5d'2b'29'2a'29'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb >>= withAttribute DecValTok))
+   <|>
+   ((pRegExpr regex_'5b'5c'2b'5c'2d'5d'3f'280x'3f'7c'5b1'2d9'5d'5b0'2d9'5d'2a'29'5b0'2d9A'2dZa'2dz'5d'5b'5f0'2d9A'2dZa'2dz'5d'2a'5cb >>= withAttribute ErrorTok))
+   <|>
+   ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("ISO C++","String"))
+   <|>
+   ((pDetect2Chars False 'U' '"' >>= withAttribute StringTok) >>~ pushContext ("ISO C++","String"))
+   <|>
+   ((pDetect2Chars False 'u' '"' >>= withAttribute StringTok) >>~ pushContext ("ISO C++","String"))
+   <|>
+   ((pDetect2Chars False 'L' '"' >>= withAttribute StringTok) >>~ pushContext ("ISO C++","String"))
+   <|>
+   ((pString False "u8\"" >>= withAttribute StringTok) >>~ pushContext ("ISO C++","String"))
+   <|>
+   ((lookAhead (pRegExpr regex_'28u'7cu8'7cU'7cL'29'3fR'22'28'5b'5e'5c'28'5d'7b0'2c16'7d'29'5c'28) >> pushContext ("ISO C++","RawString") >> currentContext >>= parseRules))
+   <|>
+   ((pRegExpr regex_'28u'7cu8'7cU'7cL'29'3fR'22'28'5b'5e'5c'28'5d'7b16'2c'7d'29'5c'28 >>= withAttribute ErrorTok))
+   <|>
+   ((pDetectChar False '\'' >>= withAttribute StringTok) >>~ pushContext ("ISO C++","Char Literal"))
+   <|>
+   ((pDetect2Chars False 'L' '\'' >>= withAttribute StringTok) >>~ pushContext ("ISO C++","Char Literal"))
+   <|>
+   ((pDetect2Chars False 'u' '\'' >>= withAttribute StringTok) >>~ pushContext ("ISO C++","U-Char Literal"))
+   <|>
+   ((pDetect2Chars False 'U' '\'' >>= withAttribute StringTok) >>~ pushContext ("ISO C++","U-Char Literal"))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Gcc.parseExpression (Just ("GCCExtensions","DetectGccExtensions"))))
+   <|>
+   ((pString False "std::" >>= withAttribute NormalTok) >>~ pushContext ("ISO C++","Standard Classes"))
+   <|>
+   ((pString False "boost::" >>= withAttribute NormalTok) >>~ pushContext ("ISO C++","Boost Stuff"))
+   <|>
+   ((pString False "BOOST_" >>= withAttribute NormalTok) >>~ pushContext ("ISO C++","Boost Stuff"))
+   <|>
+   ((pString False "detail::" >>= withAttribute NormalTok) >>~ pushContext ("ISO C++","InternalsNS"))
+   <|>
+   ((pString False "details::" >>= withAttribute NormalTok) >>~ pushContext ("ISO C++","InternalsNS"))
+   <|>
+   ((pString False "aux::" >>= withAttribute NormalTok) >>~ pushContext ("ISO C++","InternalsNS"))
+   <|>
+   ((pString False "internals::" >>= withAttribute NormalTok) >>~ pushContext ("ISO C++","InternalsNS"))
+   <|>
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_types >>= withAttribute DataTypeTok))
+   <|>
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_modifiers >>= withAttribute DataTypeTok))
+   <|>
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_StdMacros >>= withAttribute OtherTok))
+   <|>
+   ((pRegExpr regex_'5f'5ba'2dzA'2dZ0'2d9'5f'5d'2b >>= withAttribute NormalTok))
+   <|>
+   ((pRegExpr regex_'5ba'2dzA'2dZ'5d'5ba'2dzA'2dZ0'2d9'5f'5d'2a'5f'5f'5cb >>= withAttribute NormalTok))
+   <|>
+   ((pRegExpr regex_'5ba'2dz'5d'5ba'2dzA'2dZ0'2d9'5f'5d'2a'5f'5cb >>= withAttribute NormalTok))
+   <|>
+   ((pRegExpr regex_m'5f'5ba'2dzA'2dZ0'2d9'5f'5d'2b >>= withAttribute NormalTok))
+   <|>
+   ((pRegExpr regex_g'5f'5ba'2dzA'2dZ0'2d9'5f'5d'2b >>= withAttribute NormalTok))
+   <|>
+   ((pRegExpr regex_s'5f'5ba'2dzA'2dZ0'2d9'5f'5d'2b >>= withAttribute NormalTok))
+   <|>
+   ((pRegExpr regex_'5bA'2dZ'5d'5bA'2dZ0'2d9'5f'5d'7b2'2c'7d'5cb >>= withAttribute NormalTok))
+   <|>
+   ((pRegExpr regex_'5ba'2dzA'2dZ'5d'5ba'2dzA'2dZ0'2d9'5f'5d'2a'5ft'28ype'29'3f'5cb >>= withAttribute NormalTok))
+   <|>
+   ((pDetectIdentifier >>= withAttribute NormalTok))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Doxygen.parseExpression (Just ("Doxygen",""))))
+   <|>
+   ((pDetect2Chars False '/' '/' >>= withAttribute CommentTok) >>~ pushContext ("ISO C++","Comment 1"))
+   <|>
+   ((pDetect2Chars False '/' '*' >>= withAttribute CommentTok) >>~ pushContext ("ISO C++","Comment 2"))
+   <|>
+   ((pDetectChar False '{' >>= withAttribute NormalTok))
+   <|>
+   ((pDetectChar False '}' >>= withAttribute NormalTok))
+   <|>
+   ((pAnyChar ",;" >>= withAttribute NormalTok))
+   <|>
+   ((pAnyChar ":!% &()+-/.*<=>?[]{|}~^,;" >>= withAttribute NormalTok))
+   <|>
+   ((pDetectChar False '#' >>= withAttribute ErrorTok))
+   <|>
+   ((pDetectChar False '$' >>= withAttribute ErrorTok))
+   <|>
+   ((pDetectChar False '@' >>= withAttribute ErrorTok))
+   <|>
+   ((pDetectChar False '`' >>= withAttribute ErrorTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Main")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("ISO C++","UDLOperator") =
+  (((pString False "operator" >>= withAttribute KeywordTok))
+   <|>
+   ((pString False "\"\"" >>= withAttribute StringTok))
+   <|>
+   ((pDetectIdentifier >>= withAttribute NormalTok) >>~ (popContext))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","UDLOperator")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("ISO C++","Char Literal") =
+  (((parseRules ("ISO C++","Universal Char")))
+   <|>
+   ((pDetectChar False '\\' >>= withAttribute CharTok) >>~ pushContext ("ISO C++","Simple Esc"))
+   <|>
+   ((pDetectChar False '\'' >>= withAttribute StringTok) >>~ (popContext))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Char Literal")) >> pDefault >>= withAttribute StringTok))
+
+parseRules ("ISO C++","U-Char Literal") =
+  (((parseRules ("ISO C++","Universal Char")))
+   <|>
+   ((pDetectChar False '\\' >>= withAttribute CharTok) >>~ pushContext ("ISO C++","Simple Esc"))
+   <|>
+   ((pDetectChar False '\'' >>= withAttribute StringTok) >>~ (popContext))
+   <|>
+   ((pRegExpr regex_'5b'5e'27'5d'7b2'2c'7d >>= withAttribute ErrorTok))
+   <|>
+   ((pRegExpr regex_'2e'7b1'7d >>= withAttribute StringTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","U-Char Literal")) >> pDefault >>= withAttribute StringTok))
+
+parseRules ("ISO C++","Simple Esc") =
+  (((pAnyChar "tnvbrfa'\"\\" >>= withAttribute CharTok) >>~ (popContext))
+   <|>
+   ((pRegExpr regex_'5b0'2d7'5d'7b1'2c3'7d >>= withAttribute CharTok) >>~ (popContext))
+   <|>
+   ((pRegExpr regex_x'5b0'2d9A'2dFa'2df'5d'7b1'2c'7d >>= withAttribute CharTok) >>~ (popContext))
+   <|>
+   ((pRegExpr regex_'2e >>= withAttribute StringTok) >>~ (popContext))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Simple Esc")) >> pDefault >>= withAttribute CharTok))
+
+parseRules ("ISO C++","Universal Char") =
+  (((pRegExpr regex_'5c'5cu'5b0'2d9A'2dFa'2df'5d'7b4'7d >>= withAttribute CharTok))
+   <|>
+   ((pRegExpr regex_'5c'5cu'2e'7b0'2c3'7d >>= withAttribute ErrorTok))
+   <|>
+   ((pRegExpr regex_'5c'5cU'5b0'2d9A'2dFa'2df'5d'7b8'7d >>= withAttribute CharTok))
+   <|>
+   ((pRegExpr regex_'5c'5cU'2e'7b0'2c7'7d >>= withAttribute ErrorTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Universal Char")) >> pDefault >>= withAttribute CharTok))
+
+parseRules ("ISO C++","String") =
+  (((pLineContinue >>= withAttribute StringTok))
+   <|>
+   ((pHlCStringChar >>= withAttribute CharTok))
+   <|>
+   ((parseRules ("ISO C++","Universal Char")))
+   <|>
+   ((pRegExpr regex_'25'5b'5e'22diouxXeEfFgGaAcsP'25'5cs'5d'2a'5bdiouxXeEfFgGaAcsP'25'5d >>= withAttribute CharTok))
+   <|>
+   ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("ISO C++","UDLStringSuffix"))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","String")) >> pDefault >>= withAttribute StringTok))
+
+parseRules ("ISO C++","UDLStringSuffix") =
+  (((pRegExpr regex_'5f'5b'5f0'2d9A'2dZ'2da'2dz'5d'2a'5cb >>= withAttribute StringTok) >>~ (popContext >> popContext))
+   <|>
+   ((lookAhead (pRegExpr regex_'2e'2a) >> (popContext >> popContext) >> currentContext >>= parseRules))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","UDLStringSuffix")) >> pDefault >>= withAttribute StringTok))
+
+parseRules ("ISO C++","Attribute") =
+  (((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_attributes >>= withAttribute KeywordTok))
+   <|>
+   ((pDetect2Chars False ']' ']' >>= withAttribute NormalTok) >>~ (popContext))
+   <|>
+   ((pAnyChar "!% &()+-/.*<=>?[]{|}~^,;" >>= withAttribute NormalTok))
+   <|>
+   ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("ISO C++","String"))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Attribute")) >> pDefault >>= withAttribute KeywordTok))
+
+parseRules ("ISO C++","RawString") =
+  (((pLineContinue >>= withAttribute StringTok))
+   <|>
+   ((pRegExpr regex_'25'5b'5e'22diouxXeEfFgGaAcsP'25'5cs'5d'2a'5bdiouxXeEfFgGaAcsP'25'5d >>= withAttribute CharTok))
+   <|>
+   ((pRegExprDynamic "\\)%2\"" >>= withAttribute StringTok) >>~ (popContext))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","RawString")) >> pDefault >>= withAttribute StringTok))
+
+parseRules ("ISO C++","DetectIdentifierEnd") =
+  (((pAnyChar ":!% &()+-/.*<=>?[]{|}~^,;" >>= withAttribute NormalTok) >>~ (popContext))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","DetectIdentifierEnd")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("ISO C++","Region Marker") =
+  (currentContext >>= \x -> guard (x == ("ISO C++","Region Marker")) >> pDefault >>= withAttribute RegionMarkerTok)
+
+parseRules ("ISO C++","DetectNSEnd") =
+  (((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_template >>= withAttribute KeywordTok))
+   <|>
+   ((pDetectIdentifier >>= withAttribute NormalTok))
+   <|>
+   ((pAnyChar ",;" >>= withAttribute NormalTok) >>~ (popContext))
+   <|>
+   ((pAnyChar "!% &()+-/.*<=>?[]{|}~^,;" >>= withAttribute NormalTok) >>~ (popContext))
+   <|>
+   ((pAnyChar " " >>= withAttribute NormalTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","DetectNSEnd")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("ISO C++","Standard Classes") =
+  (((parseRules ("ISO C++","DetectNSEnd")))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Standard Classes")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("ISO C++","Boost Stuff") =
+  (((parseRules ("ISO C++","DetectNSEnd")))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Boost Stuff")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("ISO C++","InternalsNS") =
+  (((parseRules ("ISO C++","DetectNSEnd")))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","InternalsNS")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("ISO C++","Comment 1") =
+  (((pLineContinue >>= withAttribute CommentTok))
+   <|>
+   ((pDetectSpaces >>= withAttribute CommentTok))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Modelines.parseExpression (Just ("Modelines","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((pDetectIdentifier >>= withAttribute CommentTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Comment 1")) >> pDefault >>= withAttribute CommentTok))
+
+parseRules ("ISO C++","Comment 2") =
+  (((pDetectSpaces >>= withAttribute CommentTok))
+   <|>
+   ((pLineContinue >>= withAttribute CommentTok))
+   <|>
+   ((pDetect2Chars False '*' '/' >>= withAttribute CommentTok) >>~ (popContext))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Modelines.parseExpression (Just ("Modelines","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((pDetectIdentifier >>= withAttribute CommentTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Comment 2")) >> pDefault >>= withAttribute CommentTok))
+
+parseRules ("ISO C++","AfterHash") =
+  (((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aif'28'3f'3adef'7cndef'29'3f'28'3f'3d'28'3f'3a'5c'28'7c'5cs'2b'29'5cS'29 >>= withAttribute OtherTok) >>~ pushContext ("ISO C++","Preprocessor"))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aendif >>= withAttribute OtherTok) >>~ pushContext ("ISO C++","Preprocessor"))
+   <|>
+   ((pFirstNonSpace >> lookAhead (pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2a'28cmake'29'3fdefine'2e'2a'28'28'3f'3d'5c'5c'29'29) >> pushContext ("ISO C++","Define") >> currentContext >>= parseRules))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2a'28'3f'3ael'28'3f'3ase'7cif'29'7cinclude'28'3f'3a'5fnext'29'3f'7c'28cmake'29'3fdefine'7cundef'7cline'7cerror'7cwarning'7cpragma'29 >>= withAttribute OtherTok) >>~ pushContext ("ISO C++","Preprocessor"))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2b'5b0'2d9'5d'2b >>= withAttribute OtherTok) >>~ pushContext ("ISO C++","Preprocessor"))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","AfterHash")) >> pDefault >>= withAttribute ErrorTok))
+
+parseRules ("ISO C++","Preprocessor") =
+  (((pLineContinue >>= withAttribute OtherTok))
+   <|>
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_StdMacros >>= withAttribute OtherTok))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Gcc.parseExpression (Just ("GCCExtensions","GNUMacros")) >>= ((withAttribute OtherTok) . snd)))
+   <|>
+   ((pRangeDetect '"' '"' >>= withAttribute OtherTok))
+   <|>
+   ((pRangeDetect '<' '>' >>= withAttribute OtherTok))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Doxygen.parseExpression (Just ("Doxygen","")) >>= ((withAttribute OtherTok) . snd)))
+   <|>
+   ((pDetect2Chars False '/' '*' >>= withAttribute CommentTok) >>~ pushContext ("ISO C++","Comment/Preprocessor"))
+   <|>
+   ((pDetect2Chars False '/' '/' >>= withAttribute CommentTok) >>~ pushContext ("ISO C++","Comment 1"))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Preprocessor")) >> pDefault >>= withAttribute OtherTok))
+
+parseRules ("ISO C++","Define") =
+  (((pLineContinue >>= withAttribute NormalTok))
+   <|>
+   ((pDetectChar False '\\' >>= withAttribute ErrorTok))
+   <|>
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_StdMacros >>= withAttribute OtherTok))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Gcc.parseExpression (Just ("GCCExtensions","GNUMacros")) >>= ((withAttribute OtherTok) . snd)))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Define")) >> pDefault >>= withAttribute OtherTok))
+
+parseRules ("ISO C++","Comment/Preprocessor") =
+  (((pDetectSpaces >>= withAttribute CommentTok))
+   <|>
+   ((pDetect2Chars False '*' '/' >>= withAttribute CommentTok) >>~ (popContext))
+   <|>
+   ((pDetectIdentifier >>= withAttribute CommentTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Comment/Preprocessor")) >> pDefault >>= withAttribute CommentTok))
+
+parseRules ("ISO C++","Outscoped Common") =
+  (((pDetectSpaces >>= withAttribute CommentTok))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Modelines.parseExpression (Just ("Modelines","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((pDetectIdentifier >>= withAttribute CommentTok))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Doxygen.parseExpression (Just ("Doxygen","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((pDetect2Chars False '/' '/' >>= withAttribute CommentTok) >>~ pushContext ("ISO C++","Comment 1"))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aif >>= withAttribute CommentTok) >>~ pushContext ("ISO C++","Outscoped intern"))
+   <|>
+   ((pLineContinue >>= withAttribute CommentTok))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Outscoped Common")) >> pDefault >>= withAttribute CommentTok))
+
+parseRules ("ISO C++","Outscoped") =
+  (((parseRules ("ISO C++","Outscoped Common")))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2ael'28'3f'3ase'7cif'29 >>= withAttribute OtherTok) >>~ (popContext))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aendif >>= withAttribute OtherTok) >>~ (popContext))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Outscoped")) >> pDefault >>= withAttribute CommentTok))
+
+parseRules ("ISO C++","Outscoped 2") =
+  (((parseRules ("ISO C++","Outscoped Common")))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aendif >>= withAttribute OtherTok) >>~ (popContext >> popContext))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Outscoped 2")) >> pDefault >>= withAttribute CommentTok))
+
+parseRules ("ISO C++","Inscoped") =
+  (((pDetectSpaces >>= withAttribute NormalTok))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aif'5cs'2b'280'7cfalse'29'5cs'2a >>= withAttribute OtherTok) >>~ pushContext ("ISO C++","Outscoped"))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2ael'28'3f'3ase'7cif'29 >>= withAttribute OtherTok) >>~ pushContext ("ISO C++","Outscoped 2"))
+   <|>
+   ((parseRules ("ISO C++","Main")))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Inscoped")) >> pDefault >>= withAttribute NormalTok))
+
+parseRules ("ISO C++","Outscoped intern") =
+  (((pDetectSpaces >>= withAttribute CommentTok))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Modelines.parseExpression (Just ("Modelines","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((pDetectIdentifier >>= withAttribute CommentTok))
+   <|>
+   ((Text.Highlighting.Kate.Syntax.Doxygen.parseExpression (Just ("Doxygen","")) >>= ((withAttribute CommentTok) . snd)))
+   <|>
+   ((pDetect2Chars False '/' '/' >>= withAttribute CommentTok) >>~ pushContext ("ISO C++","Comment 1"))
+   <|>
+   ((pDetect2Chars False '/' '*' >>= withAttribute CommentTok) >>~ pushContext ("ISO C++","Comment 2"))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aif >>= withAttribute CommentTok) >>~ pushContext ("ISO C++","Outscoped intern"))
+   <|>
+   ((pFirstNonSpace >> pRegExpr regex_'28'23'7c'25'5c'3a'7c'5c'3f'5c'3f'3d'29'5cs'2aendif >>= withAttribute CommentTok) >>~ (popContext))
+   <|>
+   (currentContext >>= \x -> guard (x == ("ISO C++","Outscoped intern")) >> pDefault >>= withAttribute CommentTok))
+
+parseRules ("GCCExtensions", _) = Text.Highlighting.Kate.Syntax.Gcc.parseExpression Nothing
+parseRules ("Doxygen", _) = Text.Highlighting.Kate.Syntax.Doxygen.parseExpression Nothing
+parseRules ("Alerts", _) = Text.Highlighting.Kate.Syntax.Alert.parseExpression Nothing
+parseRules ("Modelines", _) = Text.Highlighting.Kate.Syntax.Modelines.parseExpression Nothing
+
+parseRules x = parseRules ("ISO C++","Normal") <|> fail ("Unknown context" ++ show x)
diff --git a/Text/Highlighting/Kate/Syntax/Javascript.hs b/Text/Highlighting/Kate/Syntax/Javascript.hs
--- a/Text/Highlighting/Kate/Syntax/Javascript.hs
+++ b/Text/Highlighting/Kate/Syntax/Javascript.hs
@@ -40,7 +40,7 @@
                 pEndLine
   return result
 
-startingState = SyntaxState {synStContexts = [("JavaScript","Normal")], synStLineNumber = 0, synStPrevChar = '\n', synStPrevNonspace = False, synStCaseSensitive = True, synStKeywordCaseSensitive = True, synStCaptures = []}
+startingState = SyntaxState {synStContexts = [("JavaScript","Shebang")], synStLineNumber = 0, synStPrevChar = '\n', synStPrevNonspace = False, synStCaseSensitive = True, synStKeywordCaseSensitive = True, synStCaptures = []}
 
 pEndLine = do
   updateState $ \st -> st{ synStPrevNonspace = False }
@@ -48,6 +48,7 @@
   contexts <- synStContexts `fmap` getState
   if length contexts >= 2
     then case context of
+      ("JavaScript","Shebang") -> pushContext ("JavaScript","Normal") >> return ()
       ("JavaScript","Normal") -> return ()
       ("JavaScript","Object Member") -> (popContext) >> pEndLine
       ("JavaScript","NoRegExp") -> return ()
@@ -87,6 +88,11 @@
 regex_'5c'24'28'3f'3d'2f'29 = compileRegex "\\$(?=/)"
 regex_'5c'5c'5b'5c'5b'5c'5d'5d = compileRegex "\\\\[\\[\\]]"
 
+parseRules ("JavaScript","Shebang") =
+  (((pColumn 0 >> pDetect2Chars False '#' '!' >>= withAttribute CommentTok) >>~ pushContext ("JavaScript","Comment"))
+   <|>
+   (pushContext ("JavaScript","Normal") >> currentContext >>= parseRules))
+
 parseRules ("JavaScript","Normal") =
   (((pDetectSpaces >>= withAttribute NormalTok))
    <|>
@@ -261,4 +267,4 @@
 parseRules ("Alerts", _) = Text.Highlighting.Kate.Syntax.Alert.parseExpression Nothing
 parseRules ("Modelines", _) = Text.Highlighting.Kate.Syntax.Modelines.parseExpression Nothing
 
-parseRules x = parseRules ("JavaScript","Normal") <|> fail ("Unknown context" ++ show x)
+parseRules x = parseRules ("JavaScript","Shebang") <|> fail ("Unknown context" ++ show x)
diff --git a/Text/Highlighting/Kate/Syntax/Json.hs b/Text/Highlighting/Kate/Syntax/Json.hs
--- a/Text/Highlighting/Kate/Syntax/Json.hs
+++ b/Text/Highlighting/Kate/Syntax/Json.hs
@@ -1,5 +1,5 @@
 {- This module was generated from data in the Kate syntax
-   highlighting file json.xml, version 1.2, by Sebastian Pipping (sebastian@pipping.org) -}
+   highlighting file json.xml, version 1.3, by Sebastian Pipping (sebastian@pipping.org) -}
 
 module Text.Highlighting.Kate.Syntax.Json
           (highlight, parseExpression, syntaxName, syntaxExtensions)
@@ -67,9 +67,9 @@
 regex_'2d'3f'28'3f'3a'5b0'2d9'5d'7c'5b1'2d9'5d'5b0'2d9'5d'2b'29'28'3f'3a'5beE'5d'5b'2b'2d'5d'3f'5b0'2d9'5d'2b'29'3f = compileRegex "-?(?:[0-9]|[1-9][0-9]+)(?:[eE][+-]?[0-9]+)?"
 
 parseRules ("JSON","Normal") =
-  (((pDetectChar False '{' >>= withAttribute NormalTok) >>~ pushContext ("JSON","Pair"))
+  (((pDetectChar False '{' >>= withAttribute FunctionTok) >>~ pushContext ("JSON","Pair"))
    <|>
-   ((pDetectChar False '[' >>= withAttribute NormalTok) >>~ pushContext ("JSON","Array"))
+   ((pDetectChar False '[' >>= withAttribute OtherTok) >>~ pushContext ("JSON","Array"))
    <|>
    ((pDetectSpaces >>= withAttribute NormalTok))
    <|>
@@ -78,11 +78,11 @@
 parseRules ("JSON","Pair") =
   (((pDetectChar False '"' >>= withAttribute DataTypeTok) >>~ pushContext ("JSON","String_Key"))
    <|>
-   ((pDetectChar False ':' >>= withAttribute NormalTok) >>~ pushContext ("JSON","Value"))
+   ((pDetectChar False ':' >>= withAttribute FunctionTok) >>~ pushContext ("JSON","Value"))
    <|>
-   ((pDetectChar False '}' >>= withAttribute NormalTok) >>~ (popContext))
+   ((pDetectChar False '}' >>= withAttribute FunctionTok) >>~ (popContext))
    <|>
-   ((pDetectChar False ',' >>= withAttribute NormalTok))
+   ((pDetectChar False ',' >>= withAttribute FunctionTok))
    <|>
    ((pDetectSpaces >>= withAttribute NormalTok))
    <|>
@@ -91,16 +91,16 @@
 parseRules ("JSON","String_Key") =
   (((pDetectChar False '"' >>= withAttribute DataTypeTok) >>~ (popContext))
    <|>
-   ((pRegExpr regex_'5c'5c'28'3f'3a'5b'22'5c'5c'2fbfnrt'5d'7cu'5b0'2d9a'2dfA'2df'5d'7b4'7d'29 >>= withAttribute DataTypeTok))
+   ((pRegExpr regex_'5c'5c'28'3f'3a'5b'22'5c'5c'2fbfnrt'5d'7cu'5b0'2d9a'2dfA'2df'5d'7b4'7d'29 >>= withAttribute CharTok))
    <|>
    (currentContext >>= \x -> guard (x == ("JSON","String_Key")) >> pDefault >>= withAttribute DataTypeTok))
 
 parseRules ("JSON","Value") =
   (((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("JSON","String_Value"))
    <|>
-   ((pDetectChar False '{' >>= withAttribute NormalTok) >>~ pushContext ("JSON","Pair"))
+   ((pDetectChar False '{' >>= withAttribute FunctionTok) >>~ pushContext ("JSON","Pair"))
    <|>
-   ((pDetectChar False '[' >>= withAttribute NormalTok) >>~ pushContext ("JSON","Array"))
+   ((pDetectChar False '[' >>= withAttribute OtherTok) >>~ pushContext ("JSON","Array"))
    <|>
    ((lookAhead (pDetectChar False '}') >> (popContext) >> currentContext >>= parseRules))
    <|>
@@ -108,7 +108,7 @@
    <|>
    ((pDetectSpaces >>= withAttribute NormalTok))
    <|>
-   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_Constants >>= withAttribute DecValTok))
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_Constants >>= withAttribute KeywordTok))
    <|>
    ((pRegExpr regex_'2d'3f'28'3f'3a'5b0'2d9'5d'7c'5b1'2d9'5d'5b0'2d9'5d'2b'29'5c'2e'5b0'2d9'5d'2b'28'3f'3a'5beE'5d'5b'2b'2d'5d'3f'5b0'2d9'5d'2b'29'3f >>= withAttribute FloatTok))
    <|>
@@ -119,24 +119,24 @@
 parseRules ("JSON","String_Value") =
   (((pDetectChar False '"' >>= withAttribute StringTok) >>~ (popContext))
    <|>
-   ((pRegExpr regex_'5c'5c'28'3f'3a'5b'22'5c'5c'2fbfnrt'5d'7cu'5b0'2d9a'2dfA'2df'5d'7b4'7d'29 >>= withAttribute StringTok))
+   ((pRegExpr regex_'5c'5c'28'3f'3a'5b'22'5c'5c'2fbfnrt'5d'7cu'5b0'2d9a'2dfA'2df'5d'7b4'7d'29 >>= withAttribute CharTok))
    <|>
    (currentContext >>= \x -> guard (x == ("JSON","String_Value")) >> pDefault >>= withAttribute StringTok))
 
 parseRules ("JSON","Array") =
-  (((pDetectChar False ',' >>= withAttribute NormalTok))
+  (((pDetectChar False ',' >>= withAttribute OtherTok))
    <|>
-   ((pDetectChar False ']' >>= withAttribute NormalTok) >>~ (popContext))
+   ((pDetectChar False ']' >>= withAttribute OtherTok) >>~ (popContext))
    <|>
-   ((pDetectChar False '{' >>= withAttribute NormalTok) >>~ pushContext ("JSON","Pair"))
+   ((pDetectChar False '{' >>= withAttribute FunctionTok) >>~ pushContext ("JSON","Pair"))
    <|>
-   ((pDetectChar False '[' >>= withAttribute NormalTok) >>~ pushContext ("JSON","Array"))
+   ((pDetectChar False '[' >>= withAttribute OtherTok) >>~ pushContext ("JSON","Array"))
    <|>
    ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("JSON","String_Value"))
    <|>
    ((pDetectSpaces >>= withAttribute NormalTok))
    <|>
-   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_Constants >>= withAttribute DecValTok))
+   ((pKeyword " \n\t.():!+,-<=>%&*/;?[]^{|}~\\" list_Constants >>= withAttribute KeywordTok))
    <|>
    ((pRegExpr regex_'2d'3f'28'3f'3a'5b0'2d9'5d'7c'5b1'2d9'5d'5b0'2d9'5d'2b'29'5c'2e'5b0'2d9'5d'2b'28'3f'3a'5beE'5d'5b'2b'2d'5d'3f'5b0'2d9'5d'2b'29'3f >>= withAttribute FloatTok))
    <|>
diff --git a/Text/Highlighting/Kate/Syntax/Makefile.hs b/Text/Highlighting/Kate/Syntax/Makefile.hs
--- a/Text/Highlighting/Kate/Syntax/Makefile.hs
+++ b/Text/Highlighting/Kate/Syntax/Makefile.hs
@@ -17,7 +17,7 @@
 
 -- | Filename extensions for this language.
 syntaxExtensions :: String
-syntaxExtensions = "GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*"
+syntaxExtensions = "GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*;*.mk"
 
 -- | Highlight source code using this syntax definition.
 highlight :: String -> [SourceLine]
@@ -72,10 +72,10 @@
 list_keywords = Set.fromList $ words $ "include define else endef endif ifdef ifeq ifndef ifneq override"
 list_functions = Set.fromList $ words $ "call subst patsubst strip findstring filter filter-out sort word wordlist words firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath if or and foreach value eval origin flavor shell error warning info"
 
-regex_'5b'5e'5cs'3a'2b'3f'5d'2a'5cs'2a'28'3f'3d'3a'3d'7c'3d'7c'5c'2b'3d'7c'5c'3f'3d'29 = compileRegex "[^\\s:+?]*\\s*(?=:=|=|\\+=|\\?=)"
-regex_'5b'2e'5d'2e'2a'3a = compileRegex "[.].*:"
-regex_'2e'2a'3a = compileRegex ".*:"
 regex_'23'2e'2a'24 = compileRegex "#.*$"
+regex_'5b'5e'5cs'3a'2b'3f'5d'2a'5cs'2a'28'3f'3d'3a'3d'7c'3d'7c'5c'2b'3d'7c'5c'3f'3d'29 = compileRegex "[^\\s:+?]*\\s*(?=:=|=|\\+=|\\?=)"
+regex_'5c'2e'5b'5e'2e'5d'5b'5e'3a'5d'2a'3a = compileRegex "\\.[^.][^:]*:"
+regex_'5b'5e'3a'5d'2a'3a = compileRegex "[^:]*:"
 regex__'2b = compileRegex " +"
 regex_'5b'5e'5ct'5d = compileRegex "[^\\t]"
 regex_'40'5b'2d'5f'5cd'5cw'5d'2a'40 = compileRegex "@[-_\\d\\w]*@"
@@ -84,13 +84,15 @@
 parseRules ("Makefile","normal") =
   (((pDetectSpaces >>= withAttribute NormalTok))
    <|>
+   ((pRegExpr regex_'23'2e'2a'24 >>= withAttribute CommentTok))
+   <|>
    ((pKeyword " \n\t.():!+,<=>%&*/;?[]^{|}~\\" list_keywords >>= withAttribute KeywordTok))
    <|>
    ((pRegExpr regex_'5b'5e'5cs'3a'2b'3f'5d'2a'5cs'2a'28'3f'3d'3a'3d'7c'3d'7c'5c'2b'3d'7c'5c'3f'3d'29 >>= withAttribute DataTypeTok) >>~ pushContext ("Makefile","assign"))
    <|>
-   ((pColumn 0 >> pRegExpr regex_'5b'2e'5d'2e'2a'3a >>= withAttribute OtherTok) >>~ pushContext ("Makefile","prereq"))
+   ((pColumn 0 >> pRegExpr regex_'5c'2e'5b'5e'2e'5d'5b'5e'3a'5d'2a'3a >>= withAttribute OtherTok) >>~ pushContext ("Makefile","prereq"))
    <|>
-   ((pColumn 0 >> pRegExpr regex_'2e'2a'3a >>= withAttribute DecValTok) >>~ pushContext ("Makefile","prereq"))
+   ((pColumn 0 >> pRegExpr regex_'5b'5e'3a'5d'2a'3a >>= withAttribute DecValTok) >>~ pushContext ("Makefile","prereq"))
    <|>
    ((pDetectIdentifier >>= withAttribute NormalTok))
    <|>
@@ -106,14 +108,14 @@
    <|>
    ((pFirstNonSpace >> pAnyChar "@-" >>= withAttribute CharTok) >>~ pushContext ("Makefile","silent"))
    <|>
-   ((pRegExpr regex_'23'2e'2a'24 >>= withAttribute CommentTok))
-   <|>
    (currentContext >>= \x -> guard (x == ("Makefile","normal")) >> pDefault >>= withAttribute NormalTok))
 
 parseRules ("Makefile","prereq") =
   (((pDetectSpaces >>= withAttribute DataTypeTok))
    <|>
    ((pDetectIdentifier >>= withAttribute DataTypeTok))
+   <|>
+   ((pLineContinue >>= withAttribute CharTok))
    <|>
    ((pDetectChar False '$' >>= withAttribute CharTok) >>~ pushContext ("Makefile","dollar"))
    <|>
diff --git a/Text/Highlighting/Kate/Syntax/Modelines.hs b/Text/Highlighting/Kate/Syntax/Modelines.hs
--- a/Text/Highlighting/Kate/Syntax/Modelines.hs
+++ b/Text/Highlighting/Kate/Syntax/Modelines.hs
@@ -1,5 +1,5 @@
 {- This module was generated from data in the Kate syntax
-   highlighting file modelines.xml, version 1.0, by Alex Turbov (i.zaufi@gmail.com) -}
+   highlighting file modelines.xml, version 1.1, by Alex Turbov (i.zaufi@gmail.com) -}
 
 module Text.Highlighting.Kate.Syntax.Modelines
           (highlight, parseExpression, syntaxName, syntaxExtensions)
@@ -69,12 +69,15 @@
 list_RemoveSpaces = Set.fromList $ words $ "remove-trailing-spaces"
 list_RemoveSpacesOptions = Set.fromList $ words $ "0 - none modified mod + 1 all * 2"
 
+regex_kate'2d'28mimetype'7cwildcard'29'5c'28'2e'2a'5c'29'3a = compileRegex "kate-(mimetype|wildcard)\\(.*\\):"
 regex_'5b'5e'3b_'5d = compileRegex "[^; ]"
 
 parseRules ("Modelines","Normal") =
   (((pDetectSpaces >>= withAttribute CommentTok))
    <|>
    ((pKeyword " \n\t.()!+,<=>%&*/;?[]^{|}~\\" list_ModelineStartKeyword >>= withAttribute KeywordTok) >>~ pushContext ("Modelines","Modeline"))
+   <|>
+   ((pRegExpr regex_kate'2d'28mimetype'7cwildcard'29'5c'28'2e'2a'5c'29'3a >>= withAttribute KeywordTok) >>~ pushContext ("Modelines","Modeline"))
    <|>
    ((pLineContinue >>= withAttribute CommentTok) >>~ (popContext))
    <|>
diff --git a/Text/Highlighting/Kate/Syntax/Octave.hs b/Text/Highlighting/Kate/Syntax/Octave.hs
--- a/Text/Highlighting/Kate/Syntax/Octave.hs
+++ b/Text/Highlighting/Kate/Syntax/Octave.hs
@@ -1,5 +1,5 @@
 {- This module was generated from data in the Kate syntax
-   highlighting file octave.xml, version 1.01, by Luis Silvestre and Federico Zenith -}
+   highlighting file octave.xml, version 1.02, by Luis Silvestre and Federico Zenith -}
 
 module Text.Highlighting.Kate.Syntax.Octave
           (highlight, parseExpression, syntaxName, syntaxExtensions)
diff --git a/Text/Highlighting/Kate/Syntax/Php.hs b/Text/Highlighting/Kate/Syntax/Php.hs
--- a/Text/Highlighting/Kate/Syntax/Php.hs
+++ b/Text/Highlighting/Kate/Syntax/Php.hs
@@ -344,7 +344,7 @@
    <|>
    ((parseRules ("PHP/PHP","commonheredoc")))
    <|>
-   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript",""))))
+   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript","Normal"))))
    <|>
    (currentContext >>= \x -> guard (x == ("PHP/PHP","javascriptheredoc")) >> pDefault >>= withAttribute NormalTok))
 
@@ -396,7 +396,7 @@
    <|>
    ((parseRules ("PHP/PHP","commonnowdoc")))
    <|>
-   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript",""))))
+   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript","Normal"))))
    <|>
    (currentContext >>= \x -> guard (x == ("PHP/PHP","javascriptnowdoc")) >> pDefault >>= withAttribute NormalTok))
 
diff --git a/Text/Highlighting/Kate/Syntax/Rhtml.hs b/Text/Highlighting/Kate/Syntax/Rhtml.hs
--- a/Text/Highlighting/Kate/Syntax/Rhtml.hs
+++ b/Text/Highlighting/Kate/Syntax/Rhtml.hs
@@ -519,7 +519,7 @@
    <|>
    ((pRegExpr regex_'2f'2f'28'3f'3d'2e'2a'3c'2fscript'5cb'29 >>= withAttribute CommentTok) >>~ pushContext ("Ruby/Rails/RHTML","JS comment close"))
    <|>
-   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript",""))))
+   ((Text.Highlighting.Kate.Syntax.Javascript.parseExpression (Just ("JavaScript","Normal"))))
    <|>
    (currentContext >>= \x -> guard (x == ("Ruby/Rails/RHTML","JS content")) >> pDefault >>= withAttribute NormalTok))
 
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,9 @@
+highlighting-kate 0.5.7 (07 May 2014)
+
+  * Added Gcc and Isocpp (needed by Cpp).
+  * Updated syntax definitions.
+  * Made regex matches respect the `casesensitive` setting of the style.
+
 highlighting-kate 0.5.6.1 (27 Jan 2014)
 
   * Allow blaze-html 0.7.
diff --git a/highlighting-kate.cabal b/highlighting-kate.cabal
--- a/highlighting-kate.cabal
+++ b/highlighting-kate.cabal
@@ -1,5 +1,5 @@
 Name:                highlighting-kate
-Version:             0.5.6.1
+Version:             0.5.7
 Cabal-Version:       >= 1.10
 Build-Type:          Simple
 Category:            Text
@@ -59,12 +59,14 @@
                      xml/erlang.xml
                      xml/fortran.xml
                      xml/fsharp.xml
+                     xml/gcc.xml
                      xml/gnuassembler.xml
                      xml/go.xml
                      xml/haskell.xml
                      xml/haxe.xml
                      xml/html.xml
                      xml/ini.xml
+                     xml/isocpp.xml
                      xml/java.xml
                      xml/javadoc.xml
                      xml/javascript.xml
@@ -194,12 +196,14 @@
                      Text.Highlighting.Kate.Syntax.Erlang
                      Text.Highlighting.Kate.Syntax.Fortran
                      Text.Highlighting.Kate.Syntax.Fsharp
+                     Text.Highlighting.Kate.Syntax.Gcc
                      Text.Highlighting.Kate.Syntax.Gnuassembler
                      Text.Highlighting.Kate.Syntax.Go
                      Text.Highlighting.Kate.Syntax.Haskell
                      Text.Highlighting.Kate.Syntax.Haxe
                      Text.Highlighting.Kate.Syntax.Html
                      Text.Highlighting.Kate.Syntax.Ini
+                     Text.Highlighting.Kate.Syntax.Isocpp
                      Text.Highlighting.Kate.Syntax.Java
                      Text.Highlighting.Kate.Syntax.Javadoc
                      Text.Highlighting.Kate.Syntax.Javascript
diff --git a/xml/alert.xml b/xml/alert.xml
--- a/xml/alert.xml
+++ b/xml/alert.xml
@@ -30,7 +30,7 @@
   Introduce 3 alert levels and sort keywords according importance.
   Few more keywords has been added.
 -->
-<language version="1.08" kateversion="2.3" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
+<language version="1.09" kateversion="2.3" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
   <highlighting>
     <list name="alerts_hi">
       <item> ALERT </item>
@@ -47,6 +47,7 @@
       <item> TODO </item>
       <item> TBD </item>
       <item> WARNING </item>
+      <item> CAUTION </item>
       <item> NOLINT </item>
     </list>
     <list name="alerts_lo">
diff --git a/xml/alert_indent.xml b/xml/alert_indent.xml
--- a/xml/alert_indent.xml
+++ b/xml/alert_indent.xml
@@ -26,37 +26,17 @@
  This file is included in every file that highlights the "alerts" keywords.
  That's why extensions and mimetype are empty.
 -->
-<language version="1.08" kateversion="2.3" name="Alerts_indent" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
+<language version="1.09" kateversion="2.3" name="Alerts_indent" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL" hidden="true">
   <highlighting>
-    <list name="alerts">
-      <item> ### </item>
-      <item> ALERT </item>
-      <item> BUG </item>
-      <item> DANGER </item>
-      <item> DEPRECATED </item>
-      <item> FIXME </item>
-      <item> HACK </item>
-      <item> NOTE </item>
-      <item> NOTICE </item>
-      <item> SECURITY </item>
-      <item> TASK </item>
-      <item> TEST </item>
-      <item> TESTING </item>
-      <item> TODO </item>
-      <item> WARNING </item>
-    </list>
     <contexts>
       <context attribute="Normal Text" lineEndContext="#pop" name="Normal Text" >
-        <keyword attribute="Alert" context="#stay" String="alerts" />
+        <IncludeRules context="##Alerts" />
       </context>
     </contexts>
-    <itemDatas>
-      <itemData name="Normal Text" defStyleNum="dsNormal"/>
-      <itemData name="Alert" defStyleNum="dsAlert"/>
-    </itemDatas>
   </highlighting>
   <general>
     <folding indentationsensitive="1" />
-    <keywords casesensitive="1"/>
   </general>
+  <itemDatas>  <!-- JGM: otherwise ParseSyntaxFiles chokes here -->
+  </itemDatas>
 </language>
diff --git a/xml/bash.xml b/xml/bash.xml
--- a/xml/bash.xml
+++ b/xml/bash.xml
@@ -633,6 +633,7 @@
         <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" />
diff --git a/xml/c.xml b/xml/c.xml
--- a/xml/c.xml
+++ b/xml/c.xml
@@ -81,6 +81,7 @@
         </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"/>
@@ -181,6 +182,7 @@
       <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"/>
diff --git a/xml/cmake.xml b/xml/cmake.xml
--- a/xml/cmake.xml
+++ b/xml/cmake.xml
@@ -5,8 +5,8 @@
 
   Copyright 2004 Alexander Neundorf (neundorf@kde.org)
   Copyright 2005 Dominik Haumann (dhdev@gmx.de)
-  Copyright 2007,2008 Matthew Woehlke (mw_triad@users.sourceforge.net)
-  Copyright 2013 Alex Turbov (i.zaufi@gmail.com)
+  Copyright 2007,2008,2013,2014 Matthew Woehlke (mw_triad@users.sourceforge.net)
+  Copyright 2013,2014 Alex Turbov (i.zaufi@gmail.com)
 
  **********************************************************************
  * This library is free software; you can redistribute it and/or      *
@@ -25,13 +25,24 @@
  * Boston, MA  02110-1301, USA.                                       *
  **********************************************************************
  -->
-<!-- generated for "cmake version 2.8.11.1" -->
-<language name="CMake" version="1.23" kateversion="2.4" section="Other" extensions="CMakeLists.txt;*.cmake;" mimetype="" author="Alexander Neundorf (neundorf@kde.org)" license="LGPL">
+<!-- generated for "cmake version 2.8.12.1" -->
+<language
+    name="CMake"
+    version="1.29"
+    kateversion="2.4"
+    section="Other"
+    extensions="CMakeLists.txt;*.cmake;*.cmake.in"
+    style="CMake"
+    mimetype="text/x-cmake"
+    author="Alexander Neundorf (neundorf@kde.org)"
+    license="LGPL"
+  >
   <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>
@@ -44,6 +55,7 @@
       <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>
@@ -118,6 +130,7 @@
       <item> subdir_depends </item>
       <item> subdirs </item>
       <item> target_compile_definitions </item>
+      <item> target_compile_options </item>
       <item> target_include_directories </item>
       <item> target_link_libraries </item>
       <item> try_compile </item>
@@ -143,6 +156,7 @@
     <list name="special_args">
       <!-- generated list -->
       <item> AFTER </item>
+      <item> ALIAS </item>
       <item> ALL </item>
       <item> ALPHABET </item>
       <item> AND </item>
@@ -170,14 +184,17 @@
       <item> COMPILE_RESULT_VAR </item>
       <item> COMPONENT </item>
       <item> COMPONENTS </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>
@@ -202,6 +219,7 @@
       <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>
@@ -215,6 +233,7 @@
       <item> FRAMEWORK </item>
       <item> FULL_DOCS </item>
       <item> FUNCTION </item>
+      <item> GENERATE </item>
       <item> GET </item>
       <item> GLOB </item>
       <item> GLOBAL </item>
@@ -229,8 +248,10 @@
       <item> IMPORTED </item>
       <item> IN </item>
       <item> INACTIVITY_TIMEOUT </item>
+      <item> INCLUDES </item>
       <item> INCLUDE_INTERNALS </item>
       <item> INHERITED </item>
+      <item> INPUT </item>
       <item> INPUT_FILE </item>
       <item> INSERT </item>
       <item> INSTALL </item>
@@ -258,6 +279,7 @@
       <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>
@@ -329,6 +351,7 @@
       <item> PUBLIC </item>
       <item> PUBLIC_HEADER </item>
       <item> PUSH </item>
+      <item> QUERY </item>
       <item> QUIET </item>
       <item> RANDOM </item>
       <item> RANDOM_SEED </item>
@@ -350,6 +373,7 @@
       <item> REQUIRED_VARIABLE1 </item>
       <item> REQUIRED_VARIABLE2 </item>
       <item> RESOURCE </item>
+      <item> RESULT </item>
       <item> RESULT_VAR </item>
       <item> RESULT_VARIABLE </item>
       <item> RETURN_VALUE </item>
@@ -428,6 +452,15 @@
       <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>
     </list>
 
     <!-- ATTENTION Do not change the list name! Or change a generation script accordingly -->
@@ -436,6 +469,7 @@
       <item> ABSTRACT </item>
       <item> ADDITIONAL_MAKE_CLEAN_FILES </item>
       <item> ADVANCED </item>
+      <item> ALIASED_TARGET </item>
       <item> ALLOW_DUPLICATE_CUSTOM_TARGETS </item>
       <item> ARCHIVE_OUTPUT_DIRECTORY </item>
       <item> ARCHIVE_OUTPUT_NAME </item>
@@ -443,6 +477,7 @@
       <item> ATTACHED_FILES_ON_FAIL </item>
       <item> AUTOMOC </item>
       <item> AUTOMOC_MOC_OPTIONS </item>
+      <item> AUTOMOC_TARGETS_FOLDER </item>
       <item> BUILD_WITH_INSTALL_RPATH </item>
       <item> BUNDLE </item>
       <item> BUNDLE_EXTENSION </item>
@@ -452,6 +487,7 @@
       <item> COMPATIBLE_INTERFACE_STRING </item>
       <item> COMPILE_DEFINITIONS </item>
       <item> COMPILE_FLAGS </item>
+      <item> COMPILE_OPTIONS </item>
       <item> COST </item>
       <item> DEBUG_CONFIGURATIONS </item>
       <item> DEBUG_POSTFIX </item>
@@ -465,6 +501,7 @@
       <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>
@@ -501,8 +538,11 @@
       <item> INSTALL_RPATH </item>
       <item> INSTALL_RPATH_USE_LINK_PATH </item>
       <item> INTERFACE_COMPILE_DEFINITIONS </item>
+      <item> INTERFACE_COMPILE_OPTIONS </item>
       <item> INTERFACE_INCLUDE_DIRECTORIES </item>
+      <item> INTERFACE_LINK_LIBRARIES </item>
       <item> INTERFACE_POSITION_INDEPENDENT_CODE </item>
+      <item> INTERFACE_SYSTEM_INCLUDE_DIRECTORIES </item>
       <item> INTERPROCEDURAL_OPTIMIZATION </item>
       <item> IN_TRY_COMPILE </item>
       <item> KEEP_EXTENSION </item>
@@ -526,9 +566,11 @@
       <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> OBJECT_DEPENDS </item>
       <item> OBJECT_OUTPUTS </item>
@@ -576,9 +618,12 @@
       <item> VALUE </item>
       <item> VARIABLES </item>
       <item> VERSION </item>
+      <item> VISIBILITY_INLINES_HIDDEN </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>
@@ -639,6 +684,7 @@
       <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>
@@ -690,7 +736,9 @@
       <item> CMAKE_MAJOR_VERSION </item>
       <item> CMAKE_MAKE_PROGRAM </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>
@@ -708,6 +756,7 @@
       <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>
@@ -719,6 +768,7 @@
       <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_SYSTEM </item>
       <item> CMAKE_SYSTEM_IGNORE_PATH </item>
       <item> CMAKE_SYSTEM_INCLUDE_PATH </item>
@@ -734,16 +784,20 @@
       <item> CMAKE_USE_RELATIVE_PATHS </item>
       <item> CMAKE_VERBOSE_MAKEFILE </item>
       <item> CMAKE_VERSION </item>
+      <item> CMAKE_VISIBILITY_INLINES_HIDDEN </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> CYGWIN </item>
+      <item> ENV </item>
       <item> EXECUTABLE_OUTPUT_PATH </item>
       <item> LIBRARY_OUTPUT_PATH </item>
       <item> MSVC </item>
       <item> MSVC10 </item>
       <item> MSVC11 </item>
+      <item> MSVC12 </item>
       <item> MSVC60 </item>
       <item> MSVC70 </item>
       <item> MSVC71 </item>
@@ -773,15 +827,27 @@
       <item> CONFIG </item>
       <item> BOOL </item>
       <item> STREQUAL </item>
+      <item> JOIN </item>
       <item> TARGET_NAME </item>
       <item> INSTALL_INTERFACE </item>
       <item> BUILD_INTERFACE </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_FILE </item>
       <item> TARGET_LINKER_FILE </item>
       <item> TARGET_SONAME_FILE </item>
+      <item> TARGET_FILE_DIR </item>
+      <item> TARGET_FILE_NAME </item>
       <item> TARGET_DIR </item>
-      <item> TARGET_LINKER_DIR </item>
-      <item> TARGET_SONAME_DIR </item>
+      <item> TARGET_LINKER_FILE_DIR </item>
+      <item> TARGET_LINKER_FILE_NAME </item>
+      <item> TARGET_SONAME_FILE_DIR </item>
+      <item> TARGET_SONAME_FILE_NAME </item>
       <item> TARGET_PROPERTY </item>
       <item> TARGET_OBJECTS </item>
       <item> TARGET_POLICY </item>
@@ -816,7 +882,8 @@
         <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="DocumentationBracketBlock" context="DocumentationBracketBlock" String="^#\[(=*)\[\.rst:"  />
+        <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*(?=\()"/>
@@ -827,7 +894,10 @@
         <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_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_MODULE_LINKER_FLAGS_[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_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_[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" />
@@ -841,6 +911,7 @@
         <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" />
@@ -859,6 +930,7 @@
         <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]*_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" />
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="Detect Builtin Variables">
         <keyword attribute="Builtin CMake Variable" context="#stay" String="cmake_vars" insensitive="false"/>
@@ -899,9 +971,9 @@
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="Macro Args">
         <DetectChar attribute="Normal Text" context="#pop" char=")"/>
-        <!-- TODO Hmm... this rule looks strange... being in the Normal context -->
-        <StringDetect attribute="Escapes" context="#stay" String="\&quot;"/>
+        <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"/>
@@ -911,15 +983,22 @@
         <IncludeRules context="##Alerts" />
         <IncludeRules context="##Modelines" />
       </context>
-      <context name="DocumentationBracketBlock" lineEndContext="#stay" dynamic="true">
-        <IncludeRules context="##reStructuredText" includeAttrib="true"/>
-        <RegExpr attribute="Normal Text" String="\]%1\]" lookAhead="true" context="#pop#pop" dynamic="true" />
+      <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;$n\\]" />
+        <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>
diff --git a/xml/coffee.xml b/xml/coffee.xml
--- a/xml/coffee.xml
+++ b/xml/coffee.xml
@@ -223,7 +223,7 @@
       <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="##JavaScript" includeAttrib="true"/>
+        <IncludeRules context="Normal##JavaScript" includeAttrib="true"/>
       </context>
     </contexts>
     <!-- Style mappings. -->
diff --git a/xml/cpp.xml b/xml/cpp.xml
--- a/xml/cpp.xml
+++ b/xml/cpp.xml
@@ -1,327 +1,1606 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE language SYSTEM "language.dtd">
-<language name="C++" section="Sources"
-          version="1.50" kateversion="2.4"
-          indenter="cstyle"
-          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"
-          priority="9">
-<!--
-##########################################################################
-## Fixes by Sebastian Pipping (webmaster@hartwork.org)
-##
-## NOTE: Keep in sync with C highlighter! (c.xml)
-##########################################################################
--->
-  <highlighting>
-    <list name="keywords">
-      <item> asm </item>
-      <item> break </item>
-      <item> case </item>
-      <item> catch </item>
-      <item> class </item>
-      <item> constexpr </item>
-      <item> const_cast </item>
-      <item> continue </item>
-      <item> decltype </item>
-      <item> default </item>
-      <item> delete </item>
-      <item> do </item>
-      <item> dynamic_cast</item>
-      <item> else </item>
-      <item> enum </item>
-      <item> explicit </item>
-      <item> export </item>
-      <item> extern </item>
-      <item> false </item>
-      <item> final </item>
-      <item> friend </item>
-      <item> for </item>
-      <item> goto </item>
-      <item> if </item>
-      <item> inline </item>
-      <item> namespace </item>
-      <item> new </item>
-      <item> noexcept </item>
-      <item> nullptr </item>
-      <item> operator </item>
-      <item> override </item>
-      <item> private </item>
-      <item> protected </item>
-      <item> public </item>
-      <item> qobject_cast </item>
-      <item> reinterpret_cast </item>
-      <item> return </item>
-      <item> sizeof </item>
-      <item> static_assert </item>
-      <item> static_cast </item>
-      <item> struct </item>
-      <item> switch </item>
-      <item> template </item>
-      <item> this </item>
-      <item> throw </item>
-      <item> true </item>
-      <item> try </item>
-      <item> typedef </item>
-      <item> typeid </item>
-      <item> type_info </item>
-      <item> typename </item>
-      <item> union </item>
-      <item> using </item>
-      <item> virtual </item>
-      <item> while </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> Q_ARG </item>
-      <item> Q_ASSERT </item>
-      <item> Q_ASSERT_X </item>
-      <item> Q_CHECK_PTR </item>
-      <item> Q_CLASSINFO </item>
-      <item> Q_CLEANUP_RESOURCE </item>
-      <item> Q_D </item>
-      <item> Q_DECLARE_FLAGS </item>
-      <item> Q_DECLARE_FLAGS </item>
-      <item> Q_DECLARE_INTERFACE </item>
-      <item> Q_DECLARE_METATYPE </item>
-      <item> Q_DECLARE_OPERATORS_FOR_FLAGS </item>
-      <item> Q_DECLARE_PRIVATE </item>
-      <item> Q_DECLARE_PUBLIC </item>
-      <item> Q_DECLARE_SHARED </item>
-      <item> Q_DECLARE_TYPEINFO </item>
-      <item> Q_DISABLE_COPY </item>
-      <item> Q_EMIT </item>
-      <item> Q_ENUMS </item>
-      <item> Q_EXPORT </item>
-      <item> Q_FLAGS </item>
-      <item> Q_FOREACH </item>
-      <item> Q_FOREVER </item>
-      <item> Q_GADGET </item>
-      <item> Q_GLOBAL_STATIC </item>
-      <item> Q_GLOBAL_STATIC_WITH_ARGS </item>
-      <item> Q_INIT_RESOURCE </item>
-      <item> Q_INTERFACES </item>
-      <item> Q_INVOKABLE </item>
-      <item> Q_NOREPLY </item>
-      <item> Q_OBJECT </item>
-      <item> Q_OVERRIDE </item>
-      <item> Q_PRIVATE_SLOT </item>
-      <item> Q_PROPERTY </item>
-      <item> Q_Q </item>
-      <item> Q_RETURN_ARG </item>
-      <item> Q_SCRIPTABLE </item>
-      <item> Q_SETS </item>
-      <item> Q_SIGNALS </item>
-      <item> Q_SLOTS </item>
-      <item> Q_UNUSED </item>
-      <item> SIGNAL </item>
-      <item> SLOT </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>
-
-      <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>
-    </list>
-    <list name="types">
-      <item> auto </item>
-      <item> bool </item>
-      <item> char </item>
-      <item> char16_t </item>
-      <item> char32_t </item>
-      <item> const </item>
-      <item> double </item>
-      <item> float </item>
-      <item> int </item>
-      <item> long </item>
-      <item> mutable </item>
-      <item> register </item>
-      <item> short </item>
-      <item> signed </item>
-      <item> static </item>
-      <item> unsigned </item>
-      <item> void </item>
-      <item> volatile </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="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="Extensions" context="#stay" String="extensions" />
-        <keyword attribute="Data Type" context="#stay" String="types" />
-        <HlCChar attribute="Char" context="#stay"/>
-        <DetectChar attribute="String" context="String" char="&quot;"/>
-        <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>
-        <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="Region Marker" lineEndContext="#pop" name="Region Marker">
-      </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="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">
-        <DetectSpaces />
-        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment2" />
-        <DetectIdentifier />
-      </context>
-
-      <context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
-        <DetectSpaces />
-        <IncludeRules context="##Alerts" />
-        <DetectIdentifier />
-        <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="Extensions"   defStyleNum="dsKeyword" color="#0095ff" selColor="#ffffff" bold="1" italic="0" 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"/>
-      <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>
+<!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="1.5"
+    kateversion="2.4"
+    indenter="cstyle"
+    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_HIDDEN </item>
+    <item> Q_DECL_IMPORT </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="dsKeyword" color="#0095ff" selColor="#ffffff" bold="1" italic="0" spellChecking="false" />
+    <itemData name="Qt4 Types" defStyleNum="dsDataType" spellChecking="false" />
+    <itemData name="Qt4 Classes" defStyleNum="dsOthers" 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/css.xml b/xml/css.xml
--- a/xml/css.xml
+++ b/xml/css.xml
@@ -13,9 +13,12 @@
 - Version 2.03, by Milian Wolff:
 - Make it spelling aware
 
+- Version 2.08, Joseph Wenninger:
+- CSS3 media queries 
+
 -->
 
-<language name="CSS" version="2.06" kateversion="2.4" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
+<language name="CSS" version="2.08" kateversion="2.4" section="Markup" extensions="*.css" indenter="cstyle" mimetype="text/css" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
 
 	<highlighting>
 		<list name="properties">
@@ -622,10 +625,52 @@
 			<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>
@@ -704,11 +749,55 @@
 			<!-- other contexts -->
 			<context attribute="Normal Text" lineEndContext="#stay" name="Media">
 				<DetectChar attribute="Media" context="Media2" char="{" beginRegion="media" />
-				<keyword attribute="Media" context="#stay" String="mediatypes" />
+                                <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 -->
+                            <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" />
@@ -812,7 +901,6 @@
 				<itemData name="Selector Pseudo"  defStyleNum="dsDecVal" spellChecking="false"/>
 				<itemData name="Comment" defStyleNum="dsComment" />
 				<itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
-				<itemData name="Alert" defStyleNum="dsAlert" spellChecking="false"/>
 				<itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
 			</itemDatas>
 		</highlighting>
diff --git a/xml/djangotemplate.xml b/xml/djangotemplate.xml
--- a/xml/djangotemplate.xml
+++ b/xml/djangotemplate.xml
@@ -265,7 +265,7 @@
     <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="##JavaScript" includeAttrib="true"/>
+    <IncludeRules context="Normal##JavaScript" includeAttrib="true"/>
   </context>
 
   <context name="JS comment close" attribute="Comment" lineEndContext="#pop">
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="0.4"
+    kateversion="2.4"
+    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="dsOthers" spellChecking="false" italic="1" />
+    <itemData name="GNU Functions"  defStyleNum="dsOthers" spellChecking="false" />
+    <itemData name="GNU Macros"     defStyleNum="dsOthers" spellChecking="false" />
+    <itemData name="GNU Types"      defStyleNum="dsOthers" 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/html.xml b/xml/html.xml
--- a/xml/html.xml
+++ b/xml/html.xml
@@ -4,7 +4,7 @@
 	<!ENTITY name    "[A-Za-z_:][\w.:_-]*">
 	<!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
 ]>
-<language name="HTML" version="1.99" kateversion="2.4" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm" mimetype="text/html"  author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
+<language name="HTML" version="2.0" kateversion="2.4" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm" mimetype="text/html"  author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
 
 <highlighting>
 <contexts>
@@ -27,6 +27,15 @@
     <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" />
@@ -34,6 +43,15 @@
     <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" />
@@ -153,7 +171,7 @@
   <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="##JavaScript" includeAttrib="true"/>
+    <IncludeRules context="Normal##JavaScript" includeAttrib="true"/>
   </context>
 
   <context name="JS comment close" attribute="Comment" lineEndContext="#pop">
diff --git a/xml/isocpp.xml b/xml/isocpp.xml
new file mode 100644
--- /dev/null
+++ b/xml/isocpp.xml
@@ -0,0 +1,476 @@
+<?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="2.2"
+    kateversion="2.4"
+    indenter="cstyle"
+    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="keywords">
+      <item> alignof </item>
+      <item> alignas </item>
+      <item> asm </item>
+      <item> auto </item>
+      <item> break </item>
+      <item> case </item>
+      <item> catch </item>
+      <item> class </item>
+      <item> constexpr </item>
+      <item> const_cast </item>
+      <item> continue </item>
+      <item> decltype </item>
+      <item> default </item>
+      <item> delete </item>
+      <item> do </item>
+      <item> dynamic_cast</item>
+      <item> else </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> for </item>
+      <item> goto </item>
+      <item> if </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> return </item>
+      <item> sizeof </item>
+      <item> static_assert </item>
+      <item> static_cast </item>
+      <item> struct </item>
+      <item> switch </item>
+      <item> template </item>
+      <item> this </item>
+      <item> throw </item>
+      <item> true </item>
+      <item> try </item>
+      <item> typedef </item>
+      <item> typeid </item>
+      <item> typename </item>
+      <item> union </item>
+      <item> using </item>
+      <item> virtual </item>
+      <item> while </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> wchar_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="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" />
+        <RegExpr attribute="Float" context="#stay" String="[\+\-]?([0-9]+[Ee][\+\-]?[0-9]+|([0-9]+\.|\.[0-9]+|[0-9]+\.[0-9]+)([Ee][\+\-]?[0-9]+)?)[FfLl]?" />
+        <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">
+        <!-- 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)" 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)|include(?:_next)?|(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 name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop">
+        <LineContinue attribute="Preprocessor" context="#stay" />
+        <keyword attribute="Standard Macros" context="#stay" String="StdMacros" />
+        <IncludeRules context="GNUMacros##GCCExtensions" />
+        <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="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" />
+        <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="Keyword"            defStyleNum="dsKeyword"  spellChecking="false" />
+      <itemData name="Data Type"          defStyleNum="dsDataType" spellChecking="false" />
+      <itemData name="Type Modifiers"     defStyleNum="dsDataType" spellChecking="false" />
+      <itemData name="Attribute"          defStyleNum="dsKeyword"  spellChecking="false" bold="false" italic="true" />
+      <itemData name="Standard Attribute" defStyleNum="dsKeyword"  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="dsChar"     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="dsNormal"   spellChecking="false" />
+      <itemData name="Globals (g_*)"      defStyleNum="dsNormal"   spellChecking="false" />
+      <itemData name="Statics (s_*)"      defStyleNum="dsNormal"   spellChecking="false" />
+      <itemData name="Types (*_t/*_type)" defStyleNum="dsNormal"   spellChecking="false" />
+      <itemData name="CONSTS/MACROS"      defStyleNum="dsNormal"   spellChecking="false" />
+      <itemData name="Preprocessor"       defStyleNum="dsOthers"   spellChecking="false" />
+      <itemData name="Prep. Lib"          defStyleNum="dsOthers"   spellChecking="false" />
+      <itemData name="Standard Macros"    defStyleNum="dsOthers"   spellChecking="false" />
+      <itemData name="Standard Classes"   defStyleNum="dsNormal"   spellChecking="false" color="#59ff00" selColor="#59ff00" />
+      <itemData name="Boost Stuff"        defStyleNum="dsNormal"   spellChecking="false" color="#23a45b" selColor="#23a45b" />
+      <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/javascript.xml b/xml/javascript.xml
--- a/xml/javascript.xml
+++ b/xml/javascript.xml
@@ -64,6 +64,17 @@
       <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" />
diff --git a/xml/json.xml b/xml/json.xml
--- a/xml/json.xml
+++ b/xml/json.xml
@@ -12,7 +12,7 @@
  ** http://tools.ietf.org/html/rfc4627
  ***************************************************************************
 -->
-<language name="JSON" section="Markup" version="1.2" kateversion="2.3" extensions="*.json" mimetype="application/json" author="Sebastian Pipping (sebastian@pipping.org)" license="GPL">
+<language name="JSON" section="Markup" version="1.3" kateversion="2.3" extensions="*.json" mimetype="application/json" author="Sebastian Pipping (sebastian@pipping.org)" license="GPL">
   <highlighting>
     <list name="Constants">
       <item>null</item>
@@ -82,17 +82,17 @@
     <itemDatas>
       <itemData name="Style_Normal"             defStyleNum="dsNormal" />
 
-      <itemData name="Style_Seperator_Pair"     defStyleNum="dsNormal" bold="1" color="#EF0000" />
-      <itemData name="Style_Seperator_Array"    defStyleNum="dsNormal" bold="1" color="#0000AF" />
+      <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" color="#FF00FF" />
-      <itemData name="Style_String_Key_Char"    defStyleNum="dsDataType" underline="1" />
-      <itemData name="Style_String_Value_Char"  defStyleNum="dsString" color="#FF00FF" underline="1" />
+      <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="dsDecVal" bold="1" />
+      <itemData name="Style_Keyword"            defStyleNum="dsKeyword" />
 
       <itemData name="Style_Error"              defStyleNum="dsError" />
     </itemDatas>
diff --git a/xml/julia.xml b/xml/julia.xml
--- a/xml/julia.xml
+++ b/xml/julia.xml
@@ -272,7 +272,6 @@
       <itemData name="Keyword" defStyleNum="dsKeyword"/>
       <itemData name="Data Type" defStyleNum="dsDataType"/>
       <itemData name="Comment" defStyleNum="dsComment"/>
-      <itemData name="Comment" defStyleNum="dsComment"/>
       <itemData name="FoldingComment" defStyleNum="dsComment" />
     </itemDatas>
 
diff --git a/xml/makefile.xml b/xml/makefile.xml
--- a/xml/makefile.xml
+++ b/xml/makefile.xml
@@ -7,7 +7,7 @@
 <!-- small priority to allow for example Makefile.cpp to be detected as cpp file -->
 <language name="Makefile" section="Other"
           version="2.0" kateversion="2.4"
-          extensions="GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*"
+          extensions="GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*;*.mk"
           mimetype="text/x-makefile"
           author="Per Wigren (wigren@home.se)" license="">
   <highlighting>
@@ -64,10 +64,11 @@
     <contexts>
       <context name="normal" attribute="Normal" lineEndContext="#stay">
         <DetectSpaces/>
+        <RegExpr attribute="Comment"  context="#stay" String="#.*$"/>
         <keyword attribute="Keyword"  context="#stay" String="keywords"/>
         <RegExpr attribute="Variable" context="assign" String="[^\s:+?]*\s*(?=:=|=|\+=|\?=)"/>
-        <RegExpr attribute="Section"  context="prereq" String="^[.].*:"/>
-        <RegExpr attribute="Target"   context="prereq" String="^.*:"/>
+        <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="'"/>
@@ -75,12 +76,12 @@
         <Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
         <Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
         <AnyChar attribute="Operator" context="silent" String="@-" firstNonSpace="1"/>
-        <RegExpr attribute="Comment"  context="#stay" String="#.*$"/>
       </context>
 
       <context name="prereq" attribute="Prereq" lineEndContext="rule">
         <DetectSpaces/>
         <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="\"/>
diff --git a/xml/modelines.xml b/xml/modelines.xml
--- a/xml/modelines.xml
+++ b/xml/modelines.xml
@@ -5,12 +5,10 @@
     <!ENTITY end "&#59;">
 ]>
 <!--
-  Copyright (c) 2012 by Alex Turbov (i.zaufi@gmail.com)
-
-  Homepage: http://kde-files.org/content/show.php?content=90660
+  Copyright (c) 2012-2014 by Alex Turbov (i.zaufi@gmail.com)
   -->
 <language name="Modelines"
-          version="1.0"
+          version="1.1"
           kateversion="2.4"
           section="Other"
           extensions=""
@@ -124,6 +122,7 @@
     <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>
 
diff --git a/xml/octave.xml b/xml/octave.xml
--- a/xml/octave.xml
+++ b/xml/octave.xml
@@ -15,7 +15,7 @@
 -->
 
 
-<language name="Octave" version="1.01" kateversion="2.3" section="Scientific" extensions="*.octave;*.m;*.M" mimetype="text/octave" casesensitive="1" license="GPL" author="Luis Silvestre and Federico Zenith">
+<language name="Octave" version="1.02" kateversion="2.3" section="Scientific" extensions="*.octave;*.m;*.M" mimetype="text/octave" casesensitive="1" license="GPL" author="Luis Silvestre and Federico Zenith">
 
   <highlighting>
 
@@ -2189,20 +2189,20 @@
     </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="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"/>
-      <itemData name="Keyword"  defStyleNum="dsNormal" color="#0000ff"/>
+      <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" />
-      <itemData name="Forge" defStyleNum="dsFunction" color="#000099" selColor="#009900" bold="1" italic="1" />
-      <itemData name="Builtin" defStyleNum="dsBaseN" color="#b28c00" />
-      <itemData name="Commands" defStyleNum="dsFunction" color="#b28c00" />
+      <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>
diff --git a/xml/php.xml b/xml/php.xml
--- a/xml/php.xml
+++ b/xml/php.xml
@@ -5559,7 +5559,7 @@
       <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="##JavaScript" />
+        <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" />
@@ -5588,7 +5588,7 @@
       <context name="javascriptnowdoc" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
         <RegExpr attribute="Backslash Code" context="#pop" String="^%1;?$" dynamic="true" endRegion="Heredoc" />
         <IncludeRules context="commonnowdoc" />
-        <IncludeRules context="##JavaScript" />
+        <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="Heredoc" />
diff --git a/xml/python.xml b/xml/python.xml
--- a/xml/python.xml
+++ b/xml/python.xml
@@ -451,7 +451,7 @@
 
 			<context name="Hash comment" attribute="Comment" lineEndContext="#pop">
 				<IncludeRules context="##Alerts" />
-        <IncludeRules context="##Modelines" />
+				<IncludeRules context="##Modelines" />
 			</context>
 
 			<context name="Tripple A-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
diff --git a/xml/rhtml.xml b/xml/rhtml.xml
--- a/xml/rhtml.xml
+++ b/xml/rhtml.xml
@@ -487,7 +487,7 @@
 				
 				<RegExpr attribute="Element" context="El Close 2" String="&lt;/script\b" insensitive="TRUE" endRegion="script" />
 				<RegExpr attribute="Comment" context="JS comment close" String="//(?=.*&lt;/script\b)" insensitive="TRUE" />
-				<IncludeRules context="##JavaScript" includeAttrib="true"/>
+				<IncludeRules context="Normal##JavaScript" includeAttrib="true"/>
 			</context>
 			
 			<context name="JS comment close" attribute="Comment" lineEndContext="#pop">
