diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,25 +1,39 @@
 # Revision history for skylighting and skylighting-core
 
+## 0.8.3.4
+
+  * Update syntax descriptions for: cmake agda c coffee doxygenlua html
+    isocpp latex lua makefile markdown metafont mustache nasm python rust
+    sql-postgresql typescript vhdl xml yacc yaml.
+
+  * Fix invalid CSS: in some cases, the library produced
+    `code span.` with no class for the NormalTok style (Michał Miszczyszyn).
+    Now it produces a rule for `code span`.
+
+## 0.8.3.3
+
+  * Agda keywords updated to 2.6.0 (Andreas Abel).
+
 ## 0.8.3.2 -- 2020-01-21
 
- * This fixes a packaging error in 0.8.3.1, which didn't include
-   the results of the bootsrap step and hence didn't update the
-   syntax modules.
+  * This fixes a packaging error in 0.8.3.1, which didn't include
+    the results of the bootsrap step and hence didn't update the
+    syntax modules.
 
 ## 0.8.3.1 -- 2020-01-21
 
- * Escape `<` and `>` in latex to avoid ligatures (#91).
+  * Escape `<` and `>` in latex to avoid ligatures (#91).
 
- * Fix and extend Idris keywords (Denis Buzdalov).
+  * Fix and extend Idris keywords (Denis Buzdalov).
 
- * Update XML syntax definitions for javascript-react, qml,
-   typescript, javascript, cmake, cofee, latex, perl, python,
-   rest.
+  * Update XML syntax definitions for javascript-react, qml,
+    typescript, javascript, cmake, cofee, latex, perl, python,
+    rest.
 
- * Fixed bug with context shifts using `##` syntax for foreign context.
-   Previously we only handled these in IncludeRules, but
-   starting with the current batches of xml files they can occur
-   elsewhere too.
+  * Fixed bug with context shifts using `##` syntax for foreign context.
+    Previously we only handled these in IncludeRules, but
+    starting with the current batches of xml files they can occur
+    elsewhere too.
 
 ## 0.8.3 -- 2019-11-26
 
diff --git a/skylighting-core.cabal b/skylighting-core.cabal
--- a/skylighting-core.cabal
+++ b/skylighting-core.cabal
@@ -1,5 +1,5 @@
 name:                skylighting-core
-version:             0.8.3.2
+version:             0.8.3.4
 synopsis:            syntax highlighting library
 description:         Skylighting is a syntax highlighting library.
                      It derives its tokenizers from XML syntax
diff --git a/src/Skylighting/Format/HTML.hs b/src/Skylighting/Format/HTML.hs
--- a/src/Skylighting/Format/HTML.hs
+++ b/src/Skylighting/Format/HTML.hs
@@ -190,7 +190,7 @@
           ]
 
 toCss :: (TokenType, TokenStyle) -> String
-toCss (t,tf) = "code span." ++ short t ++ " { "
+toCss (t,tf) = "code span" ++ (if null (short t) then "" else ('.' : short t)) ++ " { "
                 ++ colorspec ++ backgroundspec ++ weightspec ++ stylespec
                 ++ decorationspec ++ "} /* " ++ showTokenType t ++ " */"
   where colorspec = maybe "" (\col -> "color: " ++ fromColor col ++ "; ") $ tokenColor tf
diff --git a/xml/agda.xml b/xml/agda.xml
--- a/xml/agda.xml
+++ b/xml/agda.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE language SYSTEM "language.dtd"[
   <!ENTITY charsdelim "_;.&#34;(){}@">
-  <!ENTITY wordsep "(?=([&charsdelim;]|\s|$))">
+  <!ENTITY wordsep "(?=[&charsdelim;]|\s|$)">
 ]>
-<language name="Agda" version="5" kateversion="5.0" section="Sources" extensions="*.agda" mimetype="text/x-agda" author="Matthias C. M. Troffaes" license="LGPL">
+<language name="Agda" version="6" kateversion="5.0" section="Sources" extensions="*.agda" mimetype="text/x-agda" author="Matthias C. M. Troffaes" license="LGPL">
   <highlighting>
     <list name="reserved keywords">
       <item>abstract</item>
@@ -11,6 +11,8 @@
       <item>coinductive</item>
       <item>constructor</item>
       <item>data</item>
+      <item>do</item>
+      <item>eta-equality</item>
       <item>field</item>
       <item>forall</item>
       <item>hiding</item>
@@ -20,25 +22,33 @@
       <item>infix</item>
       <item>infixl</item>
       <item>infixr</item>
+      <item>instance</item>
       <item>let</item>
+      <item>macro</item>
+      <item>module</item>
+      <item>mutual</item>
+      <item>no-eta-equality</item>
       <item>open</item>
+      <item>overlap</item>
       <item>pattern</item>
       <item>postulate</item>
       <item>primitive</item>
       <item>private</item>
       <item>public</item>
-      <item>module</item>
-      <item>mutual</item>
       <item>quote</item>
       <item>quoteGoal</item>
       <item>quoteTerm</item>
       <item>record</item>
       <item>renaming</item>
       <item>rewrite</item>
+      <item>tactic</item>
       <item>syntax</item>
       <item>to</item>
       <item>unquote</item>
+      <item>unquoteDecl</item>
+      <item>unquoteDef</item>
       <item>using</item>
+      <item>variable</item>
       <item>where</item>
       <item>with</item>
     </list>
@@ -46,14 +56,14 @@
       <context attribute="Normal" lineEndContext="#stay" name="code">
         <RegExpr attribute="Pragma"  context="#stay" String="\{-#.*#-\}" />
         <keyword attribute="Keyword" context="#stay" String="reserved keywords" />
-        <RegExpr attribute="Type"    context="#stay" String="(Prop|Set[₀-₉]+|Set[0-9]*)&wordsep;" />
-        <RegExpr attribute="Special" context="#stay" String="(-&gt;|→|∀|λ|:|=|\|)&wordsep;" />
-        <RegExpr attribute="Float"   context="#stay" String="\d+\.\d+&wordsep;" />
+        <RegExpr attribute="Type"    context="#stay" String="(?:Prop[₀-₉]+|Prop[0-9]*|Set[₀-₉]+|Set[0-9]*)&wordsep;" />
+        <RegExpr attribute="Special" context="#stay" String="(?:\-&gt;|→|∀|λ|:|=|\|)&wordsep;" />
+        <RegExpr attribute="Float"   context="#stay" String="\d+(?:(?:\.\d+)?[eE][+-]?\d+|\.\d+)&wordsep;" />
         <RegExpr attribute="Decimal" context="#stay" String="[0-9]+&wordsep;" />
         <DetectChar attribute="Char"   context="char"   char="'" />
         <DetectChar attribute="String" context="string" char="&quot;" />
         <Detect2Chars attribute="Comment" context="comment"  char="-"  char1="-" />
-        <Detect2Chars attribute="Comment" context="comments" char="{" char1="-" />
+        <Detect2Chars attribute="Comment" context="comments" char="{" char1="-" beginRegion="CommentBlock" />
         <Detect2Chars attribute="Hole"    context="hole"     char="{" char1="!" />
         <!-- delimiters which cannot be part of an identifier, or
              backslash which starts a lambda expression -->
@@ -63,11 +73,14 @@
              cases are already taken care off above) -->
         <RegExpr attribute="Normal" context="#stay" String="[^&charsdelim;\s]+" />
       </context>
-      <context attribute="Comment" lineEndContext="#pop" name="comment" />
-      <context attribute="Comment" lineEndContext="#stay" name="comments">
-        <Detect2Chars attribute="Comment" context="comments" char="{" char1="-" /> <!-- for nested comments -->
-        <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" />
+      <context attribute="Comment" lineEndContext="#pop" name="comment">
+        <IncludeRules context="##Alerts" />
       </context>
+      <context attribute="Comment" lineEndContext="#stay" name="comments" noIndentationBasedFolding="1">
+        <Detect2Chars attribute="Comment" context="comments" char="{" char1="-" beginRegion="CommentBlock" /> <!-- for nested comments -->
+        <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" endRegion="CommentBlock" />
+        <IncludeRules context="##Alerts" />
+      </context>
       <context attribute="Hole" lineEndContext="#stay" name="hole">
         <Detect2Chars attribute="Hole" context="#pop" char="!" char1="}" />
       </context>
@@ -98,7 +111,7 @@
     <folding indentationsensitive="1"/>
     <comments>
       <comment name="singleLine" start="--" />
-      <comment name="multiLine" start="{-" end="-}" />
+      <comment name="multiLine" start="{-" end="-}" region="CommentBlock" />
     </comments>
     <keywords casesensitive="1"
               weakDeliminator=":!+,-&lt;=&gt;%&amp;*/?[]^|~\\"
diff --git a/xml/c.xml b/xml/c.xml
--- a/xml/c.xml
+++ b/xml/c.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE language SYSTEM "language.dtd"
 [
-    <!ENTITY int "(?:[0-9](?:'?[0-9]+)*)">
-    <!ENTITY hex_int "(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f]+)*)">
+    <!ENTITY int "(?:[0-9]+)">
+    <!ENTITY hex_int "(?:[0-9A-Fa-f]+)">
     <!ENTITY exp_float "(?:[eE][+-]?&int;)">
     <!ENTITY exp_hexfloat "(?:[pP][-+]?&int;)">
 
@@ -10,7 +10,7 @@
     <!ENTITY pphash "&ispphash;\s*">
 ]>
 <language name="C" section="Sources"
-          version="7" kateversion="5.0"
+          version="8" kateversion="5.0"
           indenter="cstyle"
           extensions="*.c;*.C;*.h"
           mimetype="text/x-csrc;text/x-c++src;text/x-chdr"
@@ -232,9 +232,9 @@
 
       <context name="Integer" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
         <RegExpr attribute="Hex" context="IntSuffix" String="0[xX]&hex_int;" />
-        <RegExpr attribute="Binary" context="IntSuffix" String="0[Bb][01](?:'?[01]+)*" />
-        <RegExpr attribute="Octal" context="IntSuffix" String="0(?:'?[0-7]+)+" />
-        <RegExpr attribute="Decimal" context="IntSuffix" String="0(?![xXbB0-9])|[1-9](?:'?[0-9]+)*" />
+        <RegExpr attribute="Binary" context="IntSuffix" String="0[Bb][01]+" />
+        <RegExpr attribute="Octal" context="IntSuffix" String="0[0-7]+" />
+        <RegExpr attribute="Decimal" context="IntSuffix" String="0(?![xXbB0-9])|[1-9][0-9]*" />
         <RegExpr attribute="Error" context="#pop" String="[._0-9A-Za-z']+" />
       </context>
 
diff --git a/xml/cmake.xml b/xml/cmake.xml
--- a/xml/cmake.xml
+++ b/xml/cmake.xml
@@ -9,7 +9,7 @@
   Copyright 2004 Alexander Neundorf (neundorf@kde.org)
   Copyright 2005 Dominik Haumann (dhdev@gmx.de)
   Copyright 2007,2008,2013,2014 Matthew Woehlke (mw_triad@users.sourceforge.net)
-  Copyright 2013-2015,2017-2019 Alex Turbov (i.zaufi@gmail.com)
+  Copyright 2013-2015,2017-2020 Alex Turbov (i.zaufi@gmail.com)
 
  **********************************************************************
  * This library is free software; you can redistribute it and/or      *
@@ -31,7 +31,7 @@
 
 <language
     name="CMake"
-    version="19"
+    version="22"
     kateversion="2.4"
     section="Other"
     extensions="CMakeLists.txt;*.cmake;*.cmake.in"
@@ -481,6 +481,7 @@
       <item>ITEMS</item>
       <item>LISTS</item>
       <item>RANGE</item>
+      <item>ZIP_LISTS</item>
     </list>
     <list name="get_cmake_property_sargs">
       <item>CACHE_VARIABLES</item>
@@ -617,6 +618,9 @@
     </list>
     <list name="message_nargs">
       <item>AUTHOR_WARNING</item>
+      <item>CHECK_FAIL</item>
+      <item>CHECK_PASS</item>
+      <item>CHECK_START</item>
       <item>DEBUG</item>
       <item>DEPRECATION</item>
       <item>FATAL_ERROR</item>
@@ -996,6 +1000,11 @@
       <item>c_std_90</item>
       <item>c_std_99</item>
       <item>c_variadic_macros</item>
+      <item>cuda_std_03</item>
+      <item>cuda_std_11</item>
+      <item>cuda_std_14</item>
+      <item>cuda_std_17</item>
+      <item>cuda_std_20</item>
       <item>cxx_aggregate_default_initializers</item>
       <item>cxx_alias_templates</item>
       <item>cxx_alignas</item>
@@ -1208,6 +1217,7 @@
       <item>INCLUDE_LABEL</item>
       <item>PARALLEL_LEVEL</item>
       <item>QUIET</item>
+      <item>REPEAT</item>
       <item>RETURN_VALUE</item>
       <item>SCHEDULE_RANDOM</item>
       <item>START</item>
@@ -1215,6 +1225,11 @@
       <item>STRIDE</item>
       <item>TEST_LOAD</item>
     </list>
+    <list name="ctest_test_sargs">
+      <item>AFTER_TIMEOUT</item>
+      <item>UNTIL_FAIL</item>
+      <item>UNTIL_PASS</item>
+    </list>
     <list name="ctest_update_nargs">
       <item>QUIET</item>
       <item>RETURN_VALUE</item>
@@ -1233,6 +1248,7 @@
       <item>BUILD_SHARED_LIBS</item>
       <item>BUILD_TESTING</item>
       <item>CMAKE_ABSOLUTE_DESTINATION_FILES</item>
+      <item>CMAKE_AIX_EXPORT_ALL_SYMBOLS</item>
       <item>CMAKE_ANDROID_ANT_ADDITIONAL_OPTIONS</item>
       <item>CMAKE_ANDROID_API</item>
       <item>CMAKE_ANDROID_API_MIN</item>
@@ -1303,14 +1319,23 @@
       <item>CMAKE_CONFIGURATION_TYPES</item>
       <item>CMAKE_CROSSCOMPILING</item>
       <item>CMAKE_CROSSCOMPILING_EMULATOR</item>
+      <item>CMAKE_CROSS_CONFIGS</item>
+      <item>CMAKE_CTEST_ARGUMENTS</item>
       <item>CMAKE_CTEST_COMMAND</item>
+      <item>CMAKE_CUDA_COMPILE_FEATURES</item>
       <item>CMAKE_CUDA_EXTENSIONS</item>
+      <item>CMAKE_CUDA_HOST_COMPILER</item>
       <item>CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS</item>
+      <item>CMAKE_CUDA_RUNTIME_LIBRARY</item>
       <item>CMAKE_CUDA_SEPARABLE_COMPILATION</item>
       <item>CMAKE_CUDA_STANDARD</item>
       <item>CMAKE_CUDA_STANDARD_REQUIRED</item>
       <item>CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES</item>
       <item>CMAKE_CURRENT_BINARY_DIR</item>
+      <item>CMAKE_CURRENT_FUNCTION</item>
+      <item>CMAKE_CURRENT_FUNCTION_LIST_DIR</item>
+      <item>CMAKE_CURRENT_FUNCTION_LIST_FILE</item>
+      <item>CMAKE_CURRENT_FUNCTION_LIST_LINE</item>
       <item>CMAKE_CURRENT_LIST_DIR</item>
       <item>CMAKE_CURRENT_LIST_FILE</item>
       <item>CMAKE_CURRENT_LIST_LINE</item>
@@ -1325,9 +1350,13 @@
       <item>CMAKE_C_STANDARD_REQUIRED</item>
       <item>CMAKE_DEBUG_POSTFIX</item>
       <item>CMAKE_DEBUG_TARGET_PROPERTIES</item>
+      <item>CMAKE_DEFAULT_BUILD_TYPE</item>
+      <item>CMAKE_DEFAULT_CONFIGS</item>
       <item>CMAKE_DEPENDS_IN_PROJECT_ONLY</item>
       <item>CMAKE_DIRECTORY_LABELS</item>
+      <item>CMAKE_DISABLE_PRECOMPILE_HEADERS</item>
       <item>CMAKE_DL_LIBS</item>
+      <item>CMAKE_DOTNET_TARGET_FRAMEWORK</item>
       <item>CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION</item>
       <item>CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES</item>
       <item>CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT</item>
@@ -1349,6 +1378,7 @@
       <item>CMAKE_EXTRA_INCLUDE_FILES</item>
       <item>CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES</item>
       <item>CMAKE_FIND_APPBUNDLE</item>
+      <item>CMAKE_FIND_DEBUG_MODE</item>
       <item>CMAKE_FIND_FRAMEWORK</item>
       <item>CMAKE_FIND_FRAMEWORK_EXTRA_LOCATIONS</item>
       <item>CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX</item>
@@ -1385,6 +1415,7 @@
       <item>CMAKE_Fortran_MODULE_DIRECTORY</item>
       <item>CMAKE_GENERATOR</item>
       <item>CMAKE_GENERATOR_INSTANCE</item>
+      <item>CMAKE_GENERATOR_NO_COMPILER_ENV</item>
       <item>CMAKE_GENERATOR_PLATFORM</item>
       <item>CMAKE_GENERATOR_TOOLSET</item>
       <item>CMAKE_GLOBAL_AUTOGEN_TARGET</item>
@@ -1489,7 +1520,10 @@
       <item>CMAKE_MAKE_PROGRAM</item>
       <item>CMAKE_MATCH_COUNT</item>
       <item>CMAKE_MAXIMUM_RECURSION_DEPTH</item>
+      <item>CMAKE_MESSAGE_CONTEXT</item>
+      <item>CMAKE_MESSAGE_CONTEXT_SHOW</item>
       <item>CMAKE_MESSAGE_INDENT</item>
+      <item>CMAKE_MESSAGE_LOG_LEVEL</item>
       <item>CMAKE_MFC_FLAG</item>
       <item>CMAKE_MINIMUM_REQUIRED_VERSION</item>
       <item>CMAKE_MINOR_VERSION</item>
@@ -1629,6 +1663,7 @@
       <item>CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER</item>
       <item>CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS</item>
       <item>CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE</item>
+      <item>CMAKE_XCODE_SCHEME_ENVIRONMENT</item>
       <item>CMAKE_XCODE_SCHEME_GUARD_MALLOC</item>
       <item>CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP</item>
       <item>CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES</item>
@@ -1638,6 +1673,7 @@
       <item>CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP</item>
       <item>CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER</item>
       <item>CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP</item>
+      <item>CMAKE_XCODE_SCHEME_WORKING_DIRECTORY</item>
       <item>CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS</item>
       <item>CPACK_ABSOLUTE_DESTINATION_FILES</item>
       <item>CPACK_ARCHIVE_COMPONENT_INSTALL</item>
@@ -1765,6 +1801,8 @@
       <item>CPACK_NSIS_EXTRA_INSTALL_COMMANDS</item>
       <item>CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS</item>
       <item>CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS</item>
+      <item>CPACK_NSIS_FINISH_TITLE</item>
+      <item>CPACK_NSIS_FINISH_TITLE_3LINES</item>
       <item>CPACK_NSIS_HELP_LINK</item>
       <item>CPACK_NSIS_INSTALLED_ICON_NAME</item>
       <item>CPACK_NSIS_INSTALLER_MUI_ICON_CODE</item>
@@ -1772,12 +1810,16 @@
       <item>CPACK_NSIS_MENU_LINKS</item>
       <item>CPACK_NSIS_MODIFY_PATH</item>
       <item>CPACK_NSIS_MUI_FINISHPAGE_RUN</item>
+      <item>CPACK_NSIS_MUI_HEADERIMAGE</item>
       <item>CPACK_NSIS_MUI_ICON</item>
       <item>CPACK_NSIS_MUI_UNIICON</item>
       <item>CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP</item>
       <item>CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP</item>
       <item>CPACK_NSIS_PACKAGE_NAME</item>
+      <item>CPACK_NSIS_UNINSTALL_NAME</item>
       <item>CPACK_NSIS_URL_INFO_ABOUT</item>
+      <item>CPACK_NSIS_WELCOME_TITLE</item>
+      <item>CPACK_NSIS_WELCOME_TITLE_3LINES</item>
       <item>CPACK_NUGET_COMPONENT_INSTALL</item>
       <item>CPACK_NUGET_PACKAGE_AUTHORS</item>
       <item>CPACK_NUGET_PACKAGE_COPYRIGHT</item>
@@ -1794,7 +1836,6 @@
       <item>CPACK_NUGET_PACKAGE_TAGS</item>
       <item>CPACK_NUGET_PACKAGE_TITLE</item>
       <item>CPACK_NUGET_PACKAGE_VERSION</item>
-      <item>CPACK_OSX_PACKAGE_VERSION</item>
       <item>CPACK_OUTPUT_CONFIG_FILE</item>
       <item>CPACK_PACKAGE_CHECKSUM</item>
       <item>CPACK_PACKAGE_CONTACT</item>
@@ -1818,6 +1859,16 @@
       <item>CPACK_PACKAGING_INSTALL_PREFIX</item>
       <item>CPACK_PKGBUILD_IDENTITY_NAME</item>
       <item>CPACK_PKGBUILD_KEYCHAIN_PATH</item>
+      <item>CPACK_PRODUCTBUILD_BACKGROUND</item>
+      <item>CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT</item>
+      <item>CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA</item>
+      <item>CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_ALIGNMENT</item>
+      <item>CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_MIME_TYPE</item>
+      <item>CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_SCALING</item>
+      <item>CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_UTI</item>
+      <item>CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE</item>
+      <item>CPACK_PRODUCTBUILD_BACKGROUND_SCALING</item>
+      <item>CPACK_PRODUCTBUILD_BACKGROUND_UTI</item>
       <item>CPACK_PRODUCTBUILD_IDENTITY_NAME</item>
       <item>CPACK_PRODUCTBUILD_KEYCHAIN_PATH</item>
       <item>CPACK_PRODUCTBUILD_RESOURCES_DIR</item>
@@ -2075,6 +2126,7 @@
       <item>CMAKE_APPBUNDLE_PATH</item>
       <item>CMAKE_BUILD_PARALLEL_LEVEL</item>
       <item>CMAKE_CONFIG_TYPE</item>
+      <item>CMAKE_EXPORT_COMPILE_COMMANDS</item>
       <item>CMAKE_FRAMEWORK_PATH</item>
       <item>CMAKE_GENERATOR</item>
       <item>CMAKE_GENERATOR_INSTANCE</item>
@@ -2114,6 +2166,7 @@
       <item>AUTOMOC_SOURCE_GROUP</item>
       <item>AUTOMOC_TARGETS_FOLDER</item>
       <item>AUTORCC_SOURCE_GROUP</item>
+      <item>CMAKE_CUDA_KNOWN_FEATURES</item>
       <item>CMAKE_CXX_KNOWN_FEATURES</item>
       <item>CMAKE_C_KNOWN_FEATURES</item>
       <item>CMAKE_ROLE</item>
@@ -2183,6 +2236,7 @@
     </list>
     <list name="target-properties">
       <item>ADDITIONAL_CLEAN_FILES</item>
+      <item>AIX_EXPORT_ALL_SYMBOLS</item>
       <item>ALIASED_TARGET</item>
       <item>ANDROID_ANT_ADDITIONAL_OPTIONS</item>
       <item>ANDROID_API</item>
@@ -2242,6 +2296,7 @@
       <item>CUDA_EXTENSIONS</item>
       <item>CUDA_PTX_COMPILATION</item>
       <item>CUDA_RESOLVE_DEVICE_SYMBOLS</item>
+      <item>CUDA_RUNTIME_LIBRARY</item>
       <item>CUDA_SEPARABLE_COMPILATION</item>
       <item>CUDA_STANDARD</item>
       <item>CUDA_STANDARD_REQUIRED</item>
@@ -2254,7 +2309,9 @@
       <item>DEFINE_SYMBOL</item>
       <item>DEPLOYMENT_ADDITIONAL_FILES</item>
       <item>DEPLOYMENT_REMOTE_DIRECTORY</item>
+      <item>DEPRECATION</item>
       <item>DISABLE_PRECOMPILE_HEADERS</item>
+      <item>DOTNET_TARGET_FRAMEWORK</item>
       <item>DOTNET_TARGET_FRAMEWORK_VERSION</item>
       <item>ENABLE_EXPORTS</item>
       <item>EXCLUDE_FROM_ALL</item>
@@ -2335,6 +2392,8 @@
       <item>NO_SONAME</item>
       <item>NO_SYSTEM_FROM_IMPORTED</item>
       <item>OSX_ARCHITECTURES</item>
+      <item>OSX_COMPATIBILITY_VERSION</item>
+      <item>OSX_CURRENT_VERSION</item>
       <item>OUTPUT_NAME</item>
       <item>PDB_NAME</item>
       <item>PDB_OUTPUT_DIRECTORY</item>
@@ -2374,6 +2433,7 @@
       <item>VS_DEBUGGER_ENVIRONMENT</item>
       <item>VS_DEBUGGER_WORKING_DIRECTORY</item>
       <item>VS_DESKTOP_EXTENSIONS_VERSION</item>
+      <item>VS_DOTNET_DOCUMENTATION_FILE</item>
       <item>VS_DOTNET_REFERENCES</item>
       <item>VS_DOTNET_REFERENCES_COPY_LOCAL</item>
       <item>VS_DOTNET_TARGET_FRAMEWORK_VERSION</item>
@@ -2423,6 +2483,7 @@
       <item>XCODE_SCHEME_THREAD_SANITIZER_STOP</item>
       <item>XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER</item>
       <item>XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP</item>
+      <item>XCODE_SCHEME_WORKING_DIRECTORY</item>
       <item>XCODE_SCHEME_ZOMBIE_OBJECTS</item>
       <item>XCTEST</item>
     </list>
@@ -3625,6 +3686,7 @@
       <context attribute="Normal Text" lineEndContext="#stay" name="ctest_test_ctx_op">
         <IncludeRules context="EndCmdPop2" />
         <keyword attribute="Named Args" context="#stay" String="ctest_test_nargs" />
+        <keyword attribute="Special Args" context="#stay" String="ctest_test_sargs" />
         <IncludeRules context="User Function Args" />
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="ctest_update_ctx">
@@ -3721,13 +3783,13 @@
       </context>
 
       <context attribute="Normal Text" lineEndContext="#stay" name="Detect Builtin Variables">
+        <RegExpr attribute="Internal Name" context="#stay" String="\b_&id_re;\b" />
         <keyword attribute="Builtin Variable" context="#stay" String="variables" insensitive="false" />
         <IncludeRules context="Detect More Builtin Variables" />
         <!-- JGM: next line is needed because we don't really handle
              \b at the beginning of a regex, and we don't want to
              capture part of FOO_BAR as an "Internal Name" -->
         <RegExpr attribute="Normal Text" context="#stay" String="&id_re;\b" />
-        <RegExpr attribute="Internal Name" context="#stay" String="\b_&id_re;\b" />
       </context>
 
       <context attribute="Normal Text" lineEndContext="#stay" name="Detect More Builtin Variables">
@@ -3872,6 +3934,7 @@
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_DEBIAN_&id_re;_PACKAGE_SOURCE\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_DEBIAN_&id_re;_PACKAGE_SUGGESTS\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_DEBIAN_&id_re;_DEBUGINFO_PACKAGE\b" />
+        <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_DMG_&id_re;_FILE_NAME\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NSIS_&id_re;_INSTALL_DIRECTORY\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_AUTHORS\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_COPYRIGHT\b" />
@@ -3889,6 +3952,8 @@
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_TITLE\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_VERSION\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_PACKAGE_DEPENDENCIES_&id_re;_VERSION\b" />
+        <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_POSTFLIGHT_&id_re;_SCRIPT\b" />
+        <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_PREFLIGHT_&id_re;_SCRIPT\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_RPM_&id_re;_DEFAULT_DIR_PERMISSIONS\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_RPM_&id_re;_DEFAULT_FILE_PERMISSIONS\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_RPM_&id_re;_DEFAULT_GROUP\b" />
@@ -3947,6 +4012,7 @@
         <RegExpr attribute="Standard Environment Variable" context="#stay" String="\b&id_re;_ROOT\b" />
         <RegExpr attribute="Standard Environment Variable" context="#stay" String="\bASM&id_re;\b" />
         <RegExpr attribute="Standard Environment Variable" context="#stay" String="\bASM&id_re;FLAGS\b" />
+        <RegExpr attribute="Standard Environment Variable" context="#stay" String="\bCMAKE_&id_re;_COMPILER_LAUNCHER\b" />
         <DetectIdentifier />
         <DetectChar attribute="Environment Variable Substitution" context="#pop#pop" char="}" />
       </context>
diff --git a/xml/coffee.xml b/xml/coffee.xml
--- a/xml/coffee.xml
+++ b/xml/coffee.xml
@@ -2,7 +2,7 @@
 <!DOCTYPE language SYSTEM "language.dtd">
 
 <language name="CoffeeScript"
-          version="10"
+          version="11"
           kateversion="5.0"
           section="Scripts"
           extensions="Cakefile;*.coffee;*.coco;*.cson"
@@ -155,9 +155,9 @@
         <keyword attribute="Browser Globals" context="#stay" String="browser_globals"/>
         <keyword attribute="Node.js Globals" context="#stay" String="nodejs_globals"/>
         <!-- Member accessors. -->
-        <RegExpr attribute="Accessor" context="#stay" String="(@[_$a-zA-Z][$\w]*|\bthis)\b" insensitive="false"/>
+        <RegExpr attribute="Accessor" context="#stay" String="(?:@[_$a-zA-Z][$\w]*|\bthis)\b" insensitive="false"/>
         <!-- Function definitions. Matches an optional argument list followed by a function arrow (normal or fat). -->
-        <RegExpr attribute="Function" context="#stay" String="(\((\'[^']*'|&quot;[^&quot;]*&quot;|[^()])*\))?\s*(-|=)&gt;" insensitive="true"/>
+        <RegExpr attribute="Function" context="#stay" String="(?:\((?:\'[^']*'|&quot;[^&quot;]*&quot;|[^()])*\))?\s*(?:\-|=)&gt;" insensitive="true"/>
         <!-- Generic identifiers. -->
         <RegExpr attribute="Identifier" context="#stay" String="[_$a-z][$\w]*\b" insensitive="true"/>
         <!-- Strings. -->
@@ -173,7 +173,7 @@
         <DetectChar attribute="Comment" context="Comment" char="#"/>
         <!-- Regular expressions. -->
         <StringDetect attribute="Regex" context="Multiline Regex" String="///" beginRegion="Multiline Regex"/>
-        <RegExpr attribute="Regex" context="#stay" String="/([^/\\\r\n]|\\.)*/[mig]{0,3}"/>
+        <RegExpr attribute="Regex" context="#stay" String="/(?:[^/\\\r\n]|\\.)*/[mig]{0,3}"/>
         <!-- Member objects. -->
         <DetectChar attribute="Symbol" context="Member Object" char="."/>
         <!-- Operators and other non-alphanumeric symbols. -->
@@ -197,10 +197,12 @@
       <!-- Comments. -->
       <context name="Comment" attribute="Comment" lineEndContext="#pop">
         <IncludeRules context="##Alerts"/>
+        <IncludeRules context="##Modelines"/>
       </context>
       <context name="Multiline Comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="1">
         <StringDetect attribute="Comment" context="#pop" String="###" endRegion="Comment"/>
         <IncludeRules context="##Alerts"/>
+        <IncludeRules context="##Modelines"/>
       </context>
       <!-- Single-line strings. -->
       <context name="String" attribute="String" lineEndContext="#stay">
@@ -225,7 +227,7 @@
       <!-- Escaped characters. -->
       <context name="Escape" attribute="String" lineEndContext="#stay">
         <!-- Hexadecimal, unicode & reserved character escape sequences. -->
-        <RegExpr attribute="Escape" context="#stay" String="\\(x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u\{[0-9a-fA-F]+\}|[\\0bfnrtv&quot;&apos;])"/>
+        <RegExpr attribute="Escape" context="#stay" String="\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u\{[0-9a-fA-F]+\}|[\\0bfnrtv&quot;&apos;])"/>
         <!-- Invalid escapes. Octal escape sequences are not allowed. -->
         <RegExpr attribute="Error" context="#stay" String="\\[ux1-7]"/>
         <!-- Make any character literal. -->
diff --git a/xml/doxygenlua.xml b/xml/doxygenlua.xml
--- a/xml/doxygenlua.xml
+++ b/xml/doxygenlua.xml
@@ -15,7 +15,7 @@
 - grep '\\\*' doxygenlua.xml
 -->
 <language name="DoxygenLua"
-          version="6"
+          version="7"
           kateversion="5.0"
           section="Markup"
           extensions=""
@@ -243,7 +243,7 @@
       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
         <RegExpr attribute="Region" context="#stay" String="--\s*@\{\s*$" beginRegion="MemberGroup" />
         <RegExpr attribute="Region" context="#stay" String="--\s*@\}\s*$" endRegion="MemberGroup" />
-        <RegExpr attribute="Comment" context="BlockComment" String="--\[(=*)\[" beginRegion="BlockComment" dynamic="true" />
+        <RegExpr attribute="Comment" context="BlockComment" String="--\[(=*)\[" beginRegion="BlockComment" />
         <Detect2Chars attribute="Comment" context="LineComment" char="-" char1="-" />
       </context>
       <context attribute="Comment" lineEndContext="#pop" name="LineComment">
diff --git a/xml/html.xml b/xml/html.xml
--- a/xml/html.xml
+++ b/xml/html.xml
@@ -3,9 +3,9 @@
 [
 	<!ENTITY name          "[A-Za-z_:][\w.:_-]*">
 	<!ENTITY attributeName "[A-Za-z_:*#\(\[][\)\]\w.:_-]*">
-	<!ENTITY entref        "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
+	<!ENTITY entref        "&amp;(?:#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
 ]>
-<language name="HTML" version="10" kateversion="5.53" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm" mimetype="text/html"  author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
+<language name="HTML" version="11" kateversion="5.53" section="Markup" extensions="*.htm;*.html;*.shtml;*.shtm" mimetype="text/html"  author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL" priority="10">
 
 <highlighting>
 <contexts>
@@ -33,37 +33,37 @@
   </context>
 
   <context name="FindHTMLTags" attribute="Normal Text" lineEndContext="#stay">
-    <RegExpr attribute="Element" context="El Open" String="&lt;pre\b" insensitive="true" beginRegion="pre" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;div\b" insensitive="true" beginRegion="div" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;table\b" insensitive="true" beginRegion="table" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;ul\b" insensitive="true" beginRegion="ul" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;ol\b" insensitive="true" beginRegion="ol" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;dl\b" insensitive="true" beginRegion="dl" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;article\b" insensitive="true" beginRegion="article" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;aside\b" insensitive="true" beginRegion="aside" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;details\b" insensitive="true" beginRegion="details" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;figure\b" insensitive="true" beginRegion="figure" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;footer\b" insensitive="true" beginRegion="footer" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;header\b" insensitive="true" beginRegion="header" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;main\b" insensitive="true" beginRegion="main" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;nav\b" insensitive="true" beginRegion="nav" />
-    <RegExpr attribute="Element" context="El Open" String="&lt;section\b" insensitive="true" beginRegion="section" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;pre" insensitive="true" beginRegion="pre" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;div" insensitive="true" beginRegion="div" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;table" insensitive="true" beginRegion="table" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;ul" insensitive="true" beginRegion="ul" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;ol" insensitive="true" beginRegion="ol" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;dl" insensitive="true" beginRegion="dl" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;article" insensitive="true" beginRegion="article" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;aside" insensitive="true" beginRegion="aside" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;details" insensitive="true" beginRegion="details" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;figure" insensitive="true" beginRegion="figure" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;footer" insensitive="true" beginRegion="footer" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;header" insensitive="true" beginRegion="header" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;main" insensitive="true" beginRegion="main" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;nav" insensitive="true" beginRegion="nav" />
+    <WordDetect attribute="Element" context="El Open" String="&lt;section" insensitive="true" beginRegion="section" />
     <RegExpr attribute="Element" context="El Open" String="&lt;&name;" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/pre\b" insensitive="true" endRegion="pre" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/div\b" insensitive="true" endRegion="div" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/table\b" insensitive="true" endRegion="table" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/ul\b" insensitive="true" endRegion="ul" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/ol\b" insensitive="true" endRegion="ol" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/dl\b" insensitive="true" endRegion="dl" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/article\b" insensitive="true" endRegion="article" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/aside\b" insensitive="true" endRegion="aside" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/details\b" insensitive="true" endRegion="details" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/figure\b" insensitive="true" endRegion="figure" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/footer\b" insensitive="true" endRegion="footer" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/header\b" insensitive="true" endRegion="header" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/main\b" insensitive="true" endRegion="main" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/nav\b" insensitive="true" endRegion="nav" />
-    <RegExpr attribute="Element" context="El Close" String="&lt;/section\b" insensitive="true" endRegion="section" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/pre" insensitive="true" endRegion="pre" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/div" insensitive="true" endRegion="div" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/table" insensitive="true" endRegion="table" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/ul" insensitive="true" endRegion="ul" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/ol" insensitive="true" endRegion="ol" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/dl" insensitive="true" endRegion="dl" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/article" insensitive="true" endRegion="article" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/aside" insensitive="true" endRegion="aside" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/details" insensitive="true" endRegion="details" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/figure" insensitive="true" endRegion="figure" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/footer" insensitive="true" endRegion="footer" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/header" insensitive="true" endRegion="header" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/main" insensitive="true" endRegion="main" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/nav" insensitive="true" endRegion="nav" />
+    <WordDetect attribute="Element" context="El Close" String="&lt;/section" insensitive="true" endRegion="section" />
     <RegExpr attribute="Element" context="El Close" String="&lt;/&name;" />
   </context>
 
@@ -85,7 +85,7 @@
   </context>
 
   <context name="FindDTDRules" attribute="Other Text" lineEndContext="#stay">
-    <RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
+    <RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(?:ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
   </context>
 
 
@@ -94,7 +94,7 @@
     <IncludeRules context="##Alerts" />
     <DetectIdentifier/>
     <StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment" />
-    <RegExpr attribute="Error" context="#stay" String="-(-(?!-&gt;))+" />
+    <RegExpr attribute="Error" context="#stay" String="-(?:-(?!-&gt;))+" />
   </context>
 
   <context name="CDATA" attribute="Other Text" lineEndContext="#stay">
@@ -172,7 +172,7 @@
   </context>
 
   <context name="JS" attribute="Other Text" lineEndContext="#stay">
-    <RegExpr attribute="Attribute" context="Script-Type" String="(\s+|^)type(?=\=|\s|$)" insensitive="true"/>
+    <RegExpr attribute="Attribute" context="Script-Type" String="(?:\s+|^)type(?=\=|\s|$)" insensitive="true"/>
     <DetectChar attribute="Element" context="JS content" char="&gt;" />
     <IncludeRules context="DefaultJS" />
   </context>
@@ -310,7 +310,7 @@
 </highlighting>
 <general>
   <comments>
-    <comment name="multiLine" start="&lt;!--" end="--&gt;" />
+    <comment name="multiLine" start="&lt;!--" end="--&gt;" region="comment" />
   </comments>
 </general>
 </language>
diff --git a/xml/isocpp.xml b/xml/isocpp.xml
--- a/xml/isocpp.xml
+++ b/xml/isocpp.xml
@@ -11,7 +11,9 @@
     <!ENTITY punctuators ":&ns_punctuators;">
 
     <!-- printf-like format strings conversion specifiers -->
-    <!ENTITY printf_like "&#37;(?:ll?|[zjtL]|hh?)?[diouxXeEfFgGaAcspn&#37;]">
+    <!ENTITY printf_like "&#37;[-+ #0]*(?:[0-9]+|\*)?(?:\.(?:[0-9]+|\*))?(?:(?:hh|ll|[hljzt])?[dioxXun]|[lL]?[fFeEaAgG]|l?[cs]|[p&#37;])">
+    <!-- https://en.cppreference.com/w/cpp/utility/format/formatter#Standard_format_specification -->
+    <!ENTITY format_like "\{\{|\}\}|\{[0-9]*(?::(?:[^{}]?[&lt;&gt;^])?[-+ #0]*(?:[0-9]+|\{[0-9]*\})?(?:\.(?:[0-9]+|\{[0-9]*\}))?L?[sbBcdoxXaAeEfFgGp]?)?\}">
 
     <!ENTITY ispphash "(?:#|&#37;\:|\?\?=)">
     <!ENTITY pphash "&ispphash;\s*">
@@ -22,7 +24,7 @@
 <language
     name="ISO C++"
     section="Sources"
-    version="17"
+    version="18"
     kateversion="5.0"
     indenter="cstyle"
     style="C++"
@@ -57,6 +59,7 @@
       <item>while</item>
     </list>
 
+    <!-- https://en.cppreference.com/w/cpp/keyword -->
     <list name="keywords">
       <item>alignof</item>
       <item>alignas</item>
@@ -64,7 +67,8 @@
       <item>auto</item>
       <item>class</item>
       <item>consteval</item> <!-- C++20 -->
-      <item>constexpr</item>
+      <item>constinit</item> <!-- C++20 -->
+      <item>constexpr</item> <!-- C++11 -->
       <item>const_cast</item>
       <item>decltype</item>
       <item>delete</item>
@@ -72,7 +76,7 @@
       <item>enum</item>
       <item>explicit</item>
       <item>false</item>
-      <item>final</item> <!-- According N3272 -->
+      <item>final</item> <!-- C++11 -->
       <item>friend</item>
       <item>inline</item>
       <item>namespace</item>
@@ -80,7 +84,7 @@
       <item>noexcept</item>
       <item>nullptr</item>
       <item>operator</item>
-      <item>override</item> <!-- According N3272 -->
+      <item>override</item> <!-- C++11 -->
       <item>private</item>
       <item>protected</item>
       <item>public</item>
@@ -167,6 +171,7 @@
     </list>
 
     <!-- https://en.cppreference.com/w/cpp/keyword -->
+    <!-- https://en.cppreference.com/w/cpp/types/integer -->
     <list name="types">
       <item>bool</item>
       <item>char</item>
@@ -357,7 +362,7 @@
 
       <context name="match string" attribute="Normal Text" lineEndContext="#pop">
         <DetectChar attribute="String" context="String" char="&quot;" />
-        <Detect2Chars attribute="String" context="String32" char="U" char1="&quot;" />
+        <Detect2Chars attribute="String" context="String" char="U" char1="&quot;" />
         <Detect2Chars attribute="String" context="String16" char="u" char1="&quot;" />
         <Detect2Chars attribute="String" context="String16" char="L" char1="&quot;" />
         <StringDetect attribute="String" context="String8" String="u8&quot;" />
@@ -489,25 +494,20 @@
         <IncludeRules context="string special char" />
       </context>
 
-      <context name="String32" attribute="String" lineEndContext="#pop">
-        <IncludeRules context="string normal char" />
-        <RegExpr attribute="String Char" context="StringNoHex" String="\\x[0-9A-Fa-f]{1,8}" />
-        <IncludeRules context="string special char" />
-      </context>
-
       <context name="StringNoHex" attribute="Error" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
         <RegExpr attribute="Error" context="#pop" String="[0-9A-Fa-f]{1,}" />
       </context>
 
       <context name="string special char" attribute="String" lineEndContext="#pop">
-        <RegExpr attribute="String Char" context="#stay" String="\\(?:[tnvbrfa'&quot;\\?]|[0-7]{1,3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})|&printf_like;" />
+        <RegExpr attribute="String Char" context="#stay" String="\\(?:[tnvbrfa'&quot;\\?]|[0-7]{1,3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})|&printf_like;|&format_like;" />
         <RegExpr attribute="Error" context="#stay" String="\\(?:u[^&quot;]{0,3}|U[^&quot;]{0,7}|.)" />
         <LineContinue attribute="String" context="#stay" />
       </context>
 
       <context name="string normal char" attribute="String" lineEndContext="#pop">
         <!-- fast way, can be replaced by a `UntilChars` rule if it exists -->
-        <RegExpr attribute="String" context="#stay" String="[^%\\&quot;]+" />
+        <!-- % -> printf format ; {} -> std::format -->
+        <RegExpr attribute="String" context="#stay" String="[^%\\&quot;{}]+" />
         <DetectChar attribute="String" context="UDLStringSuffix" char="&quot;" />
       </context>
 
@@ -552,7 +552,7 @@
       <context name="InRawString" attribute="String" lineEndContext="#stay" dynamic="true">
         <!-- fast way, can be replaced by a `UntilChars` rule if it exists -->
         <RegExpr attribute="String" context="#stay" String="[^%)]+" />
-        <RegExpr attribute="String Char" context="#stay" String="&printf_like;" />
+        <RegExpr attribute="String Char" context="#stay" String="&printf_like;|&format_like;" />
         <StringDetect attribute="String" context="#pop" String=")%1&quot;" dynamic="true"/>
       </context>
 
diff --git a/xml/latex.xml b/xml/latex.xml
--- a/xml/latex.xml
+++ b/xml/latex.xml
@@ -5,7 +5,7 @@
     <!ENTITY envname "[a-zA-Z]+\*?">
     <!ENTITY regionmarker "&#037;\s*(?:BEGIN|END)">
 ]>
-<language name="LaTeX" version="11" section="Markup" kateversion="5.0" priority="10" extensions="*.tex;*.ltx;*.dtx;*.sty;*.cls;*.bbx;*.cbx;*.lbx;*.tikz;*.pgf" mimetype="text/x-tex" casesensitive="1" author="Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net)+Holger Danielsson (holger.danielsson@versanet.de)+Michel Ludwig (michel.ludwig@kdemail.net)+Thomas Braun (thomas.braun@virtuell-zuhause.de)" license="LGPL" >
+<language name="LaTeX" version="13" section="Markup" kateversion="5.0" priority="10" extensions="*.tex;*.ltx;*.dtx;*.sty;*.cls;*.bbx;*.cbx;*.lbx;*.tikz;*.pgf" mimetype="text/x-tex" casesensitive="1" author="Jeroen Wijnhout (Jeroen.Wijnhout@kdemail.net)+Holger Danielsson (holger.danielsson@versanet.de)+Michel Ludwig (michel.ludwig@kdemail.net)+Thomas Braun (thomas.braun@virtuell-zuhause.de)" license="LGPL" >
   <highlighting>
     <!-- NOTE: Keywords of kind "\something" do not need a delimiter before "\".
          Using a DetectChar rule with lookAhead to detect "\" at the beginning
@@ -402,7 +402,7 @@
 
       <!-- verb command -->
       <context name="Verb" attribute="Verbatim" lineEndContext="#pop#pop" >
-        <RegExpr String="(.)" attribute="Normal Text" dynamic="true" context="VerbEnd" />
+        <RegExpr String="(.)" attribute="Normal Text" context="VerbEnd" />
       </context>
       <context name="VerbEnd" attribute="Verbatim" lineEndContext="#pop#pop#pop" dynamic="true" >
         <StringDetect String="%1" attribute="Normal Text" context="#pop#pop#pop" dynamic="true" />
@@ -415,7 +415,7 @@
         <DetectSpaces/>
         <DetectChar char="[" attribute="Normal Text" context="FancyLabelOption"/>
         <DetectChar char="{" attribute="Normal Text" context="LstinlineParameter"/>
-        <RegExpr String="(.)" attribute="Normal Text" dynamic="true" context="LstinlineEnd" />
+        <RegExpr String="(.)" attribute="Normal Text" context="LstinlineEnd" />
       </context>
       <context name="LstinlineEnd" attribute="Verbatim" lineEndContext="#pop#pop#pop" dynamic="true" >
         <!-- TODO DetectChar segfault -->
@@ -437,7 +437,7 @@
 
       <context name="LabelOption" attribute="Normal Text" lineEndContext="#stay">
         <DetectSpaces/>
-        <DetectChar char="(" attribute="Math" context="MathModeTex" />
+        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex"/>
         <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
         <DetectChar char="$" attribute="Math" context="MathModeTex" />
         <DetectChar char="%" attribute="Comment" context="Comment"/>
@@ -461,7 +461,7 @@
 
       <context name="FancyLabelParameter" attribute="Environment" lineEndContext="#stay">
         <DetectSpaces/>
-        <DetectChar char="(" attribute="Math" context="MathModeTex" />
+        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex"/>
         <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
         <DetectChar char="$" attribute="Math" context="MathModeTex" />
         <DetectChar char="%" attribute="Comment" context="Comment"/>
@@ -492,7 +492,7 @@
 
       <context name="SpecialCommandParameterOption" attribute="Option Text" lineEndContext="#stay">
         <DetectSpaces/>
-        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeTex" />
+        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex" />
         <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
         <DetectChar char="$" attribute="Math" context="MathModeTex" />
         <DetectChar char="%" attribute="Comment" context="Comment"/>
diff --git a/xml/lua.xml b/xml/lua.xml
--- a/xml/lua.xml
+++ b/xml/lua.xml
@@ -48,7 +48,7 @@
     - NOTE, FIXME, TODO alerts added on comments
     - improved highlighting
 -->
-<language name="Lua" version="7" indenter="lua" kateversion="5.0" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
+<language name="Lua" version="9" indenter="lua" kateversion="5.0" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
   <highlighting>
     <list name="keywords">
       <item>and</item>
@@ -469,7 +469,7 @@
         <keyword      attribute="Deprecated" context="#stay"       String="deprecated" />
         <IncludeRules context="##DoxygenLua" />
 
-        <RegExpr      attribute="RawStrings" context="String_block"  String="\[(=*)\[" dynamic="true" />
+        <RegExpr      attribute="RawStrings" context="String_block"  String="\[(=*)\[" />
         <DetectChar   attribute="Strings"  context="String_single" char="'"/>
         <DetectChar   attribute="Strings"  context="String_double" char="&quot;"/>
         <keyword      attribute="BFunc"    context="#stay"         String="basefunc"/>
@@ -563,7 +563,7 @@
       <comment name="singleLine" start="--" />
       <comment name="multiLine" start="--[[" end="]]" />
     </comments>
-    <keywords casesensitive="1" weakDeliminator="." additionalDeliminator="'&quot;"/>
+    <keywords casesensitive="1" weakDeliminator="." additionalDeliminator="'&quot;#"/>
   </general>
 </language>
 <!-- kate: space-indent on; indent-width 2; replace-tabs on; -->
diff --git a/xml/makefile.xml b/xml/makefile.xml
--- a/xml/makefile.xml
+++ b/xml/makefile.xml
@@ -10,7 +10,7 @@
 <!-- v4 by Alex Richardson <arichardson.kde@gmail.com>
      added bmake support -->
 <language name="Makefile" section="Other"
-          version="7" kateversion="3.4"
+          version="9" kateversion="3.4"
           extensions="GNUmakefile;Makefile;makefile;GNUmakefile.*;Makefile.*;makefile.*;*.mk"
           mimetype="text/x-makefile" priority="11"
           author="Per Wigren (wigren@home.se)" license="">
@@ -185,8 +185,8 @@
         <keyword attribute="Keyword" context="bmake_for_loop" String="bmake_for_stmt" firstNonSpace="true" beginRegion="for"/>
         <keyword attribute="Keyword" context="#stay" String="bmake_endfor_stmt" firstNonSpace="true" endRegion="for"/>
 
-        <RegExpr attribute="Section"  context="prereq" String="^\.[^.][^:]*:"/>
-        <RegExpr attribute="Target"   context="prereq" String="^[^:]*:"/>
+        <RegExpr attribute="Section"  context="prereq" String="^\.[^.][^:]*:" column="0"/>
+        <RegExpr attribute="Target"   context="prereq" String="^[^:]*:" column="0"/>
         <DetectIdentifier/>
         <DetectChar attribute="String" context="string&quot;" char="&quot;"/>
         <DetectChar attribute="String" context="string'" char="'"/>
@@ -203,10 +203,16 @@
         <DetectChar attribute="Comment" context="Comment" char="#"/>
       </context>
 
-      <context name="gmake_else" attribute="Error" lineEndContext="#pop">
+      <context name="gmake_else" attribute="Normal" lineEndContext="#pop">
         <DetectSpaces attribute="Normal"/>
         <keyword attribute="ControlFlow" String="gmake_if_keywords" context="#stay"/>
         <IncludeRules context="strings_and_vars"/>
+        <Detect2Chars attribute="Special" context="#stay" char="\" char1="#"/>
+        <Detect2Chars attribute="Special" context="#stay" char="\" char1="\"/>
+        <!-- NOTE: Allow highlighting any variable name (see bug #417379), for example:
+                 else ifdef foo
+                 else ifeq (bar, foo)
+        -->
       </context>
 
       <context name="bmake_include" attribute="Normal" lineEndContext="#pop">
@@ -341,7 +347,8 @@
         <DetectChar attribute="Operator" char=")" context="#pop#pop#pop"/>
         <DetectChar attribute="Operator" context="dollar" char="$"/>
         <DetectSpaces attribute="Error" context="#stay"/>
-        <AnyChar attribute="Error" context="#stay" String="=#:"/>
+        <DetectChar attribute="RealOperator" context="SubstitutionRefs" char=":"/>
+        <AnyChar attribute="Error" context="#stay" String="=#"/>
       </context>
 
       <context name="callVar{" attribute="Variable" lineEndContext="#stay">
@@ -454,6 +461,16 @@
         <DetectChar attribute="Operator" context="dollar" char="$"/>
         <DetectChar attribute="Keyword" context="#stay" char=","/>
         <DetectChar attribute="String" context="string'" char="'"/>
+      </context>
+
+      <!-- $(var:pattern=replacement) -->
+      <context name="SubstitutionRefs" attribute="VarModifier" lineEndContext="#stay">
+        <DetectChar attribute="RealOperator" context="#pop!SubstitutionRefsReplacement" char="="/>
+        <IncludeRules context="SubstitutionRefsReplacement"/>
+      </context>
+      <context name="SubstitutionRefsReplacement" attribute="VarModifier" lineEndContext="#stay">
+        <DetectChar attribute="Operator" char=")" context="#pop#pop#pop#pop"/>
+        <DetectChar attribute="Operator" context="dollar" char="$"/>
       </context>
 
       <context attribute="Comment" lineEndContext="#pop" name="Comment">
diff --git a/xml/markdown.xml b/xml/markdown.xml
--- a/xml/markdown.xml
+++ b/xml/markdown.xml
@@ -40,10 +40,12 @@
 <!-- emphasis text -->
 <!ENTITY emphasisregex_ast "\*(?:&contentregex_ast;\*|\*{1,4}&contentregex_ast;\*(?!\*))">
 <!ENTITY emphasisregex_und "\b_(?:&contentregex_und;_+|_{1,4}&contentregex_und;_)\b">
-<!-- links -->
+<!-- links.
+     Keep in sync with reStructuredText (rest) -->
 <!ENTITY startlink "(?:https?|ftp)\://">
 <!ENTITY link "&startlink;[^&quot;&gt;\s]+">
-<!-- link in normal text -->
+<!-- link in normal text.
+     Keep in sync with reStructuredText’s (rest) StandaloneHyperlink attribute -->
 <!ENTITY implicitlink "\b&startlink;[^&quot;&gt;\s`\)]*[^\s!&quot;&apos;`\(\)\*,\.:;&lt;&gt;\?~\]\}\\](?=[[:punct:]]*(?:[\s\)]|$))">
 <!-- references: [name], [name][id], [name][id] "title", [name](https://example.com) -->
 <!ENTITY refchar "(?:\\.|[^\]\\])">
diff --git a/xml/metafont.xml b/xml/metafont.xml
--- a/xml/metafont.xml
+++ b/xml/metafont.xml
@@ -6,7 +6,7 @@
 -->
 
 <!DOCTYPE language SYSTEM "language.dtd">
-<language name="Metapost/Metafont" section="Markup" version="5" kateversion="5.0"
+<language name="Metapost/Metafont" section="Markup" version="6" kateversion="5.0"
 extensions="*.mp;*.mps;*.mpost;*.mf" mimetype="text/x-metapost" 
 author="Yedvilun (yedvilun@gmail.com)" license="LGPL">
   <highlighting>
@@ -914,7 +914,7 @@
         <RegExpr String="[^a-zA-Z]" attribute="Keyword" context="#pop" />
       </context>
       <context name="Verb" attribute="Verbatim" lineEndContext="#pop#pop" >
-        <RegExpr String="(.)" attribute="Normal Text" dynamic="true" context="VerbEnd" />
+        <RegExpr String="(.)" attribute="Normal Text" context="VerbEnd" />
       </context>
       <context name="VerbEnd" attribute="Verbatim" lineEndContext="#pop#pop#pop" dynamic="true" >
         <StringDetect String="%1" attribute="Normal Text" context="#pop#pop#pop" dynamic="true" />
diff --git a/xml/mustache.xml b/xml/mustache.xml
--- a/xml/mustache.xml
+++ b/xml/mustache.xml
@@ -42,7 +42,7 @@
      * v1 [2019-02-10]: Initial version
 -->
 
-<language name="Mustache/Handlebars (HTML)" version="3" kateversion="5.44"
+<language name="Mustache/Handlebars (HTML)" version="4" kateversion="5.44"
           section="Markup" priority="1" mimetype=""
           extensions="*.mustache;*.handlebars;*.hbs;*.ractive;*.hogan;*.hulk;*.html.mst;*.html.mu;*.html.rac"
           author="Nibaldo González (nibgonz@gmail.com), based on the HTML highlighter by Wilbert Berendsen (wilbert@kde.nl)"
@@ -84,8 +84,8 @@
 			<RegExpr context="#pop!MustacheRawBlockContent" attribute="Mustache Block" String="\{{4}[^/].*\}{4}" minimal="true" beginRegion="HandlebarsRawBlock" />
 			<!-- Sections -->
 			<!-- For helpers (not included because it's redundant):
-			       Start: \{\{~?#?\s*(?=(if|unless|with|link\-to|each(\-in)?)\b)
-			       End:   \{\{~?/\s*(?=(if|unless|with|link\-to|each(\-in)?)\b)  -->
+			       Start: \{\{~?#?\s*(?=(?:if|unless|with|link\-to|each(?:\-in)?)\b)
+			       End:   \{\{~?/\s*(?=(?:if|unless|with|link\-to|each(?:\-in)?)\b)  -->
 			<RegExpr context="#pop!MustacheVariableBlock" attribute="Mustache Block" String="\{\{~?\s*else(?:\s+(?:if|unless|with|link\-to|each(?:\-in)?))?\b" />
 			<RegExpr context="#pop!MustacheVariableBlock" attribute="Mustache Block" String="\{\{~?[#\^][&gt;\*]?\s*&identifier;\b" beginRegion="MustacheBlock" />
 			<RegExpr context="#pop" attribute="Mustache Block" String="\{\{~?/\s*&identifier;\s*\}\}" endRegion="MustacheBlock" />
@@ -463,7 +463,7 @@
 
 <general>
 	<comments>
-		<comment name="multiLine" start="{{!" end="}}" />
+		<comment name="multiLine" start="{{!" end="}}" region="MustacheInlineComment" />
 	</comments>
 </general>
 
diff --git a/xml/nasm.xml b/xml/nasm.xml
--- a/xml/nasm.xml
+++ b/xml/nasm.xml
@@ -40,739 +40,2077 @@
 with this program; if not, write to the Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 -->
-<language name="Intel x86 (NASM)" section="Assembler" version="3" kateversion="2.3" extensions="*.asm" mimetype="" author="Nicola Gigante (nicola.gigante@gmail.com)" license="GPLv2+">
-  <highlighting>
-    <list name="registers">
-      <!-- General purpose registers -->
-      <item>eax</item>
-      <item>ax</item>
-      <item>ah</item>
-      <item>al</item>
-      <item>ebx</item>
-      <item>bx</item>
-      <item>bh</item>
-      <item>bl</item>
-      <item>ecx</item>
-      <item>cx</item>
-      <item>ch</item>
-      <item>cl</item>
-      <item>edx</item>
-      <item>dx</item>
-      <item>dh</item>
-      <item>dl</item>
-      <item>ebp</item>
-      <item>bp</item>
-      <item>esi</item>
-      <item>si</item>
-      <item>edi</item>
-      <item>di</item>
-      <!--
-      <item>eip</item>
-      <item>ip</item>
-      -->
-      <item>esp</item>
-      <item>sp</item>
-      <!-- Segmentation registers -->
-      <item>cs</item>
-      <item>ds</item>
-      <item>es</item>
-      <item>fs</item>
-      <item>gs</item>
-      <item>ss</item>
-      <!-- Control registers -->
-      <item>cr0</item>
-      <!--<item>cr1</item>-->
-      <item>cr2</item>
-      <item>cr3</item>
-      <item>cr4</item>
-      <!-- Debug registers -->
-      <item>dr0</item>
-      <item>dr1</item>
-      <item>dr2</item>
-      <item>dr3</item>
-      <item>dr6</item>
-      <item>dr7</item>
-      <!-- x87 FPU Registers -->
-      <item>st</item>
-      <!-- MMX registers -->
-      <item>mm0</item>
-      <item>mm1</item>
-      <item>mm2</item>
-      <item>mm3</item>
-      <item>mm4</item>
-      <item>mm5</item>
-      <item>mm6</item>
-      <item>mm7</item>
-      <!-- XMM registers -->
-      <item>xmm0</item>
-      <item>xmm1</item>
-      <item>xmm2</item>
-      <item>xmm3</item>
-      <item>xmm4</item>
-      <item>xmm5</item>
-      <item>xmm6</item>
-      <item>xmm7</item>
-    </list>
-    <list name="instructions">
-      <item>aaa</item>
-      <item>aad</item>
-      <item>aam</item>
-      <item>aas</item>
-      <item>adc</item>
-      <item>add</item>
-      <item>addpd</item>
-      <item>addps</item>
-      <item>addsd</item>
-      <item>addss</item>
-      <item>addsubpd</item>
-      <item>addsubps</item>
-      <item>and</item>
-      <item>andnpd</item>
-      <item>andnps</item>
-      <item>andpd</item>
-      <item>andps</item>
-      <item>arpl</item>
-      <item>bound</item>
-      <item>bsf</item>
-      <item>bsr</item>
-      <item>bswap</item>
-      <item>bt</item>
-      <item>btc</item>
-      <item>btr</item>
-      <item>bts</item>
-      <item>call</item>
-      <item>cbw</item>
-      <item>cwde</item>
-      <item>cwd</item>
-      <item>cdq</item>
-      <item>cdqe</item>
-      <item>cqo</item>
-      <item>clc</item>
-      <item>cld</item>
-      <item>clgi</item>
-      <item>cli</item>
-      <item>clts</item>
-      <item>clflush</item>
-      <item>cmc</item>
-      <item>cmova</item>
-      <item>cmovae</item>
-      <item>cmovb</item>
-      <item>cmovbe</item>
-      <item>cmovc</item>
-      <item>cmove</item>
-      <item>cmovg</item>
-      <item>cmovge</item>
-      <item>cmovl</item>
-      <item>cmovle</item>
-      <item>cmovna</item>
-      <item>cmovnae</item>
-      <item>cmovnb</item>
-      <item>cmovnbe</item>
-      <item>cmovnc</item>
-      <item>cmovne</item>
-      <item>cmovng</item>
-      <item>cmovnge</item>
-      <item>cmovnl</item>
-      <item>cmovnle</item>
-      <item>cmovno</item>
-      <item>cmovnp</item>
-      <item>cmovns</item>
-      <item>cmovnz</item>
-      <item>cmovo</item>
-      <item>cmovp</item>
-      <item>cmovpe</item>
-      <item>cmovpo</item>
-      <item>cmovs</item>
-      <item>cmovz</item>
-      <item>cmp</item>
-      <item>cmpeqpd</item>
-      <item>cmpeqps</item>
-      <item>cmpeqsd</item>
-      <item>cmpeqss</item>
-      <item>cmplepd</item>
-      <item>cmpleps</item>
-      <item>cmplesd</item>
-      <item>cmpless</item>
-      <item>cmpltpd</item>
-      <item>cmpltps</item>
-      <item>cmpltsd</item>
-      <item>cmpltss</item>
-      <item>cmpneqpd</item>
-      <item>cmpneqps</item>
-      <item>cmpneqsd</item>
-      <item>cmpneqss</item>
-      <item>cmpnlepd</item>
-      <item>cmpnleps</item>
-      <item>cmpnlesd</item>
-      <item>cmpnless</item>
-      <item>cmpnltpd</item>
-      <item>cmpnltps</item>
-      <item>cmpnltsd</item>
-      <item>cmpnltss</item>
-      <item>cmpordpd</item>
-      <item>cmpordps</item>
-      <item>cmpordsd</item>
-      <item>cmpordss</item>
-      <item>cmppd</item>
-      <item>cmpps</item>
-      <item>cmps</item>
-      <item>cmpsb</item>
-      <item>cmpsd</item>
-      <item>cmpss</item>
-      <item>cmpsw</item>
-      <item>cmpunordpd</item>
-      <item>cmpunordps</item>
-      <item>cmpunordsd</item>
-      <item>cmpunordss</item>
-      <item>cmpxchg</item>
-      <item>cmpxchg486</item>
-      <item>cmpxchg8b</item>
-      <item>cmpxchg16b</item>
-      <item>comisd</item>
-      <item>comiss</item>
-      <item>cpuid</item>
-      <item>cvtdq2pd</item>
-      <item>cvtdq2ps</item>
-      <item>cvtpd2dq</item>
-      <item>cvtpd2pi</item>
-      <item>cvtpd2ps</item>
-      <item>cvtpi2pd</item>
-      <item>cvtpi2ps</item>
-      <item>cvtps2dq</item>
-      <item>cvtps2pd</item>
-      <item>cvtps2pi</item>
-      <item>cvtsd2si</item>
-      <item>cvtsd2ss</item>
-      <item>cvtsi2sd</item>
-      <item>cvtsi2ss</item>
-      <item>cvtss2sd</item>
-      <item>cvtss2si</item>
-      <item>cvttpd2dq</item>
-      <item>cvttpd2pi</item>
-      <item>cvttps2dq</item>
-      <item>cvttps2pi</item>
-      <item>cvttsd2si</item>
-      <item>cvttss2si</item>
-      <item>daa</item>
-      <item>das</item>
-      <item>dec</item>
-      <item>div</item>
-      <item>divpd</item>
-      <item>divps</item>
-      <item>divsd</item>
-      <item>divss</item>
-      <item>emms</item>
-      <item>enter</item>
-      <item>f2xm1</item>
-      <item>fabs</item>
-      <item>fadd</item>
-      <item>faddp</item>
-      <item>fbld</item>
-      <item>fbstp</item>
-      <item>fchs</item>
-      <item>fclex</item>
-      <item>fnclex</item>
-      <item>fcmovb</item>
-      <item>fcmovbe</item>
-      <item>fcmove</item>
-      <item>fcmovnb</item>
-      <item>fcmovnbe</item>
-      <item>fcmovne</item>
-      <item>fcmovnu</item>
-      <item>fcmovu</item>
-      <item>fcom</item>
-      <item>fcomp</item>
-      <item>fcompp</item>
-      <item>fcomi</item>
-      <item>fcomip</item>
-      <item>fcos</item>
-      <item>fdecstp</item>
-      <item>fdisi</item>
-      <item>feni</item>
-      <item>fdiv</item>
-      <item>fdivr</item>
-      <item>fdivp</item>
-      <item>fdivrp</item>
-      <item>femms</item>
-      <item>ffree</item>
-      <item>ffreep</item>
-      <item>fiadd</item>
-      <item>ficom</item>
-      <item>ficomp</item>
-      <item>fidiv</item>
-      <item>fidivr</item>
-      <item>fild</item>
-      <item>fimul</item>
-      <item>fincstp</item>
-      <item>finit</item>
-      <item>fist</item>
-      <item>fistp</item>
-      <item>fisttp</item>
-      <item>fisub</item>
-      <item>fisubr</item>
-      <item>fld</item>
-      <item>fld1</item>
-      <item>fldl2e</item>
-      <item>fldl2t</item>
-      <item>fldlg2</item>
-      <item>fldln2</item>
-      <item>fldcw</item>
-      <item>fldenv</item>
-      <item>fldpi</item>
-      <item>fldz</item>
-      <item>fmul</item>
-      <item>fmulp</item>
-      <item>fndisi</item>
-      <item>fneni</item>
-      <item>fninit</item>
-      <item>fnop</item>
-      <item>fnsave</item>
-      <item>fnstcw</item>
-      <item>fnstenv</item>
-      <item>fnstsw</item>
-      <item>fnwait</item>
-      <item>fpatan</item>
-      <item>fptan</item>
-      <item>fprem</item>
-      <item>fprem1</item>
-      <item>frndint</item>
-      <item>frstor</item>
-      <item>fsave</item>
-      <item>fscale</item>
-      <item>fsetpm</item>
-      <item>fsin</item>
-      <item>fsincos</item>
-      <item>fsqrt</item>
-      <item>fst</item>
-      <item>fstp</item>
-      <item>fstcw</item>
-      <item>fstenv</item>
-      <item>fstsw</item>
-      <item>fsub</item>
-      <item>fsubr</item>
-      <item>fsubp</item>
-      <item>fsubrp</item>
-      <item>ftst</item>
-      <item>fucom</item>
-      <item>fucomp</item>
-      <item>fucompp</item>
-      <item>fucomi</item>
-      <item>fucomip</item>
-      <item>fwait</item>
-      <item>fxam</item>
-      <item>fxch</item>
-      <item>fxrstor</item>
-      <item>fxsave</item>
-      <item>fxtract</item>
-      <item>fyl2x</item>
-      <item>fyl2xp1</item>
-      <item>haddpd</item>
-      <item>haddps</item>
-      <item>hlt</item>
-      <item>hsubpd</item>
-      <item>hsubps</item>
-      <item>ibts</item>
-      <item>idiv</item>
-      <item>imul</item>
-      <item>in</item>
-      <item>inc</item>
-      <item>ins</item>
-      <item>insb</item>
-      <item>insd</item>
-      <item>insw</item>
-      <item>int</item>
-      <item>int1</item>
-      <item>int3</item>
-      <item>into</item>
-      <item>invd</item>
-      <item>invlpg</item>
-      <item>invlpga</item>
-      <item>iret</item>
-      <item>iretd</item>
-      <item>iretq</item>
-      <item>iretw</item>
-      <item>ja</item>
-      <item>jae</item>
-      <item>jb</item>
-      <item>jbe</item>
-      <item>jc</item>
-      <item>je</item>
-      <item>jg</item>
-      <item>jge</item>
-      <item>jl</item>
-      <item>jle</item>
-      <item>jna</item>
-      <item>jnae</item>
-      <item>jnb</item>
-      <item>jnbe</item>
-      <item>jnc</item>
-      <item>jne</item>
-      <item>jng</item>
-      <item>jnge</item>
-      <item>jnl</item>
-      <item>jnle</item>
-      <item>jno</item>
-      <item>jnp</item>
-      <item>jns</item>
-      <item>jnz</item>
-      <item>jo</item>
-      <item>jp</item>
-      <item>jpe</item>
-      <item>jpo</item>
-      <item>js</item>
-      <item>jz</item>
-      <item>jcxz</item>
-      <item>jecxz</item>
-      <item>jrcxz</item>
-      <item>jmp</item>
-      <item>lahf</item>
-      <item>lar</item>
-      <item>lddqu</item>
-      <item>ldmxcsr</item>
-      <item>lds</item>
-      <item>les</item>
-      <item>lea</item>
-      <item>leave</item>
-      <item>lfence</item>
-      <item>lfs</item>
-      <item>lgdt</item>
-      <item>lgs</item>
-      <item>lidt</item>
-      <item>lldt</item>
-      <item>lmsw</item>
-      <item>loadall</item>
-      <item>loadall286</item>
-      <item>lods</item>
-      <item>lodsb</item>
-      <item>lodsd</item>
-      <item>lodsq</item>
-      <item>lodsw</item>
-      <item>loop</item>
-      <item>loope</item>
-      <item>loopne</item>
-      <item>loopnz</item>
-      <item>loopz</item>
-      <item>lsl</item>
-      <item>lss</item>
-      <item>ltr</item>
-      <item>maskmovdqu</item>
-      <item>maskmovq</item>
-      <item>maxpd</item>
-      <item>maxps</item>
-      <item>maxsd</item>
-      <item>maxss</item>
-      <item>mfence</item>
-      <item>minpd</item>
-      <item>minps</item>
-      <item>minsd</item>
-      <item>minss</item>
-      <item>monitor</item>
-      <item>mov</item>
-      <item>movapd</item>
-      <item>movaps</item>
-      <item>movd</item>
-      <item>movddup</item>
-      <item>movdq2q</item>
-      <item>movdqa</item>
-      <item>movdqu</item>
-      <item>movhlps</item>
-      <item>movhpd</item>
-      <item>movhps</item>
-      <item>movlhps</item>
-      <item>movlpd</item>
-      <item>movlps</item>
-      <item>movmskpd</item>
-      <item>movmskps</item>
-      <item>movntdq</item>
-      <item>movnti</item>
-      <item>movntpd</item>
-      <item>movntps</item>
-      <item>movntq</item>
-      <item>movq</item>
-      <item>movq2dq</item>
-      <item>movs</item>
-      <item>movsb</item>
-      <item>movsd</item>
-      <item>movshdup</item>
-      <item>movsldup</item>
-      <item>movsq</item>
-      <item>movss</item>
-      <item>movsx</item>
-      <item>movsxd</item>
-      <item>movsw</item>
-      <item>movupd</item>
-      <item>movups</item>
-      <item>movzx</item>
-      <item>mul</item>
-      <item>mulpd</item>
-      <item>mulps</item>
-      <item>mulsd</item>
-      <item>mulss</item>
-      <item>mwait</item>
-      <item>neg</item>
-      <item>nop</item>
-      <item>not</item>
-      <item>or</item>
-      <item>orpd</item>
-      <item>orps</item>
-      <item>out</item>
-      <item>outs</item>
-      <item>outsb</item>
-      <item>outsw</item>
-      <item>outsd</item>
-      <item>packssdw</item>
-      <item>packsswb</item>
-      <item>packuswb</item>
-      <item>paddb</item>
-      <item>paddd</item>
-      <item>paddq</item>
-      <item>paddsb</item>
-      <item>paddsw</item>
-      <item>paddusb</item>
-      <item>paddusw</item>
-      <item>paddw</item>
-      <item>pand</item>
-      <item>pandn</item>
-      <item>pause</item>
-      <item>pavgb</item>
-      <item>pavgusb</item>
-      <item>pavgw</item>
-      <item>pcmpeqb</item>
-      <item>pcmpeqw</item>
-      <item>pcmpeqd</item>
-      <item>pcmpgtb</item>
-      <item>pcmpgtw</item>
-      <item>pcmpgtd</item>
-      <item>pdistib</item>
-      <item>pextrw</item>
-      <item>pf2id</item>
-      <item>pf2iw</item>
-      <item>pfacc</item>
-      <item>pfadd</item>
-      <item>pfcmpeq</item>
-      <item>pfcmpge</item>
-      <item>pfcmpgt</item>
-      <item>pfmax</item>
-      <item>pfmin</item>
-      <item>pfmul</item>
-      <item>pfnacc</item>
-      <item>pfpnacc</item>
-      <item>pfrcp</item>
-      <item>pfrcpit1</item>
-      <item>pfrcpit2</item>
-      <item>pfrsqit1</item>
-      <item>pfrsqrt</item>
-      <item>pfsub</item>
-      <item>pfsubr</item>
-      <item>pi2fd</item>
-      <item>pi2fw</item>
-      <item>pinsrw</item>
-      <item>pmachriw</item>
-      <item>pmaddwd</item>
-      <item>pmagw</item>
-      <item>pmaxsw</item>
-      <item>pmaxub</item>
-      <item>pminsw</item>
-      <item>pminub</item>
-      <item>pmovmskb</item>
-      <item>pmulhrw</item>
-      <item>pmulhuw</item>
-      <item>pmulhw</item>
-      <item>pmullw</item>
-      <item>pmuludq</item>
-      <item>pmvgezb</item>
-      <item>pmvlzb</item>
-      <item>pmvnzb</item>
-      <item>pmvzb</item>
-      <item>pop</item>
-      <item>popa</item>
-      <item>popaw</item>
-      <item>popad</item>
-      <item>popf</item>
-      <item>popfw</item>
-      <item>popfd</item>
-      <item>popfq</item>
-      <item>por</item>
-      <item>prefetch</item>
-      <item>prefetchnta</item>
-      <item>prefetcht0</item>
-      <item>prefetcht1</item>
-      <item>prefetcht2</item>
-      <item>prefetchw</item>
-      <item>psadbw</item>
-      <item>pshufd</item>
-      <item>pshufhw</item>
-      <item>pshuflw</item>
-      <item>pshufw</item>
-      <item>pslld</item>
-      <item>pslldq</item>
-      <item>psllq</item>
-      <item>psllw</item>
-      <item>psrad</item>
-      <item>psraw</item>
-      <item>psrld</item>
-      <item>psrldq</item>
-      <item>psrlq</item>
-      <item>psrlw</item>
-      <item>psubb</item>
-      <item>psubd</item>
-      <item>psubq</item>
-      <item>psubsb</item>
-      <item>psubsiw</item>
-      <item>psubsw</item>
-      <item>psubusb</item>
-      <item>psubusw</item>
-      <item>psubw</item>
-      <item>pswapd</item>
-      <item>punpckhbw</item>
-      <item>punpckhdq</item>
-      <item>punpckhqdq</item>
-      <item>punpckhwd</item>
-      <item>punpcklbw</item>
-      <item>punpckldq</item>
-      <item>punpcklqdq</item>
-      <item>punpcklwd</item>
-      <item>push</item>
-      <item>pusha</item>
-      <item>pushad</item>
-      <item>pushaw</item>
-      <item>pushf</item>
-      <item>pushfd</item>
-      <item>pushfq</item>
-      <item>pushfw</item>
-      <item>pxor</item>
-      <item>rcl</item>
-      <item>rcr</item>
-      <item>rcpps</item>
-      <item>rcpss</item>
-      <item>rdmsr</item>
-      <item>rdpmc</item>
-      <item>rdshr</item>
-      <item>rdtsc</item>
-      <item>rdtscp</item>
-      <item>ret</item>
-      <item>retf</item>
-      <item>retn</item>
-      <item>rol</item>
-      <item>ror</item>
-      <item>rsdc</item>
-      <item>rsldt</item>
-      <item>rsm</item>
-      <item>rsqrtps</item>
-      <item>rsqrtss</item>
-      <item>rsts</item>
-      <item>sahf</item>
-      <item>sal</item>
-      <item>sar</item>
-      <item>salc</item>
-      <item>sbb</item>
-      <item>scas</item>
-      <item>scasb</item>
-      <item>scasd</item>
-      <item>scasq</item>
-      <item>scasw</item>
-      <item>seta</item>
-      <item>setae</item>
-      <item>setb</item>
-      <item>setbe</item>
-      <item>setc</item>
-      <item>sete</item>
-      <item>setg</item>
-      <item>setge</item>
-      <item>setl</item>
-      <item>setle</item>
-      <item>setna</item>
-      <item>setnae</item>
-      <item>setnb</item>
-      <item>setnbe</item>
-      <item>setnc</item>
-      <item>setne</item>
-      <item>setng</item>
-      <item>setnge</item>
-      <item>setnl</item>
-      <item>setnle</item>
-      <item>setno</item>
-      <item>setnp</item>
-      <item>setns</item>
-      <item>setnz</item>
-      <item>seto</item>
-      <item>setp</item>
-      <item>setpe</item>
-      <item>setpo</item>
-      <item>sets</item>
-      <item>setz</item>
-      <item>sfence</item>
-      <item>sgdt</item>
-      <item>shl</item>
-      <item>shld</item>
-      <item>shr</item>
-      <item>shrd</item>
-      <item>shufpd</item>
-      <item>shufps</item>
-      <item>sidt</item>
-      <item>skinit</item>
-      <item>sldt</item>
-      <item>smi</item>
-      <item>smint</item>
-      <item>smintold</item>
-      <item>smsw</item>
-      <item>sqrtpd</item>
-      <item>sqrtps</item>
-      <item>sqrtsd</item>
-      <item>sqrtss</item>
-      <item>stc</item>
-      <item>std</item>
-      <item>stgi</item>
-      <item>sti</item>
-      <item>stmxcsr</item>
-      <item>stos</item>
-      <item>stosb</item>
-      <item>stosd</item>
-      <item>stosq</item>
-      <item>stosw</item>
-      <item>str</item>
-      <item>sub</item>
-      <item>subpd</item>
-      <item>subps</item>
-      <item>subsd</item>
-      <item>subss</item>
-      <item>svdc</item>
-      <item>svldt</item>
-      <item>svts</item>
-      <item>swapgs</item>
-      <item>syscall</item>
-      <item>sysenter</item>
-      <item>sysexit</item>
-      <item>sysret</item>
-      <item>test</item>
-      <item>ucomisd</item>
-      <item>ucomiss</item>
-      <item>ud0</item>
-      <item>ud1</item>
-      <item>ud2</item>
-      <item>umov</item>
-      <item>unpckhpd</item>
-      <item>unpckhps</item>
-      <item>unpcklpd</item>
-      <item>unpcklps</item>
-      <item>verr</item>
-      <item>verw</item>
-      <item>vmload</item>
-      <item>vmmcall</item>
-      <item>vmrun</item>
-      <item>vmsave</item>
-      <item>wait</item>
-      <item>wbinvd</item>
-      <item>wrmsr</item>
-      <item>wrshr</item>
-      <item>xadd</item>
-      <item>xbts</item>
-      <item>xchg</item>
-      <item>xlat</item>
-      <item>xlatb</item>
-      <item>xor</item>
-      <item>xorpd</item>
-      <item>xorps</item>
+<language name="Intel x86 (NASM)" section="Assembler" version="4" kateversion="2.3" extensions="*.asm" mimetype="" author="Nicola Gigante (nicola.gigante@gmail.com)" license="GPLv2+">
+  <highlighting>
+    <list name="registers">
+      <!-- General purpose registers -->
+      <item>rax</item>
+      <item>eax</item>
+      <item>ax</item>
+      <item>ah</item>
+      <item>al</item>
+      <item>rbx</item>
+      <item>ebx</item>
+      <item>bx</item>
+      <item>bh</item>
+      <item>bl</item>
+      <item>rcx</item>
+      <item>ecx</item>
+      <item>cx</item>
+      <item>ch</item>
+      <item>cl</item>
+      <item>rdx</item>
+      <item>edx</item>
+      <item>dx</item>
+      <item>dh</item>
+      <item>dl</item>
+      <item>rbp</item>
+      <item>ebp</item>
+      <item>bp</item>
+      <item>bpl</item>
+      <item>rsi</item>
+      <item>esi</item>
+      <item>si</item>
+      <item>sil</item>
+      <item>rdi</item>
+      <item>edi</item>
+      <item>di</item>
+      <item>dil</item>
+
+      <item>rip</item>
+      <item>eip</item>
+      <item>ip</item>
+
+      <item>rsp</item>
+      <item>esp</item>
+      <item>sp</item>
+      <item>spl</item>
+      <item>r8</item>
+      <item>r8d</item>
+      <item>r8w</item>
+      <item>r8b</item>
+      <item>r9</item>
+      <item>r9d</item>
+      <item>r9w</item>
+      <item>r9b</item>
+      <item>r10</item>
+      <item>r10d</item>
+      <item>r10w</item>
+      <item>r10b</item>
+      <item>r11</item>
+      <item>r11d</item>
+      <item>r11w</item>
+      <item>r11b</item>
+      <item>r12</item>
+      <item>r12d</item>
+      <item>r12w</item>
+      <item>r12b</item>
+      <item>r13</item>
+      <item>r13d</item>
+      <item>r13w</item>
+      <item>r13b</item>
+      <item>r14</item>
+      <item>r14d</item>
+      <item>r14w</item>
+      <item>r14b</item>
+      <item>r15</item>
+      <item>r15d</item>
+      <item>r15w</item>
+      <item>r15b</item>
+      <!-- Segmentation registers -->
+      <item>cs</item>
+      <item>ds</item>
+      <item>es</item>
+      <item>fs</item>
+      <item>gs</item>
+      <item>ss</item>
+      <!-- Control registers -->
+      <item>cr0</item>
+      <!--<item>cr1</item>-->
+      <item>cr2</item>
+      <item>cr3</item>
+      <item>cr4</item>
+      <!-- Debug registers -->
+      <item>dr0</item>
+      <item>dr1</item>
+      <item>dr2</item>
+      <item>dr3</item>
+      <item>dr6</item>
+      <item>dr7</item>
+      <!-- x87 FPU Registers -->
+      <item>st</item>
+      <!-- MMX registers -->
+      <item>mm0</item>
+      <item>mm1</item>
+      <item>mm2</item>
+      <item>mm3</item>
+      <item>mm4</item>
+      <item>mm5</item>
+      <item>mm6</item>
+      <item>mm7</item>
+      <!-- XMM registers -->
+      <item>xmm0</item>
+      <item>xmm1</item>
+      <item>xmm2</item>
+      <item>xmm3</item>
+      <item>xmm4</item>
+      <item>xmm5</item>
+      <item>xmm6</item>
+      <item>xmm7</item>
+      <item>xmm8</item>
+      <item>xmm9</item>
+      <item>xmm10</item>
+      <item>xmm11</item>
+      <item>xmm12</item>
+      <item>xmm13</item>
+      <item>xmm14</item>
+      <item>xmm15</item>
+      <item>xmm16</item>
+      <item>xmm17</item>
+      <item>xmm18</item>
+      <item>xmm19</item>
+      <item>xmm20</item>
+      <item>xmm21</item>
+      <item>xmm22</item>
+      <item>xmm23</item>
+      <item>xmm24</item>
+      <item>xmm25</item>
+      <item>xmm26</item>
+      <item>xmm27</item>
+      <item>xmm28</item>
+      <item>xmm29</item>
+      <item>xmm30</item>
+      <item>xmm31</item>
+      <!-- YMM registers -->
+      <item>ymm0</item>
+      <item>ymm1</item>
+      <item>ymm2</item>
+      <item>ymm3</item>
+      <item>ymm4</item>
+      <item>ymm5</item>
+      <item>ymm6</item>
+      <item>ymm7</item>
+      <item>ymm8</item>
+      <item>ymm9</item>
+      <item>ymm10</item>
+      <item>ymm11</item>
+      <item>ymm12</item>
+      <item>ymm13</item>
+      <item>ymm14</item>
+      <item>ymm15</item>
+      <item>ymm16</item>
+      <item>ymm17</item>
+      <item>ymm18</item>
+      <item>ymm19</item>
+      <item>ymm20</item>
+      <item>ymm21</item>
+      <item>ymm22</item>
+      <item>ymm23</item>
+      <item>ymm24</item>
+      <item>ymm25</item>
+      <item>ymm26</item>
+      <item>ymm27</item>
+      <item>ymm28</item>
+      <item>ymm29</item>
+      <item>ymm30</item>
+      <item>ymm31</item>
+      <!-- ZMM registers -->
+      <item>zmm0</item>
+      <item>zmm1</item>
+      <item>zmm2</item>
+      <item>zmm3</item>
+      <item>zmm4</item>
+      <item>zmm5</item>
+      <item>zmm6</item>
+      <item>zmm7</item>
+      <item>zmm8</item>
+      <item>zmm9</item>
+      <item>zmm10</item>
+      <item>zmm11</item>
+      <item>zmm12</item>
+      <item>zmm13</item>
+      <item>zmm14</item>
+      <item>zmm15</item>
+      <item>zmm16</item>
+      <item>zmm17</item>
+      <item>zmm18</item>
+      <item>zmm19</item>
+      <item>zmm20</item>
+      <item>zmm21</item>
+      <item>zmm22</item>
+      <item>zmm23</item>
+      <item>zmm24</item>
+      <item>zmm25</item>
+      <item>zmm26</item>
+      <item>zmm27</item>
+      <item>zmm28</item>
+      <item>zmm29</item>
+      <item>zmm30</item>
+      <item>zmm31</item>
+    </list>
+    <list name="instructions">
+      <item>aaa</item>
+      <item>aad</item>
+      <item>aam</item>
+      <item>aas</item>
+      <item>adc</item>
+      <item>adcx</item>
+      <item>add</item>
+      <item>addpd</item>
+      <item>addps</item>
+      <item>addsd</item>
+      <item>addss</item>
+      <item>addsubpd</item>
+      <item>addsubps</item>
+      <item>adox</item>
+      <item>aesdec</item>
+      <item>aesdeclast</item>
+      <item>aesenc</item>
+      <item>aesenclast</item>
+      <item>aesimc</item>
+      <item>aeskeygenassist</item>
+      <item>and</item>
+      <item>andn</item>
+      <item>andnpd</item>
+      <item>andnps</item>
+      <item>andpd</item>
+      <item>andps</item>
+      <item>arpl</item>
+      <item>bb0_reset</item>
+      <item>bb1_reset</item>
+      <item>bextr</item>
+      <item>blcfill</item>
+      <item>blci</item>
+      <item>blcic</item>
+      <item>blcmsk</item>
+      <item>blcs</item>
+      <item>blendpd</item>
+      <item>blendps</item>
+      <item>blendvpd</item>
+      <item>blendvps</item>
+      <item>blsfill</item>
+      <item>blsi</item>
+      <item>blsic</item>
+      <item>blsmsk</item>
+      <item>blsr</item>
+      <item>bndcl</item>
+      <item>bndcn</item>
+      <item>bndcu</item>
+      <item>bndldx</item>
+      <item>bndmk</item>
+      <item>bndmov</item>
+      <item>bndstx</item>
+      <item>bound</item>
+      <item>bsf</item>
+      <item>bsr</item>
+      <item>bswap</item>
+      <item>bt</item>
+      <item>btc</item>
+      <item>btr</item>
+      <item>bts</item>
+      <item>bzhi</item>
+      <item>call</item>
+      <item>cbw</item>
+      <item>cdq</item>
+      <item>cdqe</item>
+      <item>clac</item>
+      <item>clc</item>
+      <item>cld</item>
+      <item>cldemote</item>
+      <item>clflush</item>
+      <item>clflushopt</item>
+      <item>clgi</item>
+      <item>cli</item>
+      <item>clts</item>
+      <item>clwb</item>
+      <item>clzero</item>
+      <item>cmc</item>
+      <item>cmp</item>
+      <item>cmpeqpd</item>
+      <item>cmpeqps</item>
+      <item>cmpeqsd</item>
+      <item>cmpeqss</item>
+      <item>cmplepd</item>
+      <item>cmpleps</item>
+      <item>cmplesd</item>
+      <item>cmpless</item>
+      <item>cmpltpd</item>
+      <item>cmpltps</item>
+      <item>cmpltsd</item>
+      <item>cmpltss</item>
+      <item>cmpneqpd</item>
+      <item>cmpneqps</item>
+      <item>cmpneqsd</item>
+      <item>cmpneqss</item>
+      <item>cmpnlepd</item>
+      <item>cmpnleps</item>
+      <item>cmpnlesd</item>
+      <item>cmpnless</item>
+      <item>cmpnltpd</item>
+      <item>cmpnltps</item>
+      <item>cmpnltsd</item>
+      <item>cmpnltss</item>
+      <item>cmpordpd</item>
+      <item>cmpordps</item>
+      <item>cmpordsd</item>
+      <item>cmpordss</item>
+      <item>cmppd</item>
+      <item>cmpps</item>
+      <item>cmpsb</item>
+      <item>cmpsd</item>
+      <item>cmpsq</item>
+      <item>cmpss</item>
+      <item>cmpsw</item>
+      <item>cmpunordpd</item>
+      <item>cmpunordps</item>
+      <item>cmpunordsd</item>
+      <item>cmpunordss</item>
+      <item>cmpxchg</item>
+      <item>cmpxchg16b</item>
+      <item>cmpxchg486</item>
+      <item>cmpxchg8b</item>
+      <item>comisd</item>
+      <item>comiss</item>
+      <item>cpuid</item>
+      <item>cpu_read</item>
+      <item>cpu_write</item>
+      <item>cqo</item>
+      <item>crc32</item>
+      <item>cwd</item>
+      <item>cwde</item>
+      <item>cvtdq2pd</item>
+      <item>cvtdq2ps</item>
+      <item>cvtpd2dq</item>
+      <item>cvtpd2pi</item>
+      <item>cvtpd2ps</item>
+      <item>cvtpi2pd</item>
+      <item>cvtpi2ps</item>
+      <item>cvtps2dq</item>
+      <item>cvtps2pd</item>
+      <item>cvtps2pi</item>
+      <item>cvtsd2si</item>
+      <item>cvtsd2ss</item>
+      <item>cvtsi2sd</item>
+      <item>cvtsi2ss</item>
+      <item>cvtss2sd</item>
+      <item>cvtss2si</item>
+      <item>cvttpd2dq</item>
+      <item>cvttpd2pi</item>
+      <item>cvttps2dq</item>
+      <item>cvttps2pi</item>
+      <item>cvttsd2si</item>
+      <item>cvttss2si</item>
+      <item>daa</item>
+      <item>das</item>
+      <item>dec</item>
+      <item>div</item>
+      <item>divpd</item>
+      <item>divps</item>
+      <item>divsd</item>
+      <item>divss</item>
+      <item>dmint</item>
+      <item>dppd</item>
+      <item>dpps</item>
+      <item>emms</item>
+      <item>encls</item>
+      <item>enclu</item>
+      <item>enclv</item>
+      <item>enter</item>
+      <item>equ</item>
+      <item>extractps</item>
+      <item>extrq</item>
+      <item>f2xm1</item>
+      <item>fabs</item>
+      <item>fadd</item>
+      <item>faddp</item>
+      <item>fbld</item>
+      <item>fbstp</item>
+      <item>fchs</item>
+      <item>fclex</item>
+      <item>fcmovb</item>
+      <item>fcmovbe</item>
+      <item>fcmove</item>
+      <item>fcmovnb</item>
+      <item>fcmovnbe</item>
+      <item>fcmovne</item>
+      <item>fcmovnu</item>
+      <item>fcmovu</item>
+      <item>fcom</item>
+      <item>fcomi</item>
+      <item>fcomip</item>
+      <item>fcomp</item>
+      <item>fcompp</item>
+      <item>fcos</item>
+      <item>fdecstp</item>
+      <item>fdisi</item>
+      <item>fdiv</item>
+      <item>fdivp</item>
+      <item>fdivr</item>
+      <item>fdivrp</item>
+      <item>femms</item>
+      <item>feni</item>
+      <item>ffree</item>
+      <item>ffreep</item>
+      <item>fiadd</item>
+      <item>ficom</item>
+      <item>ficomp</item>
+      <item>fidiv</item>
+      <item>fidivr</item>
+      <item>fild</item>
+      <item>fimul</item>
+      <item>fincstp</item>
+      <item>finit</item>
+      <item>fist</item>
+      <item>fistp</item>
+      <item>fisttp</item>
+      <item>fisub</item>
+      <item>fisubr</item>
+      <item>fld</item>
+      <item>fld1</item>
+      <item>fldcw</item>
+      <item>fldenv</item>
+      <item>fldl2e</item>
+      <item>fldl2t</item>
+      <item>fldlg2</item>
+      <item>fldln2</item>
+      <item>fldpi</item>
+      <item>fldz</item>
+      <item>fmul</item>
+      <item>fmulp</item>
+      <item>fnclex</item>
+      <item>fndisi</item>
+      <item>fneni</item>
+      <item>fninit</item>
+      <item>fnop</item>
+      <item>fnsave</item>
+      <item>fnstcw</item>
+      <item>fnstenv</item>
+      <item>fnstsw</item>
+      <item>fpatan</item>
+      <item>fprem</item>
+      <item>fprem1</item>
+      <item>fptan</item>
+      <item>frndint</item>
+      <item>frstor</item>
+      <item>fsave</item>
+      <item>fscale</item>
+      <item>fsetpm</item>
+      <item>fsin</item>
+      <item>fsincos</item>
+      <item>fsqrt</item>
+      <item>fst</item>
+      <item>fstcw</item>
+      <item>fstenv</item>
+      <item>fstp</item>
+      <item>fstsw</item>
+      <item>fsub</item>
+      <item>fsubp</item>
+      <item>fsubr</item>
+      <item>fsubrp</item>
+      <item>ftst</item>
+      <item>fucom</item>
+      <item>fucomi</item>
+      <item>fucomip</item>
+      <item>fucomp</item>
+      <item>fucompp</item>
+      <item>fwait</item>
+      <item>fxam</item>
+      <item>fxch</item>
+      <item>fxrstor</item>
+      <item>fxrstor64</item>
+      <item>fxsave</item>
+      <item>fxsave64</item>
+      <item>fxtract</item>
+      <item>fyl2x</item>
+      <item>fyl2xp1</item>
+      <item>getsec</item>
+      <item>gf2p8affineinvqb</item>
+      <item>gf2p8affineqb</item>
+      <item>gf2p8mulb</item>
+      <item>haddpd</item>
+      <item>haddps</item>
+      <item>hint_nop0</item>
+      <item>hint_nop1</item>
+      <item>hint_nop10</item>
+      <item>hint_nop11</item>
+      <item>hint_nop12</item>
+      <item>hint_nop13</item>
+      <item>hint_nop14</item>
+      <item>hint_nop15</item>
+      <item>hint_nop16</item>
+      <item>hint_nop17</item>
+      <item>hint_nop18</item>
+      <item>hint_nop19</item>
+      <item>hint_nop2</item>
+      <item>hint_nop20</item>
+      <item>hint_nop21</item>
+      <item>hint_nop22</item>
+      <item>hint_nop23</item>
+      <item>hint_nop24</item>
+      <item>hint_nop25</item>
+      <item>hint_nop26</item>
+      <item>hint_nop27</item>
+      <item>hint_nop28</item>
+      <item>hint_nop29</item>
+      <item>hint_nop3</item>
+      <item>hint_nop30</item>
+      <item>hint_nop31</item>
+      <item>hint_nop32</item>
+      <item>hint_nop33</item>
+      <item>hint_nop34</item>
+      <item>hint_nop35</item>
+      <item>hint_nop36</item>
+      <item>hint_nop37</item>
+      <item>hint_nop38</item>
+      <item>hint_nop39</item>
+      <item>hint_nop4</item>
+      <item>hint_nop40</item>
+      <item>hint_nop41</item>
+      <item>hint_nop42</item>
+      <item>hint_nop43</item>
+      <item>hint_nop44</item>
+      <item>hint_nop45</item>
+      <item>hint_nop46</item>
+      <item>hint_nop47</item>
+      <item>hint_nop48</item>
+      <item>hint_nop49</item>
+      <item>hint_nop5</item>
+      <item>hint_nop50</item>
+      <item>hint_nop51</item>
+      <item>hint_nop52</item>
+      <item>hint_nop53</item>
+      <item>hint_nop54</item>
+      <item>hint_nop55</item>
+      <item>hint_nop56</item>
+      <item>hint_nop57</item>
+      <item>hint_nop58</item>
+      <item>hint_nop59</item>
+      <item>hint_nop6</item>
+      <item>hint_nop60</item>
+      <item>hint_nop61</item>
+      <item>hint_nop62</item>
+      <item>hint_nop63</item>
+      <item>hint_nop7</item>
+      <item>hint_nop8</item>
+      <item>hint_nop9</item>
+      <item>hlt</item>
+      <item>hsubpd</item>
+      <item>hsubps</item>
+      <item>ibts</item>
+      <item>icebp</item>
+      <item>idiv</item>
+      <item>imul</item>
+      <item>in</item>
+      <item>inc</item>
+      <item>insb</item>
+      <item>insd</item>
+      <item>insertps</item>
+      <item>insertq</item>
+      <item>insw</item>
+      <item>int</item>
+      <item>int01</item>
+      <item>int03</item>
+      <item>int1</item>
+      <item>int3</item>
+      <item>into</item>
+      <item>invd</item>
+      <item>invept</item>
+      <item>invlpg</item>
+      <item>invlpga</item>
+      <item>invpcid</item>
+      <item>invvpid</item>
+      <item>iret</item>
+      <item>iretd</item>
+      <item>iretq</item>
+      <item>iretw</item>
+      <item>jcxz</item>
+      <item>jecxz</item>
+      <item>jmp</item>
+      <item>jmpe</item>
+      <item>jrcxz</item>
+      <item>kaddb</item>
+      <item>kaddd</item>
+      <item>kaddq</item>
+      <item>kaddw</item>
+      <item>kandb</item>
+      <item>kandd</item>
+      <item>kandnb</item>
+      <item>kandnd</item>
+      <item>kandnq</item>
+      <item>kandnw</item>
+      <item>kandq</item>
+      <item>kandw</item>
+      <item>kmovb</item>
+      <item>kmovd</item>
+      <item>kmovq</item>
+      <item>kmovw</item>
+      <item>knotb</item>
+      <item>knotd</item>
+      <item>knotq</item>
+      <item>knotw</item>
+      <item>korb</item>
+      <item>kord</item>
+      <item>korq</item>
+      <item>kortestb</item>
+      <item>kortestd</item>
+      <item>kortestq</item>
+      <item>kortestw</item>
+      <item>korw</item>
+      <item>kshiftlb</item>
+      <item>kshiftld</item>
+      <item>kshiftlq</item>
+      <item>kshiftlw</item>
+      <item>kshiftrb</item>
+      <item>kshiftrd</item>
+      <item>kshiftrq</item>
+      <item>kshiftrw</item>
+      <item>ktestb</item>
+      <item>ktestd</item>
+      <item>ktestq</item>
+      <item>ktestw</item>
+      <item>kunpckbw</item>
+      <item>kunpckdq</item>
+      <item>kunpckwd</item>
+      <item>kxnorb</item>
+      <item>kxnord</item>
+      <item>kxnorq</item>
+      <item>kxnorw</item>
+      <item>kxorb</item>
+      <item>kxord</item>
+      <item>kxorq</item>
+      <item>kxorw</item>
+      <item>lahf</item>
+      <item>lar</item>
+      <item>lddqu</item>
+      <item>ldmxcsr</item>
+      <item>lds</item>
+      <item>lea</item>
+      <item>leave</item>
+      <item>les</item>
+      <item>lfence</item>
+      <item>lfs</item>
+      <item>lgdt</item>
+      <item>lgs</item>
+      <item>lidt</item>
+      <item>lldt</item>
+      <item>llwpcb</item>
+      <item>lmsw</item>
+      <item>loadall</item>
+      <item>loadall286</item>
+      <item>lodsb</item>
+      <item>lodsd</item>
+      <item>lodsq</item>
+      <item>lodsw</item>
+      <item>loop</item>
+      <item>loope</item>
+      <item>loopne</item>
+      <item>loopnz</item>
+      <item>loopz</item>
+      <item>lsl</item>
+      <item>lss</item>
+      <item>ltr</item>
+      <item>lwpins</item>
+      <item>lwpval</item>
+      <item>lzcnt</item>
+      <item>maskmovdqu</item>
+      <item>maskmovq</item>
+      <item>maxpd</item>
+      <item>maxps</item>
+      <item>maxsd</item>
+      <item>maxss</item>
+      <item>mfence</item>
+      <item>minpd</item>
+      <item>minps</item>
+      <item>minsd</item>
+      <item>minss</item>
+      <item>monitor</item>
+      <item>monitorx</item>
+      <item>montmul</item>
+      <item>mov</item>
+      <item>movapd</item>
+      <item>movaps</item>
+      <item>movbe</item>
+      <item>movd</item>
+      <item>movddup</item>
+      <item>movdir64b</item>
+      <item>movdiri</item>
+      <item>movdq2q</item>
+      <item>movdqa</item>
+      <item>movdqu</item>
+      <item>movhlps</item>
+      <item>movhpd</item>
+      <item>movhps</item>
+      <item>movlhps</item>
+      <item>movlpd</item>
+      <item>movlps</item>
+      <item>movmskpd</item>
+      <item>movmskps</item>
+      <item>movntdq</item>
+      <item>movntdqa</item>
+      <item>movnti</item>
+      <item>movntpd</item>
+      <item>movntps</item>
+      <item>movntq</item>
+      <item>movntsd</item>
+      <item>movntss</item>
+      <item>movq</item>
+      <item>movq2dq</item>
+      <item>movsb</item>
+      <item>movsd</item>
+      <item>movshdup</item>
+      <item>movsldup</item>
+      <item>movsq</item>
+      <item>movss</item>
+      <item>movsw</item>
+      <item>movsx</item>
+      <item>movsxd</item>
+      <item>movupd</item>
+      <item>movups</item>
+      <item>movzx</item>
+      <item>mpsadbw</item>
+      <item>mul</item>
+      <item>mulpd</item>
+      <item>mulps</item>
+      <item>mulsd</item>
+      <item>mulss</item>
+      <item>mulx</item>
+      <item>mwait</item>
+      <item>mwaitx</item>
+      <item>neg</item>
+      <item>nop</item>
+      <item>not</item>
+      <item>october</item>
+      <item>or</item>
+      <item>orpd</item>
+      <item>orps</item>
+      <item>out</item>
+      <item>outsb</item>
+      <item>outsd</item>
+      <item>outsw</item>
+      <item>pabsb</item>
+      <item>pabsd</item>
+      <item>pabsw</item>
+      <item>packssdw</item>
+      <item>packsswb</item>
+      <item>packusdw</item>
+      <item>packuswb</item>
+      <item>paddb</item>
+      <item>paddd</item>
+      <item>paddq</item>
+      <item>paddsb</item>
+      <item>paddsiw</item>
+      <item>paddsw</item>
+      <item>paddusb</item>
+      <item>paddusw</item>
+      <item>paddw</item>
+      <item>palignr</item>
+      <item>pand</item>
+      <item>pandn</item>
+      <item>pause</item>
+      <item>paveb</item>
+      <item>pavgb</item>
+      <item>pavgusb</item>
+      <item>pavgw</item>
+      <item>pblendw</item>
+      <item>pblendvb</item>
+      <item>pclmulhqhqdq</item>
+      <item>pclmulhqlqdq</item>
+      <item>pclmullqhqdq</item>
+      <item>pclmullqlqdq</item>
+      <item>pclmulqdq</item>
+      <item>pcmpeqb</item>
+      <item>pcmpeqd</item>
+      <item>pcmpeqq</item>
+      <item>pcmpeqw</item>
+      <item>pcmpestri</item>
+      <item>pcmpestrm</item>
+      <item>pcmpgtb</item>
+      <item>pcmpgtd</item>
+      <item>pcmpgtq</item>
+      <item>pcmpgtw</item>
+      <item>pcmpistri</item>
+      <item>pcmpistrm</item>
+      <item>pcommit</item>
+      <item>pconfig</item>
+      <item>pdep</item>
+      <item>pdistib</item>
+      <item>pext</item>
+      <item>pextrb</item>
+      <item>pextrd</item>
+      <item>pextrq</item>
+      <item>pextrw</item>
+      <item>pf2id</item>
+      <item>pf2iw</item>
+      <item>pfacc</item>
+      <item>pfadd</item>
+      <item>pfcmpeq</item>
+      <item>pfcmpge</item>
+      <item>pfcmpgt</item>
+      <item>pfmax</item>
+      <item>pfmin</item>
+      <item>pfmul</item>
+      <item>pfnacc</item>
+      <item>pfpnacc</item>
+      <item>pfrcp</item>
+      <item>pfrcpit1</item>
+      <item>pfrcpit2</item>
+      <item>pfrcpv</item>
+      <item>pfrsqit1</item>
+      <item>pfrsqrt</item>
+      <item>pfrsqrtv</item>
+      <item>pfsub</item>
+      <item>pfsubr</item>
+      <item>phaddd</item>
+      <item>phaddsw</item>
+      <item>phaddw</item>
+      <item>phminposuw</item>
+      <item>phsubd</item>
+      <item>phsubsw</item>
+      <item>phsubw</item>
+      <item>pi2fd</item>
+      <item>pi2fw</item>
+      <item>pinsrb</item>
+      <item>pinsrd</item>
+      <item>pinsrq</item>
+      <item>pinsrw</item>
+      <item>pmachriw</item>
+      <item>pmaddubsw</item>
+      <item>pmaddwd</item>
+      <item>pmagw</item>
+      <item>pmaxsb</item>
+      <item>pmaxsd</item>
+      <item>pmaxsw</item>
+      <item>pmaxub</item>
+      <item>pmaxud</item>
+      <item>pmaxuw</item>
+      <item>pminsb</item>
+      <item>pminsd</item>
+      <item>pminsw</item>
+      <item>pminub</item>
+      <item>pminud</item>
+      <item>pminuw</item>
+      <item>pmovmskb</item>
+      <item>pmovsxbd</item>
+      <item>pmovsxbq</item>
+      <item>pmovsxbw</item>
+      <item>pmovsxdq</item>
+      <item>pmovsxwd</item>
+      <item>pmovsxwq</item>
+      <item>pmovzxbd</item>
+      <item>pmovzxbq</item>
+      <item>pmovzxbw</item>
+      <item>pmovzxdq</item>
+      <item>pmovzxwd</item>
+      <item>pmovzxwq</item>
+      <item>pmuldq</item>
+      <item>pmulhriw</item>
+      <item>pmulhrsw</item>
+      <item>pmulhrwa</item>
+      <item>pmulhrwc</item>
+      <item>pmulhuw</item>
+      <item>pmulhw</item>
+      <item>pmulld</item>
+      <item>pmullw</item>
+      <item>pmuludq</item>
+      <item>pmvgezb</item>
+      <item>pmvlzb</item>
+      <item>pmvnzb</item>
+      <item>pmvzb</item>
+      <item>pop</item>
+      <item>popa</item>
+      <item>popad</item>
+      <item>popaw</item>
+      <item>popcnt</item>
+      <item>popf</item>
+      <item>popfd</item>
+      <item>popfq</item>
+      <item>popfw</item>
+      <item>por</item>
+      <item>prefetch</item>
+      <item>prefetchnta</item>
+      <item>prefetcht0</item>
+      <item>prefetcht1</item>
+      <item>prefetcht2</item>
+      <item>prefetchw</item>
+      <item>prefetchwt1</item>
+      <item>psadbw</item>
+      <item>pshufb</item>
+      <item>pshufd</item>
+      <item>pshufhw</item>
+      <item>pshuflw</item>
+      <item>pshufw</item>
+      <item>psignb</item>
+      <item>psignd</item>
+      <item>psignw</item>
+      <item>pslld</item>
+      <item>pslldq</item>
+      <item>psllq</item>
+      <item>psllw</item>
+      <item>psrad</item>
+      <item>psraw</item>
+      <item>psrld</item>
+      <item>psrldq</item>
+      <item>psrlq</item>
+      <item>psrlw</item>
+      <item>psubb</item>
+      <item>psubd</item>
+      <item>psubq</item>
+      <item>psubsb</item>
+      <item>psubsiw</item>
+      <item>psubsw</item>
+      <item>psubusb</item>
+      <item>psubusw</item>
+      <item>psubw</item>
+      <item>pswapd</item>
+      <item>ptest</item>
+      <item>ptwrite</item>
+      <item>punpckhbw</item>
+      <item>punpckhdq</item>
+      <item>punpckhqdq</item>
+      <item>punpckhwd</item>
+      <item>punpcklbw</item>
+      <item>punpckldq</item>
+      <item>punpcklqdq</item>
+      <item>punpcklwd</item>
+      <item>push</item>
+      <item>pusha</item>
+      <item>pushad</item>
+      <item>pushaw</item>
+      <item>pushf</item>
+      <item>pushfd</item>
+      <item>pushfq</item>
+      <item>pushfw</item>
+      <item>pxor</item>
+      <item>rcl</item>
+      <item>rcpps</item>
+      <item>rcpss</item>
+      <item>rcr</item>
+      <item>rdfsbase</item>
+      <item>rdgsbase</item>
+      <item>rdm</item>
+      <item>rdmsr</item>
+      <item>rdpid</item>
+      <item>rdpkru</item>
+      <item>rdpmc</item>
+      <item>rdrand</item>
+      <item>rdseed</item>
+      <item>rdshr</item>
+      <item>rdtsc</item>
+      <item>rdtscp</item>
+      <item>ret</item>
+      <item>retd</item>
+      <item>retf</item>
+      <item>retfd</item>
+      <item>retfq</item>
+      <item>retfw</item>
+      <item>retn</item>
+      <item>retnd</item>
+      <item>retnq</item>
+      <item>retnw</item>
+      <item>retq</item>
+      <item>retw</item>
+      <item>rol</item>
+      <item>ror</item>
+      <item>rorx</item>
+      <item>roundpd</item>
+      <item>roundps</item>
+      <item>roundsd</item>
+      <item>roundss</item>
+      <item>rsdc</item>
+      <item>rsldt</item>
+      <item>rsm</item>
+      <item>rsqrtps</item>
+      <item>rsqrtss</item>
+      <item>rsts</item>
+      <item>sahf</item>
+      <item>sal</item>
+      <item>salc</item>
+      <item>sar</item>
+      <item>sarx</item>
+      <item>sbb</item>
+      <item>scasb</item>
+      <item>scasd</item>
+      <item>scasq</item>
+      <item>scasw</item>
+      <item>sfence</item>
+      <item>sgdt</item>
+      <item>sha1msg1</item>
+      <item>sha1msg2</item>
+      <item>sha1nexte</item>
+      <item>sha1rnds4</item>
+      <item>sha256msg1</item>
+      <item>sha256msg2</item>
+      <item>sha256rnds2</item>
+      <item>shl</item>
+      <item>shld</item>
+      <item>shlx</item>
+      <item>shr</item>
+      <item>shrd</item>
+      <item>shrx</item>
+      <item>shufpd</item>
+      <item>shufps</item>
+      <item>sidt</item>
+      <item>skinit</item>
+      <item>sldt</item>
+      <item>slwpcb</item>
+      <item>smi</item>
+      <item>smint</item>
+      <item>smintold</item>
+      <item>smsw</item>
+      <item>sqrtpd</item>
+      <item>sqrtps</item>
+      <item>sqrtsd</item>
+      <item>sqrtss</item>
+      <item>stac</item>
+      <item>stc</item>
+      <item>std</item>
+      <item>stgi</item>
+      <item>sti</item>
+      <item>stmxcsr</item>
+      <item>stosb</item>
+      <item>stosd</item>
+      <item>stosq</item>
+      <item>stosw</item>
+      <item>str</item>
+      <item>sub</item>
+      <item>subpd</item>
+      <item>subps</item>
+      <item>subsd</item>
+      <item>subss</item>
+      <item>swapgs</item>
+      <item>svdc</item>
+      <item>svldt</item>
+      <item>svts</item>
+      <item>syscall</item>
+      <item>sysenter</item>
+      <item>sysexit</item>
+      <item>sysret</item>
+      <item>t1mskc</item>
+      <item>test</item>
+      <item>tpause</item>
+      <item>tzcnt</item>
+      <item>tzmsk</item>
+      <item>ucomisd</item>
+      <item>ucomiss</item>
+      <item>ud0</item>
+      <item>ud1</item>
+      <item>ud2</item>
+      <item>ud2a</item>
+      <item>ud2b</item>
+      <item>umonitor</item>
+      <item>umov</item>
+      <item>umwait</item>
+      <item>unpckhpd</item>
+      <item>unpckhps</item>
+      <item>unpcklpd</item>
+      <item>unpcklps</item>
+      <item>v4dpwssd</item>
+      <item>v4dpwssds</item>
+      <item>v4fmaddps</item>
+      <item>v4fmaddss</item>
+      <item>v4fnmaddps</item>
+      <item>v4fnmaddss</item>
+      <item>vaddpd</item>
+      <item>vaddps</item>
+      <item>vaddsd</item>
+      <item>vaddss</item>
+      <item>vaddsubpd</item>
+      <item>vaddsubps</item>
+      <item>vaesdec</item>
+      <item>vaesdeclast</item>
+      <item>vaesenc</item>
+      <item>vaesenclast</item>
+      <item>vaesimc</item>
+      <item>vaeskeygenassist</item>
+      <item>valignd</item>
+      <item>valignq</item>
+      <item>vandnpd</item>
+      <item>vandnps</item>
+      <item>vandpd</item>
+      <item>vandps</item>
+      <item>wbinvd</item>
+      <item>vblendmpd</item>
+      <item>vblendmps</item>
+      <item>vblendpd</item>
+      <item>vblendps</item>
+      <item>vblendvpd</item>
+      <item>vblendvps</item>
+      <item>wbnoinvd</item>
+      <item>vbroadcastf128</item>
+      <item>vbroadcastf32x2</item>
+      <item>vbroadcastf32x4</item>
+      <item>vbroadcastf32x8</item>
+      <item>vbroadcastf64x2</item>
+      <item>vbroadcastf64x4</item>
+      <item>vbroadcasti128</item>
+      <item>vbroadcasti32x2</item>
+      <item>vbroadcasti32x4</item>
+      <item>vbroadcasti32x8</item>
+      <item>vbroadcasti64x2</item>
+      <item>vbroadcasti64x4</item>
+      <item>vbroadcastsd</item>
+      <item>vbroadcastss</item>
+      <item>vcmpeq_ospd</item>
+      <item>vcmpeq_osps</item>
+      <item>vcmpeq_ossd</item>
+      <item>vcmpeq_osss</item>
+      <item>vcmpeqpd</item>
+      <item>vcmpeqps</item>
+      <item>vcmpeqsd</item>
+      <item>vcmpeqss</item>
+      <item>vcmpeq_uqpd</item>
+      <item>vcmpeq_uqps</item>
+      <item>vcmpeq_uqsd</item>
+      <item>vcmpeq_uqss</item>
+      <item>vcmpeq_uspd</item>
+      <item>vcmpeq_usps</item>
+      <item>vcmpeq_ussd</item>
+      <item>vcmpeq_usss</item>
+      <item>vcmpfalse_oqpd</item>
+      <item>vcmpfalse_oqps</item>
+      <item>vcmpfalse_oqsd</item>
+      <item>vcmpfalse_oqss</item>
+      <item>vcmpfalse_ospd</item>
+      <item>vcmpfalse_osps</item>
+      <item>vcmpfalse_ossd</item>
+      <item>vcmpfalse_osss</item>
+      <item>vcmpfalsepd</item>
+      <item>vcmpfalseps</item>
+      <item>vcmpfalsesd</item>
+      <item>vcmpfalsess</item>
+      <item>vcmpge_oqpd</item>
+      <item>vcmpge_oqps</item>
+      <item>vcmpge_oqsd</item>
+      <item>vcmpge_oqss</item>
+      <item>vcmpge_ospd</item>
+      <item>vcmpge_osps</item>
+      <item>vcmpge_ossd</item>
+      <item>vcmpge_osss</item>
+      <item>vcmpgepd</item>
+      <item>vcmpgeps</item>
+      <item>vcmpgesd</item>
+      <item>vcmpgess</item>
+      <item>vcmpgt_oqpd</item>
+      <item>vcmpgt_oqps</item>
+      <item>vcmpgt_oqsd</item>
+      <item>vcmpgt_oqss</item>
+      <item>vcmpgt_ospd</item>
+      <item>vcmpgt_osps</item>
+      <item>vcmpgt_ossd</item>
+      <item>vcmpgt_osss</item>
+      <item>vcmpgtpd</item>
+      <item>vcmpgtps</item>
+      <item>vcmpgtsd</item>
+      <item>vcmpgtss</item>
+      <item>vcmple_oqpd</item>
+      <item>vcmple_oqps</item>
+      <item>vcmple_oqsd</item>
+      <item>vcmple_oqss</item>
+      <item>vcmple_ospd</item>
+      <item>vcmple_osps</item>
+      <item>vcmple_ossd</item>
+      <item>vcmple_osss</item>
+      <item>vcmplepd</item>
+      <item>vcmpleps</item>
+      <item>vcmplesd</item>
+      <item>vcmpless</item>
+      <item>vcmplt_oqpd</item>
+      <item>vcmplt_oqps</item>
+      <item>vcmplt_oqsd</item>
+      <item>vcmplt_oqss</item>
+      <item>vcmplt_ospd</item>
+      <item>vcmplt_osps</item>
+      <item>vcmplt_ossd</item>
+      <item>vcmplt_osss</item>
+      <item>vcmpltpd</item>
+      <item>vcmpltps</item>
+      <item>vcmpltsd</item>
+      <item>vcmpltss</item>
+      <item>vcmpneq_oqpd</item>
+      <item>vcmpneq_oqps</item>
+      <item>vcmpneq_oqsd</item>
+      <item>vcmpneq_oqss</item>
+      <item>vcmpneq_ospd</item>
+      <item>vcmpneq_osps</item>
+      <item>vcmpneq_ossd</item>
+      <item>vcmpneq_osss</item>
+      <item>vcmpneqpd</item>
+      <item>vcmpneqps</item>
+      <item>vcmpneqsd</item>
+      <item>vcmpneqss</item>
+      <item>vcmpneq_uqpd</item>
+      <item>vcmpneq_uqps</item>
+      <item>vcmpneq_uqsd</item>
+      <item>vcmpneq_uqss</item>
+      <item>vcmpneq_uspd</item>
+      <item>vcmpneq_usps</item>
+      <item>vcmpneq_ussd</item>
+      <item>vcmpneq_usss</item>
+      <item>vcmpngepd</item>
+      <item>vcmpngeps</item>
+      <item>vcmpngesd</item>
+      <item>vcmpngess</item>
+      <item>vcmpnge_uqpd</item>
+      <item>vcmpnge_uqps</item>
+      <item>vcmpnge_uqsd</item>
+      <item>vcmpnge_uqss</item>
+      <item>vcmpnge_uspd</item>
+      <item>vcmpnge_usps</item>
+      <item>vcmpnge_ussd</item>
+      <item>vcmpnge_usss</item>
+      <item>vcmpngtpd</item>
+      <item>vcmpngtps</item>
+      <item>vcmpngtsd</item>
+      <item>vcmpngtss</item>
+      <item>vcmpngt_uqpd</item>
+      <item>vcmpngt_uqps</item>
+      <item>vcmpngt_uqsd</item>
+      <item>vcmpngt_uqss</item>
+      <item>vcmpngt_uspd</item>
+      <item>vcmpngt_usps</item>
+      <item>vcmpngt_ussd</item>
+      <item>vcmpngt_usss</item>
+      <item>vcmpnlepd</item>
+      <item>vcmpnleps</item>
+      <item>vcmpnlesd</item>
+      <item>vcmpnless</item>
+      <item>vcmpnle_uqpd</item>
+      <item>vcmpnle_uqps</item>
+      <item>vcmpnle_uqsd</item>
+      <item>vcmpnle_uqss</item>
+      <item>vcmpnle_uspd</item>
+      <item>vcmpnle_usps</item>
+      <item>vcmpnle_ussd</item>
+      <item>vcmpnle_usss</item>
+      <item>vcmpnltpd</item>
+      <item>vcmpnltps</item>
+      <item>vcmpnltsd</item>
+      <item>vcmpnltss</item>
+      <item>vcmpnlt_uqpd</item>
+      <item>vcmpnlt_uqps</item>
+      <item>vcmpnlt_uqsd</item>
+      <item>vcmpnlt_uqss</item>
+      <item>vcmpnlt_uspd</item>
+      <item>vcmpnlt_usps</item>
+      <item>vcmpnlt_ussd</item>
+      <item>vcmpnlt_usss</item>
+      <item>vcmpordpd</item>
+      <item>vcmpordps</item>
+      <item>vcmpord_qpd</item>
+      <item>vcmpord_qps</item>
+      <item>vcmpord_qsd</item>
+      <item>vcmpord_qss</item>
+      <item>vcmpordsd</item>
+      <item>vcmpord_spd</item>
+      <item>vcmpord_sps</item>
+      <item>vcmpordss</item>
+      <item>vcmpord_ssd</item>
+      <item>vcmpord_sss</item>
+      <item>vcmppd</item>
+      <item>vcmpps</item>
+      <item>vcmpsd</item>
+      <item>vcmpss</item>
+      <item>vcmptruepd</item>
+      <item>vcmptrueps</item>
+      <item>vcmptruesd</item>
+      <item>vcmptruess</item>
+      <item>vcmptrue_uqpd</item>
+      <item>vcmptrue_uqps</item>
+      <item>vcmptrue_uqsd</item>
+      <item>vcmptrue_uqss</item>
+      <item>vcmptrue_uspd</item>
+      <item>vcmptrue_usps</item>
+      <item>vcmptrue_ussd</item>
+      <item>vcmptrue_usss</item>
+      <item>vcmpunordpd</item>
+      <item>vcmpunordps</item>
+      <item>vcmpunord_qpd</item>
+      <item>vcmpunord_qps</item>
+      <item>vcmpunord_qsd</item>
+      <item>vcmpunord_qss</item>
+      <item>vcmpunordsd</item>
+      <item>vcmpunord_spd</item>
+      <item>vcmpunord_sps</item>
+      <item>vcmpunordss</item>
+      <item>vcmpunord_ssd</item>
+      <item>vcmpunord_sss</item>
+      <item>vcomisd</item>
+      <item>vcomiss</item>
+      <item>vcompresspd</item>
+      <item>vcompressps</item>
+      <item>vcvtdq2pd</item>
+      <item>vcvtdq2ps</item>
+      <item>vcvtpd2dq</item>
+      <item>vcvtpd2ps</item>
+      <item>vcvtpd2qq</item>
+      <item>vcvtpd2udq</item>
+      <item>vcvtpd2uqq</item>
+      <item>vcvtph2ps</item>
+      <item>vcvtps2dq</item>
+      <item>vcvtps2pd</item>
+      <item>vcvtps2ph</item>
+      <item>vcvtps2qq</item>
+      <item>vcvtps2udq</item>
+      <item>vcvtps2uqq</item>
+      <item>vcvtqq2pd</item>
+      <item>vcvtqq2ps</item>
+      <item>vcvtsd2si</item>
+      <item>vcvtsd2ss</item>
+      <item>vcvtsd2usi</item>
+      <item>vcvtsi2sd</item>
+      <item>vcvtsi2ss</item>
+      <item>vcvtss2sd</item>
+      <item>vcvtss2si</item>
+      <item>vcvtss2usi</item>
+      <item>vcvttpd2dq</item>
+      <item>vcvttpd2qq</item>
+      <item>vcvttpd2udq</item>
+      <item>vcvttpd2uqq</item>
+      <item>vcvttps2dq</item>
+      <item>vcvttps2qq</item>
+      <item>vcvttps2udq</item>
+      <item>vcvttps2uqq</item>
+      <item>vcvttsd2si</item>
+      <item>vcvttsd2usi</item>
+      <item>vcvttss2si</item>
+      <item>vcvttss2usi</item>
+      <item>vcvtudq2pd</item>
+      <item>vcvtudq2ps</item>
+      <item>vcvtuqq2pd</item>
+      <item>vcvtuqq2ps</item>
+      <item>vcvtusi2sd</item>
+      <item>vcvtusi2ss</item>
+      <item>vdbpsadbw</item>
+      <item>vdivpd</item>
+      <item>vdivps</item>
+      <item>vdivsd</item>
+      <item>vdivss</item>
+      <item>vdppd</item>
+      <item>vdpps</item>
+      <item>verr</item>
+      <item>verw</item>
+      <item>vexp2pd</item>
+      <item>vexp2ps</item>
+      <item>vexpandpd</item>
+      <item>vexpandps</item>
+      <item>vextractf128</item>
+      <item>vextractf32x4</item>
+      <item>vextractf32x8</item>
+      <item>vextractf64x2</item>
+      <item>vextractf64x4</item>
+      <item>vextracti128</item>
+      <item>vextracti32x4</item>
+      <item>vextracti32x8</item>
+      <item>vextracti64x2</item>
+      <item>vextracti64x4</item>
+      <item>vextractps</item>
+      <item>vfixupimmpd</item>
+      <item>vfixupimmps</item>
+      <item>vfixupimmsd</item>
+      <item>vfixupimmss</item>
+      <item>vfmadd123pd</item>
+      <item>vfmadd123ps</item>
+      <item>vfmadd123sd</item>
+      <item>vfmadd123ss</item>
+      <item>vfmadd132pd</item>
+      <item>vfmadd132ps</item>
+      <item>vfmadd132sd</item>
+      <item>vfmadd132ss</item>
+      <item>vfmadd213pd</item>
+      <item>vfmadd213ps</item>
+      <item>vfmadd213sd</item>
+      <item>vfmadd213ss</item>
+      <item>vfmadd231pd</item>
+      <item>vfmadd231ps</item>
+      <item>vfmadd231sd</item>
+      <item>vfmadd231ss</item>
+      <item>vfmadd312pd</item>
+      <item>vfmadd312ps</item>
+      <item>vfmadd312sd</item>
+      <item>vfmadd312ss</item>
+      <item>vfmadd321pd</item>
+      <item>vfmadd321ps</item>
+      <item>vfmadd321sd</item>
+      <item>vfmadd321ss</item>
+      <item>vfmaddpd</item>
+      <item>vfmaddps</item>
+      <item>vfmaddsd</item>
+      <item>vfmaddss</item>
+      <item>vfmaddsub123pd</item>
+      <item>vfmaddsub123ps</item>
+      <item>vfmaddsub132pd</item>
+      <item>vfmaddsub132ps</item>
+      <item>vfmaddsub213pd</item>
+      <item>vfmaddsub213ps</item>
+      <item>vfmaddsub231pd</item>
+      <item>vfmaddsub231ps</item>
+      <item>vfmaddsub312pd</item>
+      <item>vfmaddsub312ps</item>
+      <item>vfmaddsub321pd</item>
+      <item>vfmaddsub321ps</item>
+      <item>vfmaddsubpd</item>
+      <item>vfmaddsubps</item>
+      <item>vfmsub123pd</item>
+      <item>vfmsub123ps</item>
+      <item>vfmsub123sd</item>
+      <item>vfmsub123ss</item>
+      <item>vfmsub132pd</item>
+      <item>vfmsub132ps</item>
+      <item>vfmsub132sd</item>
+      <item>vfmsub132ss</item>
+      <item>vfmsub213pd</item>
+      <item>vfmsub213ps</item>
+      <item>vfmsub213sd</item>
+      <item>vfmsub213ss</item>
+      <item>vfmsub231pd</item>
+      <item>vfmsub231ps</item>
+      <item>vfmsub231sd</item>
+      <item>vfmsub231ss</item>
+      <item>vfmsub312pd</item>
+      <item>vfmsub312ps</item>
+      <item>vfmsub312sd</item>
+      <item>vfmsub312ss</item>
+      <item>vfmsub321pd</item>
+      <item>vfmsub321ps</item>
+      <item>vfmsub321sd</item>
+      <item>vfmsub321ss</item>
+      <item>vfmsubadd123pd</item>
+      <item>vfmsubadd123ps</item>
+      <item>vfmsubadd132pd</item>
+      <item>vfmsubadd132ps</item>
+      <item>vfmsubadd213pd</item>
+      <item>vfmsubadd213ps</item>
+      <item>vfmsubadd231pd</item>
+      <item>vfmsubadd231ps</item>
+      <item>vfmsubadd312pd</item>
+      <item>vfmsubadd312ps</item>
+      <item>vfmsubadd321pd</item>
+      <item>vfmsubadd321ps</item>
+      <item>vfmsubaddpd</item>
+      <item>vfmsubaddps</item>
+      <item>vfmsubpd</item>
+      <item>vfmsubps</item>
+      <item>vfmsubsd</item>
+      <item>vfmsubss</item>
+      <item>vfnmadd123pd</item>
+      <item>vfnmadd123ps</item>
+      <item>vfnmadd123sd</item>
+      <item>vfnmadd123ss</item>
+      <item>vfnmadd132pd</item>
+      <item>vfnmadd132ps</item>
+      <item>vfnmadd132sd</item>
+      <item>vfnmadd132ss</item>
+      <item>vfnmadd213pd</item>
+      <item>vfnmadd213ps</item>
+      <item>vfnmadd213sd</item>
+      <item>vfnmadd213ss</item>
+      <item>vfnmadd231pd</item>
+      <item>vfnmadd231ps</item>
+      <item>vfnmadd231sd</item>
+      <item>vfnmadd231ss</item>
+      <item>vfnmadd312pd</item>
+      <item>vfnmadd312ps</item>
+      <item>vfnmadd312sd</item>
+      <item>vfnmadd312ss</item>
+      <item>vfnmadd321pd</item>
+      <item>vfnmadd321ps</item>
+      <item>vfnmadd321sd</item>
+      <item>vfnmadd321ss</item>
+      <item>vfnmaddpd</item>
+      <item>vfnmaddps</item>
+      <item>vfnmaddsd</item>
+      <item>vfnmaddss</item>
+      <item>vfnmsub123pd</item>
+      <item>vfnmsub123ps</item>
+      <item>vfnmsub123sd</item>
+      <item>vfnmsub123ss</item>
+      <item>vfnmsub132pd</item>
+      <item>vfnmsub132ps</item>
+      <item>vfnmsub132sd</item>
+      <item>vfnmsub132ss</item>
+      <item>vfnmsub213pd</item>
+      <item>vfnmsub213ps</item>
+      <item>vfnmsub213sd</item>
+      <item>vfnmsub213ss</item>
+      <item>vfnmsub231pd</item>
+      <item>vfnmsub231ps</item>
+      <item>vfnmsub231sd</item>
+      <item>vfnmsub231ss</item>
+      <item>vfnmsub312pd</item>
+      <item>vfnmsub312ps</item>
+      <item>vfnmsub312sd</item>
+      <item>vfnmsub312ss</item>
+      <item>vfnmsub321pd</item>
+      <item>vfnmsub321ps</item>
+      <item>vfnmsub321sd</item>
+      <item>vfnmsub321ss</item>
+      <item>vfnmsubpd</item>
+      <item>vfnmsubps</item>
+      <item>vfnmsubsd</item>
+      <item>vfnmsubss</item>
+      <item>vfpclasspd</item>
+      <item>vfpclassps</item>
+      <item>vfpclasssd</item>
+      <item>vfpclassss</item>
+      <item>vfrczpd</item>
+      <item>vfrczps</item>
+      <item>vfrczsd</item>
+      <item>vfrczss</item>
+      <item>vgatherdpd</item>
+      <item>vgatherdps</item>
+      <item>vgatherpf0dpd</item>
+      <item>vgatherpf0dps</item>
+      <item>vgatherpf0qpd</item>
+      <item>vgatherpf0qps</item>
+      <item>vgatherpf1dpd</item>
+      <item>vgatherpf1dps</item>
+      <item>vgatherpf1qpd</item>
+      <item>vgatherpf1qps</item>
+      <item>vgatherqpd</item>
+      <item>vgatherqps</item>
+      <item>vgetexppd</item>
+      <item>vgetexpps</item>
+      <item>vgetexpsd</item>
+      <item>vgetexpss</item>
+      <item>vgetmantpd</item>
+      <item>vgetmantps</item>
+      <item>vgetmantsd</item>
+      <item>vgetmantss</item>
+      <item>vgf2p8affineinvqb</item>
+      <item>vgf2p8affineqb</item>
+      <item>vgf2p8mulb</item>
+      <item>vhaddpd</item>
+      <item>vhaddps</item>
+      <item>vhsubpd</item>
+      <item>vhsubps</item>
+      <item>vinsertf128</item>
+      <item>vinsertf32x4</item>
+      <item>vinsertf32x8</item>
+      <item>vinsertf64x2</item>
+      <item>vinsertf64x4</item>
+      <item>vinserti128</item>
+      <item>vinserti32x4</item>
+      <item>vinserti32x8</item>
+      <item>vinserti64x2</item>
+      <item>vinserti64x4</item>
+      <item>vinsertps</item>
+      <item>vlddqu</item>
+      <item>vldmxcsr</item>
+      <item>vldqqu</item>
+      <item>vmaskmovdqu</item>
+      <item>vmaskmovpd</item>
+      <item>vmaskmovps</item>
+      <item>vmaxpd</item>
+      <item>vmaxps</item>
+      <item>vmaxsd</item>
+      <item>vmaxss</item>
+      <item>vmcall</item>
+      <item>vmclear</item>
+      <item>vmfunc</item>
+      <item>vminpd</item>
+      <item>vminps</item>
+      <item>vminsd</item>
+      <item>vminss</item>
+      <item>vmlaunch</item>
+      <item>vmload</item>
+      <item>vmmcall</item>
+      <item>vmovapd</item>
+      <item>vmovaps</item>
+      <item>vmovd</item>
+      <item>vmovddup</item>
+      <item>vmovdqa</item>
+      <item>vmovdqa32</item>
+      <item>vmovdqa64</item>
+      <item>vmovdqu</item>
+      <item>vmovdqu16</item>
+      <item>vmovdqu32</item>
+      <item>vmovdqu64</item>
+      <item>vmovdqu8</item>
+      <item>vmovhlps</item>
+      <item>vmovhpd</item>
+      <item>vmovhps</item>
+      <item>vmovlhps</item>
+      <item>vmovlpd</item>
+      <item>vmovlps</item>
+      <item>vmovmskpd</item>
+      <item>vmovmskps</item>
+      <item>vmovntdq</item>
+      <item>vmovntdqa</item>
+      <item>vmovntpd</item>
+      <item>vmovntps</item>
+      <item>vmovntqq</item>
+      <item>vmovq</item>
+      <item>vmovqqa</item>
+      <item>vmovqqu</item>
+      <item>vmovsd</item>
+      <item>vmovshdup</item>
+      <item>vmovsldup</item>
+      <item>vmovss</item>
+      <item>vmovupd</item>
+      <item>vmovups</item>
+      <item>vmpsadbw</item>
+      <item>vmptrld</item>
+      <item>vmptrst</item>
+      <item>vmread</item>
+      <item>vmresume</item>
+      <item>vmrun</item>
+      <item>vmsave</item>
+      <item>vmulpd</item>
+      <item>vmulps</item>
+      <item>vmulsd</item>
+      <item>vmulss</item>
+      <item>vmwrite</item>
+      <item>vmxoff</item>
+      <item>vmxon</item>
+      <item>vorpd</item>
+      <item>vorps</item>
+      <item>vpabsb</item>
+      <item>vpabsd</item>
+      <item>vpabsq</item>
+      <item>vpabsw</item>
+      <item>vpackssdw</item>
+      <item>vpacksswb</item>
+      <item>vpackusdw</item>
+      <item>vpackuswb</item>
+      <item>vpaddb</item>
+      <item>vpaddd</item>
+      <item>vpaddq</item>
+      <item>vpaddsb</item>
+      <item>vpaddsw</item>
+      <item>vpaddusb</item>
+      <item>vpaddusw</item>
+      <item>vpaddw</item>
+      <item>vpalignr</item>
+      <item>vpand</item>
+      <item>vpandd</item>
+      <item>vpandn</item>
+      <item>vpandnd</item>
+      <item>vpandnq</item>
+      <item>vpandq</item>
+      <item>vpavgb</item>
+      <item>vpavgw</item>
+      <item>vpblendd</item>
+      <item>vpblendmb</item>
+      <item>vpblendmd</item>
+      <item>vpblendmq</item>
+      <item>vpblendmw</item>
+      <item>vpblendw</item>
+      <item>vpblendvb</item>
+      <item>vpbroadcastb</item>
+      <item>vpbroadcastd</item>
+      <item>vpbroadcastmb2q</item>
+      <item>vpbroadcastmw2d</item>
+      <item>vpbroadcastq</item>
+      <item>vpbroadcastw</item>
+      <item>vpclmulhqhqdq</item>
+      <item>vpclmulhqlqdq</item>
+      <item>vpclmullqhqdq</item>
+      <item>vpclmullqlqdq</item>
+      <item>vpclmulqdq</item>
+      <item>vpcmov</item>
+      <item>vpcmpb</item>
+      <item>vpcmpd</item>
+      <item>vpcmpeqb</item>
+      <item>vpcmpeqd</item>
+      <item>vpcmpeqq</item>
+      <item>vpcmpeqw</item>
+      <item>vpcmpestri</item>
+      <item>vpcmpestrm</item>
+      <item>vpcmpgtb</item>
+      <item>vpcmpgtd</item>
+      <item>vpcmpgtq</item>
+      <item>vpcmpgtw</item>
+      <item>vpcmpistri</item>
+      <item>vpcmpistrm</item>
+      <item>vpcmpq</item>
+      <item>vpcmpub</item>
+      <item>vpcmpud</item>
+      <item>vpcmpuq</item>
+      <item>vpcmpuw</item>
+      <item>vpcmpw</item>
+      <item>vpcomb</item>
+      <item>vpcomd</item>
+      <item>vpcompressb</item>
+      <item>vpcompressd</item>
+      <item>vpcompressq</item>
+      <item>vpcompressw</item>
+      <item>vpcomq</item>
+      <item>vpcomub</item>
+      <item>vpcomud</item>
+      <item>vpcomuq</item>
+      <item>vpcomuw</item>
+      <item>vpcomw</item>
+      <item>vpconflictd</item>
+      <item>vpconflictq</item>
+      <item>vpdpbusd</item>
+      <item>vpdpbusds</item>
+      <item>vpdpwssd</item>
+      <item>vpdpwssds</item>
+      <item>vperm2f128</item>
+      <item>vperm2i128</item>
+      <item>vpermb</item>
+      <item>vpermd</item>
+      <item>vpermi2b</item>
+      <item>vpermi2d</item>
+      <item>vpermi2pd</item>
+      <item>vpermi2ps</item>
+      <item>vpermi2q</item>
+      <item>vpermi2w</item>
+      <item>vpermilpd</item>
+      <item>vpermilps</item>
+      <item>vpermpd</item>
+      <item>vpermps</item>
+      <item>vpermq</item>
+      <item>vpermt2b</item>
+      <item>vpermt2d</item>
+      <item>vpermt2pd</item>
+      <item>vpermt2ps</item>
+      <item>vpermt2q</item>
+      <item>vpermt2w</item>
+      <item>vpermw</item>
+      <item>vpexpandb</item>
+      <item>vpexpandd</item>
+      <item>vpexpandq</item>
+      <item>vpexpandw</item>
+      <item>vpextrb</item>
+      <item>vpextrd</item>
+      <item>vpextrq</item>
+      <item>vpextrw</item>
+      <item>vpgatherdd</item>
+      <item>vpgatherdq</item>
+      <item>vpgatherqd</item>
+      <item>vpgatherqq</item>
+      <item>vphaddbd</item>
+      <item>vphaddbq</item>
+      <item>vphaddbw</item>
+      <item>vphaddd</item>
+      <item>vphadddq</item>
+      <item>vphaddsw</item>
+      <item>vphaddubd</item>
+      <item>vphaddubq</item>
+      <item>vphaddubw</item>
+      <item>vphaddudq</item>
+      <item>vphadduwd</item>
+      <item>vphadduwq</item>
+      <item>vphaddw</item>
+      <item>vphaddwd</item>
+      <item>vphaddwq</item>
+      <item>vphminposuw</item>
+      <item>vphsubbw</item>
+      <item>vphsubd</item>
+      <item>vphsubdq</item>
+      <item>vphsubsw</item>
+      <item>vphsubw</item>
+      <item>vphsubwd</item>
+      <item>vpinsrb</item>
+      <item>vpinsrd</item>
+      <item>vpinsrq</item>
+      <item>vpinsrw</item>
+      <item>vplzcntd</item>
+      <item>vplzcntq</item>
+      <item>vpmacsdd</item>
+      <item>vpmacsdqh</item>
+      <item>vpmacsdql</item>
+      <item>vpmacssdd</item>
+      <item>vpmacssdqh</item>
+      <item>vpmacssdql</item>
+      <item>vpmacsswd</item>
+      <item>vpmacssww</item>
+      <item>vpmacswd</item>
+      <item>vpmacsww</item>
+      <item>vpmadcsswd</item>
+      <item>vpmadcswd</item>
+      <item>vpmadd52huq</item>
+      <item>vpmadd52luq</item>
+      <item>vpmaddubsw</item>
+      <item>vpmaddwd</item>
+      <item>vpmaskmovd</item>
+      <item>vpmaskmovq</item>
+      <item>vpmaxsb</item>
+      <item>vpmaxsd</item>
+      <item>vpmaxsq</item>
+      <item>vpmaxsw</item>
+      <item>vpmaxub</item>
+      <item>vpmaxud</item>
+      <item>vpmaxuq</item>
+      <item>vpmaxuw</item>
+      <item>vpminsb</item>
+      <item>vpminsd</item>
+      <item>vpminsq</item>
+      <item>vpminsw</item>
+      <item>vpminub</item>
+      <item>vpminud</item>
+      <item>vpminuq</item>
+      <item>vpminuw</item>
+      <item>vpmovb2m</item>
+      <item>vpmovd2m</item>
+      <item>vpmovdb</item>
+      <item>vpmovdw</item>
+      <item>vpmovm2b</item>
+      <item>vpmovm2d</item>
+      <item>vpmovm2q</item>
+      <item>vpmovm2w</item>
+      <item>vpmovmskb</item>
+      <item>vpmovq2m</item>
+      <item>vpmovqb</item>
+      <item>vpmovqd</item>
+      <item>vpmovqw</item>
+      <item>vpmovsdb</item>
+      <item>vpmovsdw</item>
+      <item>vpmovsqb</item>
+      <item>vpmovsqd</item>
+      <item>vpmovsqw</item>
+      <item>vpmovswb</item>
+      <item>vpmovsxbd</item>
+      <item>vpmovsxbq</item>
+      <item>vpmovsxbw</item>
+      <item>vpmovsxdq</item>
+      <item>vpmovsxwd</item>
+      <item>vpmovsxwq</item>
+      <item>vpmovusdb</item>
+      <item>vpmovusdw</item>
+      <item>vpmovusqb</item>
+      <item>vpmovusqd</item>
+      <item>vpmovusqw</item>
+      <item>vpmovuswb</item>
+      <item>vpmovw2m</item>
+      <item>vpmovwb</item>
+      <item>vpmovzxbd</item>
+      <item>vpmovzxbq</item>
+      <item>vpmovzxbw</item>
+      <item>vpmovzxdq</item>
+      <item>vpmovzxwd</item>
+      <item>vpmovzxwq</item>
+      <item>vpmuldq</item>
+      <item>vpmulhrsw</item>
+      <item>vpmulhuw</item>
+      <item>vpmulhw</item>
+      <item>vpmulld</item>
+      <item>vpmullq</item>
+      <item>vpmullw</item>
+      <item>vpmultishiftqb</item>
+      <item>vpmuludq</item>
+      <item>vpopcntb</item>
+      <item>vpopcntd</item>
+      <item>vpopcntq</item>
+      <item>vpopcntw</item>
+      <item>vpor</item>
+      <item>vpord</item>
+      <item>vporq</item>
+      <item>vpperm</item>
+      <item>vprold</item>
+      <item>vprolq</item>
+      <item>vprolvd</item>
+      <item>vprolvq</item>
+      <item>vprord</item>
+      <item>vprorq</item>
+      <item>vprorvd</item>
+      <item>vprorvq</item>
+      <item>vprotb</item>
+      <item>vprotd</item>
+      <item>vprotq</item>
+      <item>vprotw</item>
+      <item>vpsadbw</item>
+      <item>vpscatterdd</item>
+      <item>vpscatterdq</item>
+      <item>vpscatterqd</item>
+      <item>vpscatterqq</item>
+      <item>vpshab</item>
+      <item>vpshad</item>
+      <item>vpshaq</item>
+      <item>vpshaw</item>
+      <item>vpshlb</item>
+      <item>vpshld</item>
+      <item>vpshldd</item>
+      <item>vpshldq</item>
+      <item>vpshldw</item>
+      <item>vpshldvd</item>
+      <item>vpshldvq</item>
+      <item>vpshldvw</item>
+      <item>vpshlq</item>
+      <item>vpshlw</item>
+      <item>vpshrdd</item>
+      <item>vpshrdq</item>
+      <item>vpshrdw</item>
+      <item>vpshrdvd</item>
+      <item>vpshrdvq</item>
+      <item>vpshrdvw</item>
+      <item>vpshufb</item>
+      <item>vpshufbitqmb</item>
+      <item>vpshufd</item>
+      <item>vpshufhw</item>
+      <item>vpshuflw</item>
+      <item>vpsignb</item>
+      <item>vpsignd</item>
+      <item>vpsignw</item>
+      <item>vpslld</item>
+      <item>vpslldq</item>
+      <item>vpsllq</item>
+      <item>vpsllw</item>
+      <item>vpsllvd</item>
+      <item>vpsllvq</item>
+      <item>vpsllvw</item>
+      <item>vpsrad</item>
+      <item>vpsraq</item>
+      <item>vpsraw</item>
+      <item>vpsravd</item>
+      <item>vpsravq</item>
+      <item>vpsravw</item>
+      <item>vpsrld</item>
+      <item>vpsrldq</item>
+      <item>vpsrlq</item>
+      <item>vpsrlw</item>
+      <item>vpsrlvd</item>
+      <item>vpsrlvq</item>
+      <item>vpsrlvw</item>
+      <item>vpsubb</item>
+      <item>vpsubd</item>
+      <item>vpsubq</item>
+      <item>vpsubsb</item>
+      <item>vpsubsw</item>
+      <item>vpsubusb</item>
+      <item>vpsubusw</item>
+      <item>vpsubw</item>
+      <item>vpternlogd</item>
+      <item>vpternlogq</item>
+      <item>vptest</item>
+      <item>vptestmb</item>
+      <item>vptestmd</item>
+      <item>vptestmq</item>
+      <item>vptestmw</item>
+      <item>vptestnmb</item>
+      <item>vptestnmd</item>
+      <item>vptestnmq</item>
+      <item>vptestnmw</item>
+      <item>vpunpckhbw</item>
+      <item>vpunpckhdq</item>
+      <item>vpunpckhqdq</item>
+      <item>vpunpckhwd</item>
+      <item>vpunpcklbw</item>
+      <item>vpunpckldq</item>
+      <item>vpunpcklqdq</item>
+      <item>vpunpcklwd</item>
+      <item>vpxor</item>
+      <item>vpxord</item>
+      <item>vpxorq</item>
+      <item>vrangepd</item>
+      <item>vrangeps</item>
+      <item>vrangesd</item>
+      <item>vrangess</item>
+      <item>vrcp14pd</item>
+      <item>vrcp14ps</item>
+      <item>vrcp14sd</item>
+      <item>vrcp14ss</item>
+      <item>vrcp28pd</item>
+      <item>vrcp28ps</item>
+      <item>vrcp28sd</item>
+      <item>vrcp28ss</item>
+      <item>vrcpps</item>
+      <item>vrcpss</item>
+      <item>vreducepd</item>
+      <item>vreduceps</item>
+      <item>vreducesd</item>
+      <item>vreducess</item>
+      <item>wrfsbase</item>
+      <item>wrgsbase</item>
+      <item>wrmsr</item>
+      <item>vrndscalepd</item>
+      <item>vrndscaleps</item>
+      <item>vrndscalesd</item>
+      <item>vrndscaless</item>
+      <item>vroundpd</item>
+      <item>vroundps</item>
+      <item>vroundsd</item>
+      <item>vroundss</item>
+      <item>wrpkru</item>
+      <item>wrshr</item>
+      <item>vrsqrt14pd</item>
+      <item>vrsqrt14ps</item>
+      <item>vrsqrt14sd</item>
+      <item>vrsqrt14ss</item>
+      <item>vrsqrt28pd</item>
+      <item>vrsqrt28ps</item>
+      <item>vrsqrt28sd</item>
+      <item>vrsqrt28ss</item>
+      <item>vrsqrtps</item>
+      <item>vrsqrtss</item>
+      <item>vscalefpd</item>
+      <item>vscalefps</item>
+      <item>vscalefsd</item>
+      <item>vscalefss</item>
+      <item>vscatterdpd</item>
+      <item>vscatterdps</item>
+      <item>vscatterpf0dpd</item>
+      <item>vscatterpf0dps</item>
+      <item>vscatterpf0qpd</item>
+      <item>vscatterpf0qps</item>
+      <item>vscatterpf1dpd</item>
+      <item>vscatterpf1dps</item>
+      <item>vscatterpf1qpd</item>
+      <item>vscatterpf1qps</item>
+      <item>vscatterqpd</item>
+      <item>vscatterqps</item>
+      <item>vshuff32x4</item>
+      <item>vshuff64x2</item>
+      <item>vshufi32x4</item>
+      <item>vshufi64x2</item>
+      <item>vshufpd</item>
+      <item>vshufps</item>
+      <item>vsqrtpd</item>
+      <item>vsqrtps</item>
+      <item>vsqrtsd</item>
+      <item>vsqrtss</item>
+      <item>vstmxcsr</item>
+      <item>vsubpd</item>
+      <item>vsubps</item>
+      <item>vsubsd</item>
+      <item>vsubss</item>
+      <item>vtestpd</item>
+      <item>vtestps</item>
+      <item>vucomisd</item>
+      <item>vucomiss</item>
+      <item>vunpckhpd</item>
+      <item>vunpckhps</item>
+      <item>vunpcklpd</item>
+      <item>vunpcklps</item>
+      <item>vxorpd</item>
+      <item>vxorps</item>
+      <item>vzeroall</item>
+      <item>vzeroupper</item>
+      <item>xabort</item>
+      <item>xadd</item>
+      <item>xbegin</item>
+      <item>xbts</item>
+      <item>xchg</item>
+      <item>xcryptcbc</item>
+      <item>xcryptcfb</item>
+      <item>xcryptctr</item>
+      <item>xcryptecb</item>
+      <item>xcryptofb</item>
+      <item>xend</item>
+      <item>xgetbv</item>
+      <item>xlat</item>
+      <item>xlatb</item>
+      <item>xor</item>
+      <item>xorpd</item>
+      <item>xorps</item>
+      <item>xrstor</item>
+      <item>xrstor64</item>
+      <item>xrstors</item>
+      <item>xrstors64</item>
+      <item>xsave</item>
+      <item>xsave64</item>
+      <item>xsavec</item>
+      <item>xsavec64</item>
+      <item>xsaveopt</item>
+      <item>xsaveopt64</item>
+      <item>xsaves</item>
+      <item>xsaves64</item>
+      <item>xsetbv</item>
+      <item>xsha1</item>
+      <item>xsha256</item>
+      <item>xstore</item>
+      <item>xtest</item>
     </list>
     <list name="Data">
       <!-- repeat some data declaration -->
diff --git a/xml/python.xml b/xml/python.xml
--- a/xml/python.xml
+++ b/xml/python.xml
@@ -19,7 +19,7 @@
 <!-- v2.07 add support for %prog and co, see bug 142832 -->
 <!-- v2.08 add missing overloaders, new Python 3 statements, builtins, and keywords -->
 <!-- v2.29 recognize escape sequenzes correctly -->
-<language name="Python" version="10" style="python" indenter="python" kateversion="5.0" section="Scripts" extensions="*.py;*.pyw;SConstruct;SConscript" mimetype="application/x-python;text/x-python;text/x-python3" casesensitive="1" author="Michael Bueker" license="">
+<language name="Python" version="11" style="python" indenter="python" kateversion="5.0" section="Scripts" extensions="*.py;*.pyw;SConstruct;SConscript;*.FCMacro" mimetype="application/x-python;text/x-python;text/x-python3" casesensitive="1" author="Michael Bueker" license="">
 	<highlighting>
 		<list name="import">
 			<item>import</item>
diff --git a/xml/rust.xml b/xml/rust.xml
--- a/xml/rust.xml
+++ b/xml/rust.xml
@@ -28,12 +28,12 @@
 -->
 <!DOCTYPE language SYSTEM "language.dtd"
 [
-	<!ENTITY rustIdent "([a-zA-Z_]|[^[:ascii:]])(\w|[^[:ascii:]])*">
-	<!ENTITY rustIntSuf "([iu](8|16|32|64|128|size)?)?">
-	<!ENTITY commonEscape "([trn0&apos;&quot;\\]|x[0-9a-fA-F]{2})">
-	<!ENTITY unicodeEscape "u\{([0-9a-fA-F]_*){1,6}\}">
+	<!ENTITY rustIdent "(?:[a-zA-Z_]|[^[:ascii:]])(?:\w|[^[:ascii:]])*">
+	<!ENTITY rustIntSuf "(?:[iu](?:8|16|32|64|128|size)?)?">
+	<!ENTITY commonEscape "(?:[trn0&apos;&quot;\\]|x[0-9a-fA-F]{2})">
+	<!ENTITY unicodeEscape "u\{(?:[0-9a-fA-F]_*){1,6}\}">
 ]>
-<language name="Rust" version="7" kateversion="5.0" section="Sources" extensions="*.rs" mimetype="text/rust" priority="15" license="MIT" author="The Rust Project Developers">
+<language name="Rust" version="8" kateversion="5.0" section="Sources" extensions="*.rs" mimetype="text/rust" priority="15" license="MIT" author="The Rust Project Developers">
 <highlighting>
 	<list name="fn">
 		<item>fn</item>
@@ -372,11 +372,11 @@
 			<keyword String="traits" attribute="Trait" context="#stay"/>
 			<IncludeRules context="FindComments"/>
 			<!-- Hexadecimal, Octal & Binary -->
-			<RegExpr String="\b0(x[0-9a-fA-F_]+|o[0-7_]+|b[01_]+)&rustIntSuf;\b" attribute="Number" context="#stay"/>
+			<RegExpr String="\b0(?:x[0-9a-fA-F_]+|o[0-7_]+|b[01_]+)&rustIntSuf;\b" attribute="Number" context="#stay"/>
 			<!-- Float & Decimal -->
-			<RegExpr String="\b[0-9][0-9_]*((\.[0-9][0-9_]*)?([eE][\+\-]?[0-9_]+)?(f32|f64)?|&rustIntSuf;)\b" attribute="Number" context="#stay"/>
+			<RegExpr String="\b[0-9][0-9_]*(?:(?:\.[0-9][0-9_]*)?(?:[eE][\+\-]?[0-9_]+)?(?:f32|f64)?|&rustIntSuf;)\b" attribute="Number" context="#stay"/>
 			<!-- Invalid number -->
-			<RegExpr String="\b0(b[01_]*[^01_]|o[0-7_]*[^0-7_]|x[0-9a-fA-F_]*[^0-9a-fA-F_])\w*&rustIntSuf;\b" attribute="Error" context="#stay"/>
+			<RegExpr String="\b0(?:b[01_]*[^01_]|o[0-7_]*[^0-7_]|x[0-9a-fA-F_]*[^0-9a-fA-F_])\w*&rustIntSuf;\b" attribute="Error" context="#stay"/>
 			<Detect2Chars char="#" char1="[" attribute="Attribute" context="Attribute" beginRegion="Attribute"/>
 			<StringDetect String="#![" attribute="Attribute" context="Attribute" beginRegion="Attribute"/>
 			<RegExpr String="&rustIdent;::" attribute="Scope"/>
@@ -386,13 +386,13 @@
 			<DetectChar char="{" attribute="Symbol" context="#stay" beginRegion="Brace" />
 			<DetectChar char="}" attribute="Symbol" context="#stay" endRegion="Brace" />
 			<!-- Raw Strings -->
-			<RegExpr String="b?r(#*)&quot;" attribute="String" context="RawString" dynamic="true"/>
+			<RegExpr String="b?r(#*)&quot;" attribute="String" context="RawString"/>
 			<!-- Byte Strings -->
 			<Detect2Chars char="b" char1="&quot;" attribute="String" context="ByteString"/>
 			<!-- Strings -->
 			<DetectChar char="&quot;" attribute="String" context="String"/>
 			<!-- Byte -->
-			<RegExpr String="b&apos;(?=([^&apos;\\]|\\&commonEscape;)&apos;)" attribute="Character" context="Character"/>
+			<RegExpr String="b&apos;(?=(?:[^&apos;\\]|\\&commonEscape;)&apos;)" attribute="Character" context="Character"/>
 			<!-- Character -->
 			<DetectChar char="&apos;" attribute="Character" context="Character"/>
 			<DetectChar char="[" attribute="Normal Text" context="#stay" beginRegion="Bracket" />
@@ -429,14 +429,14 @@
 			<DetectChar char="\" attribute="CharEscape" context="CharEscape"/>
 			<DetectChar attribute="String" context="#pop" char="&quot;"/>
 		</context>
-		<context attribute="String" lineEndContext="#stay" name="RawString" dynamic="true">
-			<RegExpr String="&quot;%1" attribute="String" context="#pop" dynamic="true"/>
+		<context attribute="String" lineEndContext="#stay" name="RawString">
+			<StringDetect String="&quot;%1" attribute="String" context="#pop" dynamic="true"/>
 		</context>
 		<context attribute="Character" lineEndContext="#pop" name="Character" fallthrough="true" fallthroughContext="#pop">
 			<RegExpr String="[^&apos;\\](?=&apos;)" attribute="Character" context="#stay"/>
-			<RegExpr String="\\(&unicodeEscape;|&commonEscape;)(?=&apos;)" attribute="CharEscape" context="#stay"/>
+			<RegExpr String="\\(?:&unicodeEscape;|&commonEscape;)(?=&apos;)" attribute="CharEscape" context="#stay"/>
 			<DetectChar attribute="Character" context="#pop" char="&apos;"/>
-			<RegExpr String="(\\.|[^&apos;\\])[^&apos;]*(?=&apos;([\d\s!&quot;#&#036;&#037;&amp;&#039;\(\)\*\+,\-\./:;&lt;\=&gt;\?@\[\\\]\^&#096;\{\|\}~[:cntrl:]]|$))" attribute="Error" context="#stay"/>
+			<RegExpr String="(?:\\.|[^&apos;\\])[^&apos;]*(?=&apos;(?:[\d\s!&quot;#&#036;&#037;&amp;&#039;\(\)\*\+,\-\./:;&lt;\=&gt;\?@\[\\\]\^&#096;\{\|\}~[:cntrl:]]|$))" attribute="Error" context="#stay"/>
 		</context>
 		<context attribute="CharEscape" lineEndContext="#pop" name="CharEscape">
 			<RegExpr String="&commonEscape;" attribute="CharEscape" context="#pop"/>
diff --git a/xml/sql-postgresql.xml b/xml/sql-postgresql.xml
--- a/xml/sql-postgresql.xml
+++ b/xml/sql-postgresql.xml
@@ -3,7 +3,7 @@
 <!-- PostgreSQL SQL, syntax definition based on sql.xml by Yury Lebedev
      v5 fix comments by Gene Thomas <gene@genethomas.com>
   -->
-<language name="SQL (PostgreSQL)" version="7" kateversion="5.0" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">
+<language name="SQL (PostgreSQL)" version="8" kateversion="5.0" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">
   <highlighting>
     <list name="controlFlow">
       <item>BEGIN</item>
@@ -1010,7 +1010,7 @@
         <DetectChar attribute="Comment" context="Identifier" char="&quot;"/>
         <AnyChar attribute="Symbol" context="#stay" String=":&#38;"/>
         <RegExpr attribute="Preprocessor" context="Preprocessor" String="@@?[^@ \t\r\n]" column="0"/>
-        <RegExpr attribute="Operator" context="MultiLineString" String="\$([^\$\n\r]*)\$" dynamic="true"/>
+        <RegExpr attribute="Operator" context="MultiLineString" String="\$([^\$\n\r]*)\$"/>
         <AnyChar attribute="Operator" context="#stay" String="+-*/=%^!&lt;&gt;&amp;|@~#"/>
         <Detect2Chars attribute="Operator" context="#stay" char=":" char1="="/>
         <Detect2Chars attribute="Operator" context="#stay" char="." char1="."/>
@@ -1020,7 +1020,7 @@
         <Detect2Chars attribute="Operator" context="#stay" char="?" char1="|"/>
       </context>
       <context name="CreateFunction" attribute="Normal Text" lineEndContext="#stay">
-        <RegExpr attribute="Function" context="FunctionBody" String="\$([^\$\n\r]*)\$" dynamic="true"/>
+        <RegExpr attribute="Function" context="FunctionBody" String="\$([^\$\n\r]*)\$"/>
         <IncludeRules context="Normal"/>
       </context>
       <context name="FunctionBody" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
diff --git a/xml/typescript.xml b/xml/typescript.xml
--- a/xml/typescript.xml
+++ b/xml/typescript.xml
@@ -1,14 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE language SYSTEM "language.dtd"
 [
-	<!ENTITY identifier   "[a-zA-Z_$[:^ascii:]][\w$[:^ascii:]]*">
-	<!ENTITY numSuffix    "(?=n?(?:[^\w]|$))">
-	<!ENTITY objectOp     "[\?!]?">
-	<!ENTITY objectPoint  "\s*&objectOp;\.">
-	<!ENTITY endLine      "\s*(?:$|//|(?:/\*.*\*/\s*)+(?:$|//))">
-	<!ENTITY utilityTypes "\b(?:Partial|Readonly|Record|Pick|Omit|Exclude|Extract|NonNullable|ReturnType|InstanceType|Required|ThisType)(?=\s*&lt;)">
+	<!ENTITY identifier     "[a-zA-Z_$[:^ascii:]][\w$[:^ascii:]]*">
+	<!ENTITY numSuffix      "(?=n?(?:[^\w]|$))">
+	<!ENTITY objectOp       "[\?!]?">
+	<!ENTITY objectPoint    "\s*&objectOp;\.">
+	<!ENTITY endLine        "\s*(?:$|//|(?:/\*.*\*/\s*)+(?:$|//))">
+	<!ENTITY parameter      "&identifier;(?=\s*&objectOp;:)">
+
+	<!ENTITY utilityTypes   "\b(?:Partial|Readonly|Record|Pick|Omit|Exclude|Extract|NonNullable|ReturnType|InstanceType|Required|ThisType)(?=\s*&lt;)">
 	<!-- function<...>( or function( -->
 	<!ENTITY functionSuffix "(?=\s*(?:&lt;(?:\{(?:[^\{\}]|\{[^\{\}]*\})*\}|\((?:[^\(\)]|\([^\(\)]*\))*\)|\[(?:[^\[\]]|\[[^\[\]]*\])*\]|'(?:\\.|[^'])*'|&quot;(?:\\.|[^&quot;])*&quot;|`(?:\\.|[^`])*`|[^&lt;&gt;]|&lt;.*&gt;)*&gt;)?\()">
+
+	<!ENTITY codeContent    "&quot;(?:[^&quot;]|\\.)*&quot;|'(?:[^']|\\.)*'|`(?:[^`]|\\.)`|/\*.*\*/|/(?:[^/\\\[]|\\.|\[(?:[^\]\\]|\\.)+\])+/">
 ]>
 
 <!--
@@ -16,7 +20,7 @@
 
       This file is part of the KDE's KSyntaxHighlighting framework.
 
-      Copyright 2018-2019 Nibaldo González S. (nibgonz@gmail.com)
+      Copyright 2018-2020 Nibaldo González S. (nibgonz@gmail.com)
 
       This Source Code Form is subject to the terms of the MIT License.
       If a copy of the license was not distributed with this file,
@@ -38,6 +42,8 @@
       Attributes: path, types, no-default-lib, name
 
     Change log:
+     * v9 [2020-02-23]: Add private-named instance fields and type-only imports/exports.
+                        Improve conditional expressions.
      * v8 [2019-12-12]: Add "bigint" primitive type.
      * v7 [2019-11-20]: Move keywords of built-in object to "javascript.xml" and adapt.
      * v6 [2019-10-01]: Add "asserts" keyword in type predicates.
@@ -53,7 +59,7 @@
 -->
 
 <language name="TypeScript"
-          version="8"
+          version="9"
           kateversion="5.53"
           section="Scripts"
           extensions="*.ts"
@@ -72,13 +78,13 @@
 	</list>
 	<list name="keywords">
 		<include>keywords##JavaScript</include>
-		<item>declare</item> <!-- storage.modifier.ts -->
 	</list>
 	<list name="reserved">
 		<include>reserved##JavaScript</include>
 		<item>type</item>
 		<item>arguments</item>
 		<!-- Class -->
+		<item>declare</item> <!-- storage modifier -->
 		<item>readonly</item>
 		<item>abstract</item>
 		<item>constructor</item>
@@ -221,6 +227,18 @@
 		<context name="ShebangLine" attribute="Comment" lineEndContext="#pop!Normal" />
 
 		<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+			<IncludeRules context="Normal Pt1" />
+
+			<!-- NOTE & TODO: The identifiers before ":" are highlighted as "dsNormal".
+			     These identifiers should be highlighted in a different way depending on the
+			     context, for example, in the declaration of classes or interfaces, in sets, the
+			     parameters of a function, or after the keywords: "const", "var", "let" & "enum". -->
+			<RegExpr context="#stay" attribute="Parameter" String="&parameter;" />
+
+			<IncludeRules context="Normal Pt2" />
+		</context>
+
+		<context name="Normal Pt1" attribute="Normal Text" lineEndContext="#stay">
 			<StringDetect context="#stay" attribute="Symbol" String="..." />
 			<IncludeRules context="FindNumbers" />
 			<IncludeRules context="FindStrings" />
@@ -235,13 +253,8 @@
 			<!-- Keywords: control flow -->
 			<keyword context="#stay" attribute="ControlFlow" String="controlflow" />
 			<RegExpr context="#stay" attribute="ControlFlow" String="\bdefault(?=\s*&objectOp;:)" />
-
-			<!-- NOTE & TODO: The identifiers before ":" are highlighted as "dsNormal".
-			     These identifiers should be highlighted in a different way depending on the
-			     context, for example, in the declaration of classes or interfaces, in sets, the
-			     parameters of a function, or after the keywords: "const", "var", "let" & "enum". -->
-			<RegExpr context="#stay" attribute="Parameter" String="&identifier;(?=\s*&objectOp;:)" />
-
+		</context>
+		<context name="Normal Pt2" attribute="Normal Text" lineEndContext="#stay">
 			<!-- Keywords -->
 			<WordDetect context="TypeDeclaration" attribute="Reserved" String="type" />
 			<WordDetect context="FunctionDeclaration" attribute="Keyword" String="function" />
@@ -260,6 +273,7 @@
 			<RegExpr context="Types" attribute="Module" String="\bas(?=\s)" />
 			<!-- Import -->
 			<WordDetect context="Import" attribute="Module" String="import" />
+			<RegExpr context="#stay" attribute="Module" String="\bexport\s+type\b" />
 			<!-- Export types -->
 			<keyword context="ControlExport" attribute="Module" String="control_export_types" />
 			<!-- Keywords -->
@@ -271,13 +285,23 @@
 			<RegExpr context="Function" attribute="Function Name" String="(&identifier;)&functionSuffix;" lookAhead="true" />
 
 			<!-- Symbols & Operators -->
-			<!-- NOTE: The brackets {}()[] are highlighted as Normal Text. -->
+			<!-- NOTE: - The brackets {}()[] are highlighted as Normal Text.
+			           - Bracket highlighting rules must be explicitly included here
+			             for the "Animate Bracket Highlighting" feature to work properly. -->
 			<DetectChar context="Object" attribute="Normal Text" char="{" beginRegion="Brace" />
 			<DetectChar context="#stay" attribute="Normal Text" char="[" beginRegion="List" />
 			<DetectChar context="NoRegExp" attribute="Normal Text" char="]" endRegion="List" />
-			<!-- NOTE: Avoid highlighting identifier?: string, -->
-			<RegExpr context="ConditionalExpression" attribute="Symbol" String="\?(?=.*&identifier;\s*\:)" />
+			<DetectChar context="#stay" attribute="Normal Text" char="(" />
+			<DetectChar context="NoRegExp" attribute="Normal Text" char=")" />
 
+			<Detect2Chars context="#stay" attribute="Symbol" char="?" char1="?" /> <!-- Null operator -->
+			<!-- Conditional Expressions:
+			       CASE 1:  '?' ... <identifier> ':'
+			       CASE 2:  '?' ... ( '||' | '&&' ) <end-line>
+			       CASE 3:  '?' (<identifier>)? <end-line>
+			-->
+			<RegExpr context="ConditionalExpression" attribute="Symbol" String="\?(?=\s*(?:(?:[^/&quot;'`\s\?:\.;,\=\}\]\)]|&codeContent;)(?:[^/&quot;'`]|&codeContent;)*)?&identifier;\s*(?:/\*.*\*/\s*)*:|(?:&amp;&amp;|\|\||\s*(?:/\*.*\*/\s*)*&identifier;)?&endLine;)" minimal="true" />
+
 			<!-- Type Parameter: Highlight types after ":" and between "<" and ">" -->
 			<DetectChar context="Types" attribute="Symbol" char=":" />
 			<RegExpr context="TypesAngleBracket" attribute="Symbol" String="&lt;(?=(?:&identifier;|[\[\{\(&lt;]).*&gt;)" />
@@ -285,35 +309,44 @@
 			<IncludeRules context="JSBase##JavaScript" />
 		</context>
 
+		<!-- Conditional Expressions: a ? b : c -->
 		<!-- Highlight keywords before ":" in conditional expressions. -->
-		<context name="ConditionalExpression" attribute="Normal Text" lineEndContext="#pop">
+		<context name="ConditionalExpression" attribute="Normal Text" lineEndContext="#stay">
+			<!-- NOTE: Don't start the "Types" context. See the context "Default Types". -->
 			<DetectChar context="#pop" attribute="Symbol" char=":" />
+			<IncludeRules context="ConditionalExpressionEnd" />
 			<DetectChar context="#stay" attribute="Symbol" char="?" />
 
-			<!-- Keywords -->
-			<WordDetect context="#stay" attribute="Reserved" String="type" />
-			<WordDetect context="FunctionDeclaration" attribute="Keyword" String="function" />
-			<keyword context="#stay" attribute="Keyword" String="keywords" /> <!-- NoRegExp? -->
-			<keyword context="#stay" attribute="Reserved" String="reserved" />
-			<!-- Utility Types -->
-			<RegExpr context="#stay" attribute="Built-in Objects" String="&utilityTypes;" />
-			<!-- Built-in Classes -->
-			<IncludeRules context="BuiltInClasses" />
-			<IncludeRules context="BuiltInConstants" />
-			<!-- Import -->
-			<WordDetect context="#stay" attribute="Module" String="import" />
-			<!-- Export types -->
-			<keyword context="#stay" attribute="Module" String="control_export_types" />
-			<!-- Keywords -->
-			<keyword context="#stay" attribute="Module" String="module" />
-			<keyword context="NoRegExp" attribute="Keyword" String="primitives" />
-			<keyword context="#stay" attribute="Keyword" String="types_operator_expression" />
-
-			<!-- NOTE: The identifiers before ":" should be highlighted as "Normal Text".
-			     However, currently, the "Parameter" attribute is equivalent to "Normal Text". -->
-			<!-- <RegExpr context="#stay" attribute="Normal Text" String="&identifier;(?=\s*&objectOp;:)" /> -->
+			<IncludeRules context="FindConditionalExpressionBrackets" />
+			<IncludeRules context="Normal-ParametersOverridden" />
+		</context>
+		<context name="Normal-ParametersOverridden" attribute="Normal Text" lineEndContext="#stay">
+			<IncludeRules context="Normal Pt1" />
+			<IncludeRules context="Normal Pt2" />
+			<RegExpr context="#stay" attribute="Parameter" String="&parameter;" />
+		</context>
+		<context name="ConditionalExpressionEnd" attribute="Normal Text" lineEndContext="#stay">
+			<AnyChar context="#pop" String=";,}])" lookAhead="true" />
+			<RegExpr context="#pop" String="\=(?!&gt;)" lookAhead="true" />
+			<!-- For TypeScript code embedded in HTML and Markdown -->
+			<StringDetect context="#pop" String="```" lookAhead="true" firstNonSpace="true" />
+			<StringDetect context="#pop" String="~~~" lookAhead="true" firstNonSpace="true" />
+			<RegExpr context="#pop" String="&lt;/script\s*(?:&gt;|$)" insensitive="true" lookAhead="true" />
+		</context>
+		<context name="FindConditionalExpressionBrackets" attribute="Normal Text" lineEndContext="#stay">
+			<DetectChar context="ConditionalExpressionRoundBracket" attribute="Normal Text" char="(" />
+			<DetectChar context="ConditionalExpressionSquareBracket" attribute="Symbol" char="[" beginRegion="List" />
+		</context>
+		<context name="ConditionalExpressionRoundBracket" attribute="Normal Text" lineEndContext="#stay">
+			<DetectChar context="#pop!NoRegExp" attribute="Normal Text" char=")" />
+			<IncludeRules context="FindConditionalExpressionBrackets" />
 			<IncludeRules context="Normal" />
 		</context>
+		<context name="ConditionalExpressionSquareBracket" attribute="Normal Text" lineEndContext="#stay">
+			<DetectChar context="#pop!NoRegExp" attribute="Symbol" char="]" endRegion="List" />
+			<IncludeRules context="FindConditionalExpressionBrackets" />
+			<IncludeRules context="Normal" />
+		</context>
 
 		<!-- Object, within { ... } -->
 		<context name="Object" attribute="Normal Text" lineEndContext="#stay">
@@ -396,11 +429,11 @@
 
 			<IncludeRules context="TypesFindBrackets" />
 			<IncludeRules context="DefaultTypes" />
-			<IncludeRules context="Normal" />
+			<IncludeRules context="Normal-ParametersOverridden" />
 		</context>
 		<!-- NOTE: Context used by "typescript-react.xml" -->
 		<context name="TypesEnd" attribute="Normal Text" lineEndContext="#stay">
-			<AnyChar context="#pop" String=";,})]" lookAhead="true" />
+			<AnyChar context="#pop" String=";,}])" lookAhead="true" />
 			<RegExpr context="#pop" String="\=(?!&gt;)" lookAhead="true" />
 			<Detect2Chars context="#pop" char="/" char1="/" lookAhead="true" />
 		</context>
@@ -429,8 +462,8 @@
 			     This rule fixes it provisionally. -->
 			<RegExpr context="#stay" attribute="Types" String="\b(?:string|number|bigint|boolean|symbol|any|void|never|unknown|undefined|null|object)(?=\})" />
 
-			<!-- Don't start this context again -->
-			<AnyChar context="#stay" attribute="Symbol" String="?:" />
+			<!-- Don't start this context again and don't start the "ConditionalExpression" context -->
+			<AnyChar context="#stay" attribute="Symbol" String=":?" />
 			<WordDetect context="#stay" attribute="Module" String="as" />
 		</context>
 		<context name="TypesFindBrackets" attribute="Normal Text" lineEndContext="#stay">
@@ -491,7 +524,10 @@
 		<!-- "import" keyword -->
 		<context name="Import" attribute="Normal Text" lineEndContext="#pop">
 			<DetectChar context="#pop!ImportRequireKey" attribute="Symbol" char="=" />
-			<WordDetect context="#pop!NoRegExp" attribute="Keyword" String="meta" /> <!-- importmeta_property -->
+			<!-- import type ... -->
+			<WordDetect context="#stay" attribute="Module" String="type" />
+			<!-- importmeta_property -->
+			<WordDetect context="#pop!NoRegExp" attribute="Keyword" String="meta" />
 			<!-- Fix context NoRegExp (#pop in new line) -->
 			<RegExpr context="#pop" String="." lookAhead="true" firstNonSpace="true" />
 			<AnyChar context="#pop" String="{}()[];," lookAhead="true" />
@@ -532,6 +568,7 @@
 			<keyword context="#pop!NoRegExp" attribute="Object Property (Built-in)" String="variable_property" />
 			<keyword context="#pop!NoRegExp" attribute="Constant" String="dom_constant" />
 
+			<RegExpr context="#stay" attribute="Normal Text" String="#(?=&identifier;)" /> <!-- Private-Named Instance Fields -->
 			<RegExpr context="#stay" attribute="Object Member" String="&identifier;(?=&objectPoint;)" />
 			<RegExpr context="#pop!NoRegExp" attribute="Object Member" String="&identifier;" />
 			<IncludeRules context="NoRegExp" />
diff --git a/xml/vhdl.xml b/xml/vhdl.xml
--- a/xml/vhdl.xml
+++ b/xml/vhdl.xml
@@ -8,7 +8,7 @@
   <!ENTITY label     "((&varname;)\s*:\s*)?">
 
 ]>
-<language name="VHDL" version="7" kateversion="3.0" section="Hardware" extensions="*.vhdl;*.vhd" mimetype="text/x-vhdl" author="Rocky Scaletta (rocky@purdue.edu), Stefan Endrullis (stefan@endrullis.de), Florent Ouchet (outchy@users.sourceforge.net), Chris Higgs (chiggs.99@gmail.com), Jan Michel (jan@mueschelsoft.de), Luigi Calligaris (luigi.calligaris@stfc.ac.uk)">
+<language name="VHDL" version="8" kateversion="3.0" section="Hardware" extensions="*.vhdl;*.vhd" mimetype="text/x-vhdl" author="Rocky Scaletta (rocky@purdue.edu), Stefan Endrullis (stefan@endrullis.de), Florent Ouchet (outchy@users.sourceforge.net), Chris Higgs (chiggs.99@gmail.com), Jan Michel (jan@mueschelsoft.de), Luigi Calligaris (luigi.calligaris@stfc.ac.uk)">
   <highlighting>
     <list name="keywordsToplevel">
       <item>file</item>
@@ -218,16 +218,16 @@
       <context name="start" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
         <IncludeRules context="preDetection"/>
 
-        <RegExpr attribute="Control" context="architecture_main" insensitive="true" dynamic="true" lookAhead="true"
+        <RegExpr attribute="Control" context="architecture_main" insensitive="true" lookAhead="true"
                  String="&bos;architecture\s+(&varname;)&eos;"/>
         <StringDetect attribute="Control" context="entity" insensitive="true"
                  String="entity"/>
-        <RegExpr attribute="Control" context="package" insensitive="true" lookAhead="true" dynamic="true" beginRegion="PackageRegion1"
+        <RegExpr attribute="Control" context="package" insensitive="true" lookAhead="true" beginRegion="PackageRegion1"
                  String="&bos;package\s+(&varname;)\s+is&eos;"/>
-        <RegExpr attribute="Control" context="packagebody" lookAhead="true" insensitive="true" dynamic="true" beginRegion="PackageBodyRegion1"
+        <RegExpr attribute="Control" context="packagebody" lookAhead="true" insensitive="true" beginRegion="PackageBodyRegion1"
                  String="&bos;package\s+body\s+(&varname;)\s+is&eos;"/>
        <!-- <StringDetect  attribute="Control"  context="arch_decl"      String="package"     />temporary-->
-        <RegExpr attribute="Control" context="configuration" insensitive="true" dynamic="true" lookAhead="true"
+        <RegExpr attribute="Control" context="configuration" insensitive="true" lookAhead="true"
                  String="&bos;configuration\s+(&varname;)&eos;"/>
         <keyword attribute="Keyword" context="#stay" String="keywordsToplevel"/>
       </context>
@@ -269,7 +269,7 @@
       <context name="packagebodymain" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
         <IncludeRules context="preDetection"/>
         <RegExpr attribute="Keyword"   context="#pop" lookAhead="true" insensitive="true" String="&bos;end\s+package&eos;" />
-        <RegExpr attribute="Keyword"   context="packagebodyfunc1" beginRegion="PackBodyFunc" insensitive="true" dynamic="true" lookAhead="true" String="&bos;function\s+(&varname;)&eos;" />
+        <RegExpr attribute="Keyword"   context="packagebodyfunc1" beginRegion="PackBodyFunc" insensitive="true" lookAhead="true" String="&bos;function\s+(&varname;)&eos;" />
         <IncludeRules context="generalDetection"/>
       </context>
 
@@ -283,7 +283,7 @@
 
       <context name="packagebodyfunc2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
         <IncludeRules context="preDetection"/>
-        <RegExpr attribute="Redirection" context="#pop" insensitive="true" dynamic="true" lookAhead="true" endRegion="RegionFunction"
+        <RegExpr attribute="Redirection" context="#pop" insensitive="true" lookAhead="true" endRegion="RegionFunction"
                  String="&bos;end(\s+function)?&eos;"/>
         <!--<RegExpr attribute="Error" context="#pop" insensitive="true" dynamic="true" lookAhead="true" endRegion="RegionFunction"
                  String="&bos;end\s+function(\s+&varname;)?&eos;"/>-->
@@ -296,11 +296,11 @@
 <!--====ARCHITECTURE ===============-->
       <context name="architecture_main" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
         <IncludeRules context="preDetection"/>
-        <RegExpr attribute="Control" context="arch_start" insensitive="true" lookAhead="true" dynamic="true" beginRegion="ArchitectureRegion1"
+        <RegExpr attribute="Control" context="arch_start" insensitive="true" lookAhead="true" beginRegion="ArchitectureRegion1"
                  String="&bos;architecture\s+(&varname;)\s+of\s+(&varname;)\s+is"/>
         <RegExpr attribute="Control" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ArchitectureRegion1"
                  String="&bos;end(\s+architecture)?(\s+%2)?\s*;"/>
-        <RegExpr attribute="Error" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ArchitectureRegion1"
+        <RegExpr attribute="Error" context="#pop#pop" insensitive="true" endRegion="ArchitectureRegion1"
                  String="&bos;end(\s+architecture)?(\s+&varname;)\s*;"/>
         <IncludeRules context="detect_arch_parts"/>
       </context>
@@ -333,7 +333,7 @@
 
       <context name="archfunc2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
         <IncludeRules context="preDetection"/>
-        <RegExpr attribute="Redirection" context="#pop" insensitive="true" dynamic="true" lookAhead="true" endRegion="RegionFunction"
+        <RegExpr attribute="Redirection" context="#pop" insensitive="true" lookAhead="true" endRegion="RegionFunction"
                  String="&bos;end(\s+function)?&eos;"/>
         <!--<RegExpr attribute="Error" context="#pop" insensitive="true" dynamic="true" lookAhead="true" endRegion="RegionFunction"
                  String="&bos;end\s+function(\s+&varname;)?&eos;"/>-->
@@ -345,11 +345,11 @@
 
 <!-- parts of architecture body -->
       <context name="detect_arch_parts" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
-        <RegExpr attribute="Normal Text" context="generate1" lookAhead="true" insensitive="true" dynamic="true"
+        <RegExpr attribute="Normal Text" context="generate1" lookAhead="true" insensitive="true"
                  String="&bos;(&varname;\s*:\s*)(if|for).*\s+generate&eos;"/>
-        <RegExpr attribute="Normal Text" context="process1" lookAhead="true" insensitive="true" dynamic="true"
+        <RegExpr attribute="Normal Text" context="process1" lookAhead="true" insensitive="true"
                  String="&bos;(&varname;\s*:\s*)?process&eos;"/>
-        <RegExpr attribute="Normal Text" context="instance" lookAhead="true" insensitive="true" dynamic="true" beginRegion="InstanceRegion1"
+        <RegExpr attribute="Normal Text" context="instance" lookAhead="true" insensitive="true" beginRegion="InstanceRegion1"
                  String="&bos;(&varname;)\s*:\s*((entity\s+)?(&varname;)(\.&varname;)?)"/>
 
         <IncludeRules context="generalDetection"/>
@@ -384,7 +384,7 @@
         <IncludeRules context="preDetection"/>
         <RegExpr attribute="Process" context="#pop" insensitive="true" dynamic="true" endRegion="RegionProcess"
                  String="&bos;end\s+process(\s+%3)?"/>
-        <RegExpr attribute="Error" context="#pop" insensitive="true" dynamic="true" endRegion="RegionProcess"
+        <RegExpr attribute="Error" context="#pop" insensitive="true" endRegion="RegionProcess"
                  String="&bos;end\s+process(\s+&varname;)?"/>
         <RegExpr attribute="Process" context="#stay" insensitive="true" beginRegion="RegionProcess"
                  String="&bos;process&eos;"/>
@@ -400,7 +400,7 @@
                   String="&bos;if&eos;"/>
          <RegExpr attribute="Control" context="case1" lookAhead="true" insensitive="true"
                   String="&bos;case&eos;"/>
-         <RegExpr attribute="Control" context="forwhile1" dynamic="true" lookAhead="true" insensitive="true"
+         <RegExpr attribute="Control" context="forwhile1" lookAhead="true" insensitive="true"
                   String="&bos;((&varname;)\s*:\s*)?((for|while)\s+.+\s+)loop&eos;"/>
          <IncludeRules context="generalDetection"/>
       </context>
@@ -491,7 +491,7 @@
         <IncludeRules context="preDetection"/>
         <RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="CaseRegion1"
                  String="&bos;end\s+case(&varname;)?\s*;"/>
-        <RegExpr attribute="Control" context="caseWhen" lookAhead="true" dynamic="true" insensitive="true"
+        <RegExpr attribute="Control" context="caseWhen" lookAhead="true" insensitive="true"
                  String="&bos;when(\s+&varname;)?&eos;"/>
         <IncludeRules context="proc_rules"/>
       </context>
@@ -532,7 +532,7 @@
         <IncludeRules context="preDetection"/>
         <RegExpr attribute="Control" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1"
                  String="&bos;end(\s+(entity|component))?(\s+%1)?\s*;"/>
-        <RegExpr attribute="Error" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1"
+        <RegExpr attribute="Error" context="#pop#pop" insensitive="true" endRegion="EntityRegion1"
                  String="&bos;end(\s+(entity|component))?(\s+&varname;)?\s*;"/>
         <StringDetect attribute="Control" context="#stay" insensitive="true" String="generic"/>
         <StringDetect attribute="Control" context="#stay" insensitive="true" String="port"/>
@@ -543,11 +543,11 @@
 <!-- configuration environment -->
       <context name="configuration" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
         <IncludeRules context="preDetection"/>
-        <RegExpr attribute="Control" context="conf_start" insensitive="true" lookAhead="true" dynamic="true" beginRegion="ConfigurationRegion1"
+        <RegExpr attribute="Control" context="conf_start" insensitive="true" lookAhead="true" beginRegion="ConfigurationRegion1"
                  String="&bos;configuration\s+(&varname;)\s+of\s+(&varname;)\s+is"/>
         <RegExpr attribute="Control" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ConfigurationRegion1"
                  String="&bos;end(\s+configuration)?(\s+%2)?\s*;"/>
-        <RegExpr attribute="Error" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ConfigurationRegion1"
+        <RegExpr attribute="Error" context="#pop#pop" insensitive="true" endRegion="ConfigurationRegion1"
                  String="&bos;end(\s+configuration)?(\s+&varname;)\s*;"/>
       </context>
 
diff --git a/xml/xml.xml b/xml/xml.xml
--- a/xml/xml.xml
+++ b/xml/xml.xml
@@ -4,9 +4,9 @@
 	<!-- names must start with a letter, ideogram or underscore. \w matches any
 		 word character *or* a number, hence the lookahead -->
 	<!ENTITY name    "(?![0-9])[\w_:][\w.:_-]*">
-	<!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
+	<!ENTITY entref  "&amp;(?:#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
 ]>
-<language name="XML" version="9" kateversion="3.4" section="Markup" extensions="*.docbook;*.xml;*.rc;*.daml;*.rdf;*.rss;*.xspf;*.xsd;*.svg;*.ui;*.kcfg;*.qrc;*.wsdl;*.scxml;*.xbel;*.dae;*.sch;*.brd" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml;image/svg+xml;application/x-designer;application/x-xbel;application/xml;application/scxml+xml" casesensitive="1" indenter="xml" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
+<language name="XML" version="10" kateversion="3.4" section="Markup" extensions="*.docbook;*.xml;*.rc;*.daml;*.rdf;*.rss;*.xspf;*.xsd;*.svg;*.ui;*.kcfg;*.qrc;*.wsdl;*.scxml;*.xbel;*.dae;*.sch;*.brd" mimetype="text/xml;text/book;text/daml;text/rdf;application/rss+xml;application/xspf+xml;image/svg+xml;application/x-designer;application/x-xbel;application/xml;application/scxml+xml" casesensitive="1" indenter="xml" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
 
 <highlighting>
 <contexts>
@@ -40,8 +40,9 @@
   <context name="Comment" attribute="Comment" lineEndContext="#stay">
     <DetectSpaces />
     <StringDetect attribute="Comment" context="#pop" String="--&gt;" endRegion="comment" />
-    <RegExpr attribute="Error" context="#stay" String="-(-(?!-&gt;))+" />
+    <RegExpr attribute="Error" context="#stay" String="-(?:\-(?!-&gt;))+" />
     <IncludeRules context="##Alerts" />
+    <IncludeRules context="##Modelines" />
     <DetectIdentifier />
   </context>
 
@@ -63,7 +64,7 @@
 
   <context name="Doctype Internal Subset" attribute="Other Text" lineEndContext="#stay">
     <DetectChar attribute="Doctype" context="#pop" char="]" endRegion="int_subset" />
-    <RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
+    <RegExpr attribute="Doctype" context="Doctype Markupdecl" String="&lt;!(?:ELEMENT|ENTITY|ATTLIST|NOTATION)\b" />
     <StringDetect attribute="Comment" context="Comment" String="&lt;!--" beginRegion="comment" />
     <RegExpr attribute="Processing Instruction" context="PI" String="&lt;\?[\w:_-]*" beginRegion="pi" />
     <IncludeRules context="FindPEntityRefs" />
@@ -88,8 +89,7 @@
   <context name="Element" attribute="Other Text" lineEndContext="#stay">
     <Detect2Chars attribute="Element" context="#pop" char="/" char1="&gt;" endRegion="element" />
     <DetectChar attribute="Element" context="El Content" char="&gt;" />
-    <RegExpr attribute="Attribute" context="Attribute" String="^&name;" />
-    <RegExpr attribute="Attribute" context="Attribute" String="\s+&name;" />
+    <RegExpr attribute="Attribute" context="Attribute" String="(?:^|\s+)&name;" />
     <RegExpr attribute="Error" context="#stay" String="\S" />
   </context>
 
@@ -143,7 +143,7 @@
 </highlighting>
 <general>
   <comments>
-    <comment name="multiLine" start="&lt;!--" end="--&gt;" />
+    <comment name="multiLine" start="&lt;!--" end="--&gt;" region="comment" />
   </comments>
 </general>
 </language>
diff --git a/xml/yacc.xml b/xml/yacc.xml
--- a/xml/yacc.xml
+++ b/xml/yacc.xml
@@ -12,12 +12,12 @@
 == UPDATE HISTORY ==
 2018-02-20 // Nibaldo González <nibgonz@gmail.com>
 
-  Fix '$' symbol, highlighted as 'dsError' by C++ (isocpp.xml). 
+  Fix '$' symbol, highlighted as 'dsError' by C++ (isocpp.xml).
   Update syntax for Bison (3.0.4):
    - Add declarations, directives in rules and the '@' variable.
-   - Allow a tag in '%union', declarations in multiple lines and 
+   - Allow a tag in '%union', declarations in multiple lines and
      grammar declarations in the grammar rules section.
-   - The ';' char is not necessary to finish a rule. Allow '; |' 
+   - The ';' char is not necessary to finish a rule. Allow '; |'
      within rules.
   Add mimetypes and extensions '*.ypp' & '*.y++'.
 
@@ -32,7 +32,7 @@
 
 ========================================================================
 -->
-<language name="Yacc/Bison" version="5" kateversion="5.0" section="Sources" extensions="*.y;*.yy;*.ypp;*.y++" mimetype="text/x-yacc;text/x-bison" priority="5" author="Jan Villat (jan.villat@net2000.ch)" license="LGPL">
+<language name="Yacc/Bison" version="6" kateversion="5.0" section="Sources" extensions="*.y;*.yy;*.ypp;*.y++" mimetype="text/x-yacc;text/x-bison" priority="5" author="Jan Villat (jan.villat@net2000.ch)" license="LGPL">
 
 <highlighting>
 <contexts>
@@ -62,7 +62,7 @@
     <WordDetect attribute="Directive" context="Percent Command In" String="%&lt;flag&gt;" />
     <!-- Any word followed by '%' (End with ';' or '%') -->
     <DetectChar attribute="Directive" context="Percent Command" char="%" />
-  </context>  
+  </context>
   <context name="Grammar Declarations" attribute="Normal Text" lineEndContext="#stay">
     <WordDetect attribute="Directive" context="Union Start" String="%union" />
     <WordDetect attribute="Directive" context="Union Start" String="%code" />
@@ -74,7 +74,7 @@
     <IncludeRules context="Comment" />
     <DetectSpaces />
     <DetectChar attribute="Normal Text" context="Union In" char="{" beginRegion="union" />
-    <RegExpr attribute="Normal Text" context="#pop!Union Tag" String="[^\s\{](?=(\s|$|//))" />
+    <RegExpr attribute="Normal Text" context="#pop!Union Tag" String="[^\s\{](?=\s|$|//)" />
   </context>
   <context name="Union Tag" attribute="Normal Text" lineEndContext="#stay">
     <IncludeRules context="Comment" />
@@ -141,9 +141,9 @@
     <!-- Finish rule without the ';' character (see the 'rhses.1' rule in the 'src/parse-gram.y' file, from the Bison source) -->
     <RegExpr attribute="Open Rule" context="#pop" String="[\w\-\.](?=[\w\-\.]*:)" column="0" endRegion="rule" />
     <Detect2Chars attribute="Content-Type Delimiter" context="#pop" char="%" char1="%" lookAhead="true" firstNonSpace="true" endRegion="rule" />
-    <RegExpr attribute="Directive" context="#pop" String="%(union|code|destructor|printer|start|(no\-)?default\-prec|nterm|token|type|left|right|nonassoc|precedence)\b" lookAhead="true" column="0" endRegion="rule" />
+    <RegExpr attribute="Directive" context="#pop" String="%(?:union|code|destructor|printer|start|(?:no\-)?default\-prec|nterm|token|type|left|right|nonassoc|precedence)\b" lookAhead="true" column="0" endRegion="rule" />
   </context>
-  <!-- The Bison parser allows to have ';' followed by '|', without the rule ending. 
+  <!-- The Bison parser allows to have ';' followed by '|', without the rule ending.
        The problem here is that the ';' char has endRegion="rule" (although it is not very relevant). -->
   <context name="Rule End" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop">
     <DetectSpaces />
@@ -164,7 +164,7 @@
     <WordDetect attribute="Directive" context="Percent Command In" String="%left" />
     <WordDetect attribute="Directive" context="Percent Command In" String="%right" />
     <WordDetect attribute="Directive" context="Percent Command In" String="%nonassoc" />
-    <WordDetect attribute="Directive" context="Percent Command In" String="%precedence" /> 
+    <WordDetect attribute="Directive" context="Percent Command In" String="%precedence" />
 
     <DetectChar attribute="Rule" context="#pop" char="%" /> <!-- End when there is an invalid declaration -->
     <DetectChar attribute="Normal Text" context="#pop" char=";" />
@@ -195,11 +195,11 @@
   </context>
 
   <context name="Comment" attribute="Comment" lineEndContext="#stay">
-    <Detect2Chars attribute="Comment" context="CommentStar" char="/" char1="*" />
+    <Detect2Chars attribute="Comment" context="CommentStar" char="/" char1="*" beginRegion="comment" />
     <Detect2Chars attribute="Comment" context="CommentSlash" char="/" char1="/" />
   </context>
   <context name="CommentStar" attribute="Comment" lineEndContext="#stay">
-    <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
+    <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="comment" />
     <IncludeRules context="##Alerts" />
     <IncludeRules context="##Modelines" />
   </context>
@@ -229,7 +229,7 @@
   </context>
   <context name="Symbol-Variable" attribute="Normal Text" lineEndContext="#stay">
     <DetectChar attribute="Directive" context="Dol" char="$" />
-    <RegExpr attribute="Directive" context="#stay" String="@(\$?)(\d+|[A-Za-z_]\w*)?" />
+    <RegExpr attribute="Directive" context="#stay" String="@\$?(?:\d+|[A-Za-z_]\w*)?" />
   </context>
   <context name="Dol" attribute="Normal Text" fallthrough="true" fallthroughContext="DolEnd" lineEndContext="#stay">
     <RegExpr attribute="Data Type" context="DolEnd" String="&lt;[^&gt;]+&gt;" />
@@ -259,7 +259,7 @@
 </highlighting>
 <general>
   <comments>
-    <comment name="multiLine" start="/*" end="*/" />
+    <comment name="multiLine" start="/*" end="*/" region="comment" />
     <comment name="singleLine" start="//" />
   </comments>
 </general>
diff --git a/xml/yaml.xml b/xml/yaml.xml
--- a/xml/yaml.xml
+++ b/xml/yaml.xml
@@ -1,20 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE language SYSTEM "language.dtd"
 [
-  <!ENTITY null "(null|Null|NULL|~)">
-  <!ENTITY bool "(y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)">
+  <!ENTITY null "(?:null|Null|NULL|~)">
+  <!ENTITY bool "(?:y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)">
 
-  <!ENTITY int         "(0|[\-\+]?[1-9][0-9_]*)">
-  <!ENTITY intOther    "[\-\+]?0(x_*[0-9a-fA-F][0-9a-fA-F_]*|o?_*[0-7][0-7_]*|b_*[01][01_]*)"> <!-- Hex, Octal, Binary -->
-  <!ENTITY intBase60   "[\-\+]?[1-9][0-9_]*(:[0-5]?[0-9])+">
-  <!ENTITY allInt      "(&intBase60;|&intOther;|&int;)">
+  <!ENTITY int         "(?:0|[\-\+]?[1-9][0-9_]*)">
+  <!ENTITY intOther    "[\-\+]?0(?:x_*[0-9a-fA-F][0-9a-fA-F_]*|o?_*[0-7][0-7_]*|b_*[01][01_]*)"> <!-- Hex, Octal, Binary -->
+  <!ENTITY intBase60   "[\-\+]?[1-9][0-9_]*(?:\:[0-5]?[0-9])+">
+  <!ENTITY allInt      "(?:&intBase60;|&intOther;|&int;)">
 
-  <!ENTITY float       "[\-\+]?([0-9][0-9_]*\.[0-9\._]*|\._*[0-9][0-9\._]*)([eE][\-\+]?[0-9]+)?">
+  <!ENTITY float       "[\-\+]?(?:[0-9][0-9_]*\.[0-9\._]*|\._*[0-9][0-9\._]*)(?:[eE][\-\+]?[0-9]+)?">
   <!ENTITY floatExp    "[\-\+]?[0-9][0-9_]*[eE][\-\+]?[0-9]+">
-  <!ENTITY floatBase60 "[\-\+]?[0-9][0-9_]*(:[0-5]?[0-9])+\.[0-9_]*">
-  <!ENTITY inf         "[\-\+]?\.(inf|Inf|INF)\b">
-  <!ENTITY nan         "\.(nan|NaN|NAN)\b">
-  <!ENTITY allFloat    "(&float;|&floatExp;|&floatBase60;|&inf;|&nan;)">
+  <!ENTITY floatBase60 "[\-\+]?[0-9][0-9_]*(?:\:[0-5]?[0-9])+\.[0-9_]*">
+  <!ENTITY inf         "[\-\+]?\.(?:inf|Inf|INF)\b">
+  <!ENTITY nan         "\.(?:nan|NaN|NAN)\b">
+  <!ENTITY allFloat    "(?:&float;|&floatExp;|&floatBase60;|&inf;|&nan;)">
 
   <!ENTITY endValue       "(?:\s*$|\s+#)">
   <!ENTITY endValueInline "\s*[:,\[\]\{\}]">
@@ -37,7 +37,7 @@
 <!-- Modifications (YAML 1.2), values & support for literal/folded style:
        Nibaldo González S. <nibgonz@gmail.com>
        These modifications are under the MIT license. //-->
-<language name="YAML" version="6" kateversion="5.0" section="Markup"
+<language name="YAML" version="7" kateversion="5.0" section="Markup"
           extensions="*.yaml;*.yml" mimetype="text/yaml" priority="9"
           author="Dr Orlovsky MA (dr.orlovsky@gmail.com), Nibaldo González (nibgonz@gmail.com)" license="LGPL">
   <highlighting>
@@ -47,7 +47,7 @@
         <RegExpr attribute="End of Document" context="EOD" String="^\.\.\.$" column="0"/>
         <DetectChar attribute="Directive" context="directive" char="%" column="0"/>
 
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
 
         <!-- Literal/Folded Style -->
         <IncludeRules context="find-literal-block" />
@@ -62,10 +62,10 @@
         <RegExpr attribute="Alias" firstNonSpace="true" context="after-data" String="&alias;" />
         <RegExpr attribute="Reference" firstNonSpace="true" context="after-data" String="&reference;" />
 
-        <RegExpr attribute="Key" context="dpoints-attribute-pre" String="[^&quot;'#\-\s][^:#]*(?=:(\s|$))"/>
-        <RegExpr attribute="Key" context="dpoints-attribute-pre" String="\-([^\s:#][^:#]*)?(?=:(\s|$))"/>
-        <RegExpr attribute="Key" context="dpoints-attribute-pre" String="&keyDQ;(?=:(\s|$))"/>
-        <RegExpr attribute="Key" context="dpoints-attribute-pre" String="&keySQ;(?=:(\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-attribute-pre" String="[^&quot;'#\-\s][^:#]*(?=\:(?:\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-attribute-pre" String="\-(?:[^\s:#][^:#]*)?(?=\:(?:\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-attribute-pre" String="&keyDQ;(?=\:(?:\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-attribute-pre" String="&keySQ;(?=\:(?:\s|$))"/>
         <RegExpr attribute="Key Points Operator" context="attribute-pre" String=":(?=\s|$)"/>
 
         <DetectChar attribute="String" firstNonSpace="true" context="string" char="'" beginRegion="String" />
@@ -75,7 +75,7 @@
       </context>
 
       <context attribute="Normal Text" lineEndContext="#pop" name="mapping-key" fallthrough="true" fallthroughContext="#pop">
-        <RegExpr attribute="Comment" context="#pop!comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="#pop!comment" String="(?:^|\s+)#" />
         <DetectSpaces />
         <RegExpr attribute="Operator" context="#pop!dash" String="\-(?=\s|$)" />
         <RegExpr attribute="Data Types" context="#pop!after-data" String="&dataTypes;" />
@@ -89,7 +89,7 @@
       </context>
 
       <context attribute="Normal Text" lineEndContext="#pop" name="dash" fallthrough="true" fallthroughContext="#pop">
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
         <DetectSpaces/>
         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
         <RegExpr attribute="Alias" context="#stay" String="&alias;" />
@@ -106,7 +106,7 @@
 
       <!-- Highlight lists, hashes and strings after a data type, reference or alias -->
       <context attribute="Normal Text" lineEndContext="#pop" name="after-data" fallthrough="true" fallthroughContext="#pop">
-        <RegExpr attribute="Comment" context="#pop!comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="#pop!comment" String="(?:^|\s+)#" />
         <DetectSpaces />
         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
         <RegExpr attribute="Alias" context="#stay" String="&alias;" />
@@ -119,7 +119,7 @@
       </context>
 
       <context attribute="Document Header" lineEndContext="#pop" name="header">
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
         <RegExpr attribute="Literal/Folded Operator" context="header-literal-operator" String="\s&literalOp;(?=&endValue;)" lookAhead="true" />
       </context>
       <context attribute="Document Header" lineEndContext="#pop#pop" name="header-literal-operator" fallthrough="true" fallthroughContext="#pop">
@@ -134,16 +134,16 @@
       </context>
 
       <context attribute="Attribute" lineEndContext="#pop#pop" name="attribute">
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
       </context>
 
       <context attribute="Attribute" lineEndContext="#stay" name="list-attribute-inline">
         <AnyChar attribute="Operator" context="#pop#pop" lookAhead="true" String=",]" />
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
       </context>
       <context attribute="Attribute" lineEndContext="#stay" name="hash-attribute-inline">
         <AnyChar attribute="Operator" context="#pop#pop" lookAhead="true" String=",}" />
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
       </context>
 
       <!-- Attribute -->
@@ -151,7 +151,7 @@
         <DetectChar attribute="Key Points Operator" context="#pop!attribute-pre" char=":" /> <!-- Highlight two points after Key -->
       </context>
       <context attribute="Attribute" lineEndContext="#pop" name="attribute-pre" fallthrough="true" fallthroughContext="attribute">
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
         <DetectSpaces/>
         <DetectChar attribute="Operator" context="#stay" char="?" />
         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
@@ -168,7 +168,7 @@
       </context>
 
       <context attribute="Attribute" lineEndContext="#pop" name="default-attribute-pre-inline">
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
         <DetectSpaces/>
 
         <DetectChar attribute="Operator" context="#stay" char="?" />
@@ -210,21 +210,21 @@
       <!-- List -->
       <!-- Context "find-values-list" highlights values and then sends to "list-element" -->
       <context attribute="List" lineEndContext="#stay" name="list" fallthrough="true" fallthroughContext="#pop!find-values-list" noIndentationBasedFolding="true">
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
         <DetectSpaces />
         <DetectChar attribute="Operator" context="#pop!find-values-list" char="?" />
       </context>
       <context attribute="List" lineEndContext="#stay" name="list-element" noIndentationBasedFolding="true">
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
 
         <DetectChar attribute="Operator" context="#pop" char="]" endRegion="List" />
         <DetectChar attribute="Operator" context="list" char="[" beginRegion="List" />
         <DetectChar attribute="Operator" context="hash" char="{" beginRegion="Hash" />
 
-        <RegExpr attribute="Key" context="dpoints-list-attribute-pre-inline" String="[^&quot;'#\-,\]\s][^:#,\]]*(?=:(\s|$))"/>
-        <RegExpr attribute="Key" context="dpoints-list-attribute-pre-inline" String="\-([^\s:#,\]][^:#,\]]*)?(?=:(\s|$))"/>
-        <RegExpr attribute="Key" context="dpoints-list-attribute-pre-inline" String="&keyDQ;(?=:(\s|$))"/>
-        <RegExpr attribute="Key" context="dpoints-list-attribute-pre-inline" String="&keySQ;(?=:(\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-list-attribute-pre-inline" String="[^&quot;'#\-,\]\s][^:#,\]]*(?=\:(?:\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-list-attribute-pre-inline" String="\-(?:[^\s:#,\]][^:#,\]]*)?(?=\:(?:\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-list-attribute-pre-inline" String="&keyDQ;(?=\:(?:\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-list-attribute-pre-inline" String="&keySQ;(?=\:(?:\s|$))"/>
         <RegExpr attribute="Key Points Operator" context="list-attribute-pre-inline" String=":(?=\s|$)" firstNonSpace="true" />
 
         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
@@ -239,18 +239,18 @@
 
       <!-- Hash -->
       <context attribute="Hash" lineEndContext="#stay" name="hash" fallthrough="true" fallthroughContext="#pop!hash-element" noIndentationBasedFolding="true">
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
         <DetectSpaces />
         <DetectChar attribute="Operator" context="#pop!hash-element" char="?" />
       </context>
       <context attribute="Hash" lineEndContext="#stay" name="hash-element" noIndentationBasedFolding="true">
-        <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
         <DetectSpaces/>
 
-        <RegExpr attribute="Key" context="dpoints-hash-attribute-pre-inline" String="[^\s&quot;'#\-,\}\s][^:#,\}]*(?=:(\s|$))"/>
-        <RegExpr attribute="Key" context="dpoints-hash-attribute-pre-inline" String="\-([^\s:#,\}][^:#,\}]*)?(?=:(\s|$))"/>
-        <RegExpr attribute="Key" context="dpoints-hash-attribute-pre-inline" String="&keyDQ;(?=:(\s|$))"/>
-        <RegExpr attribute="Key" context="dpoints-hash-attribute-pre-inline" String="&keySQ;(?=:(\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-hash-attribute-pre-inline" String="[^\s&quot;'#\-,\}\s][^:#,\}]*(?=\:(?:\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-hash-attribute-pre-inline" String="\-(?:[^\s:#,\}][^:#,\}]*)?(?=\:(?:\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-hash-attribute-pre-inline" String="&keyDQ;(?=\:(?:\s|$))"/>
+        <RegExpr attribute="Key" context="dpoints-hash-attribute-pre-inline" String="&keySQ;(?=\:(?:\s|$))"/>
         <RegExpr attribute="Key Points Operator" context="hash-attribute-pre-inline" String=":(?=\s|$)"/>
 
         <DetectChar attribute="Operator" context="#pop" char="}" endRegion="Hash" />
@@ -290,12 +290,12 @@
       </context>
 
       <context attribute="Error" lineEndContext="#pop#pop#pop" name="attribute-end">
-          <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+          <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
           <DetectSpaces attribute="Normal Text" context="#stay"/>
       </context>
 
       <context attribute="Error" lineEndContext="#pop#pop#pop" name="attribute-end-inline">
-          <RegExpr attribute="Comment" context="comment" String="(^|\s+)#" />
+          <RegExpr attribute="Comment" context="comment" String="(?:^|\s+)#" />
           <DetectSpaces attribute="Normal Text" context="#stay"/>
           <AnyChar attribute="String" context="#pop#pop#pop"  lookAhead="true" String="}]"/>
           <DetectChar attribute="Operator" context="#pop#pop#pop" lookAhead="true" char="," />
@@ -314,7 +314,7 @@
       </context>
 
       <context attribute="Normal Text" lineEndContext="#stay" name="escaped-char-doubleq">
-        <RegExpr attribute="Escaped Character" context="#stay" String="\\([\s0abtnvfre&quot;/\\N_Lp]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8})"/>
+        <RegExpr attribute="Escaped Character" context="#stay" String="\\(?:[\s0abtnvfre&quot;/\\N_Lp]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8})"/>
       </context>
 
       <context attribute="Normal Text" lineEndContext="#stay" name="escaped-char-singleq">
@@ -347,10 +347,10 @@
       </context>
 
       <context attribute="Normal Text" lineEndContext="#stay" name="values-list">
-        <RegExpr attribute="Null" context="#stay" String="(\s|^)&null;(?=&endValueInline;|&endValue;)"/>
-        <RegExpr attribute="Boolean" context="#stay" String="(\s|^)&bool;(?=&endValueInline;|&endValue;)"/>
-        <RegExpr attribute="Float" context="#stay" String="(\s|^)&allFloat;(?=&endValueInline;|&endValue;)"/>
-        <RegExpr attribute="Integer" context="#stay" String="(\s|^)&allInt;(?=&endValueInline;|&endValue;)"/>
+        <RegExpr attribute="Null" context="#stay" String="(?:\s|^)&null;(?=&endValueInline;|&endValue;)"/>
+        <RegExpr attribute="Boolean" context="#stay" String="(?:\s|^)&bool;(?=&endValueInline;|&endValue;)"/>
+        <RegExpr attribute="Float" context="#stay" String="(?:\s|^)&allFloat;(?=&endValueInline;|&endValue;)"/>
+        <RegExpr attribute="Integer" context="#stay" String="(?:\s|^)&allInt;(?=&endValueInline;|&endValue;)"/>
       </context>
       <!-- If the value is found immediately at the beginning of the list item -->
       <context attribute="Normal Text" lineEndContext="#pop!list-element" name="find-values-list" fallthrough="true" fallthroughContext="#pop!list-element">
@@ -365,7 +365,7 @@
       <context attribute="Normal Text" lineEndContext="#stay" name="find-literal-block">
         <!-- Do not allow indentation with tabs: -->
         <RegExpr attribute="Alert" context="#stay" column="0"
-                 String="^&space;*\t+\s*(?=((&keyDQ;|&keySQ;|[^#])*[^#\w\|&lt;&gt;&quot;'])?&literalOp;&endValue;)" />
+                 String="^&space;*\t+\s*(?=(?:(?:&keyDQ;|&keySQ;|[^#])*[^#\w\|&lt;&gt;&quot;'])?&literalOp;&endValue;)" />
 
         <!-- CASE 1: The literal/folded operator is the first character of a line.
              The text after a space is considered literal.
@@ -421,7 +421,7 @@
              >             ^Start the literal text
         -->
         <RegExpr context="start-literal-block-withdash" lookAhead="true" column="0"
-                 String="^&space;*(\?&space;*|\-&space;+){1,6}((&keyDQ;|&keySQ;|[^#\-\?\s]|\-[^\s#])((&keyDQ;|&keySQ;|[^#])*[^#\w\|&lt;&gt;&quot;'])?)?&literalOp;&endValue;" />
+                 String="^&space;*(?:\?&space;*|\-&space;+){1,6}(?:(?:&keyDQ;|&keySQ;|[^#\-\?\s]|\-[^\s#])(?:(?:&keyDQ;|&keySQ;|[^#])*[^#\w\|&lt;&gt;&quot;'])?)?&literalOp;&endValue;" />
 
         <!-- CASE 5: Literal/folded operator after a data type or other content.
              Ex:
@@ -433,7 +433,7 @@
              >    ^Start the literal text
         -->
         <RegExpr context="start-literal-block-other" lookAhead="true" column="0"
-                 String="^&space;*(([&amp;\*]|!!)\S+\s+)+&literalOp;&endValue;" />
+                 String="^&space;*(?:(?:[&amp;\*]|!!)\S+\s+)+&literalOp;&endValue;" />
       </context>
 
       <!-- If the line with the literal operator starts with the "-" or "?" operator.
@@ -471,7 +471,7 @@
       <context attribute="Attribute" lineEndContext="#pop#pop" name="before-literal-operator" noIndentationBasedFolding="true">
         <RegExpr attribute="Literal/Folded Operator" context="#pop!end-literal-operator" String="&literalOp;(?=&endValue;)" beginRegion="Literal" />
 
-        <RegExpr attribute="Error" context="#pop#pop" String="([&amp;\*]|!!)\S*&literalOp;(?=&endValue;)" />
+        <RegExpr attribute="Error" context="#pop#pop" String="(?:[&amp;\*]|!!)\S*&literalOp;(?=&endValue;)" />
         <RegExpr attribute="Data Types" context="#stay" String="&dataTypes;" />
         <RegExpr attribute="Alias" context="#stay" String="&alias;" />
         <RegExpr attribute="Reference" context="#stay" String="&reference;" />
@@ -490,7 +490,7 @@
         <DetectChar attribute="Operator" context="#stay" char="?" />
       </context>
       <context attribute="Attribute" lineEndContext="#pop" name="end-literal-operator" noIndentationBasedFolding="true">
-        <RegExpr attribute="Comment" context="#pop!comment" String="(^|\s+)#" />
+        <RegExpr attribute="Comment" context="#pop!comment" String="(?:^|\s+)#" />
       </context>
 
       <!-- Common rules for the content of the literal blocks -->
@@ -515,7 +515,7 @@
         <RegExpr attribute="Literal/Folded Block" context="#stay" String="^%1.*$" dynamic="true" column="0" />
 
         <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />
-        <RegExpr attribute="Comment" context="comment" String="(^|\s)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s)#" />
         <RegExpr context="#pop" String="\S" lookAhead="true" endRegion="Literal" />
       </context>
       <!-- If the literal operator is the first character of a line (or after header) -->
@@ -523,7 +523,7 @@
         <RegExpr attribute="Literal/Folded Block" context="#stay" String="^\s.*$" column="0" />
 
         <RegExpr attribute="Normal Text" context="#pop" String="^\s*\S" lookAhead="true" column="0" endRegion="Literal" />
-        <RegExpr attribute="Comment" context="comment" String="(^|\s)#" />
+        <RegExpr attribute="Comment" context="comment" String="(?:^|\s)#" />
       </context>
       <!-- If there is a data type or other content before the liretal operator (use block indentation) -->
       <context attribute="Normal Text" lineEndContext="#stay" name="literal-block-after-data" dynamic="true" noIndentationBasedFolding="true">
