diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,16 @@
 # Revision history for skylighting and skylighting-core
 
+## 0.13.1.1
+
+  * Add dart, purescript syntax definitions.
+
+  * Update syntax definitions for isocpp, latex, alert, bash,
+    cmake, nix, sql-postgresql, vhdl, zsh.
+
+  * Remove obsoleote patch for lua.xml.
+
+  * Add patches for latex.xml and isocpp.xml.
+
 ## 0.13.1
 
   * `getCapture`: fail instead of throwing error if dynamic match not found.
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.13.1
+version:             0.13.1.1
 synopsis:            syntax highlighting library
 description:         Skylighting is a syntax highlighting library.
                      It derives its tokenizers from XML syntax
diff --git a/test/expected/if.cmake.native b/test/expected/if.cmake.native
--- a/test/expected/if.cmake.native
+++ b/test/expected/if.cmake.native
@@ -1,9 +1,9 @@
-[ [ ( KeywordTok , "if" )
+[ [ ( ControlFlowTok , "if" )
   , ( NormalTok , "(CMARK_TESTS and CMARK_SHARED)" )
   ]
 , [ ( NormalTok , "      " )
   , ( KeywordTok , "add_subdirectory" )
   , ( NormalTok , "(api_test)" )
   ]
-, [ ( KeywordTok , "endif" ) , ( NormalTok , "()" ) ]
+, [ ( ControlFlowTok , "endif" ) , ( NormalTok , "()" ) ]
 ]
diff --git a/xml/alert.xml b/xml/alert.xml
--- a/xml/alert.xml
+++ b/xml/alert.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE language SYSTEM "language.dtd">
-<language version="6" kateversion="3.1" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhaumann@kde.org)" license="MIT" hidden="true">
+<language version="7" kateversion="3.1" name="Alerts" section="Other" extensions="" mimetype="" author="Dominik Haumann (dhaumann@kde.org)" license="MIT" hidden="true">
   <highlighting>
     <list name="alerts_hi">
       <item>ALERT</item>
@@ -48,7 +48,8 @@
     </itemDatas>
   </highlighting>
   <general>
-    <keywords casesensitive="1"/>
+    <!-- NO-BREAK SPACE (nbsp) as deliminator -->
+    <keywords casesensitive="1" additionalDeliminator="&#160;"/>
   </general>
 </language>
 <!-- kate: indent-width 2; -->
diff --git a/xml/bash.xml b/xml/bash.xml
--- a/xml/bash.xml
+++ b/xml/bash.xml
@@ -66,7 +66,7 @@
 
 <language
     name="Bash"
-    version="45"
+    version="46"
     kateversion="5.79"
     section="Scripts"
     extensions="*.sh;*.bash;*.ebuild;*.eclass;*.exlib;*.exheres-0;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD;APKBUILD"
@@ -581,6 +581,7 @@
         <RegExpr attribute="Function" context="#stay" String="&funcname;[ &tab;]*\(\)"/>
         <!-- Special case for `: << '#BLOCK-COMMENT' form of "multiline" comments-->
         <RegExpr attribute="Normal Text" context="PreHereDocMLComment" String="^:[ &tab;]+&lt;&lt;[ &tab;]*'#([^']+)'$" lookAhead="1" column="0"/>
+        <WordDetect attribute="Builtin" context="Coproc" String="coproc"/>
         <keyword attribute="Builtin" context="CommandArgs" String="builtins"/>
         <keyword attribute="Command" context="CommandArgs" String="unixcommands"/>
 
@@ -629,6 +630,18 @@
         <DetectChar context="#pop!Command" char="}" lookAhead="1"/>
       </context>
 
+      <context attribute="Normal Text" lineEndContext="#pop" name="Coproc" fallthroughContext="#pop">
+        <DetectSpaces attribute="Normal Text"/>
+        <LineContinue attribute="Escape" context="#stay"/>
+        <RegExpr context="CoprocName" String="(\$?&varname;|\$\{&varname;\}|'&varname;'|&quot;(\$?&varname;|\$\{&varname;\}|[a-zA-Z0-9_])+&quot;)+(?=\s+\{($|\s))" lookAhead="1"/>
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="CoprocName">
+        <DetectChar attribute="Keyword" context="#pop#pop!Group" char="{" beginRegion="group"/>
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectIdentifier attribute="Normal Text"/>
+        <IncludeRules context="FindWord"/>
+      </context>
+
       <context attribute="Command" lineEndContext="#pop" name="Command" fallthroughContext="#pop">
         <DetectSpaces attribute="Normal Text" context="#pop!CommandArgs"/>
         <DetectChar context="CommandVariables" char="$" lookAhead="1"/>
@@ -1267,13 +1280,13 @@
 
       <!-- VarBrace is called as soon as ${ or ${# are encoutered -->
       <context attribute="Variable" lineEndContext="#stay" name="VarBrace" fallthroughContext="#pop!VarError">
-        <DetectChar attribute="Variable" context="#pop" char="}"/>
+        <DetectChar attribute="Parameter Expansion" context="#pop" char="}"/>
         <DetectIdentifier attribute="Variable" context="#pop!CheckVarAlt"/>
         <AnyChar attribute="Variable" context="#pop!CheckVarAlt" String="*@?$!-"/>
         <Int attribute="Variable" context="#pop!CheckVarAlt" additionalDeliminator=":#%^,/@{}"/>
       </context>
       <context attribute="Error" lineEndContext="#stay" name="VarError">
-        <DetectChar attribute="Variable" context="#pop" char="}"/>
+        <DetectChar attribute="Parameter Expansion" context="#pop" char="}"/>
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="CheckVarAlt" fallthroughContext="#pop!VarError">
         <DetectChar attribute="Parameter Expansion" context="#pop" char="}"/>
@@ -1297,7 +1310,7 @@
 
       <!-- called as soon as ${xxx: is encoutered -->
       <context attribute="Normal Text" lineEndContext="#stay" name="VarSub">
-        <DetectChar attribute="Variable" context="#pop" char="}"/>
+        <DetectChar attribute="Parameter Expansion" context="#pop" char="}"/>
         <!-- <Int> doesn't match :3 because : is a weakDeliminator -->
         <AnyChar attribute="Decimal" String="0123456789"/>
         <DetectChar attribute="Parameter Expansion Operator" context="#stay" char=":"/>
diff --git a/xml/cmake.xml b/xml/cmake.xml
--- a/xml/cmake.xml
+++ b/xml/cmake.xml
@@ -25,7 +25,7 @@
 
 <language
     name="CMake"
-    version="40"
+    version="42"
     kateversion="5.0"
     section="Other"
     extensions="CMakeLists.txt;*.cmake;*.cmake.in"
@@ -37,6 +37,7 @@
   <highlighting>
 
     <list name="commands">
+        <item>block</item>
         <item>break</item>
         <item>cmake_host_system_information</item>
         <item>cmake_language</item>
@@ -48,6 +49,7 @@
         <item>continue</item>
         <item>elseif</item>
         <item>else</item>
+        <item>endblock</item>
         <item>endforeach</item>
         <item>endfunction</item>
         <item>endif</item>
@@ -147,6 +149,14 @@
         <item>ctest_update</item>
         <item>ctest_upload</item>
     </list>
+    <list name="block_nargs">
+      <item>PROPAGATE</item>
+      <item>SCOPE_FOR</item>
+    </list>
+    <list name="block_sargs">
+      <item>POLICIES</item>
+      <item>VARIABLES</item>
+    </list>
     <list name="cmake_host_system_information_nargs">
       <item>ERROR_VARIABLE</item>
       <item>QUERY</item>
@@ -204,6 +214,7 @@
       <item>EVAL</item>
       <item>GET_CALL</item>
       <item>GET_CALL_IDS</item>
+      <item>GET_MESSAGE_LOG_LEVEL</item>
       <item>ID</item>
       <item>ID_VAR</item>
       <item>SET_DEPENDENCY_PROVIDER</item>
@@ -538,6 +549,7 @@
       <item>PATH_SUFFIXES</item>
       <item>REGISTRY_VIEW</item>
       <item>REQUIRED</item>
+      <item>VALIDATOR</item>
     </list>
     <list name="find_file_sargs">
       <item>32</item>
@@ -568,6 +580,7 @@
       <item>PATH_SUFFIXES</item>
       <item>REGISTRY_VIEW</item>
       <item>REQUIRED</item>
+      <item>VALIDATOR</item>
     </list>
     <list name="find_library_sargs">
       <item>32</item>
@@ -637,6 +650,7 @@
       <item>PATH_SUFFIXES</item>
       <item>REGISTRY_VIEW</item>
       <item>REQUIRED</item>
+      <item>VALIDATOR</item>
     </list>
     <list name="find_path_sargs">
       <item>32</item>
@@ -667,6 +681,7 @@
       <item>PATH_SUFFIXES</item>
       <item>REGISTRY_VIEW</item>
       <item>REQUIRED</item>
+      <item>VALIDATOR</item>
     </list>
     <list name="find_program_sargs">
       <item>32</item>
@@ -836,6 +851,9 @@
       <item>VERBOSE</item>
       <item>WARNING</item>
     </list>
+    <list name="return_nargs">
+      <item>PROPAGATE</item>
+    </list>
     <list name="separate_arguments_nargs">
       <item>NATIVE_COMMAND</item>
       <item>PROGRAM</item>
@@ -1027,6 +1045,7 @@
     </list>
     <list name="add_subdirectory_nargs">
       <item>EXCLUDE_FROM_ALL</item>
+      <item>SYSTEM</item>
     </list>
     <list name="add_test_nargs">
       <item>COMMAND</item>
@@ -1300,6 +1319,7 @@
       <item>cxx_std_17</item>
       <item>cxx_std_20</item>
       <item>cxx_std_23</item>
+      <item>cxx_std_26</item>
       <item>cxx_std_98</item>
       <item>cxx_strong_enums</item>
       <item>cxx_template_template_parameters</item>
@@ -1359,14 +1379,22 @@
       <item>TYPE</item>
     </list>
     <list name="try_compile_nargs">
+      <item>BINARY_DIR</item>
       <item>CMAKE_FLAGS</item>
       <item>COMPILE_DEFINITIONS</item>
       <item>COPY_FILE</item>
       <item>COPY_FILE_ERROR</item>
       <item>LINK_LIBRARIES</item>
       <item>LINK_OPTIONS</item>
+      <item>NO_CACHE</item>
       <item>OUTPUT_VARIABLE</item>
+      <item>PROJECT</item>
       <item>SOURCES</item>
+      <item>SOURCE_DIR</item>
+      <item>SOURCE_FROM_CONTENT</item>
+      <item>SOURCE_FROM_FILE</item>
+      <item>SOURCE_FROM_VAR</item>
+      <item>TARGET</item>
     </list>
     <list name="try_run_nargs">
       <item>ARGS</item>
@@ -1374,11 +1402,20 @@
       <item>COMPILE_DEFINITIONS</item>
       <item>COMPILE_OUTPUT_VARIABLE</item>
       <item>COMPILE_RESULT_VAR</item>
+      <item>COPY_FILE</item>
+      <item>COPY_FILE_ERROR</item>
       <item>LINK_LIBRARIES</item>
       <item>LINK_OPTIONS</item>
+      <item>NO_CACHE</item>
       <item>OUTPUT_VARIABLE</item>
+      <item>RUN_OUTPUT_STDERR_VARIABLE</item>
+      <item>RUN_OUTPUT_STDOUT_VARIABLE</item>
       <item>RUN_OUTPUT_VARIABLE</item>
       <item>RUN_RESULT_VAR</item>
+      <item>SOURCES</item>
+      <item>SOURCE_FROM_CONTENT</item>
+      <item>SOURCE_FROM_FILE</item>
+      <item>SOURCE_FROM_VAR</item>
       <item>WORKING_DIRECTORY</item>
     </list>
     <list name="ctest_build_nargs">
@@ -1912,6 +1949,7 @@
       <item>SVN_REVISION</item>
       <item>SVN_TRUST_CERT</item>
       <item>SVN_USERNAME</item>
+      <item>SYSTEM</item>
       <item>TIMEOUT</item>
       <item>TLS_CAINFO</item>
       <item>TLS_VERIFY</item>
@@ -2238,6 +2276,7 @@
       <item>BOOST_INCLUDEDIR</item>
       <item>BOOST_LIBRARYDIR</item>
       <item>BORLAND</item>
+      <item>BSD</item>
       <item>BUILD_SHARED_LIBS</item>
       <item>BUILD_TESTING</item>
       <item>BU_CHMOD_BUNDLE_ITEMS</item>
@@ -2480,6 +2519,8 @@
       <item>CMAKE_HIP_STANDARD</item>
       <item>CMAKE_HIP_STANDARD_REQUIRED</item>
       <item>CMAKE_HOST_APPLE</item>
+      <item>CMAKE_HOST_BSD</item>
+      <item>CMAKE_HOST_LINUX</item>
       <item>CMAKE_HOST_SOLARIS</item>
       <item>CMAKE_HOST_SYSTEM</item>
       <item>CMAKE_HOST_SYSTEM_NAME</item>
@@ -2594,6 +2635,7 @@
       <item>CMAKE_MODULE_LINKER_FLAGS_INIT</item>
       <item>CMAKE_MODULE_PATH</item>
       <item>CMAKE_MSVCIDE_RUN_PATH</item>
+      <item>CMAKE_MSVC_DEBUG_INFORMATION_FORMAT</item>
       <item>CMAKE_MSVC_RUNTIME_LIBRARY</item>
       <item>CMAKE_NETRC</item>
       <item>CMAKE_NETRC_FILE</item>
@@ -2688,6 +2730,7 @@
       <item>CMAKE_SYSTEM_VERSION</item>
       <item>CMAKE_Swift_LANGUAGE_VERSION</item>
       <item>CMAKE_Swift_MODULE_DIRECTORY</item>
+      <item>CMAKE_TASKING_TOOLSET</item>
       <item>CMAKE_THREAD_LIBS_INIT</item>
       <item>CMAKE_THREAD_PREFER_PTHREAD</item>
       <item>CMAKE_TOOLCHAIN_FILE</item>
@@ -2745,9 +2788,13 @@
       <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_ENABLE_GPU_API_VALIDATION</item>
       <item>CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE</item>
+      <item>CMAKE_XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION</item>
       <item>CMAKE_XCODE_SCHEME_ENVIRONMENT</item>
       <item>CMAKE_XCODE_SCHEME_GUARD_MALLOC</item>
+      <item>CMAKE_XCODE_SCHEME_LAUNCH_CONFIGURATION</item>
+      <item>CMAKE_XCODE_SCHEME_LAUNCH_MODE</item>
       <item>CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP</item>
       <item>CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES</item>
       <item>CMAKE_XCODE_SCHEME_MALLOC_SCRIBBLE</item>
@@ -2761,6 +2808,7 @@
       <item>CMAKE_XCODE_XCCONFIG</item>
       <item>CPACK_ABSOLUTE_DESTINATION_FILES</item>
       <item>CPACK_ARCHIVE_COMPONENT_INSTALL</item>
+      <item>CPACK_ARCHIVE_FILE_EXTENSION</item>
       <item>CPACK_ARCHIVE_FILE_NAME</item>
       <item>CPACK_ARCHIVE_THREADS</item>
       <item>CPACK_BUILD_SOURCE_DIRS</item>
@@ -2899,6 +2947,8 @@
       <item>CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL</item>
       <item>CPACK_NSIS_EXECUTABLE</item>
       <item>CPACK_NSIS_EXECUTABLES_DIRECTORY</item>
+      <item>CPACK_NSIS_EXECUTABLE_POST_ARGUMENTS</item>
+      <item>CPACK_NSIS_EXECUTABLE_PRE_ARGUMENTS</item>
       <item>CPACK_NSIS_EXTRA_INSTALL_COMMANDS</item>
       <item>CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS</item>
       <item>CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS</item>
@@ -2943,6 +2993,8 @@
       <item>CPACK_NUGET_PACKAGE_TAGS</item>
       <item>CPACK_NUGET_PACKAGE_TITLE</item>
       <item>CPACK_NUGET_PACKAGE_VERSION</item>
+      <item>CPACK_OBJCOPY_EXECUTABLE</item>
+      <item>CPACK_OBJDUMP_EXECUTABLE</item>
       <item>CPACK_OUTPUT_CONFIG_FILE</item>
       <item>CPACK_PACKAGE_CHECKSUM</item>
       <item>CPACK_PACKAGE_DESCRIPTION</item>
@@ -2986,6 +3038,7 @@
       <item>CPACK_PRODUCTBUILD_KEYCHAIN_PATH</item>
       <item>CPACK_PRODUCTBUILD_RESOURCES_DIR</item>
       <item>CPACK_PROJECT_CONFIG_FILE</item>
+      <item>CPACK_READELF_EXECUTABLE</item>
       <item>CPACK_RESOURCE_FILE_LICENSE</item>
       <item>CPACK_RESOURCE_FILE_README</item>
       <item>CPACK_RESOURCE_FILE_WELCOME</item>
@@ -3251,7 +3304,7 @@
       <item>GDAL_LIBRARY</item>
       <item>GETTEXT_MSGFMT_EXECUTABLE</item>
       <item>GETTEXT_MSGMERGE_EXECUTABLE</item>
-      <item>GHS-MULTI</item>
+      <item>GHSMULTI</item>
       <item>GIF_LIBRARY</item>
       <item>GIT_EXECUTABLE</item>
       <item>GLEW_USE_STATIC_LIBS</item>
@@ -3306,6 +3359,7 @@
       <item>ICU_DEBUG</item>
       <item>ICU_MAKEFILE_INC</item>
       <item>ICU_PKGDATA_INC</item>
+      <item>IOS</item>
       <item>Iconv_IS_BUILT_IN</item>
       <item>Iconv_LIBRARY</item>
       <item>Intl_IS_BUILT_IN</item>
@@ -3339,6 +3393,7 @@
       <item>LIBXML2_XMLLINT_EXECUTABLE</item>
       <item>LIBXSLT_DEFINITIONS</item>
       <item>LIBXSLT_XSLTPROC_EXECUTABLE</item>
+      <item>LINUX</item>
       <item>LTTNGUST_HAS_TRACEF</item>
       <item>LTTNGUST_HAS_TRACELOG</item>
       <item>LUALATEX_COMPILER</item>
@@ -3627,7 +3682,9 @@
     </list>
 
     <list name="environment-variables">
+      <item>ADSP_ROOT</item>
       <item>CC</item>
+      <item>CCMAKE_COLORS</item>
       <item>CFLAGS</item>
       <item>CMAKE_APPBUNDLE_PATH</item>
       <item>CMAKE_APPLE_SILICON_PROCESSOR</item>
@@ -3658,18 +3715,27 @@
       <item>CUDACXX</item>
       <item>CUDAFLAGS</item>
       <item>CUDAHOSTCXX</item>
+      <item>CUDA_PATH</item>
       <item>CXX</item>
       <item>CXXFLAGS</item>
       <item>DASHBOARD_TEST_FROM_CTEST</item>
       <item>DESTDIR</item>
       <item>FC</item>
       <item>FFLAGS</item>
+      <item>HIPCXX</item>
+      <item>HIPFLAGS</item>
+      <item>ISPC</item>
+      <item>ISPCFLAGS</item>
       <item>LDFLAGS</item>
       <item>MACOSX_DEPLOYMENT_TARGET</item>
+      <item>OBJC</item>
+      <item>OBJCXX</item>
       <item>PATH</item>
       <item>QTIFWDIR</item>
       <item>RC</item>
       <item>RCFLAGS</item>
+      <item>SSL_CERT_DIR</item>
+      <item>SSL_CERT_FILE</item>
       <item>SWIFTC</item>
       <item>VERBOSE</item>
     </list>
@@ -3743,6 +3809,7 @@
       <item>RULE_LAUNCH_LINK</item>
       <item>SOURCE_DIR</item>
       <item>SUBDIRECTORIES</item>
+      <item>SYSTEM</item>
       <item>TESTS</item>
       <item>TEST_INCLUDE_FILE</item>
       <item>TEST_INCLUDE_FILES</item>
@@ -3836,6 +3903,7 @@
       <item>EXCLUDE_FROM_DEFAULT_BUILD</item>
       <item>EXPORT_COMPILE_COMMANDS</item>
       <item>EXPORT_NAME</item>
+      <item>EXPORT_NO_SYSTEM</item>
       <item>EXPORT_PROPERTIES</item>
       <item>EchoString</item>
       <item>FOLDER</item>
@@ -3925,6 +3993,7 @@
       <item>MACOSX_FRAMEWORK_INFO_PLIST</item>
       <item>MACOSX_RPATH</item>
       <item>MANUALLY_ADDED_DEPENDENCIES</item>
+      <item>MSVC_DEBUG_INFORMATION_FORMAT</item>
       <item>MSVC_RUNTIME_LIBRARY</item>
       <item>NAME</item>
       <item>NO_SONAME</item>
@@ -3964,6 +4033,7 @@
       <item>STATIC_LIBRARY_FLAGS</item>
       <item>STATIC_LIBRARY_OPTIONS</item>
       <item>SUFFIX</item>
+      <item>SYSTEM</item>
       <item>Swift_DEPENDENCIES_FILE</item>
       <item>Swift_MODULE_DIRECTORY</item>
       <item>Swift_MODULE_NAME</item>
@@ -4028,10 +4098,14 @@
       <item>XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER</item>
       <item>XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS</item>
       <item>XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE</item>
+      <item>XCODE_SCHEME_ENABLE_GPU_API_VALIDATION</item>
       <item>XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE</item>
+      <item>XCODE_SCHEME_ENABLE_GPU_SHADER_VALIDATION</item>
       <item>XCODE_SCHEME_ENVIRONMENT</item>
       <item>XCODE_SCHEME_EXECUTABLE</item>
       <item>XCODE_SCHEME_GUARD_MALLOC</item>
+      <item>XCODE_SCHEME_LAUNCH_CONFIGURATION</item>
+      <item>XCODE_SCHEME_LAUNCH_MODE</item>
       <item>XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP</item>
       <item>XCODE_SCHEME_MALLOC_GUARD_EDGES</item>
       <item>XCODE_SCHEME_MALLOC_SCRIBBLE</item>
@@ -4504,7 +4578,8 @@
 
       <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text">
         <DetectSpaces/>
-        <WordDetect String="break" insensitive="true" attribute="Command" context="break_ctx" />
+        <WordDetect String="block" insensitive="true" attribute="Command" context="block_ctx" beginRegion="block" />
+        <WordDetect String="break" insensitive="true" attribute="Control Flow" context="break_ctx" />
         <WordDetect String="cmake_host_system_information" insensitive="true" attribute="Command" context="cmake_host_system_information_ctx" />
         <WordDetect String="cmake_language" insensitive="true" attribute="Command" context="cmake_language_ctx" />
         <WordDetect String="cmake_minimum_required" insensitive="true" attribute="Command" context="cmake_minimum_required_ctx" />
@@ -4512,14 +4587,15 @@
         <WordDetect String="cmake_path" insensitive="true" attribute="Command" context="cmake_path_ctx" />
         <WordDetect String="cmake_policy" insensitive="true" attribute="Command" context="cmake_policy_ctx" />
         <WordDetect String="configure_file" insensitive="true" attribute="Command" context="configure_file_ctx" />
-        <WordDetect String="continue" insensitive="true" attribute="Command" context="continue_ctx" />
-        <WordDetect String="elseif" insensitive="true" attribute="Command" context="elseif_ctx" />
-        <WordDetect String="else" insensitive="true" attribute="Command" context="else_ctx" />
-        <WordDetect String="endforeach" insensitive="true" attribute="Command" context="endforeach_ctx" endRegion="foreach" />
+        <WordDetect String="continue" insensitive="true" attribute="Control Flow" context="continue_ctx" />
+        <WordDetect String="elseif" insensitive="true" attribute="Control Flow" context="elseif_ctx" />
+        <WordDetect String="else" insensitive="true" attribute="Control Flow" context="else_ctx" />
+        <WordDetect String="endblock" insensitive="true" attribute="Command" context="endblock_ctx" endRegion="block" />
+        <WordDetect String="endforeach" insensitive="true" attribute="Control Flow" context="endforeach_ctx" endRegion="foreach" />
         <WordDetect String="endfunction" insensitive="true" attribute="Command" context="endfunction_ctx" endRegion="function" />
-        <WordDetect String="endif" insensitive="true" attribute="Command" context="endif_ctx" endRegion="if" />
+        <WordDetect String="endif" insensitive="true" attribute="Control Flow" context="endif_ctx" endRegion="if" />
         <WordDetect String="endmacro" insensitive="true" attribute="Command" context="endmacro_ctx" endRegion="macro" />
-        <WordDetect String="endwhile" insensitive="true" attribute="Command" context="endwhile_ctx" endRegion="while" />
+        <WordDetect String="endwhile" insensitive="true" attribute="Control Flow" context="endwhile_ctx" endRegion="while" />
         <WordDetect String="execute_process" insensitive="true" attribute="Command" context="execute_process_ctx" />
         <WordDetect String="file" insensitive="true" attribute="Command" context="file_ctx" />
         <WordDetect String="find_file" insensitive="true" attribute="Command" context="find_file_ctx" />
@@ -4527,13 +4603,13 @@
         <WordDetect String="find_package" insensitive="true" attribute="Command" context="find_package_ctx" />
         <WordDetect String="find_path" insensitive="true" attribute="Command" context="find_path_ctx" />
         <WordDetect String="find_program" insensitive="true" attribute="Command" context="find_program_ctx" />
-        <WordDetect String="foreach" insensitive="true" attribute="Command" context="foreach_ctx" beginRegion="foreach" />
+        <WordDetect String="foreach" insensitive="true" attribute="Control Flow" context="foreach_ctx" beginRegion="foreach" />
         <WordDetect String="function" insensitive="true" attribute="Command" context="function_ctx" beginRegion="function" />
         <WordDetect String="get_cmake_property" insensitive="true" attribute="Command" context="get_cmake_property_ctx" />
         <WordDetect String="get_directory_property" insensitive="true" attribute="Command" context="get_directory_property_ctx" />
         <WordDetect String="get_filename_component" insensitive="true" attribute="Command" context="get_filename_component_ctx" />
         <WordDetect String="get_property" insensitive="true" attribute="Command" context="get_property_ctx" />
-        <WordDetect String="if" insensitive="true" attribute="Command" context="if_ctx" beginRegion="if" />
+        <WordDetect String="if" insensitive="true" attribute="Control Flow" context="if_ctx" beginRegion="if" />
         <WordDetect String="include" insensitive="true" attribute="Command" context="include_ctx" />
         <WordDetect String="include_guard" insensitive="true" attribute="Command" context="include_guard_ctx" />
         <WordDetect String="list" insensitive="true" attribute="Command" context="list_ctx" />
@@ -4542,7 +4618,7 @@
         <WordDetect String="math" insensitive="true" attribute="Command" context="math_ctx" />
         <WordDetect String="message" insensitive="true" attribute="Command" context="message_ctx" />
         <WordDetect String="option" insensitive="true" attribute="Command" context="option_ctx" />
-        <WordDetect String="return" insensitive="true" attribute="Command" context="return_ctx" />
+        <WordDetect String="return" insensitive="true" attribute="Control Flow" context="return_ctx" />
         <WordDetect String="separate_arguments" insensitive="true" attribute="Command" context="separate_arguments_ctx" />
         <WordDetect String="set_directory_properties" insensitive="true" attribute="Command" context="set_directory_properties_ctx" />
         <WordDetect String="set_property" insensitive="true" attribute="Command" context="set_property_ctx" />
@@ -4551,7 +4627,7 @@
         <WordDetect String="string" insensitive="true" attribute="Command" context="string_ctx" />
         <WordDetect String="unset" insensitive="true" attribute="Command" context="unset_ctx" />
         <WordDetect String="variable_watch" insensitive="true" attribute="Command" context="variable_watch_ctx" />
-        <WordDetect String="while" insensitive="true" attribute="Command" context="while_ctx" beginRegion="while" />
+        <WordDetect String="while" insensitive="true" attribute="Control Flow" context="while_ctx" beginRegion="while" />
         <WordDetect String="add_compile_definitions" insensitive="true" attribute="Command" context="add_compile_definitions_ctx" />
         <WordDetect String="add_compile_options" insensitive="true" attribute="Command" context="add_compile_options_ctx" />
         <WordDetect String="add_custom_command" insensitive="true" attribute="Command" context="add_custom_command_ctx" />
@@ -4782,6 +4858,16 @@
         <RegExpr attribute="@Variable Substitution" context="@VarSubst" String="@&var_ref_re;@" lookAhead="true" />
         <RegExpr attribute="Error" context="#stay" String=".*" />
       </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="block_ctx">
+        <DetectChar attribute="Normal Text" context="block_ctx_op" char="(" />
+        <DetectChar attribute="Normal Text" context="#pop" char=")" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="block_ctx_op">
+        <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" />
+        <keyword attribute="Named Args" context="#stay" String="block_nargs" />
+        <keyword attribute="Special Args" context="#stay" String="block_sargs" />
+        <IncludeRules context="User Function Args" />
+      </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="break_ctx">
         <DetectChar attribute="Normal Text" context="break_ctx_op" char="(" />
         <DetectChar attribute="Normal Text" context="#pop" char=")" />
@@ -4888,6 +4974,13 @@
       <context attribute="Normal Text" lineEndContext="#stay" name="else_ctx_op">
         <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" />
       </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="endblock_ctx">
+        <DetectChar attribute="Normal Text" context="endblock_ctx_op" char="(" />
+        <DetectChar attribute="Normal Text" context="#pop" char=")" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="endblock_ctx_op">
+        <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" />
+      </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="endforeach_ctx">
         <DetectChar attribute="Normal Text" context="endforeach_ctx_op" char="(" />
         <DetectChar attribute="Normal Text" context="#pop" char=")" />
@@ -5165,6 +5258,8 @@
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="return_ctx_op">
         <DetectChar attribute="Normal Text" context="#pop" char=")" lookAhead="true" />
+        <keyword attribute="Named Args" context="#stay" String="return_nargs" />
+        <IncludeRules context="User Function Args" />
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="separate_arguments_ctx">
         <DetectChar attribute="Normal Text" context="separate_arguments_ctx_op" char="(" />
@@ -7498,7 +7593,7 @@
 
       <context attribute="Environment Variable Substitution" lineEndContext="#pop" name="EnvVarSubst">
         <keyword attribute="Standard Environment Variable" context="#stay" String="environment-variables" insensitive="false" />
-        <RegExpr attribute="Standard Environment Variable" context="#stay" String="\b(?:CMAKE_&var_ref_re;_COMPILER_LAUNCHER|ASM&var_ref_re;FLAGS|ASM&var_ref_re;|&var_ref_re;_ROOT|&var_ref_re;_DIR)\b" />
+        <RegExpr attribute="Standard Environment Variable" context="#stay" String="\b(?:CMAKE_&var_ref_re;_LINKER_LAUNCHER|CMAKE_&var_ref_re;_COMPILER_LAUNCHER|ASM&var_ref_re;FLAGS|ASM&var_ref_re;|&var_ref_re;_ROOT|&var_ref_re;_DIR)\b" />
         <DetectIdentifier />
         <IncludeRules context="Detect Variable Substitutions" />
         <DetectChar attribute="Environment Variable Substitution" context="#pop" char="}" />
@@ -7634,6 +7729,7 @@
       <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
       <itemData name="Comment" defStyleNum="dsComment" spellChecking="true" />
       <itemData name="Command" defStyleNum="dsKeyword" spellChecking="false" />
+      <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false" />
       <itemData name="CMake Provided Function/Macro" defStyleNum="dsFunction" bold="true" spellChecking="false" />
       <itemData name="User Function/Macro"  defStyleNum="dsFunction" spellChecking="false" />
       <itemData name="Property" defStyleNum="dsOthers" spellChecking="false" />
diff --git a/xml/dart.xml b/xml/dart.xml
new file mode 100644
--- /dev/null
+++ b/xml/dart.xml
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+
+<language name="Dart"
+          section="Sources"
+          version="2"
+          kateversion="5.0"
+          indenter="cstyle"
+          extensions="*.dart"
+          mimetype="text/x-dart"
+          priority="1"
+          author="Waqar Ahmed (waqar.17a@gmail.com)"
+          license="MIT">
+    <highlighting>
+        <list name="keywords">
+            <item>Function</item>
+            <item>abstract</item>
+            <item>as</item>
+            <item>assert</item>
+            <item>class</item>
+            <item>covariant</item>
+            <item>deferred</item>
+            <item>enum</item>
+            <item>export</item>
+            <item>extends</item>
+            <item>extension</item>
+            <item>external</item>
+            <item>factory</item>
+            <item>get</item>
+            <item>hide</item>
+            <item>implements</item>
+            <item>import</item>
+            <item>in</item>
+            <item>interface</item>
+            <item>is</item>
+            <item>library</item>
+            <item>mixin</item>
+            <item>new</item>
+            <item>on</item>
+            <item>operator</item>
+            <item>part</item>
+            <item>return</item>
+            <item>set</item>
+            <item>show</item>
+            <item>super</item>
+            <item>sync</item>
+            <item>this</item>
+            <item>typedef</item>
+            <item>with</item>
+            <item>yield</item>
+            <item>@pragma</item>
+            <item>@override</item>
+            <item>@deprecated</item>
+        </list>
+        <list name="controlflow">
+            <item>break</item>
+            <item>case</item>
+            <item>catch</item>
+            <item>continue</item>
+            <item>default</item>
+            <item>do</item>
+            <item>else</item>
+            <item>finally</item>
+            <item>for</item>
+            <item>if</item>
+            <item>rethrow</item>
+            <item>switch</item>
+            <item>throw</item>
+            <item>try</item>
+            <item>while</item>
+        </list>
+        <list name="modifiers">
+            <item>async</item>
+            <item>await</item>
+            <item>const</item>
+            <item>dynamic</item>
+            <item>late</item>
+            <item>final</item>
+            <item>static</item>
+        </list>
+        <list name="types">
+            <item>Future</item>
+            <item>Iterable</item>
+            <item>List</item>
+            <item>Map</item>
+            <item>Never</item>
+            <item>Object</item>
+            <item>Set</item>
+            <item>Stream</item>
+            <item>String</item>
+            <item>bool</item>
+            <item>double</item>
+            <item>int</item>
+            <item>var</item>
+            <item>void</item>
+        </list>
+        <list name="literals">
+            <item>true</item>
+            <item>false</item>
+            <item>null</item>
+        </list>
+        <list name="exceptions">
+            <item>AbstractClassInstantiationError</item>
+            <item>ArgumentError</item>
+            <item>AssertionError</item>
+            <item>CastError</item>
+            <item>ConcurrentModificationError</item>
+            <item>CyclicInitializationError</item>
+            <item>Error</item>
+            <item>Exception</item>
+            <item>FallThroughError</item>
+            <item>FormatException</item>
+            <item>IndexError</item>
+            <item>IntegerDivisionByZeroException</item>
+            <item>JsonCyclicError</item>
+            <item>JsonUnsupportedObjectError</item>
+            <item>NoSuchMethodError</item>
+            <item>NullThrownError</item>
+            <item>OutOfMemoryError</item>
+            <item>RangeError</item>
+            <item>StackOverflowError</item>
+            <item>StateError</item>
+            <item>TypeError</item>
+            <item>UnimplementedError</item>
+            <item>UnsupportedError</item>
+        </list>
+        <list name="thiskeyword">
+            <item>this</item>
+        </list>
+
+        <contexts>
+            <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+                <DetectSpaces />
+
+                <keyword attribute="Control Flow" context="#stay" String="controlflow"/>
+                <keyword attribute="Keyword" context="#stay" String="keywords"/>
+                <keyword attribute="Data Type" context="#stay" String="types"/>
+                <keyword attribute="Modifiers" context="#stay" String="modifiers"/>
+                <keyword attribute="Constant" context="#stay" String="literals"/>
+                <keyword attribute="Exceptions" context="#stay" String="exceptions"/>
+                <keyword attribute="This Keyword" context="#stay" String="thiskeyword"/>
+                <DetectIdentifier />
+
+                <Int attribute="Decimal" context="#stay"/>
+                <Float attribute="Float" context="#stay"/>
+                <HlCHex attribute="Hex" context="#stay"/>
+                <HlCOct attribute="Octal" context="#stay"/>
+
+                <DetectChar attribute="String" context="DoubleQuoteString" char="&quot;"/>
+                <DetectChar attribute="String" context="SingleQuoteString" char="'"/>
+
+                <IncludeRules context="FindComments" />
+
+                <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;+,-/.*&lt;=&gt;?|~^"/>
+            </context>
+
+            <!-- Strings -->
+            <context attribute="String" lineEndContext="#pop" name="DoubleQuoteString">
+                <LineContinue attribute="String" context="#stay"/>
+                <HlCStringChar attribute="String Char" context="#stay"/>
+                <DetectChar attribute="String" context="#pop" char="&quot;"/>
+            </context>
+
+            <context attribute="String" lineEndContext="#pop" name="SingleQuoteString" >
+                <HlCStringChar attribute="String Char" context="#stay"/>
+                <DetectChar attribute="String" context="#pop" char="'" />
+            </context>
+
+            <!-- Comments -->
+            <context name="FindComments" attribute="Normal Text" lineEndContext="#pop">
+                <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="/" lookAhead="true" />
+                <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="*" lookAhead="true" />
+            </context>
+
+            <context name="MatchComment" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+                <StringDetect attribute="Region Marker" context="#pop!Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
+                <StringDetect attribute="Region Marker" context="#pop!Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
+                <IncludeRules context="##Doxygen" />
+                <Detect2Chars attribute="Comment" context="#pop!Commentar 1" char="/" char1="/" />
+                <Detect2Chars attribute="Comment" context="#pop!Commentar 2" char="/" char1="*" beginRegion="Comment" />
+            </context>
+
+            <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
+            </context>
+
+            <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
+                <LineContinue attribute="Comment" context="#stay"/>
+                <IncludeRules context="##Comments" />
+            </context>
+
+            <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
+                <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
+                <IncludeRules context="##Comments" />
+            </context>
+        </contexts>
+
+        <itemDatas>
+            <itemData name="Normal Text"  defStyleNum="dsNormal" spellChecking="false"/>
+            <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>
+            <itemData name="Keyword"      defStyleNum="dsKeyword" spellChecking="false"/>
+            <itemData name="Data Type"    defStyleNum="dsDataType" spellChecking="false"/>
+            <itemData name="Decimal"      defStyleNum="dsDecVal" spellChecking="false"/>
+            <itemData name="Exceptions"   defStyleNum="dsKeyword" spellChecking="false"/>
+            <itemData name="Octal"        defStyleNum="dsBaseN" spellChecking="false"/>
+            <itemData name="Hex"          defStyleNum="dsBaseN" spellChecking="false"/>
+            <itemData name="Constant"     defStyleNum="dsConstant" spellChecking="false" />
+            <itemData name="Float"        defStyleNum="dsFloat" spellChecking="false"/>
+            <itemData name="Modifiers"    defStyleNum="dsAttribute" spellChecking="false"/>
+            <itemData name="String"       defStyleNum="dsString"/>
+            <itemData name="String Char"  defStyleNum="dsSpecialChar"/>
+            <itemData name="Comment"      defStyleNum="dsComment"/>
+            <itemData name="Symbol"       defStyleNum="dsOperator" spellChecking="false"/>
+            <itemData name="This Keyword" defStyleNum="dsKeyword" spellChecking="false"/>
+            <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
+        </itemDatas>
+    </highlighting>
+    <general>
+        <comments>
+            <comment name="singleLine" start="//" position="afterwhitespace" />
+            <comment name="multiLine" start="/*" end="*/" region="Comment"/>
+        </comments>
+        <keywords casesensitive="true" />
+    </general>
+</language>
diff --git a/xml/isocpp.xml b/xml/isocpp.xml
--- a/xml/isocpp.xml
+++ b/xml/isocpp.xml
@@ -11,7 +11,7 @@
     <!ENTITY punctuators ":&ns_punctuators;">
 
     <!-- printf-like format strings conversion specifiers -->
-    <!ENTITY printf_like "&#37;[-+ #0]*(?:[0-9]+|\*)?(?:\.(?:[0-9]+|\*))?(?:(?:hh|ll|[hljzt])?[dioxXun]|[lL]?[fFeEaAgG]|l?[cs]|[p&#37;])">
+    <!ENTITY printf_like "&#37;[-+ #0]*+(?:[0-9]++|\*)?(?:\.(?:[0-9]++|\*))?(?:(?:hh|ll|[hljzt])?[dioxXubn]|wf?(?:[0-9]{0,4})[oxXub]|(?:DD|[lLHD])?[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]?)?\}">
 
@@ -20,12 +20,23 @@
     <!ENTITY ppemptypp "($|(?=(/\*([^*]|\*[^/])*\*/\s*)?(//.*)?$))">
     <!ENTITY ppcond0 "\s+(?:0|false)\s*&ppemptypp;">
     <!ENTITY ppcond1 "\s+(?:1|true)\s*(\|\|([^/]|/[^*/])+)?&ppemptypp;">
+
+    <!ENTITY ident_internal1  "_[a-zA-Z0-9_]+">
+    <!ENTITY ident_internal2  "[a-zA-Z][a-zA-Z0-9_]*__\b">
+    <!ENTITY ident_internal   "(?:&ident_internal1;|&ident_internal2;)">
+    <!ENTITY ident_member1    "m_[a-zA-Z0-9_]+">
+    <!ENTITY ident_member2    "[a-z][a-zA-Z0-9_]*_\b">
+    <!ENTITY ident_member     "(?:&ident_member1;|&ident_member2;)">
+    <!ENTITY ident_CONST      "[A-Z][A-Z0-9_]{2,}\b">
+    <!ENTITY ident_type       "[a-zA-Z][a-zA-Z0-9_]*_t(?:ype)?\b">
+    <!ENTITY ident_global     "g_[a-zA-Z0-9_]+">
+    <!ENTITY ident_static_prefix  "s_[a-zA-Z0-9_]">
 ]>
 <language
     name="ISO C++"
     section="Sources"
-    version="25"
-    kateversion="5.0"
+    version="27"
+    kateversion="5.79"
     indenter="cstyle"
     style="C++"
     mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr"
@@ -152,6 +163,8 @@
       <item>likely</item>
       <item>unlikely</item>
       <item>no_unique_address</item>
+      <!-- C++23 -->
+      <item>assume</item>
       <!-- TM TS -->
       <!-- <item>optimize_for_synchronized</item> -->
     </list>
@@ -252,6 +265,8 @@
       <item>ifdef</item>
       <item>ifndef</item>
       <item>elif</item>
+      <item>elifdef</item> <!--C++23-->
+      <item>elifndef</item> <!--C++23-->
       <item>else</item>
       <item>endif</item>
       <item>cmakedefine01</item>
@@ -264,26 +279,25 @@
       <item>undef</item>
       <item>warning</item>
     </list>
-    <list name="preprocessorIfDef">
-      <item>ifdef</item>
-      <item>ifndef</item>
-    </list>
     <list name="preprocessorDefine">
       <item>cmakedefine01</item>
       <item>cmakedefine</item>
       <item>define</item>
+      <item>undef</item>
     </list>
     <list name="preprocessorOther">
       <item>error</item>
       <item>line</item>
       <item>pragma</item>
-      <item>undef</item>
       <item>warning</item>
     </list>
 
     <contexts>
       <context name="Main" attribute="Normal Text" lineEndContext="#stay">
         <DetectSpaces/>
+        <!-- Match punctuators (partial for fast path) -->
+        <AnyChar attribute="Symbol" context="#stay" String=":()]+-*=&gt;!|&amp;~^" />
+        <AnyChar attribute="Separator Symbol" context="#stay" String="&separators;" />
         <!-- Match scope regions -->
         <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
         <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
@@ -292,30 +306,27 @@
         <!-- Detect attributes -->
         <Detect2Chars attribute="Symbol" context="Attribute" char="[" char1="[" />
         <StringDetect attribute="Symbol" context="Attribute" String="&lt;:&lt;:" /> <!-- Digraph: [[ -->
+
+        <!-- Match preprocessor directives -->
+        <DetectChar attribute="Preprocessor" context="AfterHash" char="#" lookAhead="1"/>
+        <Detect2Chars attribute="Preprocessor" context="AfterHash" char="%" char1=":" lookAhead="1"/> <!-- Digraph: # -->
+        <StringDetect attribute="Preprocessor" context="AfterHash" String="??=" lookAhead="1"/> <!-- Trigraph: # -->
+
         <!-- Match numbers -->
-        <RegExpr context="Number" String="\.?\d" lookAhead="true" />
+        <RegExpr context="Number" String="\.?[0-9]" lookAhead="true" />
         <!-- Match comments -->
         <IncludeRules context="match comments and region markers" />
+        <!-- Match punctuators -->
+        <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" />
         <!-- Match keywords -->
         <IncludeRules context="match keywords" />
         <!-- Match string literals -->
-        <IncludeRules context="match string" />
+        <AnyChar context="SelectString" String="UuLR&quot;'" lookAhead="1"/>
         <!-- Match GCC extensions -->
         <IncludeRules context="DetectGccExtensions##GCCExtensions" />
         <!-- Match most used namespaces and styles -->
-        <StringDetect attribute="Standard Classes" context="Standard Classes" String="std::" />
-        <StringDetect attribute="Boost Stuff" context="Boost Stuff" String="boost::" />
-        <StringDetect attribute="Boost Stuff" context="Boost Stuff" String="BOOST_" />
-        <StringDetect attribute="Internals" context="InternalsNS" String="detail::" />
-        <StringDetect attribute="Internals" context="InternalsNS" String="details::" />
-        <StringDetect attribute="Internals" context="InternalsNS" String="aux::" />
-        <StringDetect attribute="Internals" context="InternalsNS" String="internals::" />
+        <RegExpr context="DispatchNamespace" String="(std::)|(boost::|BOOST_)|details?::|aux::|internals::" lookAhead="1"/>
         <IncludeRules context="match identifier" />
-        <!-- Match preprocessor directives -->
-        <RegExpr attribute="Preprocessor" context="AfterHash" String="&ispphash;" lookAhead="true" />
-        <!-- Match punctuators -->
-        <AnyChar attribute="Separator Symbol" context="#stay" String="&separators;" />
-        <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" />
         <!-- Match invalid symbols -->
         <AnyChar attribute="Error" context="#stay" String="$@`" />
       </context>
@@ -325,7 +336,7 @@
         <Detect2Chars attribute="Comment" context="MatchComment" char="/" char1="*" lookAhead="true" />
       </context>
 
-      <context name="MatchComment" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+      <context name="MatchComment" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
         <IncludeRules context="##Doxygen" />
         <Detect2Chars attribute="Comment" context="#pop!Comment 1" char="/" char1="/" />
         <Detect2Chars attribute="Comment" context="#pop!Comment 2" char="/" char1="*" beginRegion="Comment" />
@@ -336,7 +347,7 @@
         <Detect2Chars attribute="Comment" context="MatchCommentAndRegionMarkers" char="/" char1="*" lookAhead="true" />
       </context>
 
-      <context name="MatchCommentAndRegionMarkers" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+      <context name="MatchCommentAndRegionMarkers" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
         <StringDetect attribute="Region Marker" context="#pop!Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
         <StringDetect attribute="Region Marker" context="#pop!Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
         <IncludeRules context="MatchComment" />
@@ -348,67 +359,133 @@
         <keyword attribute="Keyword" context="#stay" String="keywords" />
       </context>
 
-      <context name="match string" attribute="Normal Text" lineEndContext="#pop">
-        <DetectChar attribute="String" context="String" char="&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;" />
-        <Detect2Chars attribute="Raw String Delimiter" context="RawString" char="R" char1="&quot;" />
-        <StringDetect attribute="Raw String Delimiter" context="RawString" String="uR&quot;" />
-        <StringDetect attribute="Raw String Delimiter" context="RawString" String="UR&quot;" />
-        <StringDetect attribute="Raw String Delimiter" context="RawString" String="LR&quot;" />
-        <StringDetect attribute="Raw String Delimiter" context="RawString" String="u8R&quot;" />
-        <DetectChar attribute="Char" context="Char8 Literal" char="'" />
-        <Detect2Chars attribute="Char" context="Char16 Literal" char="L" char1="'" />
-        <Detect2Chars attribute="Char" context="Char16 Literal" char="u" char1="'" />
-        <Detect2Chars attribute="Char" context="Char32 Literal" char="U" char1="'" />
-        <StringDetect attribute="Char" context="Char8 Literal" String="u8'" />
+
+      <context name="SelectStringPP" attribute="Preprocessor" lineEndContext="#pop">
+        <IncludeRules context="SelectString"/>
       </context>
+      <context name="SelectString" attribute="Normal Text" lineEndContext="#pop">
+        <DetectChar attribute="String" context="#pop!String8" char="&quot;"/>
+        <DetectChar attribute="Char" context="#pop!Char8" char="'"/>
+        <Detect2Chars context="#pop!SelectStringPrefix" char="U" char1="&quot;" lookAhead="1"/>
+        <Detect2Chars context="#pop!SelectStringPrefix" char="u" char1="&quot;" lookAhead="1"/>
+        <Detect2Chars context="#pop!SelectStringPrefix" char="L" char1="&quot;" lookAhead="1"/>
+        <StringDetect context="#pop!SelectStringPrefix" String="u8&quot;" lookAhead="1"/>
+        <Detect2Chars attribute="Raw String Delimiter" context="#pop!RawString" char="R" char1="&quot;" />
+        <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="uR&quot;"/>
+        <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="UR&quot;"/>
+        <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="LR&quot;"/>
+        <StringDetect attribute="Raw String Delimiter" context="#pop!RawString" String="u8R&quot;"/>
+        <Detect2Chars context="#pop!SelectCharPrefix" char="U" char1="'" lookAhead="1"/>
+        <Detect2Chars context="#pop!SelectCharPrefix" char="u" char1="'" lookAhead="1"/>
+        <Detect2Chars context="#pop!SelectCharPrefix" char="L" char1="'" lookAhead="1"/>
+        <StringDetect context="#pop!SelectCharPrefix" String="u8'" lookAhead="1"/>
 
+        <!-- match identifier -->
+        <keyword attribute="Data Type" context="#pop" String="types"/>
+        <RegExpr context="#pop!DispatchIdentifier" String="(&ident_internal2;)|(&ident_member2;)|(&ident_CONST;)|(&ident_type;)" lookAhead="1"/>
+        <DetectIdentifier context="#pop"/>
+      </context>
+
+      <context name="SelectStringPrefix" attribute="String" lineEndContext="#pop">
+        <Detect2Chars attribute="String Literal Prefix" context="#pop!StringPrefix8" char="u" char1="8"/>
+        <AnyChar attribute="String Literal Prefix" context="#pop!StringPrefix16" String="uL"/>
+        <DetectChar attribute="String Literal Prefix" context="#pop!StringPrefix32" char="U"/>
+      </context>
+      <context name="StringPrefix8" attribute="String" lineEndContext="#pop">
+        <DetectChar attribute="String" context="#pop!String8" char="&quot;"/>
+      </context>
+      <context name="StringPrefix16" attribute="String" lineEndContext="#pop">
+        <DetectChar attribute="String" context="#pop!String16" char="&quot;"/>
+      </context>
+      <context name="StringPrefix32" attribute="String" lineEndContext="#pop">
+        <DetectChar attribute="String" context="#pop!String32" char="&quot;"/>
+      </context>
+
+      <context name="SelectCharPrefix" attribute="String" lineEndContext="#pop">
+        <Detect2Chars attribute="Char Literal Prefix" context="#pop!CharPrefix8" char="u" char1="8"/>
+        <AnyChar attribute="Char Literal Prefix" context="#pop!CharPrefix16" String="uL"/>
+        <DetectChar attribute="Char Literal Prefix" context="#pop!CharPrefix32" char="U"/>
+      </context>
+      <context name="CharPrefix8" attribute="Char" lineEndContext="#pop">
+        <DetectChar attribute="Char" context="#pop!Char8" char="'"/>
+      </context>
+      <context name="CharPrefix16" attribute="Char" lineEndContext="#pop">
+        <DetectChar attribute="Char" context="#pop!Char16" char="'"/>
+      </context>
+      <context name="CharPrefix32" attribute="Char" lineEndContext="#pop">
+        <DetectChar attribute="Char" context="#pop!Char32" char="'"/>
+      </context>
+
       <context name="match identifier" attribute="Normal Text" lineEndContext="#pop">
         <keyword attribute="Data Type" context="#stay" String="types" />
         <keyword attribute="Type Modifiers" context="#stay" String="modifiers" />
         <keyword attribute="Standard Macros" context="#stay" String="StdMacros" />
-        <RegExpr attribute="Internals" context="#stay" String="_[a-zA-Z0-9_]+|[a-zA-Z][a-zA-Z0-9_]*__\b" />
-        <RegExpr attribute="Data Members (m_*)" context="#stay" String="m_[a-zA-Z0-9_]+|[a-z][a-zA-Z0-9_]*_\b" />
-        <RegExpr attribute="Globals (g_*)" context="#stay" String="g_[a-zA-Z0-9_]+" />
-        <RegExpr attribute="Statics (s_*)" context="#stay" String="s_[a-zA-Z0-9_]+" />
-        <RegExpr attribute="CONSTS/MACROS" context="#stay" String="[A-Z][A-Z0-9_]{2,}\b" />
-        <RegExpr attribute="Types (*_t/*_type)" context="#stay" String="[a-zA-Z][a-zA-Z0-9_]*_t(ype)?\b" />
+        <RegExpr context="DispatchIdentifier" String="(&ident_internal;)|(&ident_member;)|(&ident_CONST;)|(&ident_type;)|(&ident_global;)|&ident_static_prefix;" lookAhead="1"/>
         <DetectIdentifier />
       </context>
+      <context name="DispatchIdentifier" attribute="Normal Text" lineEndContext="#pop">
+        <StringDetect context="#pop" String="%2" dynamic="1" attribute="Data Members (m_*)"/>
+        <StringDetect context="#pop" String="%4" dynamic="1" attribute="Types (*_t/*_type)"/>
+        <StringDetect context="#pop" String="%3" dynamic="1" attribute="CONSTS/MACROS"/>
+        <StringDetect context="#pop" String="%1" dynamic="1" attribute="Internals"/>
+        <StringDetect context="#pop" String="%5" dynamic="1" attribute="Globals (g_*)"/>
+        <DetectIdentifier context="#pop" attribute="Statics (s_*)"/>
+      </context>
 
-      <context name="Number" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+      <context name="DispatchNamespace" attribute="Normal Text" lineEndContext="#pop">
+        <StringDetect context="#pop!Standard Classes" String="%1" dynamic="1" attribute="Standard Classes"/>
+        <StringDetect context="#pop!Boost Stuff" String="%2" dynamic="1" attribute="Boost Stuff"/>
+        <DetectIdentifier context="#pop!InternalsNS" attribute="Internals"/>
+      </context>
+
+      <context name="DispatchNamespacePP" attribute="Preprocessor" lineEndContext="#pop">
+        <StringDetect context="#pop!Standard Classes In PP" String="%1" dynamic="1" attribute="Standard Classes"/>
+        <StringDetect context="#pop!Boost Stuff In PP" String="%2" dynamic="1" attribute="Boost Stuff"/>
+        <DetectIdentifier context="#pop!InternalsNS In PP" attribute="Internals"/>
+      </context>
+
+      <context name="Number" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
         <RegExpr attribute="Float" context="FloatSuffix" String="\.&int;&exp_float;?|0[xX](?:\.&hex_int;&exp_hexfloat;?|&hex_int;(?:&exp_hexfloat;|\.&hex_int;?&exp_hexfloat;?))|&int;(?:&exp_float;|\.&int;?&exp_float;?)" />
+        <WordDetect attribute="Decimal" context="IntSuffix" String="0" weakDeliminator="."/>
         <IncludeRules context="Integer" />
       </context>
 
-      <context name="Integer" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+      <context name="Integer" attribute="Normal Text" lineEndContext="#pop">
+        <DetectChar context="#pop!IntStartsWith0" char="0" lookAhead="1"/>
+        <RegExpr attribute="Decimal" context="IntSuffix" String="&int;" />
+        <RegExpr attribute="Error" context="#pop" String="[._0-9A-Za-z']++" />
+      </context>
+      <context name="IntStartsWith0" attribute="Normal Text" lineEndContext="#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="Error" context="#pop" String="[._0-9A-Za-z']++" />
+        <DetectChar attribute="Decimal" context="IntSuffix" char="0"/>
       </context>
 
-      <context name="IntSuffix" attribute="Error" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="NumericSuffixError">
+      <context name="IntSuffix" attribute="Error" lineEndContext="#pop#pop" fallthroughContext="NumericSuffixError">
         <DetectChar attribute="Error" context="#stay" char="'" />
-        <AnyChar attribute="Error" context="#pop!IntSuffixPattern" String="uUlLimunshyd_" lookAhead="true" />
+        <AnyChar context="#pop!IntSuffixPattern" String="uUlLzZimunshyd_" lookAhead="1"/>
       </context>
 
-      <context name="IntSuffixPattern" attribute="Error" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="NumericSuffixError">
-        <RegExpr attribute="Standard Suffix" context="NumericSuffixError" String="([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?)\b" />
+      <context name="IntSuffixPattern" attribute="Error" lineEndContext="#pop#pop" fallthroughContext="NumericSuffixError">
+        <!-- https://en.cppreference.com/w/cpp/language/integer_literal#The_type_of_the_literal -->
+        <RegExpr attribute="Standard Suffix" context="NumericSuffixError" String="([Uu](LL?|ll?|[Zz])?|(LL?|ll?|[Zz])[Uu]?)\b"/>
         <!-- https://en.cppreference.com/w/cpp/language/user_literal#Standard_library -->
-        <RegExpr attribute="Standard Classes" context="NumericSuffixError" String="(?:i[fl]?|min|[mun]?s|[hyd])\b" />
-        <DetectChar attribute="Error" context="#pop!NumericUserSuffixPattern" char="_" lookAhead="true" />
+        <RegExpr attribute="Standard Classes" context="NumericSuffixError" String="(?:i[fl]?|min|[mun]?s|[hyd])\b"/>
+        <DetectChar context="#pop!NumericUserSuffixPattern" char="_" lookAhead="1"/>
       </context>
 
-      <context name="FloatSuffix" attribute="Error" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="NumericSuffixError">
+      <context name="FloatSuffix" attribute="Error" lineEndContext="#pop#pop" fallthroughContext="NumericSuffixError">
+        <DetectChar attribute="Error" context="#stay" char="'" />
+        <AnyChar context="#pop!FloatSuffixPattern" String="fFlLimsh_" lookAhead="1"/>
+      </context>
+
+      <context name="FloatSuffixPattern" attribute="Error" lineEndContext="#pop#pop" fallthroughContext="NumericSuffixError">
+        <!-- https://en.cppreference.com/w/cpp/language/floating_literal#Syntax -->
         <AnyChar attribute="Standard Suffix" context="NumericSuffixError" String="fFlL" />
         <!-- https://en.cppreference.com/w/cpp/language/user_literal#Standard_library -->
         <RegExpr attribute="Standard Classes" context="NumericSuffixError" String="(?:i[fl]?|min|[mun]?s|h)\b" />
-        <DetectChar attribute="Error" context="#pop!NumericUserSuffixPattern" char="_" lookAhead="true" />
+        <DetectChar context="#pop!NumericUserSuffixPattern" char="_" lookAhead="1" />
       </context>
 
       <context name="NumericUserSuffixPattern" attribute="Error" lineEndContext="#pop#pop">
@@ -419,87 +496,104 @@
         must be separated from the operator with whitespace or parentheses in the source
         -->
         <RegExpr attribute="Error" context="#pop#pop" String="_[eEpP][+-]" />
-        <RegExpr attribute="UDL Numeric Suffix" context="NumericSuffixError" String="_[_[:alnum:]]*" />
+        <DetectIdentifier attribute="UDL Numeric Suffix" context="NumericSuffixError"/>
       </context>
 
-      <context name="NumericSuffixError" attribute="Error" lineEndContext="#pop#pop#pop" fallthrough="true" fallthroughContext="#pop#pop#pop">
-        <RegExpr attribute="Error" context="#pop#pop#pop" String="\.[_0-9A-Za-z]*|[_0-9A-Za-z]+" />
+      <context name="NumericSuffixError" attribute="Error" lineEndContext="#pop#pop#pop" fallthroughContext="#pop#pop#pop">
+        <AnyChar attribute="Error" String=".'0123456789"/>
+        <DetectIdentifier attribute="Error"/>
       </context>
 
-      <context name="CheckUDLOperator" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+      <context name="CheckUDLOperator" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
         <DetectSpaces />
         <Detect2Chars attribute="String" context="UDLOperatorName" char="&quot;" char1="&quot;" />
       </context>
 
-      <context name="UDLOperatorName" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!IdentifierError">
+      <context name="UDLOperatorName" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!IdentifierError">
         <DetectSpaces />
         <RegExpr attribute="Normal Text" context="#pop#pop" String="_[_[:alnum:]]*\b" />
       </context>
 
-      <context name="IdentifierError" attribute="Error" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop">
+      <context name="IdentifierError" attribute="Error" lineEndContext="#stay" fallthroughContext="#pop#pop">
         <RegExpr attribute="Error" context="#pop#pop" String=".[^\s()]*" />
       </context>
 
 
-      <context name="Char8 Literal" attribute="Char" lineEndContext="#pop" fallthrough="true" fallthroughContext="Char Literal Close">
-        <RegExpr attribute="String Char" context="Char Literal Close" String="\\(?:[tnvbrfa'&quot;\\?]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2})" />
-        <DetectChar attribute="Error" context="#pop" char="'" />
-        <RegExpr attribute="Char" context="Char Literal Close" String="." />
+      <context name="Char8" attribute="Char" lineEndContext="#pop" fallthroughContext="CharClose">
+        <HlCStringChar attribute="String Char" context="CharClose"/>
+        <IncludeRules context="FindSingleChar"/>
       </context>
 
-      <context name="Char16 Literal" attribute="Char" lineEndContext="#pop" fallthrough="true" fallthroughContext="Char Literal Close">
-        <RegExpr attribute="String Char" context="Char Literal Close" String="\\(?:[tnvbrfa'&quot;\\?]|[0-7]{1,3}|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4})" />
-        <DetectChar attribute="Error" context="#pop" char="'" />
-        <RegExpr attribute="Char" context="Char Literal Close" String="." />
+      <context name="Char16" attribute="Char" lineEndContext="#pop" fallthroughContext="CharClose">
+        <RegExpr attribute="String Char" context="CharClose" String="\\(?:[tnvbrfa'&quot;\\?]|[0-7]{1,3}|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4})|" />
+        <IncludeRules context="FindSingleChar"/>
       </context>
 
-      <context name="Char32 Literal" attribute="Char" lineEndContext="#pop" fallthrough="true" fallthroughContext="Char Literal Close">
-        <RegExpr attribute="String Char" context="Char Literal Close" String="\\(?:[tnvbrfa'&quot;\\?]|[0-7]{1,3}|x[0-9A-Fa-f]{1,8}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})" />
+      <context name="Char32" attribute="Char" lineEndContext="#pop" fallthroughContext="CharClose">
+        <RegExpr attribute="String Char" context="CharClose" String="\\(?:[tnvbrfa'&quot;\\?]|[0-7]{1,3}|x[0-9A-Fa-f]{1,8}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})|" />
+        <IncludeRules context="FindSingleChar"/>
+      </context>
+
+      <context name="FindSingleChar" attribute="Char" lineEndContext="#pop">
         <DetectChar attribute="Error" context="#pop" char="'" />
-        <RegExpr attribute="Char" context="Char Literal Close" String="." />
+        <RegExpr attribute="Char" context="CharClose" String="." />
       </context>
 
-      <context name="Char Literal Close" attribute="Error" lineEndContext="#pop#pop">
+      <context name="CharClose" attribute="Error" lineEndContext="#pop#pop">
         <DetectChar attribute="Char" context="#pop#pop" char="'" />
       </context>
 
 
-      <context name="String" attribute="String" lineEndContext="#pop">
+      <context name="String8" attribute="String" lineEndContext="#pop">
         <IncludeRules context="string normal char" />
-        <RegExpr attribute="String Char" context="StringNoHex" String="\\x[0-9A-Fa-f]{1,8}" />
+        <Detect2Chars context="String8EscapeX" char="\" char1="x" lookAhead="1"/>
         <IncludeRules context="string special char" />
       </context>
+      <context name="String8EscapeX" attribute="String" lineEndContext="#pop">
+        <HlCStringChar attribute="String Char" context="#pop!StringNoHex"/>
+        <Detect2Chars context="#pop" attribute="Error" char="\" char1="x"/>
+      </context>
 
-      <context name="String8" attribute="String" lineEndContext="#pop">
+      <context name="String16" attribute="String" lineEndContext="#pop">
         <IncludeRules context="string normal char" />
-        <RegExpr attribute="String Char" context="StringNoHex" String="\\x[0-9A-Fa-f]{1,2}" />
+        <Detect2Chars context="String16EscapeX" char="\" char1="x" lookAhead="1"/>
         <IncludeRules context="string special char" />
       </context>
+      <context name="String16EscapeX" attribute="String" lineEndContext="#pop">
+        <RegExpr attribute="String Char" context="#pop!StringNoHex" String="\\x[0-9A-Fa-f]{1,4}" />
+        <Detect2Chars context="#pop" attribute="Error" char="\" char1="x"/>
+      </context>
 
-      <context name="String16" attribute="String" lineEndContext="#pop">
+      <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,4}" />
+        <Detect2Chars context="String32EscapeX" char="\" char1="x" lookAhead="1"/>
         <IncludeRules context="string special char" />
       </context>
+      <context name="String32EscapeX" attribute="String" lineEndContext="#pop">
+        <RegExpr attribute="String Char" context="#pop!StringNoHex" String="\\x[0-9A-Fa-f]{1,8}" />
+        <Detect2Chars context="#pop" attribute="Error" char="\" char1="x"/>
+      </context>
 
-      <context name="StringNoHex" attribute="Error" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+      <context name="StringNoHex" attribute="Error" lineEndContext="#pop" 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;|&format_like;" />
-        <RegExpr attribute="Error" context="#stay" String="\\(?:u[^&quot;]{0,3}|U[^&quot;]{0,7}|.)" />
-        <LineContinue attribute="String" context="#stay" />
+        <HlCStringChar attribute="String Char"/>
+        <RegExpr attribute="String Char" String="\\(?:u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})|&printf_like;|&format_like;"/>
+        <AnyChar attribute="String" String="%{}"/>
+        <RegExpr attribute="Error" String="\\(?:u[^&quot;]{0,3}|U[^&quot;]{0,7}|.)"/>
+        <LineContinue attribute="Separator Symbol"/>
       </context>
 
       <context name="string normal char" attribute="String" lineEndContext="#pop">
+        <DetectChar attribute="String" context="UDLStringSuffix" char="&quot;" />
         <!-- fast way, can be replaced by a `UntilChars` rule if it exists -->
         <!-- % -> printf format ; {} -> std::format -->
         <RegExpr attribute="String" context="#stay" String="[^%\\&quot;{}]+" />
-        <DetectChar attribute="String" context="UDLStringSuffix" char="&quot;" />
       </context>
 
-      <context name="UDLStringSuffix" attribute="String" fallthrough="true" fallthroughContext="#pop#pop" lineEndContext="#pop#pop">
+      <context name="UDLStringSuffix" attribute="String" fallthroughContext="#pop#pop" lineEndContext="#pop#pop">
         <WordDetect attribute="Standard Classes" context="#pop#pop" String="sv" />
         <WordDetect attribute="Standard Classes" context="#pop#pop" String="s" />
         <RegExpr attribute="UDL String Suffix" context="#pop#pop" String="_[_0-9A-Za-z]*\b" />
@@ -514,7 +608,7 @@
         <DetectChar attribute="Separator Symbol" context="#stay" char="," />
         <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" />
         <!-- Attributes may contain some text: [[deprecated("Reason text")]] -->
-        <DetectChar attribute="String" context="String" char="&quot;" />
+        <DetectChar attribute="String" context="String8" char="&quot;" />
         <AnyChar attribute="Decimal" context="Integer" String="0123456789" lookAhead="true" />
         <!-- This keyword may appear in Attribute context. For example in code:
         [[using CC: opt(1), debug]]
@@ -531,19 +625,19 @@
         <IncludeRules context="Attribute" />
       </context>
 
-      <context name="AttributeNamespace" attribute="Attribute" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+      <context name="AttributeNamespace" attribute="Attribute" lineEndContext="#stay" fallthroughContext="#pop">
         <DetectSpaces />
         <IncludeRules context="DetectNamespaceGccAttributes##GCCExtensions" />
         <DetectIdentifier />
       </context>
 
-      <context name="RawString" attribute="String" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!LineError">
+      <context name="RawString" attribute="String" lineEndContext="#stay" fallthroughContext="#pop!LineError">
         <RegExpr attribute="Raw String Delimiter" context="#pop!InRawString" String="([^\(]{0,16})\(" beginRegion="Raw String" />
       </context>
 
       <context name="InRawString" attribute="Raw String" lineEndContext="#stay" dynamic="true">
         <!-- fast way, can be replaced by a `UntilChars` rule if it exists -->
-        <RegExpr attribute="Raw String" context="#stay" String="[^%)]+" />
+        <RegExpr attribute="Raw String" context="#stay" String="[^%){}]+" />
         <RegExpr attribute="String Char" context="#stay" String="&printf_like;|&format_like;" />
         <StringDetect attribute="Raw String Delimiter" context="#pop" String=")%1&quot;" dynamic="true" endRegion="Raw String" />
       </context>
@@ -551,14 +645,14 @@
       <context name="Region Marker" attribute="Region Marker" lineEndContext="#pop" />
 
       <context name="DetectNSEnd" attribute="Normal Text" lineEndContext="#stay">
+        <AnyChar attribute="Symbol" context="#pop" String="&ns_punctuators; &#9;" />
+        <AnyChar attribute="Separator Symbol" context="#pop" String="&separators;" />
         <!-- This keyword may appear in InternalsNS context. For example in code:
           details::some_class::template some_templated_static();
           and it should be displayed as keyword, not like part of details namespace...
           -->
         <WordDetect attribute="Keyword" context="#stay" String="template" />
-        <DetectIdentifier context="#stay" />
-        <AnyChar attribute="Separator Symbol" context="#pop" String="&separators;" />
-        <AnyChar attribute="Symbol" context="#pop" String="&ns_punctuators; &#9;" />
+        <DetectIdentifier context="#stay"/>
       </context>
 
       <context name="Standard Classes" attribute="Standard Classes" lineEndContext="#stay">
@@ -603,51 +697,52 @@
         <DetectIdentifier />
       </context>
 
-      <context name="AfterHash" attribute="Error" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!AfterHashLineError">
-        <RegExpr attribute="Preprocessor" context="#pop!PreprocessorCmd" String="&pphash;(?=.)" firstNonSpace="true" />
-      </context>
-
-      <context name="AfterHashLineError" attribute="Region Marker" lineEndContext="#pop">
-        <LineContinue attribute="Error" context="#stay" />
-        <RegExpr attribute="Error" context="#pop!LineError" String="[^\\]+" />
+      <context name="AfterHash" attribute="Error" lineEndContext="#pop" fallthroughContext="#pop!LineError">
+        <RegExpr attribute="Preprocessor" context="#pop!PreprocessorCmd" String="&pphash;(?=.)|" firstNonSpace="true" />
       </context>
 
       <context name="LineError" attribute="Error" lineEndContext="#pop">
         <LineContinue attribute="Error" context="#stay" />
+        <RegExpr attribute="Error" context="#stay" String="[^\\]+" />
       </context>
 
-      <context name="PreprocessorCmd" attribute="Error" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!AfterHashLineError">
+
+      <context name="PreprocessorCmd" attribute="Error" lineEndContext="#pop" fallthroughContext="#pop!LineError">
         <WordDetect attribute="Preprocessor" context="#pop!Include" String="include" />
-        <keyword attribute="Preprocessor" context="#pop!PreprocessorIfDef" String="preprocessorIfDef" beginRegion="PP" lookAhead="true" />
+        <WordDetect attribute="Preprocessor" context="#pop!PreprocessorIfDef" String="ifdef" beginRegion="PP" lookAhead="true" />
+        <WordDetect attribute="Preprocessor" context="#pop!PreprocessorIfDef" String="ifndef" beginRegion="PP" lookAhead="true" />
         <WordDetect attribute="Preprocessor" context="#pop!PreprocessorIf" String="if" beginRegion="PP" lookAhead="true" />
         <WordDetect attribute="Preprocessor" context="#pop!PreprocessorIf" String="elif" endRegion="PP" beginRegion="PP" lookAhead="true" />
         <WordDetect attribute="Preprocessor" context="PreprocessorEndOfLineSpace" String="else" endRegion="PP" beginRegion="PP" />
         <WordDetect attribute="Preprocessor" context="PreprocessorEndOfLineSpace" String="endif" endRegion="PP" />
-        <keyword attribute="Preprocessor" context="#pop!Preprocessor" String="preprocessorOther" />
+        <WordDetect attribute="Preprocessor" context="#pop!PreprocessorIfDef" String="elifdef" endRegion="PP" beginRegion="PP" lookAhead="true" />
+        <WordDetect attribute="Preprocessor" context="#pop!PreprocessorIfDef" String="elifndef" endRegion="PP" beginRegion="PP" lookAhead="true" />
         <keyword attribute="Preprocessor" context="#pop!Define" String="preprocessorDefine" />
+        <keyword attribute="Preprocessor" context="#pop!Preprocessor" String="preprocessorOther" />
         <!-- GCC extension -->
         <WordDetect attribute="Preprocessor" context="#pop!Include" String="include_next" />
         <Int attribute="Preprocessor" context="#pop!Preprocessor"/>
       </context>
 
-      <context name="Include" attribute="Preprocessor" lineEndContext="#pop" >
-        <LineContinue attribute="Preprocessor" context="#stay" />
+      <context name="Include" attribute="Preprocessor" lineEndContext="#pop">
+        <DetectSpaces/>
         <RangeDetect attribute="Prep. Lib" context="PreprocessorEndOfLineSpace" char="&quot;" char1="&quot;" />
         <RangeDetect attribute="Prep. Lib" context="PreprocessorEndOfLineSpace" char="&lt;" char1="&gt;" />
         <IncludeRules context="Preprocessor" />
+        <DetectIdentifier/>
       </context>
 
-      <context name="PreprocessorIfDef" attribute="Preprocessor" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!LineError">
+      <context name="PreprocessorIfDef" attribute="Preprocessor" lineEndContext="#pop" fallthroughContext="#pop!LineError">
         <RegExpr attribute="Preprocessor" context="#pop!Preprocessor" String="\w+\s+([_A-Za-z][A-Za-z0-9]*\s*|(?=//|/\*))" />
       </context>
 
-      <context name="PreprocessorIf" attribute="Preprocessor" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!LineError">
+      <context name="PreprocessorIf" attribute="Preprocessor" lineEndContext="#pop" fallthroughContext="#pop!LineError">
         <RegExpr attribute="Preprocessor" context="#pop!Inscoped" String="\w+&ppcond1;" />
         <RegExpr attribute="Preprocessor" context="#pop!Outscoped" String="\w+&ppcond0;" />
         <RegExpr attribute="Preprocessor" context="#pop!Preprocessor" String="\w+\s+(?=[^\s])" />
       </context>
 
-      <context name="PreprocessorEndOfLineSpace" attribute="Preprocessor" lineEndContext="#pop#pop" fallthrough="true" fallthroughContext="#pop#pop!LineError">
+      <context name="PreprocessorEndOfLineSpace" attribute="Preprocessor" lineEndContext="#pop#pop" fallthroughContext="#pop#pop!LineError">
         <DetectSpaces />
         <IncludeRules context="match comments" />
       </context>
@@ -679,9 +774,9 @@
 
       <context name="In Define" attribute="Preprocessor" lineEndContext="#pop">
         <DetectSpaces/>
-        <IncludeRules context="InPreprocessor" />
-        <!-- Match scope regions -->
-        <AnyChar attribute="Symbol" context="#stay" String="{}" />
+        <LineContinue attribute="Separator Symbol" context="#stay" />
+        <!-- Match scope regions and punctuators (partial for fast path) -->
+        <AnyChar attribute="Symbol" context="#stay" String="#:(){}]+-*%=&gt;!|&amp;~^" />
         <!-- Detect attributes -->
         <Detect2Chars attribute="Symbol" context="Attribute In PP" char="[" char1="[" />
         <StringDetect attribute="Symbol" context="Attribute In PP" String="&lt;:&lt;:" /> <!-- Digraph: [[ -->
@@ -695,23 +790,15 @@
         <!-- Match keywords -->
         <IncludeRules context="match keywords" />
         <!-- Match string literals -->
-        <IncludeRules context="match string" />
+        <AnyChar context="SelectStringPP" String="UuLR&quot;'" lookAhead="1"/>
         <!-- Match GCC extensions -->
         <IncludeRules context="DetectGccExtensionsInPP##GCCExtensions" />
         <!-- Match most used namespaces and styles -->
-        <StringDetect attribute="Standard Classes" context="Standard Classes In PP" String="std::" />
-        <StringDetect attribute="Boost Stuff" context="Boost Stuff In PP" String="boost::" />
-        <StringDetect attribute="Boost Stuff" context="Boost Stuff In PP" String="BOOST_" />
-        <StringDetect attribute="Internals" context="InternalsNS In PP" String="detail::" />
-        <StringDetect attribute="Internals" context="InternalsNS In PP" String="details::" />
-        <StringDetect attribute="Internals" context="InternalsNS In PP" String="aux::" />
-        <StringDetect attribute="Internals" context="InternalsNS In PP" String="internals::" />
+        <RegExpr context="DispatchNamespacePP" String="(std::)|(boost::|BOOST_)|details?::|aux::|internals::" lookAhead="1"/>
         <keyword attribute="Standard Macros" context="#stay" String="InMacro" />
         <IncludeRules context="match identifier" />
-        <!-- Match preprocessor directives -->
-        <DetectChar attribute="Preprocessor" context="#stay" char="#" />
         <!-- Match invalid symbols -->
-        <AnyChar attribute="Error" context="#stay" String="$@`" />
+        <AnyChar attribute="Error" context="#stay" String="$@`\" />
       </context>
 
       <context name="InPreprocessor" attribute="Normal Text" lineEndContext="#pop">
@@ -726,13 +813,13 @@
         <!-- prevent incorrect highlighting in case of not closed properly comment block -->
         <Detect2Chars attribute="Comment" context="#stay" char="*" char1="/" />
         <IncludeRules context="match comments" />
-        <RegExpr attribute="Comment" context="Outscoped intern" String="&pphash;if" beginRegion="PP" firstNonSpace="true" />
+        <RegExpr attribute="Comment" context="Outscoped intern" String="&pphash;if|" beginRegion="PP" firstNonSpace="true" />
         <LineContinue context="#stay" />
       </context>
 
       <context name="Outscoped" attribute="Comment" lineEndContext="#stay">
         <DetectSpaces />
-        <RegExpr attribute="Preprocessor" context="Outscoped AfterHash" String="&ispphash;" firstNonSpace="true" lookAhead="true" />
+        <RegExpr attribute="Preprocessor" context="Outscoped AfterHash" String="&ispphash;|" firstNonSpace="true" lookAhead="true" />
         <IncludeRules context="Outscoped Common" />
       </context>
 
@@ -748,18 +835,18 @@
 
       <context name="Outscoped 2" attribute="Comment" lineEndContext="#stay">
         <IncludeRules context="Outscoped Common" />
-        <RegExpr attribute="Preprocessor" context="#pop!PreprocessorEndOfLineSpace" String="&pphash;endif" endRegion="PP" firstNonSpace="true" />
+        <RegExpr attribute="Preprocessor" context="#pop!PreprocessorEndOfLineSpace" String="&pphash;endif|" endRegion="PP" firstNonSpace="true" />
       </context>
 
       <context name="Inscoped" attribute="Normal Text" lineEndContext="#stay">
         <DetectSpaces />
-        <RegExpr attribute="Preprocessor" context="Inscoped AfterHash" String="&ispphash;" firstNonSpace="true" lookAhead="true" />
+        <RegExpr attribute="Preprocessor" context="Inscoped AfterHash" String="&ispphash;|" firstNonSpace="true" lookAhead="true" />
         <IncludeRules context="Main" />
       </context>
 
-      <context name="Inscoped AfterHash" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!AfterHash">
+      <context name="Inscoped AfterHash" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop!AfterHash">
         <DetectSpaces />
-        <RegExpr attribute="Preprocessor" context="#pop!Outscoped 2" String="&pphash;el(?:se|if)" endRegion="PP" beginRegion="PP"/>
+        <RegExpr attribute="Preprocessor" context="#pop!Outscoped 2" String="&pphash;el(?:se|if(n?def)?)" endRegion="PP" beginRegion="PP"/>
         <RegExpr attribute="Preprocessor" context="#pop#pop!PreprocessorEndOfLineSpace" String="&pphash;endif\b" endRegion="PP" />
       </context>
 
@@ -770,9 +857,9 @@
         <!-- prevent incorrect highlighting in case of not closed properly comment block -->
         <Detect2Chars attribute="Comment" context="#stay" char="*" char1="/" />
         <IncludeRules context="match comments" />
-        <RegExpr attribute="Comment" context="Outscoped intern" String="&pphash;if" beginRegion="PP" firstNonSpace="true" />
-        <RegExpr attribute="Comment" context="#stay" String="&pphash;el(se|if)" beginRegion="PP" endRegion="PP" firstNonSpace="true" />
-        <RegExpr attribute="Comment" context="PreprocessorEndOfLineSpace" String="&pphash;endif" endRegion="PP" firstNonSpace="true" />
+        <RegExpr attribute="Comment" context="Outscoped intern" String="&pphash;if|" beginRegion="PP" firstNonSpace="true" />
+        <RegExpr attribute="Comment" context="#stay" String="&pphash;el(se|if(n?def)?)|" beginRegion="PP" endRegion="PP" firstNonSpace="true" />
+        <RegExpr attribute="Comment" context="PreprocessorEndOfLineSpace" String="&pphash;endif|" endRegion="PP" firstNonSpace="true" />
       </context>
     </contexts>
 
@@ -790,10 +877,12 @@
       <itemData name="Binary"             defStyleNum="dsBaseN"     spellChecking="false" />
       <itemData name="Float"              defStyleNum="dsFloat"     spellChecking="false" />
       <itemData name="Char"               defStyleNum="dsChar"      spellChecking="false" />
+      <itemData name="Char Literal Prefix" defStyleNum="dsChar"     spellChecking="false" />
       <itemData name="String"             defStyleNum="dsString"    spellChecking="true"  />
       <itemData name="String Char"        defStyleNum="dsSpecialChar" spellChecking="false" />
-      <itemData name="Raw String"         defStyleNum="dsVerbatimString" spellChecking="true"  />
-      <itemData name="Raw String Delimiter" defStyleNum="dsString"  spellChecking="false"  />
+      <itemData name="String Literal Prefix" defStyleNum="dsString" spellChecking="true" />
+      <itemData name="Raw String"         defStyleNum="dsVerbatimString" spellChecking="true" />
+      <itemData name="Raw String Delimiter" defStyleNum="dsString"  spellChecking="false" />
       <itemData name="Comment"            defStyleNum="dsComment"   spellChecking="true"  />
       <itemData name="Symbol"             defStyleNum="dsOperator"  spellChecking="false" />
       <itemData name="Separator Symbol"   defStyleNum="dsOperator"  spellChecking="false" />
@@ -817,7 +906,7 @@
   </highlighting>
   <general>
     <comments>
-      <comment name="singleLine" start="//" />
+      <comment name="singleLine" start="//" position="afterwhitespace"/>
       <comment name="multiLine" start="/*" end="*/" region="Comment" />
     </comments>
     <keywords casesensitive="1" additionalDeliminator="#&quot;" />
diff --git a/xml/isocpp.xml.patch b/xml/isocpp.xml.patch
new file mode 100644
--- /dev/null
+++ b/xml/isocpp.xml.patch
@@ -0,0 +1,12 @@
+--- isocpp.xml.2	2022-10-28 15:30:42.000000000 -0700
++++ isocpp.xml	2022-10-28 15:30:47.000000000 -0700
+@@ -445,8 +445,8 @@
+       </context>
+ 
+       <context name="Number" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
+-        <WordDetect attribute="Decimal" context="IntSuffix" String="0" weakDeliminator="."/>
+         <RegExpr attribute="Float" context="FloatSuffix" String="\.&int;&exp_float;?|0[xX](?:\.&hex_int;&exp_hexfloat;?|&hex_int;(?:&exp_hexfloat;|\.&hex_int;?&exp_hexfloat;?))|&int;(?:&exp_float;|\.&int;?&exp_float;?)" />
++        <WordDetect attribute="Decimal" context="IntSuffix" String="0" weakDeliminator="."/>
+         <IncludeRules context="Integer" />
+       </context>
+ 
diff --git a/xml/latex.xml b/xml/latex.xml
--- a/xml/latex.xml
+++ b/xml/latex.xml
@@ -4,970 +4,6294 @@
     <!ENTITY bullet "&#xd7;">
     <!ENTITY envname "[a-zA-Z]+\*?">
 ]>
-<language name="LaTeX" version="19" 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
-         avoids the requirement of the delimiter in the keyword. -->
-    <list name="beginEnv">
-      <item>\begin</item>
-    </list>
-
-    <list name="endEnv">
-      <item>\end</item>
-    </list>
-
-    <list name="Label">
-      <item>\Autocite</item>
-      <item>\autocite</item>
-      <item>\autoref</item>
-      <item>\Cite</item>
-      <item>\cite</item>
-      <item>\Citeauthor</item>
-      <item>\citeauthor</item>
-      <item>\citep</item>
-      <item>\citet</item>
-      <item>\citetitle</item>
-      <item>\citeurl</item>
-      <item>\citeyear</item>
-      <item>\cref</item>
-      <item>\Cref</item>
-      <item>\cref*</item>
-      <item>\Cref*</item>
-      <item>\eqref</item>
-      <item>\Footcite</item>
-      <item>\footcite</item>
-      <item>\footfullcite</item>
-      <item>\fullcite</item>
-      <item>\label</item>
-      <item>\nocite</item>
-      <item>\pagecite</item>
-      <item>\pageref</item>
-      <item>\Parencite</item>
-      <item>\parencite</item>
-      <item>\ref</item>
-      <item>\subref</item>
-      <item>\subref*</item>
-      <item>\supercite</item>
-      <item>\Textcite</item>
-      <item>\textcite</item>
-      <item>\vpageref</item>
-      <item>\vref</item>
-    </list>
-
-    <list name="macroFancyLabel">
-      <item>\documentclass</item>
-      <item>\includegraphics</item>
-      <item>\include</item>
-      <item>\usepackage</item>
-      <item>\bibliography</item>
-      <item>\bibliographystyle</item>
-    </list>
-
-    <list name="FancyLabel">
-      <item>\cites</item>
-      <item>\Cites</item>
-      <item>\parencites</item>
-      <item>\Parencites</item>
-      <item>\autocites</item>
-      <item>\Autocites</item>
-      <item>\supercites</item>
-      <item>\footcites</item>
-      <item>\Footcites</item>
-    </list>
-
-    <list name="Sectioning">
-      <item>\part*</item>
-      <item>\part</item>
-      <item>\chapter*</item>
-      <item>\chapter</item>
-      <item>\section*</item>
-      <item>\section</item>
-      <item>\subsection*</item>
-      <item>\subsection</item>
-      <item>\subsubsection*</item>
-      <item>\subsubsection</item>
-      <item>\paragraph*</item>
-      <item>\paragraph</item>
-      <item>\subparagraph*</item>
-      <item>\subparagraph</item>
-    </list>
-
-    <list name="SpecialCommand">
-      <item>\column</item>
-      <item>\definecolor</item>
-      <item>\geometry</item>
-      <item>\hspace*</item>
-      <item>\hspace</item>
-      <item>\input</item>
-      <item>\newboolean</item>
-      <item>\rule</item>
-      <item>\setboolean</item>
-      <item>\setcounter</item>
-      <item>\setlength</item>
-      <item>\special</item>
-      <item>\textcolor</item>
-      <item>\vspace*</item>
-      <item>\vspace</item>
-    </list>
-
-    <list name="Footnoting">
-      <item>\footnote*</item>
-      <item>\footnote</item>
-    </list>
-
-    <list name="NewCommand">
-      <item>\renewcommand*</item>
-      <item>\renewcommand</item>
-      <item>\providecommand*</item>
-      <item>\providecommand</item>
-      <item>\newcommand*</item>
-      <item>\newcommand</item>
-    </list>
-
-    <list name="DefCommand">
-      <item>\edef</item>
-      <item>\gdef</item>
-      <item>\xdef</item>
-    </list>
-
-    <list name="MathModeEnsure">
-      <item>\ensuremath</item>
-    </list>
-
-    <list name="iffalse">
-      <item>\iffalse</item>
-    </list>
-
-    <list name="iffalseend">
-      <item>\fi</item>
-      <item>\else</item>
-    </list>
-
-    <list name="Verb">
-      <item>verb*</item>
-      <item>verb</item>
-      <item>Verb</item>
-    </list>
-
-    <list name="Lstinline">
-      <item>lstinline</item>
-    </list>
-
-    <list name="MintParam">
-      <item>mint</item>
-    </list>
-
-    <list name="ListingsEnv">
-      <item>lstlisting*</item>
-      <item>lstlisting</item>
-    </list>
-
-    <list name="MintedEnv">
-      <item>minted*</item>
-      <item>minted</item>
-    </list>
-
-    <list name="VerbatimEnv">
-      <item>Verbatim*</item>
-      <item>Verbatim</item>
-      <item>BVerbatim*</item>
-      <item>BVerbatim</item>
-      <item>LVerbatim*</item>
-      <item>LVerbatim</item>
-      <item>verbatim*</item>
-      <item>verbatim</item>
-      <item>boxedverbatim*</item>
-      <item>boxedverbatim</item>
-    </list>
-
-    <list name="CommentEnv">
-      <item>comment*</item>
-      <item>comment</item>
-    </list>
-
-    <list name="MathEnvParam">
-      <item>alignat*</item>
-      <item>alignat</item>
-      <item>xalignat*</item>
-      <item>xalignat</item>
-      <item>xxalignat*</item>
-      <item>xxalignat</item>
-    </list>
-
-    <list name="MathEnv">
-      <item>Bmatrix*</item>
-      <item>Bmatrix</item>
-      <item>IEEEeqnarray*</item>
-      <item>IEEEeqnarray</item>
-      <item>IEEEeqnarraybox*</item>
-      <item>IEEEeqnarraybox</item>
-      <item>Vmatrix*</item>
-      <item>Vmatrix</item>
-      <item>align*</item>
-      <item>align</item>
-      <item>bmatrix*</item>
-      <item>bmatrix</item>
-      <item>cases*</item>
-      <item>cases</item>
-      <item>displaymath*</item>
-      <item>displaymath</item>
-      <item>eqnarray*</item>
-      <item>eqnarray</item>
-      <item>equation*</item>
-      <item>equation</item>
-      <item>flalign*</item>
-      <item>flalign</item>
-      <item>gather*</item>
-      <item>gather</item>
-      <item>math*</item>
-      <item>math</item>
-      <item>multline*</item>
-      <item>multline</item>
-      <item>pmatrix*</item>
-      <item>pmatrix</item>
-      <item>smallmatrix*</item>
-      <item>smallmatrix</item>
-      <item>subeqnarray*</item>
-      <item>subeqnarray</item>
-      <item>vmatrix*</item>
-      <item>vmatrix</item>
-    </list>
-
-    <list name="TabEnv">
-      <item>tabularx*</item>
-      <item>tabularx</item>
-      <item>tabular*</item>
-      <item>tabular</item>
-      <item>supertabular*</item>
-      <item>supertabular</item>
-      <item>mpsupertabular*</item>
-      <item>mpsupertabular</item>
-      <item>xtabular*</item>
-      <item>xtabular</item>
-      <item>mpxtabular*</item>
-      <item>mpxtabular</item>
-      <item>longtable*</item>
-      <item>longtable</item>
-    </list>
-
-    <list name="MathModeText">
-      <item>\text</item>
-      <item>\textit</item>
-      <item>\textbf</item>
-      <item>\textmd</item>
-      <item>\textsl</item>
-      <item>\textsc</item>
-      <item>\textrm</item>
-      <item>\textsf</item>
-      <item>\texttt</item>
-      <item>\textup</item>
-      <item>\textlf</item>
-      <item>\textnormal</item>
-      <item>\shortintertext</item>
-      <item>\intertext</item>
-      <item>\mbox</item>
-      <item>\emph</item>
-    </list>
-
-    <list name="ResetHL">
-      <item>\KileResetHL</item>
-      <item>\KateResetHL</item>
-    </list>
-
-    <contexts>
-      <!-- Normal text -->
-      <context name="Normal Text" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <DetectChar char="\" attribute="Normal Text" context="LatexMacro" lookAhead="true"/>
-        <DetectChar char="$" attribute="Math" context="MathModeTex"/>
-        <RegExpr String="^&lt;&lt;.*&gt;&gt;=" attribute="Normal Text" context="NoWeb" column="0"/>
-        <IncludeRules context="FindComments"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-      </context>
-
-      <context name="LatexMacro" attribute="Normal Text" lineEndContext="#pop">
-        <keyword String="beginEnv" attribute="Structure" context="#pop!FindBeginEnvironment" beginRegion="block"/>
-        <keyword String="endEnv" attribute="Structure" context="#pop!FindEndEnvironment"/>
-        <keyword String="Label" attribute="Structure" context="#pop!Label"/>
-        <keyword String="macroFancyLabel" attribute="Builtin Macro" context="#pop!FancyLabel"/>
-        <keyword String="FancyLabel" attribute="Structure" context="#pop!FancyLabel"/>
-        <keyword String="Sectioning" attribute="Structure" context="#pop!Sectioning"/>
-        <keyword String="SpecialCommand" attribute="Macro" context="#pop!SpecialCommand"/>
-        <keyword String="Footnoting" attribute="Macro" context="#pop!Footnoting"/>
-        <keyword String="NewCommand" attribute="Macro" context="#pop!NewCommand"/>
-        <keyword String="DefCommand" attribute="Macro" context="#pop!DefCommand"/>
-        <Detect2Chars char="\" char1="(" attribute="Math" context="#pop!MathModeLatex"/>
-        <Detect2Chars char="\" char1="[" attribute="Math" context="#pop!MathModeLatexEquation" beginRegion="mathMode"/>
-        <keyword String="MathModeEnsure" attribute="Math" context="#pop!MathModeEnsure"/>
-        <keyword String="iffalse" attribute="Comment" context="#pop!Multiline Comment"/>
-        <DetectChar char="\" attribute="Macro" context="#pop!ContrSeq"/>
-      </context>
-
-      <!-- NoWeb -->
-      <context name="NoWeb" attribute="Normal Text" lineEndContext="#stay">
-        <RegExpr String="^@\s*$" attribute="Normal Text" context="#pop" column="0"/>
-      </context>
-
-      <!-- LaTeX sectioning commands -->
-      <context name="Sectioning" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
-        <DetectSpaces/>
-        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#stay"/>
-        <DetectChar char="{" attribute="Normal Text" context="SectioningInside"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
-        <IncludeRules context="FindComments"/>
-      </context>
-      <context name="SectioningInside" attribute="Sectioning Text" lineEndContext="#stay">
-        <DetectChar char="{" attribute="Normal Text" context="SectioningInside"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
-        <Detect2Chars char="\" char1="(" attribute="Sectioning Math" context="SectioningMathMode" />
-        <DetectChar char="\" attribute="Sectioning Macro" context="SectioningContrSeq"/>
-        <DetectChar char="$" attribute="Sectioning Math" context="SectioningMathMode" />
-        <IncludeRules context="FindComments"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-      </context>
-      <context name="SectioningContrSeq" attribute="Macro" lineEndContext="#pop">
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="[a-zA-Z]+(?:\+?|\*{0,3})|." attribute="Sectioning Macro" context="#pop" />
-      </context>
-      <context name="SectioningMathMode" attribute="Sectioning Math" lineEndContext="#stay">
-        <Detect2Chars char="$" char1="$" attribute="Error" context="#stay" />
-        <DetectChar char="$" attribute="Sectioning Math" context="#pop" />
-        <Detect2Chars char="\" char1=")" attribute="Sectioning Math" context="#pop" />
-        <Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
-        <DetectChar char="\" attribute="Sectioning Macro Mathmode" context="SectioningMathContrSeq"/>
-        <IncludeRules context="FindComments"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-      </context>
-      <context name="SectioningMathContrSeq" attribute="Sectioning Macro Mathmode" lineEndContext="#pop">
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="&envname;|." attribute="Sectioning Macro Mathmode" context="#pop" />
-      </context>
-
-      <!-- LaTeX Footnote commands -->
-      <context name="Footnoting" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
-        <DetectSpaces/>
-        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#stay"/>
-        <DetectChar char="{" attribute="Normal Text" context="FootnotingInside"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
-        <IncludeRules context="FindComments"/>
-      </context>
-      <context name="FootnotingInside" attribute="Normal Text" lineEndContext="#stay">
-        <DetectChar char="{" attribute="Normal Text" context="FootnotingInside"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
-        <IncludeRules context="Normal Text"/>
-      </context>
-
-      <!-- LaTeX commands \newcommand and \renewcommand -->
-      <context name="NewCommand" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="LabelParameter"/>
-        <RegExpr String="(?:\[\d\](?:\[[^\]]*\])?)?\{" attribute="Normal Text" context="LabelParameter"/>
-        <DetectChar char="}" attribute="Error" context="#pop"/>
-      </context>
-
-      <!-- LaTeX command \def -->
-      <context name="DefCommand" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
-        <DetectSpaces/>
-        <RegExpr String="\\[a-zA-Z]+[^\{]*\{" attribute="Normal Text" context="#pop!CommandParameter"/>
-        <DetectChar char="}" attribute="Error" context="#pop"/>
-      </context>
-
-      <!-- parse command argument -->
-      <context name="CommandParameter" attribute="Normal Text" lineEndContext="#stay">
-        <DetectChar char="{" attribute="Normal Text" context="CommandParameter"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
-        <RegExpr String="\\." attribute="Normal Text" context="#stay"/>
-        <IncludeRules context="FindComments"/>
-      </context>
-
-      <!-- LaTeX command in text mode -->
-      <context name="ContrSeq" attribute="Macro" lineEndContext="#pop">
-        <keyword String="Verb" attribute="Macro" context="Verb"/>
-        <keyword String="Lstinline" attribute="Macro" context="Lstinline"/>
-        <keyword String="MintParam" attribute="Macro" context="MintParam"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="[a-zA-Z@]+(?:\+?|\*{0,3})|." attribute="Macro" context="#pop" />
-      </context>
-
-      <!-- \mint command with parameter-->
-      <context name="MintParam" attribute="Normal Text" lineEndContext="#stay">
-        <Detect2Chars char="}" char1="[" attribute="Normal Text" context="#stay"/>
-        <AnyChar String="}]" attribute="Normal Text" context="Verb"/>
-      </context>
-
-      <!-- verb command -->
-      <context name="Verb" attribute="Verbatim" lineEndContext="#pop#pop" >
-        <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" />
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="[^%1\xd7]*" attribute="Verbatim" context="#stay" dynamic="true" />
-      </context>
-
-      <!-- lstinline command, different from verb as it takes options -->
-      <context name="Lstinline" attribute="Verbatim" lineEndContext="#pop#pop" >
-        <DetectSpaces/>
-        <DetectChar char="[" attribute="Normal Text" context="FancyLabelOption"/>
-        <DetectChar char="{" attribute="Normal Text" context="LstinlineParameter"/>
-        <RegExpr String="(.)" attribute="Normal Text" context="LstinlineEnd" />
-      </context>
-      <context name="LstinlineEnd" attribute="Verbatim" lineEndContext="#pop#pop#pop" dynamic="true" >
-        <!-- TODO DetectChar segfault -->
-        <StringDetect String="%1" attribute="Normal Text" context="#pop#pop#pop" dynamic="true" />
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="[^%1\xd7]*" attribute="Verbatim" context="#stay" dynamic="true" />
-      </context>
-      <context name="LstinlineParameter" attribute="Verbatim" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop"/>
-      </context>
-
-      <!-- label -->
-      <context name="Label" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="LabelParameter"/>
-        <DetectChar char="[" attribute="Normal Text" context="LabelOption"/>
-      </context>
-
-      <context name="LabelOption" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex"/>
-        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
-        <DetectChar char="$" attribute="Math" context="MathModeTex" />
-        <IncludeRules context="FindComments"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <DetectChar char="]" attribute="Normal Text" context="#pop"/>
-      </context>
-
-      <context name="LabelParameter" attribute="Reference" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop"/>
-      </context>
-
-      <!-- labels from biblatex commands -->
-      <context name="FancyLabel" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="FancyLabelParameter"/>
-        <DetectChar char="[" attribute="Normal Text" context="FancyLabelOption"/>
-        <DetectChar char="(" attribute="Normal Text" context="FancyLabelRoundBrackets"/>
-      </context>
-
-      <context name="FancyLabelParameter" attribute="Environment" lineEndContext="#stay">
-        <DetectSpaces/>
-        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex"/>
-        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
-        <DetectChar char="$" attribute="Math" context="MathModeTex" />
-        <IncludeRules context="FindComments"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
-        <DetectChar char="{" attribute="Normal Text" context="FancyLabelParameter"/>
-      </context>
-
-      <context name="FancyLabelOption" attribute="Option Text" lineEndContext="#stay">
-        <IncludeRules context="LabelOption"/>
-      </context>
-
-      <context name="FancyLabelRoundBrackets" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex" />
-        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
-        <DetectChar char="$" attribute="Math" context="MathModeTex" />
-        <IncludeRules context="FindComments"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <DetectChar char=")" attribute="Normal Text" context="#pop"/>
-      </context>
-
-      <!-- Special commands -->
-      <context name="SpecialCommand" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="SpecialCommandParameterOption"/>
-      </context>
-
-      <context name="SpecialCommandParameterOption" attribute="Option Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex" />
-        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
-        <DetectChar char="$" attribute="Math" context="MathModeTex" />
-        <IncludeRules context="FindComments"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
-        <DetectChar char="{" attribute="Normal Text" context="SpecialCommandParameterOption"/>
-      </context>
-
-      <!-- end of an environment -->
-      <context name="FindEndEnvironment" attribute="Normal Text" lineEndContext="#stay">
-        <DetectChar char="{" attribute="Normal Text" context="EndEnvironment"/>
-        <RegExpr String="\S" attribute="Normal Text" context="#pop"/>
-      </context>
-
-      <context name="EndEnvironment" attribute="Environment" lineEndContext="#stay">
-        <RegExpr String="&envname;" attribute="Environment" context="LatexEnvEnd"/>
-        <RegExpr String="." attribute="Error" context="#pop#pop"/>
-      </context>
-
-      <context name="LatexEnvEnd" attribute="Environment" lineEndContext="#stay">
-        <DetectChar char="}" attribute="Normal Text" endRegion="block" context="#pop#pop#pop"/>
-        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
-      </context>
-
-      <!-- start of an environment -->
-      <context name="FindBeginEnvironment" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="BeginEnvironment"/>
-        <RegExpr String="." attribute="Normal Text" context="#pop"/>
-      </context>
-
-      <!-- filter the environment name and check the type -->
-      <context name="BeginEnvironment" attribute="Environment" lineEndContext="#stay">
-        <keyword String="ListingsEnv" attribute="Environment" context="ListingsEnv"/>
-        <keyword String="MintedEnv" attribute="Environment" context="MintedEnv"/>
-        <keyword String="VerbatimEnv" attribute="Environment" context="VerbatimEnv" lookAhead="true"/>
-        <keyword String="CommentEnv" attribute="Environment" context="CommentEnv"/>
-        <keyword String="MathEnvParam" attribute="Environment" context="MathEnvWithParam"/>
-        <keyword String="MathEnv" attribute="Environment" context="MathEnv"/>
-        <keyword String="TabEnv" attribute="Environment" context="TabEnv"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="&envname;" attribute="Environment" context="LatexEnv"/>
-        <RegExpr String="." attribute="Error" context="#pop"/>
-      </context>
-
-      <!-- environment type 1: normal -->
-      <context name="LatexEnv" attribute="Error" lineEndContext="#stay">
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop"/>
-      </context>
-
-      <context name="VerbatimEnv" attribute="Environment" lineEndContext="#stay">
-        <WordDetect String="verbatim*" attribute="Environment" context="VerbatimEnv1"/>
-        <WordDetect String="verbatim" attribute="Environment" context="VerbatimEnv1"/>
-        <WordDetect String="boxedverbatim*" attribute="Environment" context="VerbatimEnv2"/>
-        <WordDetect String="boxedverbatim" attribute="Environment" context="VerbatimEnv2"/>
-
-        <WordDetect String="Verbatim*" attribute="Environment" context="VerbatimEnv3"/>
-        <WordDetect String="Verbatim" attribute="Environment" context="VerbatimEnv3"/>
-        <WordDetect String="BVerbatim*" attribute="Environment" context="VerbatimEnv4"/>
-        <WordDetect String="BVerbatim" attribute="Environment" context="VerbatimEnv4"/>
-        <WordDetect String="LVerbatim*" attribute="Environment" context="VerbatimEnv5"/>
-        <WordDetect String="LVerbatim" attribute="Environment" context="VerbatimEnv5"/>
-      </context>
-
-      <!-- environment type 2: verbatim without parameter -->
-      <context name="VerbatimEnv1" attribute="Error" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop#pop">
-        <DetectChar char="}" attribute="Normal Text" context="Verbatim1"/>
-      </context>
-      <context name="Verbatim1" attribute="Verbatim" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="\\end(?=\s*\{verbatim\*?\})" attribute="Structure" context="VerbFindEnd"/>
-      </context>
-
-      <context name="VerbatimEnv2" attribute="Error" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop#pop">
-        <DetectChar char="}" attribute="Normal Text" context="Verbatim2"/>
-      </context>
-      <context name="Verbatim2" attribute="Verbatim" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="\\end(?=\s*\{boxedverbatim\*?\})" attribute="Structure" context="VerbFindEnd"/>
-      </context>
-
-      <!-- environment type 3: verbatim with optional parameter -->
-      <context name="VerbatimEnv3" attribute="Error" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop#pop">
-        <DetectChar char="}" attribute="Normal Text" context="VerbatimEnv3Param"/>
-      </context>
-      <context name="VerbatimEnv3Param" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!Verbatim3">
-        <DetectSpaces/>
-        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#pop!Verbatim3"/>
-      </context>
-      <context name="Verbatim3" attribute="Verbatim" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="\\end(?=\s*\{Verbatim\*?\})" attribute="Structure" context="VerbFindEnd"/>
-      </context>
-
-      <context name="VerbatimEnv4" attribute="Error" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop#pop">
-        <DetectChar char="}" attribute="Normal Text" context="VerbatimEnv4Param"/>
-      </context>
-      <context name="VerbatimEnv4Param" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!Verbatim4">
-        <DetectSpaces/>
-        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#pop!Verbatim4"/>
-      </context>
-      <context name="Verbatim4" attribute="Verbatim" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="\\end(?=\s*\{BVerbatim\*?\})" attribute="Structure" context="VerbFindEnd"/>
-      </context>
-
-      <context name="VerbatimEnv5" attribute="Error" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop#pop">
-        <DetectChar char="}" attribute="Normal Text" context="VerbatimEnv5Param"/>
-      </context>
-      <context name="VerbatimEnv5Param" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!Verbatim5">
-        <DetectSpaces/>
-        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#pop!Verbatim5"/>
-      </context>
-      <context name="Verbatim5" attribute="Verbatim" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="\\end(?=\s*\{LVerbatim\*?\})" attribute="Structure" context="VerbFindEnd"/>
-      </context>
-
-      <!-- environment type 4: listings environment with optional parameter and HL switching-->
-      <context name="ListingsEnv" attribute="Environment" lineEndContext="#stay">
-        <DetectChar char="}" attribute="Normal Text" context="#pop!ListingsEnvParam"/>
-        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
-      </context>
-      <context name="ListingsEnvParam" attribute="Normal Text" lineEndContext="#pop!UnknownHighlighting" fallthrough="true" fallthroughContext="#pop!UnknownHighlighting">
-        <DetectSpaces/>
-        <DetectChar char="[" attribute="Normal Text" context="#pop!ListingsEnvParamInside"/>
-        <IncludeRules context="FindComments"/>
-      </context>
-      <context name="ListingsEnvParamInside" attribute="Normal Text" lineEndContext="#stay">
-        <DetectIdentifier/>
-        <RegExpr String="\s*language\s*=\s*(?=[^],])" attribute="Normal Text" context="HighlightingSelector"/>
-        <DetectChar char="]" attribute="Normal Text" context="ListingsEnvParamEnd"/>
-        <IncludeRules context="FindComments"/>
-      </context>
-      <context name="ListingsEnvParamEnd" attribute="Normal Text" lineEndContext="#pop#pop!UnknownHighlighting" fallthrough="true" fallthroughContext="#pop#pop!UnknownHighlighting">
-        <DetectSpaces/>
-        <IncludeRules context="FindComments"/>
-      </context>
-
-      <!-- environment type 5: minted environment with optional and HL switching -->
-      <context name="MintedEnv" attribute="Environment" lineEndContext="#stay">
-        <DetectChar char="}" attribute="Normal Text" context="#pop!MintedEnvParam"/>
-        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
-      </context>
-      <context name="MintedEnvParam" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="[" attribute="Normal Text" context="#pop!MintedEnvParamInside"/>
-        <DetectChar char="{" attribute="Normal Text" context="HighlightingSelector"/>
-        <IncludeRules context="FindComments"/>
-      </context>
-      <context name="MintedEnvParamInside" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <DetectChar char="]" attribute="Normal Text" context="#pop!MintedEnvLang"/>
-        <IncludeRules context="FindComments"/>
-        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
-      </context>
-      <context name="MintedEnvLang" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="HighlightingSelector"/>
-        <IncludeRules context="FindComments"/>
-      </context>
-
-      <!-- parse verbatim text for lstinline and minted -->
-      <context name="UnknownHighlighting" attribute="Verbatim" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="\\end(?=\s*\{(?:lstlisting|minted)\*?\})" attribute="Structure" context="UnknownHighlightingEnd"/>
-      </context>
-      <context name="UnknownHighlightingEnd" attribute="Environment" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="#stay"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop#pop#pop" endRegion="block"/>
-        <DetectIdentifier/>
-      </context>
-
-
-      <!-- Selector for different highlightning schemes, in case the language is not implemented we pop and thus fallback to verbatim -->
-      <context name="HighlightingSelector" attribute="Normal Text" lineEndContext="#stay">
-        <WordDetect String="C++" insensitive="true" context="HighlightingBeginC++"/>
-        <WordDetect String="Python" insensitive="true" context="HighlightingBeginPython"/>
-        <AnyChar String="}]" context="#pop!UnknownHighlighting"/>
-        <RegExpr String="[^]}]*" context="#stay"/>
-      </context>
-
-      <context name="HighlightingCommon" attribute="Normal Text" lineEndContext="#stay">
-        <RegExpr String="\\end\s*\{(?:lstlisting|minted)\*?\}" attribute="Structure" lookAhead="true" context="#pop#pop#pop#pop#pop#pop"/>
-      </context>
-
-      <context name="HighlightingBeginC++" attribute="Normal Text" lineEndContext="#stay">
-        <AnyChar String="}]" context="HighlightingC++"/>
-        <!-- Eat the trailing characters including } or ] after the language specification -->
-        <RegExpr String="[^]}]*" context="#stay"/>
-      </context>
-
-      <context name="HighlightingC++" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="HighlightingCommon"/>
-        <IncludeRules context="##C++" includeAttrib="true"/>
-      </context>
-
-      <context name="HighlightingBeginPython" attribute="Normal Text" lineEndContext="#stay">
-        <AnyChar String="}]" context="HighlightingPython"/>
-        <RegExpr String="[^]}]*" context="#stay"/>
-      </context>
-
-      <context name="HighlightingPython" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="HighlightingCommon"/>
-        <IncludeRules context="##Python"/>
-      </context>
-
-      <!-- end of verbatim environment -->
-      <context name="VerbFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="#stay"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop#pop" endRegion="block"/>
-        <keyword String="VerbatimEnv" attribute="Environment"/>
-      </context>
-
-      <!-- begin comment environment -->
-      <context name="CommentEnv" attribute="Environment" lineEndContext="#stay">
-        <DetectChar char="}" attribute="Normal Text" context="BlockComment"/>
-        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
-       </context>
-
-      <!-- parse comment text -->
-      <context name="BlockComment" attribute="Comment" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <RegExpr String="\\end(?=\s*\{comment\*?\})" attribute="Structure" context="CommFindEnd"/>
-      </context>
-
-      <!-- end of comment environment -->
-      <context name="CommFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="#stay"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/>
-        <keyword String="CommentEnv" attribute="Environment"/>
-      </context>
-
-      <!-- environment type 4: math environment with its own mathmode -->
-      <context name="MathEnv" attribute="Environment" lineEndContext="#stay">
-        <DetectChar char="}" attribute="Normal Text" context="MathModeEnv"/>
-        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
-      </context>
-
-      <!-- environment type 5: math environment with its own mathmode and parameter -->
-      <context name="MathEnvWithParam" attribute="Environment" lineEndContext="#stay">
-        <DetectChar char="}" attribute="Normal Text" context="MathEnvWithParamInside"/>
-        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
-      </context>
-      <context name="MathEnvWithParamInside" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#stay"/>
-        <DetectChar char="{" attribute="Normal Text" context="MathEnvParamInside"/>
-      </context>
-      <context name="MathEnvParamInside" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop!MathModeEnv"/>
-      </context>
-
-      <!-- parse math environment -->
-      <context name="MathModeEnv" attribute="Math" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <DetectChar char="\" attribute="Math" context="BackslashMathModeEnv" lookAhead="true"/>
-        <DetectChar char="$" attribute="Error" context="#stay"/>
-        <IncludeRules context="FindComments"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-      </context>
-      <context name="BackslashMathModeEnv" attribute="Math" lineEndContext="#pop">
-        <keyword String="beginEnv" attribute="Structure" context="#pop!FindBeginEnvironment" beginRegion="block"/>
-        <keyword String="endEnv" attribute="Structure" context="#pop!MathFindEnd"/>
-        <keyword String="MathModeText" attribute="Macro Mathmode" context="#pop!MathModeText"/>
-        <Detect2Chars char="\" char1="(" attribute="Error" context="#pop"/>
-        <Detect2Chars char="\" char1=")" attribute="Error" context="#pop"/>
-        <Detect2Chars char="\" char1="[" attribute="Error" context="#pop"/>
-        <Detect2Chars char="\" char1="]" attribute="Error" context="#pop"/>
-        <DetectChar char="\" attribute="Macro Mathmode" context="#pop!MathContrSeq"/>
-      </context>
-
-      <!-- end of math environment -->
-      <context name="MathFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="#stay"/>
-        <keyword String="MathEnvParam" attribute="Environment" context="MathFindEndInside"/>
-        <keyword String="MathEnv" attribute="Environment" context="MathFindEndInside"/>
-        <RegExpr String="&envname;" attribute="Environment" context="NoMathFindEndInside"/>
-        <RegExpr String="." attribute="Error" context="#pop"/>
-      </context>
-      <context name="MathFindEndInside" attribute="Normal Text" lineEndContext="#pop#pop">
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop#pop" endRegion="block"/>
-        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
-      </context>
-      <context name="NoMathFindEndInside" attribute="Normal Text" lineEndContext="#pop#pop">
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop" endRegion="block"/>
-        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
-      </context>
-
-      <!-- environment type 9: tabular -->
-      <context name="TabEnv" attribute="Environment" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop#pop#pop">
-        <DetectChar char="}" attribute="Normal Text" context="Tab"/>
-        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
-      </context>
-
-      <!-- parse tabular text -->
-      <context name="Tab" attribute="Normal Text" lineEndContext="#stay">
-        <DetectChar char="&amp;" attribute="Ampersand" context="#stay"/>
-        <Detect2Chars char="@" char1="{" attribute="Column Separator" context="Column Separator"/>
-        <RegExpr String="\\end\b" attribute="Structure" context="TabFindEnd"/> <!-- endEnv -->
-        <IncludeRules context="Normal Text" />
-      </context>
-
-      <context name="Column Separator" attribute="Column Separator" lineEndContext="#stay">
-        <DetectChar char="{" attribute="Column Separator" context="Column Separator"/>
-        <DetectChar char="}" attribute="Column Separator" context="#pop"/>
-      </context>
-
-      <!-- end of tabular environment -->
-      <context name="TabFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="#stay"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/>
-        <keyword String="TabEnv" attribute="Environment" context="#stay"/>
-      </context>
-
-      <!-- math mode: starting with $ -->
-      <context name="MathModeTex" attribute="Math" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!MathMode">
-        <DetectChar char="$" attribute="Math" context="#pop!MathModeDisplay" beginRegion="mathMode"/>
-      </context>
-      <context name="MathMode" attribute="Math" lineEndContext="#stay">
-        <DetectChar char="$" attribute="Math" context="#pop"/>
-        <IncludeRules context="MathModeCommon"/>
-      </context>
-
-      <!-- math mode: starting with $$ -->
-      <context name="MathModeDisplay" attribute="Math" lineEndContext="#stay">
-        <Detect2Chars char="$" char1="$" attribute="Math" context="#pop" endRegion="mathMode"/>
-        <DetectChar char="$" attribute="Error" context="#stay"/>
-        <IncludeRules context="MathModeCommon"/>
-      </context>
-
-      <!-- math mode: starting with \( -->
-      <context name="MathModeLatex" attribute="Math" lineEndContext="#stay">
-        <Detect2Chars char="\" char1=")" attribute="Math" context="#pop"/>
-        <IncludeRules context="MathModeCommon"/>
-      </context>
-
-      <!-- math mode: starting with \[ -->
-      <context name="MathModeLatexEquation" attribute="Math" lineEndContext="#stay">
-        <Detect2Chars char="\" char1="]" attribute="Math" context="#pop" endRegion="mathMode"/>
-        <IncludeRules context="MathModeCommon"/>
-      </context>
-
-      <!-- math mode: \ensuremath{...} -->
-      <context name="MathModeEnsure" attribute="Math" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Math" context="#pop!MathModeEnsureInside"/>
-        <RegExpr String="." attribute="Error" context="#pop"/>
-      </context>
-      <context name="MathModeEnsureInside" attribute="Math" lineEndContext="#stay">
-        <DetectChar char="{" attribute="Math" context="MathModeEnsureInside" />
-        <DetectChar char="}" attribute="Math" context="#pop" />
-        <IncludeRules context="MathModeCommon"/>
-      </context>
-
-      <!-- math mode common -->
-      <context name="MathModeCommon" attribute="Math" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectIdentifier/>
-        <DetectChar char="\" attribute="Math" context="BackslashMathModeCommon" lookAhead="true"/>
-        <IncludeRules context="FindComments"/>
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-      </context>
-      <context name="BackslashMathModeCommon" attribute="Math" lineEndContext="#pop">
-        <keyword String="beginEnv" attribute="Structure" context="#pop!MathEnvironment" beginRegion="block"/>
-        <keyword String="endEnv" attribute="Structure" context="#pop!MathEnvironmentEnd"/>
-        <keyword String="MathModeText" attribute="Macro Mathmode" context="#pop!MathModeText" />
-        <DetectChar char="\" attribute="Macro Mathmode" context="#pop!MathContrSeq"/>
-      </context>
-      <context name="MathEnvironment" attribute="Math" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="MathEnvironmentInside"/>
-        <RegExpr String="." attribute="Error" context="#pop"/>
-      </context>
-      <context name="MathEnvironmentInside" attribute="Environment" lineEndContext="#stay">
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop"/>
-        <RegExpr String="&envname;" attribute="Environment" context="#stay"/>
-        <RegExpr String="[^}a-zA-Z]+|." attribute="Error" context="#stay"/>
-      </context>
-      <context name="MathEnvironmentEnd" attribute="Math" lineEndContext="#stay">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="MathEnvironmentEndInside"/>
-        <RegExpr String="." attribute="Error" context="#pop"/>
-      </context>
-      <context name="MathEnvironmentEndInside" attribute="Environment" lineEndContext="#stay">
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop" endRegion="block"/>
-        <WordDetect String="ensuremath" attribute="Environment" context="#pop!LatexEnvEnd"/>
-        <RegExpr String="&envname;" attribute="Environment" context="#stay"/>
-        <RegExpr String="[^}a-zA-Z]+|." attribute="Error" context="#pop#pop"/>
-      </context>
-
-      <!-- command in mathmode -->
-      <context name="MathContrSeq" attribute="Macro Mathmode" lineEndContext="#pop">
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RegExpr String="&envname;|." attribute="Macro Mathmode" context="#pop" />
-      </context>
-
-      <!-- text in mathmode -->
-      <context name="MathModeText" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="MathContrSeq">
-        <DetectSpaces/>
-        <DetectChar char="{" attribute="Normal Text" context="MathModeTextParameterStart"/>
-      </context>
-      <context name="MathModeTextInside" attribute="Normal Text" lineEndContext="#stay" >
-        <DetectChar char="{" attribute="Normal Text" context="MathModeTextParameterStart"/>
-      </context>
-
-      <context name="MathModeTextParameterStart" attribute="Normal Text" lineEndContext="#stay" >
-        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
-        <RangeDetect char="$" char1="$" attribute="Math" context="#stay"/>
-        <DetectChar char="{" attribute="Normal Text" context="MathModeTextInside" lookAhead="true"/>
-        <DetectChar char="}" attribute="Normal Text" context="#pop#pop"/>
-        <IncludeRules context="FindComments"/>
-        <DetectChar char="\" attribute="Macro Mathmode" context="MathContrSeq"/>
-      </context>
-
-      <!-- iffalse aka multiline comment -->
-      <context name="Multiline Comment" attribute="Comment" lineEndContext="#stay">
-        <DetectChar char="\" attribute="Comment" context="BackslashMultilineComment" lookAhead="true"/>
-      </context>
-      <context name="BackslashMultilineComment" attribute="Comment" lineEndContext="#pop">
-        <keyword String="iffalseend" attribute="Comment" context="#pop#pop"/>
-        <DetectChar char="\" attribute="Comment" context="#pop"/>
-      </context>
-
-      <!-- comment -->
-      <context name="FindComments" attribute="Normal Text" lineEndContext="#stay">
-        <RegExpr String="&#037;+\s*BEGIN\b" attribute="Region Marker" context="RegionComment" firstNonSpace="true" beginRegion="region-marker"/>
-        <RegExpr String="&#037;+\s*END\b" attribute="Region Marker" context="RegionComment" firstNonSpace="true" endRegion="region-marker"/>
-        <DetectChar char="%" attribute="Comment" context="Comment"/>
-      </context>
-      <context name="RegionComment" attribute="Region Marker" lineEndContext="#pop"/>
-      <context name="Comment" attribute="Comment" lineEndContext="#pop">
-        <DetectSpaces/>
-        <IncludeRules context="##Comments" />
-        <DetectIdentifier/>
-        <DetectChar char="\" attribute="Comment" context="BackslashComment" lookAhead="true"/>
-      </context>
-      <context name="BackslashComment" attribute="Comment" lineEndContext="#pop">
-        <keyword String="ResetHL" attribute="Comment" context="#pop!Normal Text"/>
-        <DetectChar char="\" attribute="Comment" context="#pop"/>
-      </context>
-    </contexts>
-
-    <itemDatas>
-      <itemData name="Normal Text" defStyleNum="dsNormal"/>
-      <itemData name="Option Text" defStyleNum="dsNormal" spellChecking="false"/>
-      <itemData name="Macro" defStyleNum="dsFunction" spellChecking="false"/>
-      <itemData name="Comment" defStyleNum="dsComment" spellChecking="false"/>
-      <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
-      <itemData name="Math" defStyleNum="dsSpecialString" spellChecking="false"/>
-      <!-- begin/end -->
-      <itemData name="Structure" defStyleNum="dsKeyword" spellChecking="false"/>
-      <itemData name="Builtin Macro" defStyleNum="dsBuiltIn" spellChecking="false"/>
-      <itemData name="Macro Mathmode" defStyleNum="dsSpecialChar" spellChecking="false"/>
-      <itemData name="Environment" defStyleNum="dsExtension" spellChecking="false"/>
-      <itemData name="Reference" defStyleNum="dsExtension" spellChecking="false"/>
-      <itemData name="Verbatim" defStyleNum="dsVerbatimString" spellChecking="false"/>
+<language name="LaTeX" version="20" section="Markup" kateversion="5.79" 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
+         avoids the requirement of the delimiter in the keyword. -->
+    <list name="beginEnv">
+      <item>\begin</item>
+    </list>
+
+    <list name="endEnv">
+      <item>\end</item>
+    </list>
+
+    <list name="Label">
+      <item>\Autocite</item>
+      <item>\autocite</item>
+      <item>\autoref</item>
+      <item>\Cite</item>
+      <item>\cite</item>
+      <item>\Citeauthor</item>
+      <item>\citeauthor</item>
+      <item>\citep</item>
+      <item>\citet</item>
+      <item>\citetitle</item>
+      <item>\citeurl</item>
+      <item>\citeyear</item>
+      <item>\cref</item>
+      <item>\Cref</item>
+      <item>\cref*</item>
+      <item>\Cref*</item>
+      <item>\eqref</item>
+      <item>\Footcite</item>
+      <item>\footcite</item>
+      <item>\footfullcite</item>
+      <item>\fullcite</item>
+      <item>\label</item>
+      <item>\nocite</item>
+      <item>\pagecite</item>
+      <item>\pageref</item>
+      <item>\Parencite</item>
+      <item>\parencite</item>
+      <item>\ref</item>
+      <item>\subref</item>
+      <item>\subref*</item>
+      <item>\supercite</item>
+      <item>\Textcite</item>
+      <item>\textcite</item>
+      <item>\vpageref</item>
+      <item>\vref</item>
+    </list>
+
+    <list name="macroFancyLabel">
+      <item>\documentclass</item>
+      <item>\includegraphics</item>
+      <item>\include</item>
+      <item>\usepackage</item>
+      <item>\bibliography</item>
+      <item>\bibliographystyle</item>
+    </list>
+
+    <list name="FancyLabel">
+      <item>\cites</item>
+      <item>\Cites</item>
+      <item>\parencites</item>
+      <item>\Parencites</item>
+      <item>\autocites</item>
+      <item>\Autocites</item>
+      <item>\supercites</item>
+      <item>\footcites</item>
+      <item>\Footcites</item>
+    </list>
+
+    <list name="Sectioning">
+      <item>\part*</item>
+      <item>\part</item>
+      <item>\chapter*</item>
+      <item>\chapter</item>
+      <item>\section*</item>
+      <item>\section</item>
+      <item>\subsection*</item>
+      <item>\subsection</item>
+      <item>\subsubsection*</item>
+      <item>\subsubsection</item>
+      <item>\paragraph*</item>
+      <item>\paragraph</item>
+      <item>\subparagraph*</item>
+      <item>\subparagraph</item>
+    </list>
+
+    <list name="SpecialCommand">
+      <item>\column</item>
+      <item>\definecolor</item>
+      <item>\geometry</item>
+      <item>\hspace*</item>
+      <item>\hspace</item>
+      <item>\input</item>
+      <item>\newboolean</item>
+      <item>\rule</item>
+      <item>\setboolean</item>
+      <item>\setcounter</item>
+      <item>\setlength</item>
+      <item>\special</item>
+      <item>\textcolor</item>
+      <item>\vspace*</item>
+      <item>\vspace</item>
+    </list>
+
+    <list name="Footnoting">
+      <item>\footnote*</item>
+      <item>\footnote</item>
+    </list>
+
+    <list name="NewCommand">
+      <item>\renewcommand*</item>
+      <item>\renewcommand</item>
+      <item>\providecommand*</item>
+      <item>\providecommand</item>
+      <item>\newcommand*</item>
+      <item>\newcommand</item>
+    </list>
+
+    <list name="DefCommand">
+      <item>\edef</item>
+      <item>\gdef</item>
+      <item>\xdef</item>
+    </list>
+
+    <list name="MathModeEnsure">
+      <item>\ensuremath</item>
+    </list>
+
+    <list name="iffalse">
+      <item>\iffalse</item>
+    </list>
+
+    <list name="iffalseend">
+      <item>\fi</item>
+      <item>\else</item>
+    </list>
+
+    <list name="Verb">
+      <item>verb*</item>
+      <item>verb</item>
+      <item>Verb</item>
+    </list>
+
+    <list name="Lstinline">
+      <item>lstinline</item>
+    </list>
+
+    <list name="MintParam">
+      <item>mint</item>
+    </list>
+
+    <list name="ListingsEnv">
+      <item>lstlisting*</item>
+      <item>lstlisting</item>
+    </list>
+
+    <list name="MintedEnv">
+      <item>minted*</item>
+      <item>minted</item>
+    </list>
+
+    <list name="MintedCodeLang">
+      <!-- ABAP lexers -->
+      <item>abapcode*</item>
+      <item>abapcode</item>
+      <!-- ActionScript 2.0 lexers -->
+      <item>actionscriptcode*</item>
+      <item>actionscriptcode</item>
+      <item>ascode*</item>
+      <item>ascode</item>
+      <!-- Ada lexers -->
+      <item>adacode*</item>
+      <item>adacode</item>
+      <!-- Agda lexers -->
+      <item>agdacode*</item>
+      <item>agdacode</item>
+      <!-- Apache Configuration lexers -->
+      <item>apacheconfcode*</item>
+      <item>apacheconfcode</item>
+      <item>aconfcode*</item>
+      <item>aconfcode</item>
+      <item>apachecode*</item>
+      <item>apachecode</item>
+      <!-- AutoHotKey lexers -->
+      <item>autohotkeycode*</item>
+      <item>autohotkeycode</item>
+      <item>ahkcode*</item>
+      <item>ahkcode</item>
+      <!-- AWK lexers -->
+      <item>awkcode*</item>
+      <item>awkcode</item>
+      <item>gawkcode*</item>
+      <item>gawkcode</item>
+      <item>mawkcode*</item>
+      <item>mawkcode</item>
+      <item>nawkcode*</item>
+      <item>nawkcode</item>
+      <!-- Bash lexers -->
+      <item>bashcode*</item>
+      <item>bashcode</item>
+      <item>shcode*</item>
+      <item>shcode</item>
+      <item>kshcode*</item>
+      <item>kshcode</item>
+      <item>zshcode*</item>
+      <item>zshcode</item>
+      <item>shellcode*</item>
+      <item>shellcode</item>
+      <!-- BibTeX lexers -->
+      <item>bibtexcode*</item>
+      <item>bibtexcode</item>
+      <item>bibcode*</item>
+      <item>bibcode</item>
+      <!-- Boo lexers -->
+      <item>boocode*</item>
+      <item>boocode</item>
+      <!-- C lexers -->
+      <item>ccode*</item>
+      <item>ccode</item>
+      <!-- CMake lexers -->
+      <item>cmakecode*</item>
+      <item>cmakecode</item>
+      <!-- C# lexers -->
+      <item>csharpcode*</item>
+      <item>csharpcode</item>
+      <item>cscode*</item>
+      <item>cscode</item>
+      <!-- Clojure lexers -->
+      <item>clojurecode*</item>
+      <item>clojurecode</item>
+      <item>cljcode*</item>
+      <item>cljcode</item>
+      <!-- CoffeeScript lexers -->
+      <item>coffeecode*</item>
+      <item>coffeecode</item>
+      <!-- Common Lisp lexers -->
+      <item>commonlispcode*</item>
+      <item>commonlispcode</item>
+      <item>clcode*</item>
+      <item>clcode</item>
+      <item>lispcode*</item>
+      <item>lispcode</item>
+      <!-- C++ lexers -->
+      <item>cppcode*</item>
+      <item>cppcode</item>
+      <!-- CSS lexers -->
+      <item>csscode*</item>
+      <item>csscode</item>
+      <!-- D lexers -->
+      <item>dcode*</item>
+      <item>dcode</item>
+      <!-- Dart lexers -->
+      <item>dartcode*</item>
+      <item>dartcode</item>
+      <!-- Pascal lexers -->
+      <item>delphicode*</item>
+      <item>delphicode</item>
+      <item>pascode*</item>
+      <item>pascode</item>
+      <item>pascalcode*</item>
+      <item>pascalcode</item>
+      <item>objectpascalcode*</item>
+      <item>objectpascalcode</item>
+      <!-- Diff lexers -->
+      <item>diffcode*</item>
+      <item>diffcode</item>
+      <item>udiffcode*</item>
+      <item>udiffcode</item>
+      <!-- DTD lexers -->
+      <item>dtdcode*</item>
+      <item>dtdcode</item>
+      <!-- Eiffel lexers -->
+      <item>eiffelcode*</item>
+      <item>eiffelcode</item>
+      <!-- Elixir lexers -->
+      <item>elixircode*</item>
+      <item>elixircode</item>
+      <item>excode*</item>
+      <item>excode</item>
+      <item>exscode*</item>
+      <item>exscode</item>
+      <!-- Elm lexers -->
+      <item>elmcode*</item>
+      <item>elmcode</item>
+      <!-- Email lexers -->
+      <item>emailcode*</item>
+      <item>emailcode</item>
+      <item>emlcode*</item>
+      <item>emlcode</item>
+      <!-- Erlang lexers -->
+      <item>erlangcode*</item>
+      <item>erlangcode</item>
+      <!-- Fish lexers -->
+      <item>fishcode*</item>
+      <item>fishcode</item>
+      <item>fishshellcode*</item>
+      <item>fishshellcode</item>
+      <!-- ANS-Forth94 lexers -->
+      <item>forthcode*</item>
+      <item>forthcode</item>
+      <!-- Fortran (Fixed Format) lexers -->
+      <item>fortranfixedcode*</item>
+      <item>fortranfixedcode</item>
+      <!-- Fortran (Free Format) lexers -->
+      <item>fortrancode*</item>
+      <item>fortrancode</item>
+      <item>fcode*</item>
+      <item>fcode</item>
+      <!-- GAP lexers -->
+      <item>gapcode*</item>
+      <item>gapcode</item>
+      <!-- Godot lexers -->
+      <item>gdscriptcode*</item>
+      <item>gdscriptcode</item>
+      <item>gdcode*</item>
+      <item>gdcode</item>
+      <!-- GLSL lexers -->
+      <item>glslcode*</item>
+      <item>glslcode</item>
+      <!-- G-Code lexers -->
+      <item>gcodecode*</item>
+      <item>gcodecode</item>
+      <!-- Gnuplot lexers -->
+      <item>gnuplotcode*</item>
+      <item>gnuplotcode</item>
+      <!-- Go lexers -->
+      <item>gocode*</item>
+      <item>gocode</item>
+      <item>golangcode*</item>
+      <item>golangcode</item>
+      <!-- Groovy lexers -->
+      <item>groovycode*</item>
+      <item>groovycode</item>
+      <!-- Haml lexers -->
+      <item>hamlcode*</item>
+      <item>hamlcode</item>
+      <!-- Haskell lexers -->
+      <item>haskellcode*</item>
+      <item>haskellcode</item>
+      <item>hscode*</item>
+      <item>hscode</item>
+      <!-- Haxe lexers -->
+      <item>haxecode*</item>
+      <item>haxecode</item>
+      <item>hxslcode*</item>
+      <item>hxslcode</item>
+      <item>hxcode*</item>
+      <item>hxcode</item>
+      <!-- HTML lexers -->
+      <item>htmlcode*</item>
+      <item>htmlcode</item>
+      <!-- IDL lexers -->
+      <item>idlcode*</item>
+      <item>idlcode</item>
+      <!-- Idris lexers -->
+      <item>idriscode*</item>
+      <item>idriscode</item>
+      <item>idrcode*</item>
+      <item>idrcode</item>
+      <!-- Inform lexers -->
+      <item>informcode*</item>
+      <item>informcode</item>
+      <item>icode*</item>
+      <item>icode</item>
+      <!-- INI Files lexers -->
+      <item>inicode*</item>
+      <item>inicode</item>
+      <item>cfgcode*</item>
+      <item>cfgcode</item>
+      <item>dosinicode*</item>
+      <item>dosinicode</item>
+      <!-- J lexers -->
+      <item>jcode*</item>
+      <item>jcode</item>
+      <!-- Java lexers -->
+      <item>javacode*</item>
+      <item>javacode</item>
+      <!-- JavaScript lexers -->
+      <item>javascriptcode*</item>
+      <item>javascriptcode</item>
+      <item>jscode*</item>
+      <item>jscode</item>
+      <!-- JCL lexers -->
+      <item>jclcode*</item>
+      <item>jclcode</item>
+      <!-- JSON lexers -->
+      <item>jsoncode*</item>
+      <item>jsoncode</item>
+      <item>jsonobjectcode*</item>
+      <item>jsonobjectcode</item>
+      <!-- Julia lexers -->
+      <item>juliacode*</item>
+      <item>juliacode</item>
+      <item>jlcode*</item>
+      <item>jlcode</item>
+      <!-- Kconfig lexers -->
+      <item>kconfigcode*</item>
+      <item>kconfigcode</item>
+      <item>menuconfigcode*</item>
+      <item>menuconfigcode</item>
+      <item>linuxconfigcode*</item>
+      <item>linuxconfigcode</item>
+      <item>kernelconfigcode*</item>
+      <item>kernelconfigcode</item>
+      <!-- Kotlin lexers -->
+      <item>kotlincode*</item>
+      <item>kotlincode</item>
+      <!-- LSL lexers -->
+      <item>lslcode*</item>
+      <item>lslcode</item>
+      <!-- LESSCSS lexers -->
+      <item>lesscode*</item>
+      <item>lesscode</item>
+      <!-- LilyPond lexers -->
+      <item>lilypondcode*</item>
+      <item>lilypondcode</item>
+      <!-- Literate Haskell lexers -->
+      <item>literatehaskellcode*</item>
+      <item>literatehaskellcode</item>
+      <item>lhaskellcode*</item>
+      <item>lhaskellcode</item>
+      <item>lhscode*</item>
+      <item>lhscode</item>
+      <!-- LLVM lexers -->
+      <item>llvmcode*</item>
+      <item>llvmcode</item>
+      <!-- Logtalk lexers -->
+      <item>logtalkcode*</item>
+      <item>logtalkcode</item>
+      <!-- Lua lexers -->
+      <item>luacode*</item>
+      <item>luacode</item>
+      <!-- Makefile lexers -->
+      <item>makecode*</item>
+      <item>makecode</item>
+      <item>makefilecode*</item>
+      <item>makefilecode</item>
+      <item>mfcode*</item>
+      <item>mfcode</item>
+      <item>bsdmakecode*</item>
+      <item>bsdmakecode</item>
+      <!-- Mako lexers -->
+      <item>makocode*</item>
+      <item>makocode</item>
+      <!-- Markdown lexers -->
+      <item>markdowncode*</item>
+      <item>markdowncode</item>
+      <item>mdcode*</item>
+      <item>mdcode</item>
+      <!-- Mason lexers -->
+      <item>masoncode*</item>
+      <item>masoncode</item>
+      <!-- Mathematica lexers -->
+      <item>mathematicacode*</item>
+      <item>mathematicacode</item>
+      <item>mmacode*</item>
+      <item>mmacode</item>
+      <item>nbcode*</item>
+      <item>nbcode</item>
+      <!-- Matlab lexers -->
+      <item>matlabcode*</item>
+      <item>matlabcode</item>
+      <!-- Maxima lexers -->
+      <item>maximacode*</item>
+      <item>maximacode</item>
+      <item>macsymacode*</item>
+      <item>macsymacode</item>
+      <!-- Meson lexers -->
+      <item>mesoncode*</item>
+      <item>mesoncode</item>
+      <item>mesonbuildcode*</item>
+      <item>mesonbuildcode</item>
+      <!-- Modelica lexers -->
+      <item>modelicacode*</item>
+      <item>modelicacode</item>
+      <!-- Modula-2 lexers -->
+      <item>modulacode*</item>
+      <item>modulacode</item>
+      <item>mcode*</item>
+      <item>mcode</item>
+      <!-- SQL (MySQL) lexers -->
+      <item>mysqlcode*</item>
+      <item>mysqlcode</item>
+      <!-- NSIS lexers -->
+      <item>nsiscode*</item>
+      <item>nsiscode</item>
+      <item>nsicode*</item>
+      <item>nsicode</item>
+      <item>nshcode*</item>
+      <item>nshcode</item>
+      <!-- Intel x86 (NASM) lexers -->
+      <item>nasmcode*</item>
+      <item>nasmcode</item>
+      <!-- Nemerle lexers -->
+      <item>nemerlecode*</item>
+      <item>nemerlecode</item>
+      <!-- nesC lexers -->
+      <item>nesccode*</item>
+      <item>nesccode</item>
+      <!-- Nim lexers -->
+      <item>nimrodcode*</item>
+      <item>nimrodcode</item>
+      <item>nimcode*</item>
+      <item>nimcode</item>
+      <!-- Nix lexers -->
+      <item>nixoscode*</item>
+      <item>nixoscode</item>
+      <item>nixcode*</item>
+      <item>nixcode</item>
+      <!-- Objective-C lexers -->
+      <item>objectiveccode*</item>
+      <item>objectiveccode</item>
+      <item>objccode*</item>
+      <item>objccode</item>
+      <!-- Objective-C++ lexers -->
+      <item>objectivecppcode*</item>
+      <item>objectivecppcode</item>
+      <item>objcppcode*</item>
+      <item>objcppcode</item>
+      <!-- Objective Caml lexers -->
+      <item>ocamlcode*</item>
+      <item>ocamlcode</item>
+      <!-- Octave lexers -->
+      <item>octavecode*</item>
+      <item>octavecode</item>
+      <!-- Perl lexers -->
+      <item>perlcode*</item>
+      <item>perlcode</item>
+      <item>plcode*</item>
+      <item>plcode</item>
+      <!-- PHP/PHP lexers -->
+      <item>phpcode*</item>
+      <item>phpcode</item>
+      <!-- Pig lexers -->
+      <item>pigcode*</item>
+      <item>pigcode</item>
+      <!-- Pike lexers -->
+      <item>pikecode*</item>
+      <item>pikecode</item>
+      <!-- Pony lexers -->
+      <item>ponycode*</item>
+      <item>ponycode</item>
+      <!-- PostScript lexers -->
+      <item>postscriptcode*</item>
+      <item>postscriptcode</item>
+      <item>postscrcode*</item>
+      <item>postscrcode</item>
+      <!-- POV-Ray lexers -->
+      <item>povcode*</item>
+      <item>povcode</item>
+      <!-- PowerShell lexers -->
+      <item>powershellcode*</item>
+      <item>powershellcode</item>
+      <item>pwshcode*</item>
+      <item>pwshcode</item>
+      <item>poshcode*</item>
+      <item>poshcode</item>
+      <item>pscode*</item>
+      <item>pscode</item>
+      <item>psmcode*</item>
+      <item>psmcode</item>
+      <!-- Praat lexers -->
+      <item>praatcode*</item>
+      <item>praatcode</item>
+      <!-- Prolog lexers -->
+      <item>prologcode*</item>
+      <item>prologcode</item>
+      <!-- Protobuf lexers -->
+      <item>protobufcode*</item>
+      <item>protobufcode</item>
+      <item>protocode*</item>
+      <item>protocode</item>
+      <!-- Pug lexers -->
+      <item>pugcode*</item>
+      <item>pugcode</item>
+      <item>jadecode*</item>
+      <item>jadecode</item>
+      <!-- Puppet lexers -->
+      <item>puppetcode*</item>
+      <item>puppetcode</item>
+      <!-- Python lexers -->
+      <item>pythoncode*</item>
+      <item>pythoncode</item>
+      <item>pycode*</item>
+      <item>pycode</item>
+      <item>sagecode*</item>
+      <item>sagecode</item>
+      <!-- QML lexers -->
+      <item>qmlcode*</item>
+      <item>qmlcode</item>
+      <item>qbscode*</item>
+      <item>qbscode</item>
+      <!-- RelaxNG-Compact lexers -->
+      <item>rngcompactcode*</item>
+      <item>rngcompactcode</item>
+      <item>rnccode*</item>
+      <item>rnccode</item>
+      <!-- RPM Spec lexers -->
+      <item>speccode*</item>
+      <item>speccode</item>
+      <!-- Racket lexers -->
+      <item>racketcode*</item>
+      <item>racketcode</item>
+      <item>rktcode*</item>
+      <item>rktcode</item>
+      <!-- REXX lexers -->
+      <item>rexxcode*</item>
+      <item>rexxcode</item>
+      <item>arexxcode*</item>
+      <item>arexxcode</item>
+      <!-- Ruby/Rails/RHTML lexers -->
+      <item>rhtmlcode*</item>
+      <item>rhtmlcode</item>
+      <item>htmlerbcode*</item>
+      <item>htmlerbcode</item>
+      <item>htmlrubycode*</item>
+      <item>htmlrubycode</item>
+      <!-- reStructuredText lexers -->
+      <item>rstcode*</item>
+      <item>rstcode</item>
+      <item>restcode*</item>
+      <item>restcode</item>
+      <!-- Ruby lexers -->
+      <item>rubycode*</item>
+      <item>rubycode</item>
+      <item>rbcode*</item>
+      <item>rbcode</item>
+      <item>dubycode*</item>
+      <item>dubycode</item>
+      <!-- Rust lexers -->
+      <item>rustcode*</item>
+      <item>rustcode</item>
+      <item>rscode*</item>
+      <item>rscode</item>
+      <!-- SML lexers -->
+      <item>smlcode*</item>
+      <item>smlcode</item>
+      <!-- SASS lexers -->
+      <item>sasscode*</item>
+      <item>sasscode</item>
+      <!-- Scala lexers -->
+      <item>scalacode*</item>
+      <item>scalacode</item>
+      <!-- Scheme lexers -->
+      <item>schemecode*</item>
+      <item>schemecode</item>
+      <item>scmcode*</item>
+      <item>scmcode</item>
+      <!-- scilab lexers -->
+      <item>scilabcode*</item>
+      <item>scilabcode</item>
+      <!-- SCSS lexers -->
+      <item>scsscode*</item>
+      <item>scsscode</item>
+      <!-- sed lexers -->
+      <item>sedcode*</item>
+      <item>sedcode</item>
+      <item>gsedcode*</item>
+      <item>gsedcode</item>
+      <item>ssedcode*</item>
+      <item>ssedcode</item>
+      <!-- Sieve lexers -->
+      <item>sievecode*</item>
+      <item>sievecode</item>
+      <!-- Smali lexers -->
+      <item>smalicode*</item>
+      <item>smalicode</item>
+      <!-- Solidity lexers -->
+      <item>soliditycode*</item>
+      <item>soliditycode</item>
+      <!-- Spice lexers -->
+      <item>spicecode*</item>
+      <item>spicecode</item>
+      <item>spicelangcode*</item>
+      <item>spicelangcode</item>
+      <!-- SQL lexers -->
+      <item>sqlcode*</item>
+      <item>sqlcode</item>
+      <!-- Stan lexers -->
+      <item>stancode*</item>
+      <item>stancode</item>
+      <!-- Stata lexers -->
+      <item>statacode*</item>
+      <item>statacode</item>
+      <item>docode*</item>
+      <item>docode</item>
+      <!-- Swift lexers -->
+      <item>swiftcode*</item>
+      <item>swiftcode</item>
+      <!-- SystemVerilog lexers -->
+      <item>systemverilogcode*</item>
+      <item>systemverilogcode</item>
+      <item>svcode*</item>
+      <item>svcode</item>
+      <!-- TOML lexers -->
+      <item>tomlcode*</item>
+      <item>tomlcode</item>
+      <!-- TADS 3 lexers -->
+      <item>tadscode*</item>
+      <item>tadscode</item>
+      <!-- Tcl/Tk lexers -->
+      <item>tclcode*</item>
+      <item>tclcode</item>
+      <!-- Tcsh lexers -->
+      <item>tcshcode*</item>
+      <item>tcshcode</item>
+      <item>cshcode*</item>
+      <item>cshcode</item>
+      <!-- Terraform lexers -->
+      <item>terraformcode*</item>
+      <item>terraformcode</item>
+      <item>tfcode*</item>
+      <item>tfcode</item>
+      <!-- LaTeX lexers -->
+      <item>texcode*</item>
+      <item>texcode</item>
+      <item>latexcode*</item>
+      <item>latexcode</item>
+      <!-- Todo.txt lexers -->
+      <item>todotxtcode*</item>
+      <item>todotxtcode</item>
+      <!-- TypeScript lexers -->
+      <item>typescriptcode*</item>
+      <item>typescriptcode</item>
+      <item>tscode*</item>
+      <item>tscode</item>
+      <!-- Vala lexers -->
+      <item>valacode*</item>
+      <item>valacode</item>
+      <item>vapicode*</item>
+      <item>vapicode</item>
+      <!-- Velocity lexers -->
+      <item>velocitycode*</item>
+      <item>velocitycode</item>
+      <!-- Verilog lexers -->
+      <item>verilogcode*</item>
+      <item>verilogcode</item>
+      <item>vcode*</item>
+      <item>vcode</item>
+      <!-- VHDL lexers -->
+      <item>vhdlcode*</item>
+      <item>vhdlcode</item>
+      <!-- XML lexers -->
+      <item>xmlcode*</item>
+      <item>xmlcode</item>
+      <!-- x.org Configuration lexers -->
+      <item>xorgconfcode*</item>
+      <item>xorgconfcode</item>
+      <!-- xslt lexers -->
+      <item>xsltcode*</item>
+      <item>xsltcode</item>
+      <!-- YAML lexers -->
+      <item>yamlcode*</item>
+      <item>yamlcode</item>
+      <!-- YANG lexers -->
+      <item>yangcode*</item>
+      <item>yangcode</item>
+      <!-- Mako lexers -->
+    </list>
+
+    <list name="VerbatimEnv">
+      <item>Verbatim*</item>
+      <item>Verbatim</item>
+      <item>BVerbatim*</item>
+      <item>BVerbatim</item>
+      <item>LVerbatim*</item>
+      <item>LVerbatim</item>
+      <item>verbatim*</item>
+      <item>verbatim</item>
+      <item>boxedverbatim*</item>
+      <item>boxedverbatim</item>
+    </list>
+
+    <list name="CommentEnv">
+      <item>comment*</item>
+      <item>comment</item>
+    </list>
+
+    <list name="MathEnvParam">
+      <item>alignat*</item>
+      <item>alignat</item>
+      <item>xalignat*</item>
+      <item>xalignat</item>
+      <item>xxalignat*</item>
+      <item>xxalignat</item>
+    </list>
+
+    <list name="MathEnv">
+      <item>Bmatrix*</item>
+      <item>Bmatrix</item>
+      <item>IEEEeqnarray*</item>
+      <item>IEEEeqnarray</item>
+      <item>IEEEeqnarraybox*</item>
+      <item>IEEEeqnarraybox</item>
+      <item>Vmatrix*</item>
+      <item>Vmatrix</item>
+      <item>align*</item>
+      <item>align</item>
+      <item>bmatrix*</item>
+      <item>bmatrix</item>
+      <item>cases*</item>
+      <item>cases</item>
+      <item>displaymath*</item>
+      <item>displaymath</item>
+      <item>eqnarray*</item>
+      <item>eqnarray</item>
+      <item>equation*</item>
+      <item>equation</item>
+      <item>flalign*</item>
+      <item>flalign</item>
+      <item>gather*</item>
+      <item>gather</item>
+      <item>math*</item>
+      <item>math</item>
+      <item>multline*</item>
+      <item>multline</item>
+      <item>pmatrix*</item>
+      <item>pmatrix</item>
+      <item>smallmatrix*</item>
+      <item>smallmatrix</item>
+      <item>subeqnarray*</item>
+      <item>subeqnarray</item>
+      <item>vmatrix*</item>
+      <item>vmatrix</item>
+    </list>
+
+    <list name="TabEnv">
+      <item>tabularx*</item>
+      <item>tabularx</item>
+      <item>tabular*</item>
+      <item>tabular</item>
+      <item>supertabular*</item>
+      <item>supertabular</item>
+      <item>mpsupertabular*</item>
+      <item>mpsupertabular</item>
+      <item>xtabular*</item>
+      <item>xtabular</item>
+      <item>mpxtabular*</item>
+      <item>mpxtabular</item>
+      <item>longtable*</item>
+      <item>longtable</item>
+    </list>
+
+    <list name="MathModeText">
+      <item>\text</item>
+      <item>\textit</item>
+      <item>\textbf</item>
+      <item>\textmd</item>
+      <item>\textsl</item>
+      <item>\textsc</item>
+      <item>\textrm</item>
+      <item>\textsf</item>
+      <item>\texttt</item>
+      <item>\textup</item>
+      <item>\textlf</item>
+      <item>\textnormal</item>
+      <item>\shortintertext</item>
+      <item>\intertext</item>
+      <item>\mbox</item>
+      <item>\emph</item>
+    </list>
+
+    <list name="ResetHL">
+      <item>\KileResetHL</item>
+      <item>\KateResetHL</item>
+    </list>
+
+    <contexts>
+      <!-- Normal text -->
+      <context name="Normal Text" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="\" attribute="Normal Text" context="LatexMacro" lookAhead="true"/>
+        <DetectChar char="$" attribute="Math" context="MathModeTex"/>
+        <RegExpr String="^&lt;&lt;.*&gt;&gt;=" attribute="Normal Text" context="NoWeb" column="0"/>
+        <IncludeRules context="FindComments"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+      </context>
+
+      <context name="LatexMacro" attribute="Normal Text" lineEndContext="#pop">
+        <keyword String="beginEnv" attribute="Structure" context="#pop!FindBeginEnvironment" beginRegion="block"/>
+        <keyword String="endEnv" attribute="Structure" context="#pop!FindEndEnvironment"/>
+        <keyword String="Label" attribute="Structure" context="#pop!Label"/>
+        <keyword String="macroFancyLabel" attribute="Builtin Macro" context="#pop!FancyLabel"/>
+        <keyword String="FancyLabel" attribute="Structure" context="#pop!FancyLabel"/>
+        <keyword String="Sectioning" attribute="Structure" context="#pop!Sectioning"/>
+        <keyword String="SpecialCommand" attribute="Macro" context="#pop!SpecialCommand"/>
+        <keyword String="Footnoting" attribute="Macro" context="#pop!Footnoting"/>
+        <keyword String="NewCommand" attribute="Macro" context="#pop!NewCommand"/>
+        <keyword String="DefCommand" attribute="Macro" context="#pop!DefCommand"/>
+        <Detect2Chars char="\" char1="(" attribute="Math" context="#pop!MathModeLatex"/>
+        <Detect2Chars char="\" char1="[" attribute="Math" context="#pop!MathModeLatexEquation" beginRegion="mathMode"/>
+        <keyword String="MathModeEnsure" attribute="Math" context="#pop!MathModeEnsure"/>
+        <keyword String="iffalse" attribute="Comment" context="#pop!Multiline Comment"/>
+        <DetectChar char="\" attribute="Macro" context="#pop!ContrSeq"/>
+      </context>
+
+      <!-- NoWeb -->
+      <context name="NoWeb" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr String="^@\s*$" attribute="Normal Text" context="#pop" column="0"/>
+      </context>
+
+      <!-- LaTeX sectioning commands -->
+      <context name="Sectioning" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#stay"/>
+        <DetectChar char="{" attribute="Normal Text" context="SectioningInside"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="SectioningInside" attribute="Sectioning Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" context="SectioningInside"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <Detect2Chars char="\" char1="(" attribute="Sectioning Math" context="SectioningMathMode" />
+        <DetectChar char="\" attribute="Sectioning Macro" context="SectioningContrSeq"/>
+        <DetectChar char="$" attribute="Sectioning Math" context="SectioningMathMode" />
+        <IncludeRules context="FindComments"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+      </context>
+      <context name="SectioningContrSeq" attribute="Macro" lineEndContext="#pop">
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z]+(?:\+?|\*{0,3})|." attribute="Sectioning Macro" context="#pop" />
+      </context>
+      <context name="SectioningMathMode" attribute="Sectioning Math" lineEndContext="#stay">
+        <Detect2Chars char="$" char1="$" attribute="Error" context="#stay" />
+        <DetectChar char="$" attribute="Sectioning Math" context="#pop" />
+        <Detect2Chars char="\" char1=")" attribute="Sectioning Math" context="#pop" />
+        <Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
+        <DetectChar char="\" attribute="Sectioning Macro Mathmode" context="SectioningMathContrSeq"/>
+        <IncludeRules context="FindComments"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+      </context>
+      <context name="SectioningMathContrSeq" attribute="Sectioning Macro Mathmode" lineEndContext="#pop">
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="&envname;|." attribute="Sectioning Macro Mathmode" context="#pop" />
+      </context>
+
+      <!-- LaTeX Footnote commands -->
+      <context name="Footnoting" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#stay"/>
+        <DetectChar char="{" attribute="Normal Text" context="FootnotingInside"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="FootnotingInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" context="FootnotingInside"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <IncludeRules context="Normal Text"/>
+      </context>
+
+      <!-- LaTeX commands \newcommand and \renewcommand -->
+      <context name="NewCommand" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="LabelParameter"/>
+        <RegExpr String="(?:\[\d\](?:\[[^\]]*\])?)?\{" attribute="Normal Text" context="LabelParameter"/>
+        <DetectChar char="}" attribute="Error" context="#pop"/>
+      </context>
+
+      <!-- LaTeX command \def -->
+      <context name="DefCommand" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <RegExpr String="\\[a-zA-Z]+[^\{]*\{" attribute="Normal Text" context="#pop!CommandParameter"/>
+        <DetectChar char="}" attribute="Error" context="#pop"/>
+      </context>
+
+      <!-- parse command argument -->
+      <context name="CommandParameter" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" context="CommandParameter"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <RegExpr String="\\." attribute="Normal Text" context="#stay"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+
+      <!-- LaTeX command in text mode -->
+      <context name="ContrSeq" attribute="Macro" lineEndContext="#pop">
+        <keyword String="Verb" attribute="Macro" context="Verb"/>
+        <keyword String="Lstinline" attribute="Macro" context="Lstinline"/>
+        <keyword String="MintParam" attribute="Macro" context="MintParam"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z@]+(?:\+?|\*{0,3})|." attribute="Macro" context="#pop" />
+      </context>
+
+      <!-- \mint command with parameter-->
+      <context name="MintParam" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars char="}" char1="[" attribute="Normal Text" context="#stay"/>
+        <AnyChar String="}]" attribute="Normal Text" context="Verb"/>
+      </context>
+
+      <!-- verb command -->
+      <context name="Verb" attribute="Verbatim" lineEndContext="#pop#pop" >
+        <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" />
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[^%1\xd7]*" attribute="Verbatim" context="#stay" dynamic="true" />
+      </context>
+
+      <!-- lstinline command, different from verb as it takes options -->
+      <context name="Lstinline" attribute="Verbatim" lineEndContext="#pop#pop" >
+        <DetectSpaces/>
+        <DetectChar char="[" attribute="Normal Text" context="FancyLabelOption"/>
+        <DetectChar char="{" attribute="Normal Text" context="LstinlineParameter"/>
+        <RegExpr String="(.)" attribute="Normal Text" context="LstinlineEnd" />
+      </context>
+      <context name="LstinlineEnd" attribute="Verbatim" lineEndContext="#pop#pop#pop" dynamic="true" >
+        <!-- TODO DetectChar segfault -->
+        <StringDetect String="%1" attribute="Normal Text" context="#pop#pop#pop" dynamic="true" />
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[^%1\xd7]*" attribute="Verbatim" context="#stay" dynamic="true" />
+      </context>
+      <context name="LstinlineParameter" attribute="Verbatim" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop"/>
+      </context>
+
+      <!-- label -->
+      <context name="Label" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="LabelParameter"/>
+        <DetectChar char="[" attribute="Normal Text" context="LabelOption"/>
+      </context>
+
+      <context name="LabelOption" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex"/>
+        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
+        <DetectChar char="$" attribute="Math" context="MathModeTex" />
+        <IncludeRules context="FindComments"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <DetectChar char="]" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <context name="LabelParameter" attribute="Reference" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop"/>
+      </context>
+
+      <!-- labels from biblatex commands -->
+      <context name="FancyLabel" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="FancyLabelParameter"/>
+        <DetectChar char="[" attribute="Normal Text" context="FancyLabelOption"/>
+        <DetectChar char="(" attribute="Normal Text" context="FancyLabelRoundBrackets"/>
+      </context>
+
+      <context name="FancyLabelParameter" attribute="Environment" lineEndContext="#stay">
+        <DetectSpaces/>
+        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex"/>
+        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
+        <DetectChar char="$" attribute="Math" context="MathModeTex" />
+        <IncludeRules context="FindComments"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <DetectChar char="{" attribute="Normal Text" context="FancyLabelParameter"/>
+      </context>
+
+      <context name="FancyLabelOption" attribute="Option Text" lineEndContext="#stay">
+        <IncludeRules context="LabelOption"/>
+      </context>
+
+      <context name="FancyLabelRoundBrackets" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex" />
+        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
+        <DetectChar char="$" attribute="Math" context="MathModeTex" />
+        <IncludeRules context="FindComments"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <DetectChar char=")" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <!-- Special commands -->
+      <context name="SpecialCommand" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="SpecialCommandParameterOption"/>
+      </context>
+
+      <context name="SpecialCommandParameterOption" attribute="Option Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <Detect2Chars char="\" char1="(" attribute="Math" context="MathModeLatex" />
+        <DetectChar char="\" attribute="Macro" context="ContrSeq"/>
+        <DetectChar char="$" attribute="Math" context="MathModeTex" />
+        <IncludeRules context="FindComments"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <DetectChar char="{" attribute="Normal Text" context="SpecialCommandParameterOption"/>
+      </context>
+
+      <!-- end of an environment -->
+      <context name="FindEndEnvironment" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" context="EndEnvironment"/>
+        <RegExpr String="\S" attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <context name="EndEnvironment" attribute="Environment" lineEndContext="#stay">
+        <RegExpr String="&envname;" attribute="Environment" context="LatexEnvEnd"/>
+        <RegExpr String="." attribute="Error" context="#pop#pop"/>
+      </context>
+
+      <context name="LatexEnvEnd" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" endRegion="block" context="#pop#pop#pop"/>
+        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
+      </context>
+
+      <!-- start of an environment -->
+      <context name="FindBeginEnvironment" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="BeginEnvironment"/>
+        <RegExpr String="." attribute="Normal Text" context="#pop"/>
+      </context>
+
+      <!-- filter the environment name and check the type -->
+      <context name="BeginEnvironment" attribute="Environment" lineEndContext="#stay">
+        <keyword String="ListingsEnv" attribute="Environment" context="ListingsEnv"/>
+        <keyword String="MintedEnv" attribute="Environment" context="MintedEnv"/>
+        <keyword String="VerbatimEnv" attribute="Environment" context="VerbatimEnv" lookAhead="true"/>
+        <keyword String="CommentEnv" attribute="Environment" context="CommentEnv"/>
+        <keyword String="MathEnvParam" attribute="Environment" context="MathEnvWithParam"/>
+        <keyword String="MathEnv" attribute="Environment" context="MathEnv"/>
+        <keyword String="TabEnv" attribute="Environment" context="TabEnv"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="(\w+)code\b" attribute="Environment" context="MintedCodeEnv" lookAhead="true"/>
+        <RegExpr String="&envname;" attribute="Environment" context="LatexEnv"/>
+        <RegExpr String="." attribute="Error" context="#pop"/>
+      </context>
+
+      <!-- environment type 1: normal -->
+      <context name="LatexEnv" attribute="Error" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop"/>
+      </context>
+
+      <context name="VerbatimEnv" attribute="Environment" lineEndContext="#stay">
+        <WordDetect String="verbatim*" attribute="Environment" context="VerbatimEnv1"/>
+        <WordDetect String="verbatim" attribute="Environment" context="VerbatimEnv1"/>
+        <WordDetect String="boxedverbatim*" attribute="Environment" context="VerbatimEnv2"/>
+        <WordDetect String="boxedverbatim" attribute="Environment" context="VerbatimEnv2"/>
+
+        <WordDetect String="Verbatim*" attribute="Environment" context="VerbatimEnv3"/>
+        <WordDetect String="Verbatim" attribute="Environment" context="VerbatimEnv3"/>
+        <WordDetect String="BVerbatim*" attribute="Environment" context="VerbatimEnv4"/>
+        <WordDetect String="BVerbatim" attribute="Environment" context="VerbatimEnv4"/>
+        <WordDetect String="LVerbatim*" attribute="Environment" context="VerbatimEnv5"/>
+        <WordDetect String="LVerbatim" attribute="Environment" context="VerbatimEnv5"/>
+      </context>
+
+      <!-- environment type 2: verbatim without parameter -->
+      <context name="VerbatimEnv1" attribute="Error" lineEndContext="#stay" fallthroughContext="#pop#pop#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="Verbatim1"/>
+      </context>
+      <context name="Verbatim1" attribute="Verbatim" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\\end(?=\s*\{verbatim\*?\})" attribute="Structure" context="VerbFindEnd"/>
+      </context>
+
+      <context name="VerbatimEnv2" attribute="Error" lineEndContext="#stay" fallthroughContext="#pop#pop#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="Verbatim2"/>
+      </context>
+      <context name="Verbatim2" attribute="Verbatim" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\\end(?=\s*\{boxedverbatim\*?\})" attribute="Structure" context="VerbFindEnd"/>
+      </context>
+
+      <!-- environment type 3: verbatim with optional parameter -->
+      <context name="VerbatimEnv3" attribute="Error" lineEndContext="#stay" fallthroughContext="#pop#pop#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="VerbatimEnv3Param"/>
+      </context>
+      <context name="VerbatimEnv3Param" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!Verbatim3">
+        <DetectSpaces/>
+        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#pop!Verbatim3"/>
+      </context>
+      <context name="Verbatim3" attribute="Verbatim" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\\end(?=\s*\{Verbatim\*?\})" attribute="Structure" context="VerbFindEnd"/>
+      </context>
+
+      <context name="VerbatimEnv4" attribute="Error" lineEndContext="#stay" fallthroughContext="#pop#pop#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="VerbatimEnv4Param"/>
+      </context>
+      <context name="VerbatimEnv4Param" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!Verbatim4">
+        <DetectSpaces/>
+        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#pop!Verbatim4"/>
+      </context>
+      <context name="Verbatim4" attribute="Verbatim" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\\end(?=\s*\{BVerbatim\*?\})" attribute="Structure" context="VerbFindEnd"/>
+      </context>
+
+      <context name="VerbatimEnv5" attribute="Error" lineEndContext="#stay" fallthroughContext="#pop#pop#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="VerbatimEnv5Param"/>
+      </context>
+      <context name="VerbatimEnv5Param" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!Verbatim5">
+        <DetectSpaces/>
+        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#pop!Verbatim5"/>
+      </context>
+      <context name="Verbatim5" attribute="Verbatim" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\\end(?=\s*\{LVerbatim\*?\})" attribute="Structure" context="VerbFindEnd"/>
+      </context>
+
+      <!-- environment type 4: listings environment with optional parameter and HL switching-->
+      <context name="ListingsEnv" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" context="#pop!ListingsEnvParam"/>
+        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
+      </context>
+      <context name="ListingsEnvParam" attribute="Normal Text" lineEndContext="#pop!UnknownHighlighting" fallthroughContext="#pop!UnknownHighlighting">
+        <DetectSpaces/>
+        <DetectChar char="[" attribute="Normal Text" context="#pop!ListingsEnvParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="ListingsEnvParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr String="\s*language\s*=\s*(?=[^],])" attribute="Normal Text" context="HighlightingSelector"/>
+        <DetectChar char="]" attribute="Normal Text" context="ListingsEnvParamEnd"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="ListingsEnvParamEnd" attribute="Normal Text" lineEndContext="#pop#pop!UnknownHighlighting" fallthroughContext="#pop#pop!UnknownHighlighting">
+        <DetectSpaces/>
+        <IncludeRules context="FindComments"/>
+      </context>
+
+      <!-- environment type 5: minted environment with optional and HL switching -->
+      <context name="MintedEnv" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" context="#pop!MintedEnvParam"/>
+        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
+      </context>
+      <context name="MintedEnvParam" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="[" attribute="Normal Text" context="#pop!MintedEnvParamInside"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSelector"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="MintedEnvParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="]" attribute="Normal Text" context="#pop!MintedEnvLang"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="MintedEnvLang" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSelector"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+
+      <!-- environment type 5: minted environment created with newminted -->
+      <context name="MintedCodeEnv" attribute="Environment" lineEndContext="#stay" fallthroughContext="#pop#pop#pop#pop">
+        <WordDetect String="abapcode*" attribute="Environment" context="HighlightingABAPCodeEnvS"/>
+        <WordDetect String="abapcode" attribute="Environment" context="HighlightingABAPCodeEnv"/>
+        <WordDetect String="actionscriptcode*" attribute="Environment" context="HighlightingActionScript 2.0CodeEnvS"/>
+        <WordDetect String="actionscriptcode" attribute="Environment" context="HighlightingActionScript 2.0CodeEnv"/>
+        <WordDetect String="ascode*" attribute="Environment" context="HighlightingActionScript 2.0CodeEnvS"/>
+        <WordDetect String="ascode" attribute="Environment" context="HighlightingActionScript 2.0CodeEnv"/>
+        <WordDetect String="adacode*" attribute="Environment" context="HighlightingAdaCodeEnvS"/>
+        <WordDetect String="adacode" attribute="Environment" context="HighlightingAdaCodeEnv"/>
+        <WordDetect String="agdacode*" attribute="Environment" context="HighlightingAgdaCodeEnvS"/>
+        <WordDetect String="agdacode" attribute="Environment" context="HighlightingAgdaCodeEnv"/>
+        <WordDetect String="apacheconfcode*" attribute="Environment" context="HighlightingApache ConfigurationCodeEnvS"/>
+        <WordDetect String="apacheconfcode" attribute="Environment" context="HighlightingApache ConfigurationCodeEnv"/>
+        <WordDetect String="aconfcode*" attribute="Environment" context="HighlightingApache ConfigurationCodeEnvS"/>
+        <WordDetect String="aconfcode" attribute="Environment" context="HighlightingApache ConfigurationCodeEnv"/>
+        <WordDetect String="apachecode*" attribute="Environment" context="HighlightingApache ConfigurationCodeEnvS"/>
+        <WordDetect String="apachecode" attribute="Environment" context="HighlightingApache ConfigurationCodeEnv"/>
+        <WordDetect String="autohotkeycode*" attribute="Environment" context="HighlightingAutoHotKeyCodeEnvS"/>
+        <WordDetect String="autohotkeycode" attribute="Environment" context="HighlightingAutoHotKeyCodeEnv"/>
+        <WordDetect String="ahkcode*" attribute="Environment" context="HighlightingAutoHotKeyCodeEnvS"/>
+        <WordDetect String="ahkcode" attribute="Environment" context="HighlightingAutoHotKeyCodeEnv"/>
+        <WordDetect String="awkcode*" attribute="Environment" context="HighlightingAWKCodeEnvS"/>
+        <WordDetect String="awkcode" attribute="Environment" context="HighlightingAWKCodeEnv"/>
+        <WordDetect String="gawkcode*" attribute="Environment" context="HighlightingAWKCodeEnvS"/>
+        <WordDetect String="gawkcode" attribute="Environment" context="HighlightingAWKCodeEnv"/>
+        <WordDetect String="mawkcode*" attribute="Environment" context="HighlightingAWKCodeEnvS"/>
+        <WordDetect String="mawkcode" attribute="Environment" context="HighlightingAWKCodeEnv"/>
+        <WordDetect String="nawkcode*" attribute="Environment" context="HighlightingAWKCodeEnvS"/>
+        <WordDetect String="nawkcode" attribute="Environment" context="HighlightingAWKCodeEnv"/>
+        <WordDetect String="bashcode*" attribute="Environment" context="HighlightingBashCodeEnvS"/>
+        <WordDetect String="bashcode" attribute="Environment" context="HighlightingBashCodeEnv"/>
+        <WordDetect String="shcode*" attribute="Environment" context="HighlightingBashCodeEnvS"/>
+        <WordDetect String="shcode" attribute="Environment" context="HighlightingBashCodeEnv"/>
+        <WordDetect String="kshcode*" attribute="Environment" context="HighlightingBashCodeEnvS"/>
+        <WordDetect String="kshcode" attribute="Environment" context="HighlightingBashCodeEnv"/>
+        <WordDetect String="zshcode*" attribute="Environment" context="HighlightingBashCodeEnvS"/>
+        <WordDetect String="zshcode" attribute="Environment" context="HighlightingBashCodeEnv"/>
+        <WordDetect String="shellcode*" attribute="Environment" context="HighlightingBashCodeEnvS"/>
+        <WordDetect String="shellcode" attribute="Environment" context="HighlightingBashCodeEnv"/>
+        <WordDetect String="bibtexcode*" attribute="Environment" context="HighlightingBibTeXCodeEnvS"/>
+        <WordDetect String="bibtexcode" attribute="Environment" context="HighlightingBibTeXCodeEnv"/>
+        <WordDetect String="bibcode*" attribute="Environment" context="HighlightingBibTeXCodeEnvS"/>
+        <WordDetect String="bibcode" attribute="Environment" context="HighlightingBibTeXCodeEnv"/>
+        <WordDetect String="boocode*" attribute="Environment" context="HighlightingBooCodeEnvS"/>
+        <WordDetect String="boocode" attribute="Environment" context="HighlightingBooCodeEnv"/>
+        <WordDetect String="ccode*" attribute="Environment" context="HighlightingCCodeEnvS"/>
+        <WordDetect String="ccode" attribute="Environment" context="HighlightingCCodeEnv"/>
+        <WordDetect String="cmakecode*" attribute="Environment" context="HighlightingCMakeCodeEnvS"/>
+        <WordDetect String="cmakecode" attribute="Environment" context="HighlightingCMakeCodeEnv"/>
+        <WordDetect String="csharpcode*" attribute="Environment" context="HighlightingC#CodeEnvS"/>
+        <WordDetect String="csharpcode" attribute="Environment" context="HighlightingC#CodeEnv"/>
+        <WordDetect String="cscode*" attribute="Environment" context="HighlightingC#CodeEnvS"/>
+        <WordDetect String="cscode" attribute="Environment" context="HighlightingC#CodeEnv"/>
+        <WordDetect String="clojurecode*" attribute="Environment" context="HighlightingClojureCodeEnvS"/>
+        <WordDetect String="clojurecode" attribute="Environment" context="HighlightingClojureCodeEnv"/>
+        <WordDetect String="cljcode*" attribute="Environment" context="HighlightingClojureCodeEnvS"/>
+        <WordDetect String="cljcode" attribute="Environment" context="HighlightingClojureCodeEnv"/>
+        <WordDetect String="coffeecode*" attribute="Environment" context="HighlightingCoffeeScriptCodeEnvS"/>
+        <WordDetect String="coffeecode" attribute="Environment" context="HighlightingCoffeeScriptCodeEnv"/>
+        <WordDetect String="commonlispcode*" attribute="Environment" context="HighlightingCommon LispCodeEnvS"/>
+        <WordDetect String="commonlispcode" attribute="Environment" context="HighlightingCommon LispCodeEnv"/>
+        <WordDetect String="clcode*" attribute="Environment" context="HighlightingCommon LispCodeEnvS"/>
+        <WordDetect String="clcode" attribute="Environment" context="HighlightingCommon LispCodeEnv"/>
+        <WordDetect String="lispcode*" attribute="Environment" context="HighlightingCommon LispCodeEnvS"/>
+        <WordDetect String="lispcode" attribute="Environment" context="HighlightingCommon LispCodeEnv"/>
+        <WordDetect String="cppcode*" attribute="Environment" context="HighlightingC++CodeEnvS"/>
+        <WordDetect String="cppcode" attribute="Environment" context="HighlightingC++CodeEnv"/>
+        <WordDetect String="csscode*" attribute="Environment" context="HighlightingCSSCodeEnvS"/>
+        <WordDetect String="csscode" attribute="Environment" context="HighlightingCSSCodeEnv"/>
+        <WordDetect String="dcode*" attribute="Environment" context="HighlightingDCodeEnvS"/>
+        <WordDetect String="dcode" attribute="Environment" context="HighlightingDCodeEnv"/>
+        <WordDetect String="dartcode*" attribute="Environment" context="HighlightingDartCodeEnvS"/>
+        <WordDetect String="dartcode" attribute="Environment" context="HighlightingDartCodeEnv"/>
+        <WordDetect String="delphicode*" attribute="Environment" context="HighlightingPascalCodeEnvS"/>
+        <WordDetect String="delphicode" attribute="Environment" context="HighlightingPascalCodeEnv"/>
+        <WordDetect String="pascode*" attribute="Environment" context="HighlightingPascalCodeEnvS"/>
+        <WordDetect String="pascode" attribute="Environment" context="HighlightingPascalCodeEnv"/>
+        <WordDetect String="pascalcode*" attribute="Environment" context="HighlightingPascalCodeEnvS"/>
+        <WordDetect String="pascalcode" attribute="Environment" context="HighlightingPascalCodeEnv"/>
+        <WordDetect String="objectpascalcode*" attribute="Environment" context="HighlightingPascalCodeEnvS"/>
+        <WordDetect String="objectpascalcode" attribute="Environment" context="HighlightingPascalCodeEnv"/>
+        <WordDetect String="diffcode*" attribute="Environment" context="HighlightingDiffCodeEnvS"/>
+        <WordDetect String="diffcode" attribute="Environment" context="HighlightingDiffCodeEnv"/>
+        <WordDetect String="udiffcode*" attribute="Environment" context="HighlightingDiffCodeEnvS"/>
+        <WordDetect String="udiffcode" attribute="Environment" context="HighlightingDiffCodeEnv"/>
+        <WordDetect String="dtdcode*" attribute="Environment" context="HighlightingDTDCodeEnvS"/>
+        <WordDetect String="dtdcode" attribute="Environment" context="HighlightingDTDCodeEnv"/>
+        <WordDetect String="eiffelcode*" attribute="Environment" context="HighlightingEiffelCodeEnvS"/>
+        <WordDetect String="eiffelcode" attribute="Environment" context="HighlightingEiffelCodeEnv"/>
+        <WordDetect String="elixircode*" attribute="Environment" context="HighlightingElixirCodeEnvS"/>
+        <WordDetect String="elixircode" attribute="Environment" context="HighlightingElixirCodeEnv"/>
+        <WordDetect String="excode*" attribute="Environment" context="HighlightingElixirCodeEnvS"/>
+        <WordDetect String="excode" attribute="Environment" context="HighlightingElixirCodeEnv"/>
+        <WordDetect String="exscode*" attribute="Environment" context="HighlightingElixirCodeEnvS"/>
+        <WordDetect String="exscode" attribute="Environment" context="HighlightingElixirCodeEnv"/>
+        <WordDetect String="elmcode*" attribute="Environment" context="HighlightingElmCodeEnvS"/>
+        <WordDetect String="elmcode" attribute="Environment" context="HighlightingElmCodeEnv"/>
+        <WordDetect String="emailcode*" attribute="Environment" context="HighlightingEmailCodeEnvS"/>
+        <WordDetect String="emailcode" attribute="Environment" context="HighlightingEmailCodeEnv"/>
+        <WordDetect String="emlcode*" attribute="Environment" context="HighlightingEmailCodeEnvS"/>
+        <WordDetect String="emlcode" attribute="Environment" context="HighlightingEmailCodeEnv"/>
+        <WordDetect String="erlangcode*" attribute="Environment" context="HighlightingErlangCodeEnvS"/>
+        <WordDetect String="erlangcode" attribute="Environment" context="HighlightingErlangCodeEnv"/>
+        <WordDetect String="fishcode*" attribute="Environment" context="HighlightingFishCodeEnvS"/>
+        <WordDetect String="fishcode" attribute="Environment" context="HighlightingFishCodeEnv"/>
+        <WordDetect String="fishshellcode*" attribute="Environment" context="HighlightingFishCodeEnvS"/>
+        <WordDetect String="fishshellcode" attribute="Environment" context="HighlightingFishCodeEnv"/>
+        <WordDetect String="forthcode*" attribute="Environment" context="HighlightingANS-Forth94CodeEnvS"/>
+        <WordDetect String="forthcode" attribute="Environment" context="HighlightingANS-Forth94CodeEnv"/>
+        <WordDetect String="fortranfixedcode*" attribute="Environment" context="HighlightingFortran (Fixed Format)CodeEnvS"/>
+        <WordDetect String="fortranfixedcode" attribute="Environment" context="HighlightingFortran (Fixed Format)CodeEnv"/>
+        <WordDetect String="fortrancode*" attribute="Environment" context="HighlightingFortran (Free Format)CodeEnvS"/>
+        <WordDetect String="fortrancode" attribute="Environment" context="HighlightingFortran (Free Format)CodeEnv"/>
+        <WordDetect String="fcode*" attribute="Environment" context="HighlightingFortran (Free Format)CodeEnvS"/>
+        <WordDetect String="fcode" attribute="Environment" context="HighlightingFortran (Free Format)CodeEnv"/>
+        <WordDetect String="gapcode*" attribute="Environment" context="HighlightingGAPCodeEnvS"/>
+        <WordDetect String="gapcode" attribute="Environment" context="HighlightingGAPCodeEnv"/>
+        <WordDetect String="gdscriptcode*" attribute="Environment" context="HighlightingGodotCodeEnvS"/>
+        <WordDetect String="gdscriptcode" attribute="Environment" context="HighlightingGodotCodeEnv"/>
+        <WordDetect String="gdcode*" attribute="Environment" context="HighlightingGodotCodeEnvS"/>
+        <WordDetect String="gdcode" attribute="Environment" context="HighlightingGodotCodeEnv"/>
+        <WordDetect String="glslcode*" attribute="Environment" context="HighlightingGLSLCodeEnvS"/>
+        <WordDetect String="glslcode" attribute="Environment" context="HighlightingGLSLCodeEnv"/>
+        <WordDetect String="gcodecode*" attribute="Environment" context="HighlightingG-CodeCodeEnvS"/>
+        <WordDetect String="gcodecode" attribute="Environment" context="HighlightingG-CodeCodeEnv"/>
+        <WordDetect String="gnuplotcode*" attribute="Environment" context="HighlightingGnuplotCodeEnvS"/>
+        <WordDetect String="gnuplotcode" attribute="Environment" context="HighlightingGnuplotCodeEnv"/>
+        <WordDetect String="gocode*" attribute="Environment" context="HighlightingGoCodeEnvS"/>
+        <WordDetect String="gocode" attribute="Environment" context="HighlightingGoCodeEnv"/>
+        <WordDetect String="golangcode*" attribute="Environment" context="HighlightingGoCodeEnvS"/>
+        <WordDetect String="golangcode" attribute="Environment" context="HighlightingGoCodeEnv"/>
+        <WordDetect String="groovycode*" attribute="Environment" context="HighlightingGroovyCodeEnvS"/>
+        <WordDetect String="groovycode" attribute="Environment" context="HighlightingGroovyCodeEnv"/>
+        <WordDetect String="hamlcode*" attribute="Environment" context="HighlightingHamlCodeEnvS"/>
+        <WordDetect String="hamlcode" attribute="Environment" context="HighlightingHamlCodeEnv"/>
+        <WordDetect String="haskellcode*" attribute="Environment" context="HighlightingHaskellCodeEnvS"/>
+        <WordDetect String="haskellcode" attribute="Environment" context="HighlightingHaskellCodeEnv"/>
+        <WordDetect String="hscode*" attribute="Environment" context="HighlightingHaskellCodeEnvS"/>
+        <WordDetect String="hscode" attribute="Environment" context="HighlightingHaskellCodeEnv"/>
+        <WordDetect String="haxecode*" attribute="Environment" context="HighlightingHaxeCodeEnvS"/>
+        <WordDetect String="haxecode" attribute="Environment" context="HighlightingHaxeCodeEnv"/>
+        <WordDetect String="hxslcode*" attribute="Environment" context="HighlightingHaxeCodeEnvS"/>
+        <WordDetect String="hxslcode" attribute="Environment" context="HighlightingHaxeCodeEnv"/>
+        <WordDetect String="hxcode*" attribute="Environment" context="HighlightingHaxeCodeEnvS"/>
+        <WordDetect String="hxcode" attribute="Environment" context="HighlightingHaxeCodeEnv"/>
+        <WordDetect String="htmlcode*" attribute="Environment" context="HighlightingHTMLCodeEnvS"/>
+        <WordDetect String="htmlcode" attribute="Environment" context="HighlightingHTMLCodeEnv"/>
+        <WordDetect String="idlcode*" attribute="Environment" context="HighlightingIDLCodeEnvS"/>
+        <WordDetect String="idlcode" attribute="Environment" context="HighlightingIDLCodeEnv"/>
+        <WordDetect String="idriscode*" attribute="Environment" context="HighlightingIdrisCodeEnvS"/>
+        <WordDetect String="idriscode" attribute="Environment" context="HighlightingIdrisCodeEnv"/>
+        <WordDetect String="idrcode*" attribute="Environment" context="HighlightingIdrisCodeEnvS"/>
+        <WordDetect String="idrcode" attribute="Environment" context="HighlightingIdrisCodeEnv"/>
+        <WordDetect String="informcode*" attribute="Environment" context="HighlightingInformCodeEnvS"/>
+        <WordDetect String="informcode" attribute="Environment" context="HighlightingInformCodeEnv"/>
+        <WordDetect String="icode*" attribute="Environment" context="HighlightingInformCodeEnvS"/>
+        <WordDetect String="icode" attribute="Environment" context="HighlightingInformCodeEnv"/>
+        <WordDetect String="inicode*" attribute="Environment" context="HighlightingINI FilesCodeEnvS"/>
+        <WordDetect String="inicode" attribute="Environment" context="HighlightingINI FilesCodeEnv"/>
+        <WordDetect String="cfgcode*" attribute="Environment" context="HighlightingINI FilesCodeEnvS"/>
+        <WordDetect String="cfgcode" attribute="Environment" context="HighlightingINI FilesCodeEnv"/>
+        <WordDetect String="dosinicode*" attribute="Environment" context="HighlightingINI FilesCodeEnvS"/>
+        <WordDetect String="dosinicode" attribute="Environment" context="HighlightingINI FilesCodeEnv"/>
+        <WordDetect String="jcode*" attribute="Environment" context="HighlightingJCodeEnvS"/>
+        <WordDetect String="jcode" attribute="Environment" context="HighlightingJCodeEnv"/>
+        <WordDetect String="javacode*" attribute="Environment" context="HighlightingJavaCodeEnvS"/>
+        <WordDetect String="javacode" attribute="Environment" context="HighlightingJavaCodeEnv"/>
+        <WordDetect String="javascriptcode*" attribute="Environment" context="HighlightingJavaScriptCodeEnvS"/>
+        <WordDetect String="javascriptcode" attribute="Environment" context="HighlightingJavaScriptCodeEnv"/>
+        <WordDetect String="jscode*" attribute="Environment" context="HighlightingJavaScriptCodeEnvS"/>
+        <WordDetect String="jscode" attribute="Environment" context="HighlightingJavaScriptCodeEnv"/>
+        <WordDetect String="jclcode*" attribute="Environment" context="HighlightingJCLCodeEnvS"/>
+        <WordDetect String="jclcode" attribute="Environment" context="HighlightingJCLCodeEnv"/>
+        <WordDetect String="jsoncode*" attribute="Environment" context="HighlightingJSONCodeEnvS"/>
+        <WordDetect String="jsoncode" attribute="Environment" context="HighlightingJSONCodeEnv"/>
+        <WordDetect String="jsonobjectcode*" attribute="Environment" context="HighlightingJSONCodeEnvS"/>
+        <WordDetect String="jsonobjectcode" attribute="Environment" context="HighlightingJSONCodeEnv"/>
+        <WordDetect String="juliacode*" attribute="Environment" context="HighlightingJuliaCodeEnvS"/>
+        <WordDetect String="juliacode" attribute="Environment" context="HighlightingJuliaCodeEnv"/>
+        <WordDetect String="jlcode*" attribute="Environment" context="HighlightingJuliaCodeEnvS"/>
+        <WordDetect String="jlcode" attribute="Environment" context="HighlightingJuliaCodeEnv"/>
+        <WordDetect String="kconfigcode*" attribute="Environment" context="HighlightingKconfigCodeEnvS"/>
+        <WordDetect String="kconfigcode" attribute="Environment" context="HighlightingKconfigCodeEnv"/>
+        <WordDetect String="menuconfigcode*" attribute="Environment" context="HighlightingKconfigCodeEnvS"/>
+        <WordDetect String="menuconfigcode" attribute="Environment" context="HighlightingKconfigCodeEnv"/>
+        <WordDetect String="linuxconfigcode*" attribute="Environment" context="HighlightingKconfigCodeEnvS"/>
+        <WordDetect String="linuxconfigcode" attribute="Environment" context="HighlightingKconfigCodeEnv"/>
+        <WordDetect String="kernelconfigcode*" attribute="Environment" context="HighlightingKconfigCodeEnvS"/>
+        <WordDetect String="kernelconfigcode" attribute="Environment" context="HighlightingKconfigCodeEnv"/>
+        <WordDetect String="kotlincode*" attribute="Environment" context="HighlightingKotlinCodeEnvS"/>
+        <WordDetect String="kotlincode" attribute="Environment" context="HighlightingKotlinCodeEnv"/>
+        <WordDetect String="lslcode*" attribute="Environment" context="HighlightingLSLCodeEnvS"/>
+        <WordDetect String="lslcode" attribute="Environment" context="HighlightingLSLCodeEnv"/>
+        <WordDetect String="lesscode*" attribute="Environment" context="HighlightingLESSCSSCodeEnvS"/>
+        <WordDetect String="lesscode" attribute="Environment" context="HighlightingLESSCSSCodeEnv"/>
+        <WordDetect String="lilypondcode*" attribute="Environment" context="HighlightingLilyPondCodeEnvS"/>
+        <WordDetect String="lilypondcode" attribute="Environment" context="HighlightingLilyPondCodeEnv"/>
+        <WordDetect String="literatehaskellcode*" attribute="Environment" context="HighlightingLiterate HaskellCodeEnvS"/>
+        <WordDetect String="literatehaskellcode" attribute="Environment" context="HighlightingLiterate HaskellCodeEnv"/>
+        <WordDetect String="lhaskellcode*" attribute="Environment" context="HighlightingLiterate HaskellCodeEnvS"/>
+        <WordDetect String="lhaskellcode" attribute="Environment" context="HighlightingLiterate HaskellCodeEnv"/>
+        <WordDetect String="lhscode*" attribute="Environment" context="HighlightingLiterate HaskellCodeEnvS"/>
+        <WordDetect String="lhscode" attribute="Environment" context="HighlightingLiterate HaskellCodeEnv"/>
+        <WordDetect String="llvmcode*" attribute="Environment" context="HighlightingLLVMCodeEnvS"/>
+        <WordDetect String="llvmcode" attribute="Environment" context="HighlightingLLVMCodeEnv"/>
+        <WordDetect String="logtalkcode*" attribute="Environment" context="HighlightingLogtalkCodeEnvS"/>
+        <WordDetect String="logtalkcode" attribute="Environment" context="HighlightingLogtalkCodeEnv"/>
+        <WordDetect String="luacode*" attribute="Environment" context="HighlightingLuaCodeEnvS"/>
+        <WordDetect String="luacode" attribute="Environment" context="HighlightingLuaCodeEnv"/>
+        <WordDetect String="makecode*" attribute="Environment" context="HighlightingMakefileCodeEnvS"/>
+        <WordDetect String="makecode" attribute="Environment" context="HighlightingMakefileCodeEnv"/>
+        <WordDetect String="makefilecode*" attribute="Environment" context="HighlightingMakefileCodeEnvS"/>
+        <WordDetect String="makefilecode" attribute="Environment" context="HighlightingMakefileCodeEnv"/>
+        <WordDetect String="mfcode*" attribute="Environment" context="HighlightingMakefileCodeEnvS"/>
+        <WordDetect String="mfcode" attribute="Environment" context="HighlightingMakefileCodeEnv"/>
+        <WordDetect String="bsdmakecode*" attribute="Environment" context="HighlightingMakefileCodeEnvS"/>
+        <WordDetect String="bsdmakecode" attribute="Environment" context="HighlightingMakefileCodeEnv"/>
+        <WordDetect String="makocode*" attribute="Environment" context="HighlightingMakoCodeEnvS"/>
+        <WordDetect String="makocode" attribute="Environment" context="HighlightingMakoCodeEnv"/>
+        <WordDetect String="markdowncode*" attribute="Environment" context="HighlightingMarkdownCodeEnvS"/>
+        <WordDetect String="markdowncode" attribute="Environment" context="HighlightingMarkdownCodeEnv"/>
+        <WordDetect String="mdcode*" attribute="Environment" context="HighlightingMarkdownCodeEnvS"/>
+        <WordDetect String="mdcode" attribute="Environment" context="HighlightingMarkdownCodeEnv"/>
+        <WordDetect String="masoncode*" attribute="Environment" context="HighlightingMasonCodeEnvS"/>
+        <WordDetect String="masoncode" attribute="Environment" context="HighlightingMasonCodeEnv"/>
+        <WordDetect String="mathematicacode*" attribute="Environment" context="HighlightingMathematicaCodeEnvS"/>
+        <WordDetect String="mathematicacode" attribute="Environment" context="HighlightingMathematicaCodeEnv"/>
+        <WordDetect String="mmacode*" attribute="Environment" context="HighlightingMathematicaCodeEnvS"/>
+        <WordDetect String="mmacode" attribute="Environment" context="HighlightingMathematicaCodeEnv"/>
+        <WordDetect String="nbcode*" attribute="Environment" context="HighlightingMathematicaCodeEnvS"/>
+        <WordDetect String="nbcode" attribute="Environment" context="HighlightingMathematicaCodeEnv"/>
+        <WordDetect String="matlabcode*" attribute="Environment" context="HighlightingMatlabCodeEnvS"/>
+        <WordDetect String="matlabcode" attribute="Environment" context="HighlightingMatlabCodeEnv"/>
+        <WordDetect String="maximacode*" attribute="Environment" context="HighlightingMaximaCodeEnvS"/>
+        <WordDetect String="maximacode" attribute="Environment" context="HighlightingMaximaCodeEnv"/>
+        <WordDetect String="macsymacode*" attribute="Environment" context="HighlightingMaximaCodeEnvS"/>
+        <WordDetect String="macsymacode" attribute="Environment" context="HighlightingMaximaCodeEnv"/>
+        <WordDetect String="mesoncode*" attribute="Environment" context="HighlightingMesonCodeEnvS"/>
+        <WordDetect String="mesoncode" attribute="Environment" context="HighlightingMesonCodeEnv"/>
+        <WordDetect String="mesonbuildcode*" attribute="Environment" context="HighlightingMesonCodeEnvS"/>
+        <WordDetect String="mesonbuildcode" attribute="Environment" context="HighlightingMesonCodeEnv"/>
+        <WordDetect String="modelicacode*" attribute="Environment" context="HighlightingModelicaCodeEnvS"/>
+        <WordDetect String="modelicacode" attribute="Environment" context="HighlightingModelicaCodeEnv"/>
+        <WordDetect String="modulacode*" attribute="Environment" context="HighlightingModula-2CodeEnvS"/>
+        <WordDetect String="modulacode" attribute="Environment" context="HighlightingModula-2CodeEnv"/>
+        <WordDetect String="mcode*" attribute="Environment" context="HighlightingModula-2CodeEnvS"/>
+        <WordDetect String="mcode" attribute="Environment" context="HighlightingModula-2CodeEnv"/>
+        <WordDetect String="mysqlcode*" attribute="Environment" context="HighlightingSQL (MySQL)CodeEnvS"/>
+        <WordDetect String="mysqlcode" attribute="Environment" context="HighlightingSQL (MySQL)CodeEnv"/>
+        <WordDetect String="nsiscode*" attribute="Environment" context="HighlightingNSISCodeEnvS"/>
+        <WordDetect String="nsiscode" attribute="Environment" context="HighlightingNSISCodeEnv"/>
+        <WordDetect String="nsicode*" attribute="Environment" context="HighlightingNSISCodeEnvS"/>
+        <WordDetect String="nsicode" attribute="Environment" context="HighlightingNSISCodeEnv"/>
+        <WordDetect String="nshcode*" attribute="Environment" context="HighlightingNSISCodeEnvS"/>
+        <WordDetect String="nshcode" attribute="Environment" context="HighlightingNSISCodeEnv"/>
+        <WordDetect String="nasmcode*" attribute="Environment" context="HighlightingIntel x86 (NASM)CodeEnvS"/>
+        <WordDetect String="nasmcode" attribute="Environment" context="HighlightingIntel x86 (NASM)CodeEnv"/>
+        <WordDetect String="nemerlecode*" attribute="Environment" context="HighlightingNemerleCodeEnvS"/>
+        <WordDetect String="nemerlecode" attribute="Environment" context="HighlightingNemerleCodeEnv"/>
+        <WordDetect String="nesccode*" attribute="Environment" context="HighlightingnesCCodeEnvS"/>
+        <WordDetect String="nesccode" attribute="Environment" context="HighlightingnesCCodeEnv"/>
+        <WordDetect String="nimrodcode*" attribute="Environment" context="HighlightingNimCodeEnvS"/>
+        <WordDetect String="nimrodcode" attribute="Environment" context="HighlightingNimCodeEnv"/>
+        <WordDetect String="nimcode*" attribute="Environment" context="HighlightingNimCodeEnvS"/>
+        <WordDetect String="nimcode" attribute="Environment" context="HighlightingNimCodeEnv"/>
+        <WordDetect String="nixoscode*" attribute="Environment" context="HighlightingNixCodeEnvS"/>
+        <WordDetect String="nixoscode" attribute="Environment" context="HighlightingNixCodeEnv"/>
+        <WordDetect String="nixcode*" attribute="Environment" context="HighlightingNixCodeEnvS"/>
+        <WordDetect String="nixcode" attribute="Environment" context="HighlightingNixCodeEnv"/>
+        <WordDetect String="objectiveccode*" attribute="Environment" context="HighlightingObjective-CCodeEnvS"/>
+        <WordDetect String="objectiveccode" attribute="Environment" context="HighlightingObjective-CCodeEnv"/>
+        <WordDetect String="objccode*" attribute="Environment" context="HighlightingObjective-CCodeEnvS"/>
+        <WordDetect String="objccode" attribute="Environment" context="HighlightingObjective-CCodeEnv"/>
+        <WordDetect String="objectivecppcode*" attribute="Environment" context="HighlightingObjective-C++CodeEnvS"/>
+        <WordDetect String="objectivecppcode" attribute="Environment" context="HighlightingObjective-C++CodeEnv"/>
+        <WordDetect String="objcppcode*" attribute="Environment" context="HighlightingObjective-C++CodeEnvS"/>
+        <WordDetect String="objcppcode" attribute="Environment" context="HighlightingObjective-C++CodeEnv"/>
+        <WordDetect String="ocamlcode*" attribute="Environment" context="HighlightingObjective CamlCodeEnvS"/>
+        <WordDetect String="ocamlcode" attribute="Environment" context="HighlightingObjective CamlCodeEnv"/>
+        <WordDetect String="octavecode*" attribute="Environment" context="HighlightingOctaveCodeEnvS"/>
+        <WordDetect String="octavecode" attribute="Environment" context="HighlightingOctaveCodeEnv"/>
+        <WordDetect String="perlcode*" attribute="Environment" context="HighlightingPerlCodeEnvS"/>
+        <WordDetect String="perlcode" attribute="Environment" context="HighlightingPerlCodeEnv"/>
+        <WordDetect String="plcode*" attribute="Environment" context="HighlightingPerlCodeEnvS"/>
+        <WordDetect String="plcode" attribute="Environment" context="HighlightingPerlCodeEnv"/>
+        <WordDetect String="phpcode*" attribute="Environment" context="HighlightingPHP/PHPCodeEnvS"/>
+        <WordDetect String="phpcode" attribute="Environment" context="HighlightingPHP/PHPCodeEnv"/>
+        <WordDetect String="pigcode*" attribute="Environment" context="HighlightingPigCodeEnvS"/>
+        <WordDetect String="pigcode" attribute="Environment" context="HighlightingPigCodeEnv"/>
+        <WordDetect String="pikecode*" attribute="Environment" context="HighlightingPikeCodeEnvS"/>
+        <WordDetect String="pikecode" attribute="Environment" context="HighlightingPikeCodeEnv"/>
+        <WordDetect String="ponycode*" attribute="Environment" context="HighlightingPonyCodeEnvS"/>
+        <WordDetect String="ponycode" attribute="Environment" context="HighlightingPonyCodeEnv"/>
+        <WordDetect String="postscriptcode*" attribute="Environment" context="HighlightingPostScriptCodeEnvS"/>
+        <WordDetect String="postscriptcode" attribute="Environment" context="HighlightingPostScriptCodeEnv"/>
+        <WordDetect String="postscrcode*" attribute="Environment" context="HighlightingPostScriptCodeEnvS"/>
+        <WordDetect String="postscrcode" attribute="Environment" context="HighlightingPostScriptCodeEnv"/>
+        <WordDetect String="povcode*" attribute="Environment" context="HighlightingPOV-RayCodeEnvS"/>
+        <WordDetect String="povcode" attribute="Environment" context="HighlightingPOV-RayCodeEnv"/>
+        <WordDetect String="powershellcode*" attribute="Environment" context="HighlightingPowerShellCodeEnvS"/>
+        <WordDetect String="powershellcode" attribute="Environment" context="HighlightingPowerShellCodeEnv"/>
+        <WordDetect String="pwshcode*" attribute="Environment" context="HighlightingPowerShellCodeEnvS"/>
+        <WordDetect String="pwshcode" attribute="Environment" context="HighlightingPowerShellCodeEnv"/>
+        <WordDetect String="poshcode*" attribute="Environment" context="HighlightingPowerShellCodeEnvS"/>
+        <WordDetect String="poshcode" attribute="Environment" context="HighlightingPowerShellCodeEnv"/>
+        <WordDetect String="pscode*" attribute="Environment" context="HighlightingPowerShellCodeEnvS"/>
+        <WordDetect String="pscode" attribute="Environment" context="HighlightingPowerShellCodeEnv"/>
+        <WordDetect String="psmcode*" attribute="Environment" context="HighlightingPowerShellCodeEnvS"/>
+        <WordDetect String="psmcode" attribute="Environment" context="HighlightingPowerShellCodeEnv"/>
+        <WordDetect String="praatcode*" attribute="Environment" context="HighlightingPraatCodeEnvS"/>
+        <WordDetect String="praatcode" attribute="Environment" context="HighlightingPraatCodeEnv"/>
+        <WordDetect String="prologcode*" attribute="Environment" context="HighlightingPrologCodeEnvS"/>
+        <WordDetect String="prologcode" attribute="Environment" context="HighlightingPrologCodeEnv"/>
+        <WordDetect String="protobufcode*" attribute="Environment" context="HighlightingProtobufCodeEnvS"/>
+        <WordDetect String="protobufcode" attribute="Environment" context="HighlightingProtobufCodeEnv"/>
+        <WordDetect String="protocode*" attribute="Environment" context="HighlightingProtobufCodeEnvS"/>
+        <WordDetect String="protocode" attribute="Environment" context="HighlightingProtobufCodeEnv"/>
+        <WordDetect String="pugcode*" attribute="Environment" context="HighlightingPugCodeEnvS"/>
+        <WordDetect String="pugcode" attribute="Environment" context="HighlightingPugCodeEnv"/>
+        <WordDetect String="jadecode*" attribute="Environment" context="HighlightingPugCodeEnvS"/>
+        <WordDetect String="jadecode" attribute="Environment" context="HighlightingPugCodeEnv"/>
+        <WordDetect String="puppetcode*" attribute="Environment" context="HighlightingPuppetCodeEnvS"/>
+        <WordDetect String="puppetcode" attribute="Environment" context="HighlightingPuppetCodeEnv"/>
+        <WordDetect String="pythoncode*" attribute="Environment" context="HighlightingPythonCodeEnvS"/>
+        <WordDetect String="pythoncode" attribute="Environment" context="HighlightingPythonCodeEnv"/>
+        <WordDetect String="pycode*" attribute="Environment" context="HighlightingPythonCodeEnvS"/>
+        <WordDetect String="pycode" attribute="Environment" context="HighlightingPythonCodeEnv"/>
+        <WordDetect String="sagecode*" attribute="Environment" context="HighlightingPythonCodeEnvS"/>
+        <WordDetect String="sagecode" attribute="Environment" context="HighlightingPythonCodeEnv"/>
+        <WordDetect String="qmlcode*" attribute="Environment" context="HighlightingQMLCodeEnvS"/>
+        <WordDetect String="qmlcode" attribute="Environment" context="HighlightingQMLCodeEnv"/>
+        <WordDetect String="qbscode*" attribute="Environment" context="HighlightingQMLCodeEnvS"/>
+        <WordDetect String="qbscode" attribute="Environment" context="HighlightingQMLCodeEnv"/>
+        <WordDetect String="rngcompactcode*" attribute="Environment" context="HighlightingRelaxNG-CompactCodeEnvS"/>
+        <WordDetect String="rngcompactcode" attribute="Environment" context="HighlightingRelaxNG-CompactCodeEnv"/>
+        <WordDetect String="rnccode*" attribute="Environment" context="HighlightingRelaxNG-CompactCodeEnvS"/>
+        <WordDetect String="rnccode" attribute="Environment" context="HighlightingRelaxNG-CompactCodeEnv"/>
+        <WordDetect String="speccode*" attribute="Environment" context="HighlightingRPM SpecCodeEnvS"/>
+        <WordDetect String="speccode" attribute="Environment" context="HighlightingRPM SpecCodeEnv"/>
+        <WordDetect String="racketcode*" attribute="Environment" context="HighlightingRacketCodeEnvS"/>
+        <WordDetect String="racketcode" attribute="Environment" context="HighlightingRacketCodeEnv"/>
+        <WordDetect String="rktcode*" attribute="Environment" context="HighlightingRacketCodeEnvS"/>
+        <WordDetect String="rktcode" attribute="Environment" context="HighlightingRacketCodeEnv"/>
+        <WordDetect String="rexxcode*" attribute="Environment" context="HighlightingREXXCodeEnvS"/>
+        <WordDetect String="rexxcode" attribute="Environment" context="HighlightingREXXCodeEnv"/>
+        <WordDetect String="arexxcode*" attribute="Environment" context="HighlightingREXXCodeEnvS"/>
+        <WordDetect String="arexxcode" attribute="Environment" context="HighlightingREXXCodeEnv"/>
+        <WordDetect String="rhtmlcode*" attribute="Environment" context="HighlightingRuby/Rails/RHTMLCodeEnvS"/>
+        <WordDetect String="rhtmlcode" attribute="Environment" context="HighlightingRuby/Rails/RHTMLCodeEnv"/>
+        <WordDetect String="htmlerbcode*" attribute="Environment" context="HighlightingRuby/Rails/RHTMLCodeEnvS"/>
+        <WordDetect String="htmlerbcode" attribute="Environment" context="HighlightingRuby/Rails/RHTMLCodeEnv"/>
+        <WordDetect String="htmlrubycode*" attribute="Environment" context="HighlightingRuby/Rails/RHTMLCodeEnvS"/>
+        <WordDetect String="htmlrubycode" attribute="Environment" context="HighlightingRuby/Rails/RHTMLCodeEnv"/>
+        <WordDetect String="rstcode*" attribute="Environment" context="HighlightingreStructuredTextCodeEnvS"/>
+        <WordDetect String="rstcode" attribute="Environment" context="HighlightingreStructuredTextCodeEnv"/>
+        <WordDetect String="restcode*" attribute="Environment" context="HighlightingreStructuredTextCodeEnvS"/>
+        <WordDetect String="restcode" attribute="Environment" context="HighlightingreStructuredTextCodeEnv"/>
+        <WordDetect String="rubycode*" attribute="Environment" context="HighlightingRubyCodeEnvS"/>
+        <WordDetect String="rubycode" attribute="Environment" context="HighlightingRubyCodeEnv"/>
+        <WordDetect String="rbcode*" attribute="Environment" context="HighlightingRubyCodeEnvS"/>
+        <WordDetect String="rbcode" attribute="Environment" context="HighlightingRubyCodeEnv"/>
+        <WordDetect String="dubycode*" attribute="Environment" context="HighlightingRubyCodeEnvS"/>
+        <WordDetect String="dubycode" attribute="Environment" context="HighlightingRubyCodeEnv"/>
+        <WordDetect String="rustcode*" attribute="Environment" context="HighlightingRustCodeEnvS"/>
+        <WordDetect String="rustcode" attribute="Environment" context="HighlightingRustCodeEnv"/>
+        <WordDetect String="rscode*" attribute="Environment" context="HighlightingRustCodeEnvS"/>
+        <WordDetect String="rscode" attribute="Environment" context="HighlightingRustCodeEnv"/>
+        <WordDetect String="smlcode*" attribute="Environment" context="HighlightingSMLCodeEnvS"/>
+        <WordDetect String="smlcode" attribute="Environment" context="HighlightingSMLCodeEnv"/>
+        <WordDetect String="sasscode*" attribute="Environment" context="HighlightingSASSCodeEnvS"/>
+        <WordDetect String="sasscode" attribute="Environment" context="HighlightingSASSCodeEnv"/>
+        <WordDetect String="scalacode*" attribute="Environment" context="HighlightingScalaCodeEnvS"/>
+        <WordDetect String="scalacode" attribute="Environment" context="HighlightingScalaCodeEnv"/>
+        <WordDetect String="schemecode*" attribute="Environment" context="HighlightingSchemeCodeEnvS"/>
+        <WordDetect String="schemecode" attribute="Environment" context="HighlightingSchemeCodeEnv"/>
+        <WordDetect String="scmcode*" attribute="Environment" context="HighlightingSchemeCodeEnvS"/>
+        <WordDetect String="scmcode" attribute="Environment" context="HighlightingSchemeCodeEnv"/>
+        <WordDetect String="scilabcode*" attribute="Environment" context="HighlightingscilabCodeEnvS"/>
+        <WordDetect String="scilabcode" attribute="Environment" context="HighlightingscilabCodeEnv"/>
+        <WordDetect String="scsscode*" attribute="Environment" context="HighlightingSCSSCodeEnvS"/>
+        <WordDetect String="scsscode" attribute="Environment" context="HighlightingSCSSCodeEnv"/>
+        <WordDetect String="sedcode*" attribute="Environment" context="HighlightingsedCodeEnvS"/>
+        <WordDetect String="sedcode" attribute="Environment" context="HighlightingsedCodeEnv"/>
+        <WordDetect String="gsedcode*" attribute="Environment" context="HighlightingsedCodeEnvS"/>
+        <WordDetect String="gsedcode" attribute="Environment" context="HighlightingsedCodeEnv"/>
+        <WordDetect String="ssedcode*" attribute="Environment" context="HighlightingsedCodeEnvS"/>
+        <WordDetect String="ssedcode" attribute="Environment" context="HighlightingsedCodeEnv"/>
+        <WordDetect String="sievecode*" attribute="Environment" context="HighlightingSieveCodeEnvS"/>
+        <WordDetect String="sievecode" attribute="Environment" context="HighlightingSieveCodeEnv"/>
+        <WordDetect String="smalicode*" attribute="Environment" context="HighlightingSmaliCodeEnvS"/>
+        <WordDetect String="smalicode" attribute="Environment" context="HighlightingSmaliCodeEnv"/>
+        <WordDetect String="soliditycode*" attribute="Environment" context="HighlightingSolidityCodeEnvS"/>
+        <WordDetect String="soliditycode" attribute="Environment" context="HighlightingSolidityCodeEnv"/>
+        <WordDetect String="spicecode*" attribute="Environment" context="HighlightingSpiceCodeEnvS"/>
+        <WordDetect String="spicecode" attribute="Environment" context="HighlightingSpiceCodeEnv"/>
+        <WordDetect String="spicelangcode*" attribute="Environment" context="HighlightingSpiceCodeEnvS"/>
+        <WordDetect String="spicelangcode" attribute="Environment" context="HighlightingSpiceCodeEnv"/>
+        <WordDetect String="sqlcode*" attribute="Environment" context="HighlightingSQLCodeEnvS"/>
+        <WordDetect String="sqlcode" attribute="Environment" context="HighlightingSQLCodeEnv"/>
+        <WordDetect String="stancode*" attribute="Environment" context="HighlightingStanCodeEnvS"/>
+        <WordDetect String="stancode" attribute="Environment" context="HighlightingStanCodeEnv"/>
+        <WordDetect String="statacode*" attribute="Environment" context="HighlightingStataCodeEnvS"/>
+        <WordDetect String="statacode" attribute="Environment" context="HighlightingStataCodeEnv"/>
+        <WordDetect String="docode*" attribute="Environment" context="HighlightingStataCodeEnvS"/>
+        <WordDetect String="docode" attribute="Environment" context="HighlightingStataCodeEnv"/>
+        <WordDetect String="swiftcode*" attribute="Environment" context="HighlightingSwiftCodeEnvS"/>
+        <WordDetect String="swiftcode" attribute="Environment" context="HighlightingSwiftCodeEnv"/>
+        <WordDetect String="systemverilogcode*" attribute="Environment" context="HighlightingSystemVerilogCodeEnvS"/>
+        <WordDetect String="systemverilogcode" attribute="Environment" context="HighlightingSystemVerilogCodeEnv"/>
+        <WordDetect String="svcode*" attribute="Environment" context="HighlightingSystemVerilogCodeEnvS"/>
+        <WordDetect String="svcode" attribute="Environment" context="HighlightingSystemVerilogCodeEnv"/>
+        <WordDetect String="tomlcode*" attribute="Environment" context="HighlightingTOMLCodeEnvS"/>
+        <WordDetect String="tomlcode" attribute="Environment" context="HighlightingTOMLCodeEnv"/>
+        <WordDetect String="tadscode*" attribute="Environment" context="HighlightingTADS 3CodeEnvS"/>
+        <WordDetect String="tadscode" attribute="Environment" context="HighlightingTADS 3CodeEnv"/>
+        <WordDetect String="tclcode*" attribute="Environment" context="HighlightingTcl/TkCodeEnvS"/>
+        <WordDetect String="tclcode" attribute="Environment" context="HighlightingTcl/TkCodeEnv"/>
+        <WordDetect String="tcshcode*" attribute="Environment" context="HighlightingTcshCodeEnvS"/>
+        <WordDetect String="tcshcode" attribute="Environment" context="HighlightingTcshCodeEnv"/>
+        <WordDetect String="cshcode*" attribute="Environment" context="HighlightingTcshCodeEnvS"/>
+        <WordDetect String="cshcode" attribute="Environment" context="HighlightingTcshCodeEnv"/>
+        <WordDetect String="terraformcode*" attribute="Environment" context="HighlightingTerraformCodeEnvS"/>
+        <WordDetect String="terraformcode" attribute="Environment" context="HighlightingTerraformCodeEnv"/>
+        <WordDetect String="tfcode*" attribute="Environment" context="HighlightingTerraformCodeEnvS"/>
+        <WordDetect String="tfcode" attribute="Environment" context="HighlightingTerraformCodeEnv"/>
+        <WordDetect String="texcode*" attribute="Environment" context="HighlightingLaTeXCodeEnvS"/>
+        <WordDetect String="texcode" attribute="Environment" context="HighlightingLaTeXCodeEnv"/>
+        <WordDetect String="latexcode*" attribute="Environment" context="HighlightingLaTeXCodeEnvS"/>
+        <WordDetect String="latexcode" attribute="Environment" context="HighlightingLaTeXCodeEnv"/>
+        <WordDetect String="todotxtcode*" attribute="Environment" context="HighlightingTodo.txtCodeEnvS"/>
+        <WordDetect String="todotxtcode" attribute="Environment" context="HighlightingTodo.txtCodeEnv"/>
+        <WordDetect String="typescriptcode*" attribute="Environment" context="HighlightingTypeScriptCodeEnvS"/>
+        <WordDetect String="typescriptcode" attribute="Environment" context="HighlightingTypeScriptCodeEnv"/>
+        <WordDetect String="tscode*" attribute="Environment" context="HighlightingTypeScriptCodeEnvS"/>
+        <WordDetect String="tscode" attribute="Environment" context="HighlightingTypeScriptCodeEnv"/>
+        <WordDetect String="valacode*" attribute="Environment" context="HighlightingValaCodeEnvS"/>
+        <WordDetect String="valacode" attribute="Environment" context="HighlightingValaCodeEnv"/>
+        <WordDetect String="vapicode*" attribute="Environment" context="HighlightingValaCodeEnvS"/>
+        <WordDetect String="vapicode" attribute="Environment" context="HighlightingValaCodeEnv"/>
+        <WordDetect String="velocitycode*" attribute="Environment" context="HighlightingVelocityCodeEnvS"/>
+        <WordDetect String="velocitycode" attribute="Environment" context="HighlightingVelocityCodeEnv"/>
+        <WordDetect String="verilogcode*" attribute="Environment" context="HighlightingVerilogCodeEnvS"/>
+        <WordDetect String="verilogcode" attribute="Environment" context="HighlightingVerilogCodeEnv"/>
+        <WordDetect String="vcode*" attribute="Environment" context="HighlightingVerilogCodeEnvS"/>
+        <WordDetect String="vcode" attribute="Environment" context="HighlightingVerilogCodeEnv"/>
+        <WordDetect String="vhdlcode*" attribute="Environment" context="HighlightingVHDLCodeEnvS"/>
+        <WordDetect String="vhdlcode" attribute="Environment" context="HighlightingVHDLCodeEnv"/>
+        <WordDetect String="xmlcode*" attribute="Environment" context="HighlightingXMLCodeEnvS"/>
+        <WordDetect String="xmlcode" attribute="Environment" context="HighlightingXMLCodeEnv"/>
+        <WordDetect String="xorgconfcode*" attribute="Environment" context="Highlightingx.org ConfigurationCodeEnvS"/>
+        <WordDetect String="xorgconfcode" attribute="Environment" context="Highlightingx.org ConfigurationCodeEnv"/>
+        <WordDetect String="xsltcode*" attribute="Environment" context="HighlightingxsltCodeEnvS"/>
+        <WordDetect String="xsltcode" attribute="Environment" context="HighlightingxsltCodeEnv"/>
+        <WordDetect String="yamlcode*" attribute="Environment" context="HighlightingYAMLCodeEnvS"/>
+        <WordDetect String="yamlcode" attribute="Environment" context="HighlightingYAMLCodeEnv"/>
+        <WordDetect String="yangcode*" attribute="Environment" context="HighlightingYANGCodeEnvS"/>
+        <WordDetect String="yangcode" attribute="Environment" context="HighlightingYANGCodeEnv"/>
+        <RegExpr String=".+code\*" attribute="Environment" context="UnknownHighlightingCodeEnvS"/>
+        <RegExpr String=".+code" attribute="Environment" context="UnknownHighlightingCodeEnv"/>
+      </context>
+
+      <!-- parse verbatim text for lstinline and minted -->
+      <context name="UnknownHighlightingCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!UnknownHighlightingCodeEnvSParam"/>
+      </context>
+      <context name="UnknownHighlightingCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="UnknownHighlightingCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="UnknownHighlightingCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!UnknownHighlightingBegin"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="UnknownHighlightingCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="UnknownHighlightingBegin"/>
+        <!-- Eat the trailing characters including } or ] after the language specification -->
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="UnknownHighlightingBegin" attribute="Normal Text" lineEndContext="UnknownHighlighting">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="UnknownHighlighting" attribute="Verbatim Code" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="\\end(?=\s*\{(?:lstlisting|minted|[a-zA-Z]+code)\*?\})" attribute="Structure" context="UnknownHighlightingEnd"/>
+      </context>
+      <context name="UnknownHighlightingEnd" attribute="Environment" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop#pop#pop" endRegion="block"/>
+        <DetectIdentifier/>
+      </context>
+
+
+      <!-- Selector for different highlightning schemes, in case the language is not implemented we pop and thus fallback to verbatim -->
+      <context name="HighlightingSelector" attribute="Normal Text" lineEndContext="#stay">
+        <WordDetect String="abap" insensitive="true" context="HighlightingABAPCodeEnv"/>
+        <WordDetect String="actionscript" insensitive="true" context="HighlightingActionScript 2.0CodeEnv"/>
+        <WordDetect String="as" insensitive="true" context="HighlightingActionScript 2.0CodeEnv"/>
+        <WordDetect String="ada" insensitive="true" context="HighlightingAdaCodeEnv"/>
+        <WordDetect String="agda" insensitive="true" context="HighlightingAgdaCodeEnv"/>
+        <WordDetect String="apacheconf" insensitive="true" context="HighlightingApache ConfigurationCodeEnv"/>
+        <WordDetect String="aconf" insensitive="true" context="HighlightingApache ConfigurationCodeEnv"/>
+        <WordDetect String="apache" insensitive="true" context="HighlightingApache ConfigurationCodeEnv"/>
+        <WordDetect String="autohotkey" insensitive="true" context="HighlightingAutoHotKeyCodeEnv"/>
+        <WordDetect String="ahk" insensitive="true" context="HighlightingAutoHotKeyCodeEnv"/>
+        <WordDetect String="awk" insensitive="true" context="HighlightingAWKCodeEnv"/>
+        <WordDetect String="gawk" insensitive="true" context="HighlightingAWKCodeEnv"/>
+        <WordDetect String="mawk" insensitive="true" context="HighlightingAWKCodeEnv"/>
+        <WordDetect String="nawk" insensitive="true" context="HighlightingAWKCodeEnv"/>
+        <WordDetect String="bash" insensitive="true" context="HighlightingBashCodeEnv"/>
+        <WordDetect String="sh" insensitive="true" context="HighlightingBashCodeEnv"/>
+        <WordDetect String="ksh" insensitive="true" context="HighlightingBashCodeEnv"/>
+        <WordDetect String="zsh" insensitive="true" context="HighlightingBashCodeEnv"/>
+        <WordDetect String="shell" insensitive="true" context="HighlightingBashCodeEnv"/>
+        <WordDetect String="bibtex" insensitive="true" context="HighlightingBibTeXCodeEnv"/>
+        <WordDetect String="bib" insensitive="true" context="HighlightingBibTeXCodeEnv"/>
+        <WordDetect String="boo" insensitive="true" context="HighlightingBooCodeEnv"/>
+        <WordDetect String="c" insensitive="true" context="HighlightingCCodeEnv"/>
+        <WordDetect String="cmake" insensitive="true" context="HighlightingCMakeCodeEnv"/>
+        <WordDetect String="csharp" insensitive="true" context="HighlightingC#CodeEnv"/>
+        <WordDetect String="cs" insensitive="true" context="HighlightingC#CodeEnv"/>
+        <WordDetect String="clojure" insensitive="true" context="HighlightingClojureCodeEnv"/>
+        <WordDetect String="clj" insensitive="true" context="HighlightingClojureCodeEnv"/>
+        <WordDetect String="coffee" insensitive="true" context="HighlightingCoffeeScriptCodeEnv"/>
+        <WordDetect String="commonlisp" insensitive="true" context="HighlightingCommon LispCodeEnv"/>
+        <WordDetect String="cl" insensitive="true" context="HighlightingCommon LispCodeEnv"/>
+        <WordDetect String="lisp" insensitive="true" context="HighlightingCommon LispCodeEnv"/>
+        <WordDetect String="cpp" insensitive="true" context="HighlightingC++CodeEnv"/>
+        <WordDetect String="css" insensitive="true" context="HighlightingCSSCodeEnv"/>
+        <WordDetect String="d" insensitive="true" context="HighlightingDCodeEnv"/>
+        <WordDetect String="dart" insensitive="true" context="HighlightingDartCodeEnv"/>
+        <WordDetect String="delphi" insensitive="true" context="HighlightingPascalCodeEnv"/>
+        <WordDetect String="pas" insensitive="true" context="HighlightingPascalCodeEnv"/>
+        <WordDetect String="pascal" insensitive="true" context="HighlightingPascalCodeEnv"/>
+        <WordDetect String="objectpascal" insensitive="true" context="HighlightingPascalCodeEnv"/>
+        <WordDetect String="diff" insensitive="true" context="HighlightingDiffCodeEnv"/>
+        <WordDetect String="udiff" insensitive="true" context="HighlightingDiffCodeEnv"/>
+        <WordDetect String="dtd" insensitive="true" context="HighlightingDTDCodeEnv"/>
+        <WordDetect String="eiffel" insensitive="true" context="HighlightingEiffelCodeEnv"/>
+        <WordDetect String="elixir" insensitive="true" context="HighlightingElixirCodeEnv"/>
+        <WordDetect String="ex" insensitive="true" context="HighlightingElixirCodeEnv"/>
+        <WordDetect String="exs" insensitive="true" context="HighlightingElixirCodeEnv"/>
+        <WordDetect String="elm" insensitive="true" context="HighlightingElmCodeEnv"/>
+        <WordDetect String="email" insensitive="true" context="HighlightingEmailCodeEnv"/>
+        <WordDetect String="eml" insensitive="true" context="HighlightingEmailCodeEnv"/>
+        <WordDetect String="erlang" insensitive="true" context="HighlightingErlangCodeEnv"/>
+        <WordDetect String="fish" insensitive="true" context="HighlightingFishCodeEnv"/>
+        <WordDetect String="fishshell" insensitive="true" context="HighlightingFishCodeEnv"/>
+        <WordDetect String="forth" insensitive="true" context="HighlightingANS-Forth94CodeEnv"/>
+        <WordDetect String="fortranfixed" insensitive="true" context="HighlightingFortran (Fixed Format)CodeEnv"/>
+        <WordDetect String="fortran" insensitive="true" context="HighlightingFortran (Free Format)CodeEnv"/>
+        <WordDetect String="f" insensitive="true" context="HighlightingFortran (Free Format)CodeEnv"/>
+        <WordDetect String="gap" insensitive="true" context="HighlightingGAPCodeEnv"/>
+        <WordDetect String="gdscript" insensitive="true" context="HighlightingGodotCodeEnv"/>
+        <WordDetect String="gd" insensitive="true" context="HighlightingGodotCodeEnv"/>
+        <WordDetect String="glsl" insensitive="true" context="HighlightingGLSLCodeEnv"/>
+        <WordDetect String="gcode" insensitive="true" context="HighlightingG-CodeCodeEnv"/>
+        <WordDetect String="gnuplot" insensitive="true" context="HighlightingGnuplotCodeEnv"/>
+        <WordDetect String="go" insensitive="true" context="HighlightingGoCodeEnv"/>
+        <WordDetect String="golang" insensitive="true" context="HighlightingGoCodeEnv"/>
+        <WordDetect String="groovy" insensitive="true" context="HighlightingGroovyCodeEnv"/>
+        <WordDetect String="haml" insensitive="true" context="HighlightingHamlCodeEnv"/>
+        <WordDetect String="haskell" insensitive="true" context="HighlightingHaskellCodeEnv"/>
+        <WordDetect String="hs" insensitive="true" context="HighlightingHaskellCodeEnv"/>
+        <WordDetect String="haxe" insensitive="true" context="HighlightingHaxeCodeEnv"/>
+        <WordDetect String="hxsl" insensitive="true" context="HighlightingHaxeCodeEnv"/>
+        <WordDetect String="hx" insensitive="true" context="HighlightingHaxeCodeEnv"/>
+        <WordDetect String="html" insensitive="true" context="HighlightingHTMLCodeEnv"/>
+        <WordDetect String="idl" insensitive="true" context="HighlightingIDLCodeEnv"/>
+        <WordDetect String="idris" insensitive="true" context="HighlightingIdrisCodeEnv"/>
+        <WordDetect String="idr" insensitive="true" context="HighlightingIdrisCodeEnv"/>
+        <WordDetect String="inform" insensitive="true" context="HighlightingInformCodeEnv"/>
+        <WordDetect String="i" insensitive="true" context="HighlightingInformCodeEnv"/>
+        <WordDetect String="ini" insensitive="true" context="HighlightingINI FilesCodeEnv"/>
+        <WordDetect String="cfg" insensitive="true" context="HighlightingINI FilesCodeEnv"/>
+        <WordDetect String="dosini" insensitive="true" context="HighlightingINI FilesCodeEnv"/>
+        <WordDetect String="j" insensitive="true" context="HighlightingJCodeEnv"/>
+        <WordDetect String="java" insensitive="true" context="HighlightingJavaCodeEnv"/>
+        <WordDetect String="javascript" insensitive="true" context="HighlightingJavaScriptCodeEnv"/>
+        <WordDetect String="js" insensitive="true" context="HighlightingJavaScriptCodeEnv"/>
+        <WordDetect String="jcl" insensitive="true" context="HighlightingJCLCodeEnv"/>
+        <WordDetect String="json" insensitive="true" context="HighlightingJSONCodeEnv"/>
+        <WordDetect String="jsonobject" insensitive="true" context="HighlightingJSONCodeEnv"/>
+        <WordDetect String="julia" insensitive="true" context="HighlightingJuliaCodeEnv"/>
+        <WordDetect String="jl" insensitive="true" context="HighlightingJuliaCodeEnv"/>
+        <WordDetect String="kconfig" insensitive="true" context="HighlightingKconfigCodeEnv"/>
+        <WordDetect String="menuconfig" insensitive="true" context="HighlightingKconfigCodeEnv"/>
+        <WordDetect String="linuxconfig" insensitive="true" context="HighlightingKconfigCodeEnv"/>
+        <WordDetect String="kernelconfig" insensitive="true" context="HighlightingKconfigCodeEnv"/>
+        <WordDetect String="kotlin" insensitive="true" context="HighlightingKotlinCodeEnv"/>
+        <WordDetect String="lsl" insensitive="true" context="HighlightingLSLCodeEnv"/>
+        <WordDetect String="less" insensitive="true" context="HighlightingLESSCSSCodeEnv"/>
+        <WordDetect String="lilypond" insensitive="true" context="HighlightingLilyPondCodeEnv"/>
+        <WordDetect String="literatehaskell" insensitive="true" context="HighlightingLiterate HaskellCodeEnv"/>
+        <WordDetect String="lhaskell" insensitive="true" context="HighlightingLiterate HaskellCodeEnv"/>
+        <WordDetect String="lhs" insensitive="true" context="HighlightingLiterate HaskellCodeEnv"/>
+        <WordDetect String="llvm" insensitive="true" context="HighlightingLLVMCodeEnv"/>
+        <WordDetect String="logtalk" insensitive="true" context="HighlightingLogtalkCodeEnv"/>
+        <WordDetect String="lua" insensitive="true" context="HighlightingLuaCodeEnv"/>
+        <WordDetect String="make" insensitive="true" context="HighlightingMakefileCodeEnv"/>
+        <WordDetect String="makefile" insensitive="true" context="HighlightingMakefileCodeEnv"/>
+        <WordDetect String="mf" insensitive="true" context="HighlightingMakefileCodeEnv"/>
+        <WordDetect String="bsdmake" insensitive="true" context="HighlightingMakefileCodeEnv"/>
+        <WordDetect String="mako" insensitive="true" context="HighlightingMakoCodeEnv"/>
+        <WordDetect String="markdown" insensitive="true" context="HighlightingMarkdownCodeEnv"/>
+        <WordDetect String="md" insensitive="true" context="HighlightingMarkdownCodeEnv"/>
+        <WordDetect String="mason" insensitive="true" context="HighlightingMasonCodeEnv"/>
+        <WordDetect String="mathematica" insensitive="true" context="HighlightingMathematicaCodeEnv"/>
+        <WordDetect String="mma" insensitive="true" context="HighlightingMathematicaCodeEnv"/>
+        <WordDetect String="nb" insensitive="true" context="HighlightingMathematicaCodeEnv"/>
+        <WordDetect String="matlab" insensitive="true" context="HighlightingMatlabCodeEnv"/>
+        <WordDetect String="maxima" insensitive="true" context="HighlightingMaximaCodeEnv"/>
+        <WordDetect String="macsyma" insensitive="true" context="HighlightingMaximaCodeEnv"/>
+        <WordDetect String="meson" insensitive="true" context="HighlightingMesonCodeEnv"/>
+        <WordDetect String="mesonbuild" insensitive="true" context="HighlightingMesonCodeEnv"/>
+        <WordDetect String="modelica" insensitive="true" context="HighlightingModelicaCodeEnv"/>
+        <WordDetect String="modula" insensitive="true" context="HighlightingModula-2CodeEnv"/>
+        <WordDetect String="m" insensitive="true" context="HighlightingModula-2CodeEnv"/>
+        <WordDetect String="mysql" insensitive="true" context="HighlightingSQL (MySQL)CodeEnv"/>
+        <WordDetect String="nsis" insensitive="true" context="HighlightingNSISCodeEnv"/>
+        <WordDetect String="nsi" insensitive="true" context="HighlightingNSISCodeEnv"/>
+        <WordDetect String="nsh" insensitive="true" context="HighlightingNSISCodeEnv"/>
+        <WordDetect String="nasm" insensitive="true" context="HighlightingIntel x86 (NASM)CodeEnv"/>
+        <WordDetect String="nemerle" insensitive="true" context="HighlightingNemerleCodeEnv"/>
+        <WordDetect String="nesc" insensitive="true" context="HighlightingnesCCodeEnv"/>
+        <WordDetect String="nimrod" insensitive="true" context="HighlightingNimCodeEnv"/>
+        <WordDetect String="nim" insensitive="true" context="HighlightingNimCodeEnv"/>
+        <WordDetect String="nixos" insensitive="true" context="HighlightingNixCodeEnv"/>
+        <WordDetect String="nix" insensitive="true" context="HighlightingNixCodeEnv"/>
+        <WordDetect String="objectivec" insensitive="true" context="HighlightingObjective-CCodeEnv"/>
+        <WordDetect String="objc" insensitive="true" context="HighlightingObjective-CCodeEnv"/>
+        <WordDetect String="objectivecpp" insensitive="true" context="HighlightingObjective-C++CodeEnv"/>
+        <WordDetect String="objcpp" insensitive="true" context="HighlightingObjective-C++CodeEnv"/>
+        <WordDetect String="ocaml" insensitive="true" context="HighlightingObjective CamlCodeEnv"/>
+        <WordDetect String="octave" insensitive="true" context="HighlightingOctaveCodeEnv"/>
+        <WordDetect String="perl" insensitive="true" context="HighlightingPerlCodeEnv"/>
+        <WordDetect String="pl" insensitive="true" context="HighlightingPerlCodeEnv"/>
+        <WordDetect String="php" insensitive="true" context="HighlightingPHP/PHPCodeEnv"/>
+        <WordDetect String="pig" insensitive="true" context="HighlightingPigCodeEnv"/>
+        <WordDetect String="pike" insensitive="true" context="HighlightingPikeCodeEnv"/>
+        <WordDetect String="pony" insensitive="true" context="HighlightingPonyCodeEnv"/>
+        <WordDetect String="postscript" insensitive="true" context="HighlightingPostScriptCodeEnv"/>
+        <WordDetect String="postscr" insensitive="true" context="HighlightingPostScriptCodeEnv"/>
+        <WordDetect String="pov" insensitive="true" context="HighlightingPOV-RayCodeEnv"/>
+        <WordDetect String="powershell" insensitive="true" context="HighlightingPowerShellCodeEnv"/>
+        <WordDetect String="pwsh" insensitive="true" context="HighlightingPowerShellCodeEnv"/>
+        <WordDetect String="posh" insensitive="true" context="HighlightingPowerShellCodeEnv"/>
+        <WordDetect String="ps" insensitive="true" context="HighlightingPowerShellCodeEnv"/>
+        <WordDetect String="psm" insensitive="true" context="HighlightingPowerShellCodeEnv"/>
+        <WordDetect String="praat" insensitive="true" context="HighlightingPraatCodeEnv"/>
+        <WordDetect String="prolog" insensitive="true" context="HighlightingPrologCodeEnv"/>
+        <WordDetect String="protobuf" insensitive="true" context="HighlightingProtobufCodeEnv"/>
+        <WordDetect String="proto" insensitive="true" context="HighlightingProtobufCodeEnv"/>
+        <WordDetect String="pug" insensitive="true" context="HighlightingPugCodeEnv"/>
+        <WordDetect String="jade" insensitive="true" context="HighlightingPugCodeEnv"/>
+        <WordDetect String="puppet" insensitive="true" context="HighlightingPuppetCodeEnv"/>
+        <WordDetect String="python" insensitive="true" context="HighlightingPythonCodeEnv"/>
+        <WordDetect String="py" insensitive="true" context="HighlightingPythonCodeEnv"/>
+        <WordDetect String="sage" insensitive="true" context="HighlightingPythonCodeEnv"/>
+        <WordDetect String="qml" insensitive="true" context="HighlightingQMLCodeEnv"/>
+        <WordDetect String="qbs" insensitive="true" context="HighlightingQMLCodeEnv"/>
+        <WordDetect String="rngcompact" insensitive="true" context="HighlightingRelaxNG-CompactCodeEnv"/>
+        <WordDetect String="rnc" insensitive="true" context="HighlightingRelaxNG-CompactCodeEnv"/>
+        <WordDetect String="spec" insensitive="true" context="HighlightingRPM SpecCodeEnv"/>
+        <WordDetect String="racket" insensitive="true" context="HighlightingRacketCodeEnv"/>
+        <WordDetect String="rkt" insensitive="true" context="HighlightingRacketCodeEnv"/>
+        <WordDetect String="rexx" insensitive="true" context="HighlightingREXXCodeEnv"/>
+        <WordDetect String="arexx" insensitive="true" context="HighlightingREXXCodeEnv"/>
+        <WordDetect String="rhtml" insensitive="true" context="HighlightingRuby/Rails/RHTMLCodeEnv"/>
+        <WordDetect String="htmlerb" insensitive="true" context="HighlightingRuby/Rails/RHTMLCodeEnv"/>
+        <WordDetect String="htmlruby" insensitive="true" context="HighlightingRuby/Rails/RHTMLCodeEnv"/>
+        <WordDetect String="rst" insensitive="true" context="HighlightingreStructuredTextCodeEnv"/>
+        <WordDetect String="rest" insensitive="true" context="HighlightingreStructuredTextCodeEnv"/>
+        <WordDetect String="ruby" insensitive="true" context="HighlightingRubyCodeEnv"/>
+        <WordDetect String="rb" insensitive="true" context="HighlightingRubyCodeEnv"/>
+        <WordDetect String="duby" insensitive="true" context="HighlightingRubyCodeEnv"/>
+        <WordDetect String="rust" insensitive="true" context="HighlightingRustCodeEnv"/>
+        <WordDetect String="rs" insensitive="true" context="HighlightingRustCodeEnv"/>
+        <WordDetect String="sml" insensitive="true" context="HighlightingSMLCodeEnv"/>
+        <WordDetect String="sass" insensitive="true" context="HighlightingSASSCodeEnv"/>
+        <WordDetect String="scala" insensitive="true" context="HighlightingScalaCodeEnv"/>
+        <WordDetect String="scheme" insensitive="true" context="HighlightingSchemeCodeEnv"/>
+        <WordDetect String="scm" insensitive="true" context="HighlightingSchemeCodeEnv"/>
+        <WordDetect String="scilab" insensitive="true" context="HighlightingscilabCodeEnv"/>
+        <WordDetect String="scss" insensitive="true" context="HighlightingSCSSCodeEnv"/>
+        <WordDetect String="sed" insensitive="true" context="HighlightingsedCodeEnv"/>
+        <WordDetect String="gsed" insensitive="true" context="HighlightingsedCodeEnv"/>
+        <WordDetect String="ssed" insensitive="true" context="HighlightingsedCodeEnv"/>
+        <WordDetect String="sieve" insensitive="true" context="HighlightingSieveCodeEnv"/>
+        <WordDetect String="smali" insensitive="true" context="HighlightingSmaliCodeEnv"/>
+        <WordDetect String="solidity" insensitive="true" context="HighlightingSolidityCodeEnv"/>
+        <WordDetect String="spice" insensitive="true" context="HighlightingSpiceCodeEnv"/>
+        <WordDetect String="spicelang" insensitive="true" context="HighlightingSpiceCodeEnv"/>
+        <WordDetect String="sql" insensitive="true" context="HighlightingSQLCodeEnv"/>
+        <WordDetect String="stan" insensitive="true" context="HighlightingStanCodeEnv"/>
+        <WordDetect String="stata" insensitive="true" context="HighlightingStataCodeEnv"/>
+        <WordDetect String="do" insensitive="true" context="HighlightingStataCodeEnv"/>
+        <WordDetect String="swift" insensitive="true" context="HighlightingSwiftCodeEnv"/>
+        <WordDetect String="systemverilog" insensitive="true" context="HighlightingSystemVerilogCodeEnv"/>
+        <WordDetect String="sv" insensitive="true" context="HighlightingSystemVerilogCodeEnv"/>
+        <WordDetect String="toml" insensitive="true" context="HighlightingTOMLCodeEnv"/>
+        <WordDetect String="tads" insensitive="true" context="HighlightingTADS 3CodeEnv"/>
+        <WordDetect String="tcl" insensitive="true" context="HighlightingTcl/TkCodeEnv"/>
+        <WordDetect String="tcsh" insensitive="true" context="HighlightingTcshCodeEnv"/>
+        <WordDetect String="csh" insensitive="true" context="HighlightingTcshCodeEnv"/>
+        <WordDetect String="terraform" insensitive="true" context="HighlightingTerraformCodeEnv"/>
+        <WordDetect String="tf" insensitive="true" context="HighlightingTerraformCodeEnv"/>
+        <WordDetect String="tex" insensitive="true" context="HighlightingLaTeXCodeEnv"/>
+        <WordDetect String="latex" insensitive="true" context="HighlightingLaTeXCodeEnv"/>
+        <WordDetect String="todotxt" insensitive="true" context="HighlightingTodo.txtCodeEnv"/>
+        <WordDetect String="typescript" insensitive="true" context="HighlightingTypeScriptCodeEnv"/>
+        <WordDetect String="ts" insensitive="true" context="HighlightingTypeScriptCodeEnv"/>
+        <WordDetect String="vala" insensitive="true" context="HighlightingValaCodeEnv"/>
+        <WordDetect String="vapi" insensitive="true" context="HighlightingValaCodeEnv"/>
+        <WordDetect String="velocity" insensitive="true" context="HighlightingVelocityCodeEnv"/>
+        <WordDetect String="verilog" insensitive="true" context="HighlightingVerilogCodeEnv"/>
+        <WordDetect String="v" insensitive="true" context="HighlightingVerilogCodeEnv"/>
+        <WordDetect String="vhdl" insensitive="true" context="HighlightingVHDLCodeEnv"/>
+        <WordDetect String="xml" insensitive="true" context="HighlightingXMLCodeEnv"/>
+        <WordDetect String="xorgconf" insensitive="true" context="Highlightingx.org ConfigurationCodeEnv"/>
+        <WordDetect String="xslt" insensitive="true" context="HighlightingxsltCodeEnv"/>
+        <WordDetect String="yaml" insensitive="true" context="HighlightingYAMLCodeEnv"/>
+        <WordDetect String="yang" insensitive="true" context="HighlightingYANGCodeEnv"/>
+        <AnyChar String="}]" context="#pop!UnknownHighlightingBegin"/>
+        <RegExpr String="[^]}]*" context="#stay"/>
+      </context>
+
+      <context name="HighlightingCommon" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr String="\\end\s*\{(?:lstlisting|minted|[a-zA-Z]+code)\*?\}" attribute="Structure" lookAhead="true" context="#pop#pop#pop#pop#pop#pop"/>
+      </context>
+
+      <context name="HighlightingABAPCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingABAPCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingABAPCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingABAPCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingABAPCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginABAP"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingABAPCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginABAP"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginABAP" attribute="Normal Text" lineEndContext="#pop!HighlightingABAP">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingABAP" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!--        <IncludeRules context="##ABAP" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingActionScript 2.0CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingActionScript 2.0CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingActionScript 2.0CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingActionScript 2.0CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingActionScript 2.0CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginActionScript 2.0"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingActionScript 2.0CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginActionScript 2.0"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginActionScript 2.0" attribute="Normal Text" lineEndContext="#pop!HighlightingActionScript 2.0">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingActionScript 2.0" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##ActionScript 2.0" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingAdaCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingAdaCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingAdaCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingAdaCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingAdaCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginAda"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingAdaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginAda"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginAda" attribute="Normal Text" lineEndContext="#pop!HighlightingAda">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingAda" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Ada" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingAgdaCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingAgdaCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingAgdaCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingAgdaCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingAgdaCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginAgda"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingAgdaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginAgda"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginAgda" attribute="Normal Text" lineEndContext="#pop!HighlightingAgda">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingAgda" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Agda" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingApache ConfigurationCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingApache ConfigurationCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingApache ConfigurationCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingApache ConfigurationCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingApache ConfigurationCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginApache Configuration"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingApache ConfigurationCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginApache Configuration"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginApache Configuration" attribute="Normal Text" lineEndContext="#pop!HighlightingApache Configuration">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingApache Configuration" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Apache Configuration" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingAutoHotKeyCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingAutoHotKeyCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingAutoHotKeyCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingAutoHotKeyCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingAutoHotKeyCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginAutoHotKey"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingAutoHotKeyCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginAutoHotKey"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginAutoHotKey" attribute="Normal Text" lineEndContext="#pop!HighlightingAutoHotKey">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingAutoHotKey" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##AutoHotKey" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingAWKCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingAWKCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingAWKCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingAWKCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingAWKCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginAWK"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingAWKCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginAWK"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginAWK" attribute="Normal Text" lineEndContext="#pop!HighlightingAWK">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingAWK" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##AWK" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingBashCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBashCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingBashCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingBashCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingBashCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginBash"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingBashCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginBash"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginBash" attribute="Normal Text" lineEndContext="#pop!HighlightingBash">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingBash" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Bash" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingBibTeXCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBibTeXCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingBibTeXCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingBibTeXCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingBibTeXCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginBibTeX"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingBibTeXCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginBibTeX"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginBibTeX" attribute="Normal Text" lineEndContext="#pop!HighlightingBibTeX">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingBibTeX" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##BibTeX" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingBooCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBooCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingBooCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingBooCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingBooCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginBoo"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingBooCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginBoo"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginBoo" attribute="Normal Text" lineEndContext="#pop!HighlightingBoo">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingBoo" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Boo" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingCCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingCCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingCCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingCCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingCCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginC"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingCCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginC"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginC" attribute="Normal Text" lineEndContext="#pop!HighlightingC">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingC" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##C" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingCMakeCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingCMakeCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingCMakeCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingCMakeCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingCMakeCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginCMake"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingCMakeCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginCMake"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginCMake" attribute="Normal Text" lineEndContext="#pop!HighlightingCMake">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingCMake" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##CMake" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingC#CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingC#CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingC#CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingC#CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingC#CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginC#"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingC#CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginC#"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginC#" attribute="Normal Text" lineEndContext="#pop!HighlightingC#">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingC#" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##C#" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingClojureCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingClojureCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingClojureCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingClojureCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingClojureCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginClojure"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingClojureCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginClojure"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginClojure" attribute="Normal Text" lineEndContext="#pop!HighlightingClojure">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingClojure" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Clojure" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingCoffeeScriptCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingCoffeeScriptCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingCoffeeScriptCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingCoffeeScriptCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingCoffeeScriptCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginCoffeeScript"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingCoffeeScriptCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginCoffeeScript"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginCoffeeScript" attribute="Normal Text" lineEndContext="#pop!HighlightingCoffeeScript">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingCoffeeScript" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##CoffeeScript" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingCommon LispCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingCommon LispCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingCommon LispCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingCommon LispCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingCommon LispCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginCommon Lisp"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingCommon LispCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginCommon Lisp"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginCommon Lisp" attribute="Normal Text" lineEndContext="#pop!HighlightingCommon Lisp">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingCommon Lisp" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Common Lisp" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingC++CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingC++CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingC++CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingC++CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingC++CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginC++"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingC++CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginC++"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginC++" attribute="Normal Text" lineEndContext="#pop!HighlightingC++">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingC++" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##C++" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingCSSCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingCSSCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingCSSCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingCSSCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingCSSCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginCSS"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingCSSCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginCSS"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginCSS" attribute="Normal Text" lineEndContext="#pop!HighlightingCSS">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingCSS" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##CSS" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingDCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingDCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingDCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingDCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingDCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginD"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingDCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginD"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginD" attribute="Normal Text" lineEndContext="#pop!HighlightingD">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingD" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##D" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingDartCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingDartCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingDartCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingDartCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingDartCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginDart"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingDartCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginDart"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginDart" attribute="Normal Text" lineEndContext="#pop!HighlightingDart">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingDart" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Dart" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingPascalCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPascalCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPascalCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPascalCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPascalCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPascal"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPascalCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPascal"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPascal" attribute="Normal Text" lineEndContext="#pop!HighlightingPascal">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPascal" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Pascal" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingDiffCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingDiffCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingDiffCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingDiffCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingDiffCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginDiff"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingDiffCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginDiff"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginDiff" attribute="Normal Text" lineEndContext="#pop!HighlightingDiff">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingDiff" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Diff" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingDTDCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingDTDCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingDTDCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingDTDCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingDTDCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginDTD"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingDTDCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginDTD"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginDTD" attribute="Normal Text" lineEndContext="#pop!HighlightingDTD">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingDTD" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##DTD" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingEiffelCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingEiffelCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingEiffelCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingEiffelCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingEiffelCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginEiffel"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingEiffelCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginEiffel"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginEiffel" attribute="Normal Text" lineEndContext="#pop!HighlightingEiffel">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingEiffel" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Eiffel" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingElixirCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingElixirCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingElixirCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingElixirCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingElixirCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginElixir"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingElixirCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginElixir"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginElixir" attribute="Normal Text" lineEndContext="#pop!HighlightingElixir">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingElixir" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Elixir" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingElmCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingElmCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingElmCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingElmCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingElmCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginElm"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingElmCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginElm"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginElm" attribute="Normal Text" lineEndContext="#pop!HighlightingElm">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingElm" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Elm" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingEmailCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingEmailCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingEmailCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingEmailCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingEmailCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginEmail"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingEmailCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginEmail"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginEmail" attribute="Normal Text" lineEndContext="#pop!HighlightingEmail">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingEmail" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Email" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingErlangCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingErlangCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingErlangCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingErlangCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingErlangCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginErlang"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingErlangCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginErlang"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginErlang" attribute="Normal Text" lineEndContext="#pop!HighlightingErlang">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingErlang" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Erlang" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingFishCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingFishCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingFishCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingFishCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingFishCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginFish"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingFishCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginFish"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginFish" attribute="Normal Text" lineEndContext="#pop!HighlightingFish">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingFish" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Fish" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingANS-Forth94CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingANS-Forth94CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingANS-Forth94CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingANS-Forth94CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingANS-Forth94CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginANS-Forth94"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingANS-Forth94CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginANS-Forth94"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginANS-Forth94" attribute="Normal Text" lineEndContext="#pop!HighlightingANS-Forth94">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingANS-Forth94" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##ANS-Forth94" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingFortran (Fixed Format)CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingFortran (Fixed Format)CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingFortran (Fixed Format)CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingFortran (Fixed Format)CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingFortran (Fixed Format)CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginFortran (Fixed Format)"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingFortran (Fixed Format)CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginFortran (Fixed Format)"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginFortran (Fixed Format)" attribute="Normal Text" lineEndContext="#pop!HighlightingFortran (Fixed Format)">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingFortran (Fixed Format)" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Fortran (Fixed Format)" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingFortran (Free Format)CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingFortran (Free Format)CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingFortran (Free Format)CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingFortran (Free Format)CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingFortran (Free Format)CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginFortran (Free Format)"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingFortran (Free Format)CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginFortran (Free Format)"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginFortran (Free Format)" attribute="Normal Text" lineEndContext="#pop!HighlightingFortran (Free Format)">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingFortran (Free Format)" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Fortran (Free Format)" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingGAPCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingGAPCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingGAPCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingGAPCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingGAPCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGAP"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingGAPCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginGAP"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginGAP" attribute="Normal Text" lineEndContext="#pop!HighlightingGAP">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingGAP" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##GAP" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingGodotCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingGodotCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingGodotCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingGodotCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingGodotCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGodot"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingGodotCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginGodot"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginGodot" attribute="Normal Text" lineEndContext="#pop!HighlightingGodot">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingGodot" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Godot" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingGLSLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingGLSLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingGLSLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingGLSLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingGLSLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGLSL"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingGLSLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginGLSL"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginGLSL" attribute="Normal Text" lineEndContext="#pop!HighlightingGLSL">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingGLSL" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##GLSL" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingG-CodeCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingG-CodeCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingG-CodeCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingG-CodeCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingG-CodeCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginG-Code"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingG-CodeCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginG-Code"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginG-Code" attribute="Normal Text" lineEndContext="#pop!HighlightingG-Code">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingG-Code" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##G-Code" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingGnuplotCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingGnuplotCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingGnuplotCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingGnuplotCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingGnuplotCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGnuplot"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingGnuplotCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginGnuplot"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginGnuplot" attribute="Normal Text" lineEndContext="#pop!HighlightingGnuplot">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingGnuplot" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Gnuplot" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingGoCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingGoCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingGoCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingGoCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingGoCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGo"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingGoCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginGo"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginGo" attribute="Normal Text" lineEndContext="#pop!HighlightingGo">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingGo" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Go" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingGroovyCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingGroovyCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingGroovyCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingGroovyCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingGroovyCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGroovy"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingGroovyCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginGroovy"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginGroovy" attribute="Normal Text" lineEndContext="#pop!HighlightingGroovy">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingGroovy" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Groovy" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingHamlCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingHamlCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingHamlCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingHamlCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingHamlCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginHaml"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingHamlCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginHaml"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginHaml" attribute="Normal Text" lineEndContext="#pop!HighlightingHaml">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingHaml" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Haml" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingHaskellCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingHaskellCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingHaskellCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingHaskellCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingHaskellCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginHaskell"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingHaskellCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginHaskell"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginHaskell" attribute="Normal Text" lineEndContext="#pop!HighlightingHaskell">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingHaskell" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Haskell" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingHaxeCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingHaxeCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingHaxeCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingHaxeCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingHaxeCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginHaxe"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingHaxeCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginHaxe"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginHaxe" attribute="Normal Text" lineEndContext="#pop!HighlightingHaxe">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingHaxe" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Haxe" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingHTMLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingHTMLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingHTMLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingHTMLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingHTMLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginHTML"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingHTMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginHTML"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginHTML" attribute="Normal Text" lineEndContext="#pop!HighlightingHTML">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingHTML" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##HTML" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingIDLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingIDLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingIDLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingIDLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingIDLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginIDL"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingIDLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginIDL"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginIDL" attribute="Normal Text" lineEndContext="#pop!HighlightingIDL">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingIDL" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##IDL" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingIdrisCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingIdrisCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingIdrisCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingIdrisCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingIdrisCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginIdris"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingIdrisCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginIdris"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginIdris" attribute="Normal Text" lineEndContext="#pop!HighlightingIdris">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingIdris" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Idris" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingInformCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingInformCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingInformCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingInformCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingInformCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginInform"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingInformCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginInform"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginInform" attribute="Normal Text" lineEndContext="#pop!HighlightingInform">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingInform" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Inform" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingINI FilesCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingINI FilesCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingINI FilesCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingINI FilesCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingINI FilesCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginINI Files"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingINI FilesCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginINI Files"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginINI Files" attribute="Normal Text" lineEndContext="#pop!HighlightingINI Files">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingINI Files" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##INI Files" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingJCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingJCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingJCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingJCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingJCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJ"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingJCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginJ"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginJ" attribute="Normal Text" lineEndContext="#pop!HighlightingJ">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingJ" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##J" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingJavaCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingJavaCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingJavaCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingJavaCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingJavaCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJava"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingJavaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginJava"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginJava" attribute="Normal Text" lineEndContext="#pop!HighlightingJava">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingJava" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Java" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingJavaScriptCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingJavaScriptCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingJavaScriptCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingJavaScriptCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingJavaScriptCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJavaScript"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingJavaScriptCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginJavaScript"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginJavaScript" attribute="Normal Text" lineEndContext="#pop!HighlightingJavaScript">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingJavaScript" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##JavaScript" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingJCLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingJCLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingJCLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingJCLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingJCLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJCL"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingJCLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginJCL"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginJCL" attribute="Normal Text" lineEndContext="#pop!HighlightingJCL">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingJCL" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##JCL" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingJSONCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingJSONCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingJSONCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingJSONCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingJSONCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJSON"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingJSONCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginJSON"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginJSON" attribute="Normal Text" lineEndContext="#pop!HighlightingJSON">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingJSON" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##JSON" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingJuliaCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingJuliaCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingJuliaCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingJuliaCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingJuliaCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJulia"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingJuliaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginJulia"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginJulia" attribute="Normal Text" lineEndContext="#pop!HighlightingJulia">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingJulia" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Julia" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingKconfigCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingKconfigCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingKconfigCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingKconfigCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingKconfigCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginKconfig"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingKconfigCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginKconfig"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginKconfig" attribute="Normal Text" lineEndContext="#pop!HighlightingKconfig">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingKconfig" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Kconfig" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingKotlinCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingKotlinCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingKotlinCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingKotlinCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingKotlinCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginKotlin"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingKotlinCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginKotlin"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginKotlin" attribute="Normal Text" lineEndContext="#pop!HighlightingKotlin">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingKotlin" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Kotlin" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingLSLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingLSLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingLSLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingLSLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingLSLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLSL"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingLSLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginLSL"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginLSL" attribute="Normal Text" lineEndContext="#pop!HighlightingLSL">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingLSL" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##LSL" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingLESSCSSCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingLESSCSSCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingLESSCSSCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingLESSCSSCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingLESSCSSCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLESSCSS"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingLESSCSSCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginLESSCSS"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginLESSCSS" attribute="Normal Text" lineEndContext="#pop!HighlightingLESSCSS">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingLESSCSS" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##LESSCSS" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingLilyPondCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingLilyPondCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingLilyPondCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingLilyPondCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingLilyPondCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLilyPond"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingLilyPondCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginLilyPond"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginLilyPond" attribute="Normal Text" lineEndContext="#pop!HighlightingLilyPond">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingLilyPond" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##LilyPond" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingLiterate HaskellCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingLiterate HaskellCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingLiterate HaskellCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingLiterate HaskellCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingLiterate HaskellCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLiterate Haskell"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingLiterate HaskellCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginLiterate Haskell"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginLiterate Haskell" attribute="Normal Text" lineEndContext="#pop!HighlightingLiterate Haskell">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingLiterate Haskell" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Literate Haskell" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingLLVMCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingLLVMCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingLLVMCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingLLVMCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingLLVMCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLLVM"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingLLVMCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginLLVM"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginLLVM" attribute="Normal Text" lineEndContext="#pop!HighlightingLLVM">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingLLVM" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##LLVM" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingLogtalkCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingLogtalkCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingLogtalkCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingLogtalkCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingLogtalkCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLogtalk"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingLogtalkCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginLogtalk"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginLogtalk" attribute="Normal Text" lineEndContext="#pop!HighlightingLogtalk">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingLogtalk" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Logtalk" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingLuaCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingLuaCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingLuaCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingLuaCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingLuaCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLua"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingLuaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginLua"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginLua" attribute="Normal Text" lineEndContext="#pop!HighlightingLua">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingLua" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Lua" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingMakefileCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingMakefileCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingMakefileCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingMakefileCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingMakefileCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMakefile"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingMakefileCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginMakefile"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginMakefile" attribute="Normal Text" lineEndContext="#pop!HighlightingMakefile">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingMakefile" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Makefile" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingMakoCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingMakoCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingMakoCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingMakoCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingMakoCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMako"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingMakoCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginMako"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginMako" attribute="Normal Text" lineEndContext="#pop!HighlightingMako">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingMako" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Mako" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingMarkdownCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingMarkdownCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingMarkdownCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingMarkdownCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingMarkdownCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMarkdown"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingMarkdownCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginMarkdown"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginMarkdown" attribute="Normal Text" lineEndContext="#pop!HighlightingMarkdown">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingMarkdown" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Markdown" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingMasonCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingMasonCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingMasonCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingMasonCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingMasonCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMason"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingMasonCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginMason"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginMason" attribute="Normal Text" lineEndContext="#pop!HighlightingMason">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingMason" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Mason" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingMathematicaCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingMathematicaCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingMathematicaCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingMathematicaCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingMathematicaCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMathematica"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingMathematicaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginMathematica"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginMathematica" attribute="Normal Text" lineEndContext="#pop!HighlightingMathematica">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingMathematica" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Mathematica" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingMatlabCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingMatlabCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingMatlabCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingMatlabCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingMatlabCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMatlab"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingMatlabCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginMatlab"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginMatlab" attribute="Normal Text" lineEndContext="#pop!HighlightingMatlab">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingMatlab" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Matlab" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingMaximaCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingMaximaCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingMaximaCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingMaximaCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingMaximaCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMaxima"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingMaximaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginMaxima"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginMaxima" attribute="Normal Text" lineEndContext="#pop!HighlightingMaxima">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingMaxima" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Maxima" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingMesonCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingMesonCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingMesonCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingMesonCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingMesonCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMeson"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingMesonCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginMeson"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginMeson" attribute="Normal Text" lineEndContext="#pop!HighlightingMeson">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingMeson" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Meson" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingModelicaCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingModelicaCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingModelicaCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingModelicaCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingModelicaCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginModelica"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingModelicaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginModelica"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginModelica" attribute="Normal Text" lineEndContext="#pop!HighlightingModelica">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingModelica" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Modelica" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingModula-2CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingModula-2CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingModula-2CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingModula-2CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingModula-2CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginModula-2"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingModula-2CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginModula-2"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginModula-2" attribute="Normal Text" lineEndContext="#pop!HighlightingModula-2">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingModula-2" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Modula-2" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingSQL (MySQL)CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSQL (MySQL)CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSQL (MySQL)CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSQL (MySQL)CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSQL (MySQL)CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSQL (MySQL)"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSQL (MySQL)CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSQL (MySQL)"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSQL (MySQL)" attribute="Normal Text" lineEndContext="#pop!HighlightingSQL (MySQL)">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSQL (MySQL)" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##SQL (MySQL)" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingNSISCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingNSISCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingNSISCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingNSISCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingNSISCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginNSIS"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingNSISCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginNSIS"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginNSIS" attribute="Normal Text" lineEndContext="#pop!HighlightingNSIS">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingNSIS" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##NSIS" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingIntel x86 (NASM)CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingIntel x86 (NASM)CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingIntel x86 (NASM)CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingIntel x86 (NASM)CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingIntel x86 (NASM)CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginIntel x86 (NASM)"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingIntel x86 (NASM)CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginIntel x86 (NASM)"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginIntel x86 (NASM)" attribute="Normal Text" lineEndContext="#pop!HighlightingIntel x86 (NASM)">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingIntel x86 (NASM)" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Intel x86 (NASM)" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingNemerleCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingNemerleCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingNemerleCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingNemerleCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingNemerleCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginNemerle"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingNemerleCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginNemerle"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginNemerle" attribute="Normal Text" lineEndContext="#pop!HighlightingNemerle">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingNemerle" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Nemerle" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingnesCCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingnesCCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingnesCCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingnesCCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingnesCCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginnesC"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingnesCCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginnesC"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginnesC" attribute="Normal Text" lineEndContext="#pop!HighlightingnesC">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingnesC" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##nesC" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingNimCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingNimCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingNimCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingNimCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingNimCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginNim"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingNimCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginNim"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginNim" attribute="Normal Text" lineEndContext="#pop!HighlightingNim">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingNim" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Nim" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingNixCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingNixCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingNixCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingNixCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingNixCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginNix"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingNixCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginNix"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginNix" attribute="Normal Text" lineEndContext="#pop!HighlightingNix">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingNix" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Nix" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingObjective-CCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingObjective-CCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingObjective-CCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingObjective-CCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingObjective-CCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginObjective-C"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingObjective-CCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginObjective-C"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginObjective-C" attribute="Normal Text" lineEndContext="#pop!HighlightingObjective-C">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingObjective-C" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Objective-C" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingObjective-C++CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingObjective-C++CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingObjective-C++CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingObjective-C++CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingObjective-C++CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginObjective-C++"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingObjective-C++CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginObjective-C++"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginObjective-C++" attribute="Normal Text" lineEndContext="#pop!HighlightingObjective-C++">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingObjective-C++" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Objective-C++" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingObjective CamlCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingObjective CamlCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingObjective CamlCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingObjective CamlCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingObjective CamlCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginObjective Caml"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingObjective CamlCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginObjective Caml"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginObjective Caml" attribute="Normal Text" lineEndContext="#pop!HighlightingObjective Caml">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingObjective Caml" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Objective Caml" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingOctaveCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingOctaveCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingOctaveCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingOctaveCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingOctaveCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginOctave"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingOctaveCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginOctave"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginOctave" attribute="Normal Text" lineEndContext="#pop!HighlightingOctave">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingOctave" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Octave" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingPerlCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPerlCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPerlCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPerlCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPerlCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPerl"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPerlCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPerl"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPerl" attribute="Normal Text" lineEndContext="#pop!HighlightingPerl">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPerl" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Perl" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingPHP/PHPCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPHP/PHPCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPHP/PHPCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPHP/PHPCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPHP/PHPCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPHP/PHP"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPHP/PHPCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPHP/PHP"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPHP/PHP" attribute="Normal Text" lineEndContext="#pop!HighlightingPHP/PHP">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPHP/PHP" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##PHP/PHP" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingPigCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPigCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPigCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPigCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPigCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPig"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPigCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPig"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPig" attribute="Normal Text" lineEndContext="#pop!HighlightingPig">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPig" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Pig" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingPikeCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPikeCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPikeCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPikeCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPikeCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPike"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPikeCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPike"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPike" attribute="Normal Text" lineEndContext="#pop!HighlightingPike">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPike" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Pike" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingPonyCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPonyCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPonyCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPonyCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPonyCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPony"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPonyCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPony"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPony" attribute="Normal Text" lineEndContext="#pop!HighlightingPony">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPony" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Pony" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingPostScriptCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPostScriptCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPostScriptCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPostScriptCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPostScriptCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPostScript"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPostScriptCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPostScript"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPostScript" attribute="Normal Text" lineEndContext="#pop!HighlightingPostScript">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPostScript" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##PostScript" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingPOV-RayCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPOV-RayCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPOV-RayCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPOV-RayCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPOV-RayCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPOV-Ray"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPOV-RayCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPOV-Ray"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPOV-Ray" attribute="Normal Text" lineEndContext="#pop!HighlightingPOV-Ray">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPOV-Ray" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##POV-Ray" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingPowerShellCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPowerShellCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPowerShellCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPowerShellCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPowerShellCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPowerShell"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPowerShellCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPowerShell"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPowerShell" attribute="Normal Text" lineEndContext="#pop!HighlightingPowerShell">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPowerShell" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##PowerShell" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingPraatCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPraatCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPraatCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPraatCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPraatCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPraat"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPraatCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPraat"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPraat" attribute="Normal Text" lineEndContext="#pop!HighlightingPraat">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPraat" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Praat" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingPrologCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPrologCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPrologCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPrologCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPrologCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginProlog"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPrologCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginProlog"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginProlog" attribute="Normal Text" lineEndContext="#pop!HighlightingProlog">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingProlog" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Prolog" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingProtobufCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingProtobufCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingProtobufCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingProtobufCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingProtobufCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginProtobuf"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingProtobufCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginProtobuf"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginProtobuf" attribute="Normal Text" lineEndContext="#pop!HighlightingProtobuf">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingProtobuf" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Protobuf" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingPugCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPugCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPugCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPugCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPugCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPug"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPugCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPug"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPug" attribute="Normal Text" lineEndContext="#pop!HighlightingPug">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPug" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Pug" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingPuppetCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPuppetCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPuppetCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPuppetCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPuppetCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPuppet"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPuppetCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPuppet"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPuppet" attribute="Normal Text" lineEndContext="#pop!HighlightingPuppet">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPuppet" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Puppet" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingPythonCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingPythonCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingPythonCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingPythonCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingPythonCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPython"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingPythonCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginPython"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginPython" attribute="Normal Text" lineEndContext="#pop!HighlightingPython">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingPython" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Python"/>
+      </context>
+
+      <context name="HighlightingQMLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingQMLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingQMLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingQMLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingQMLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginQML"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingQMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginQML"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginQML" attribute="Normal Text" lineEndContext="#pop!HighlightingQML">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingQML" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##QML" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingRelaxNG-CompactCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingRelaxNG-CompactCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingRelaxNG-CompactCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingRelaxNG-CompactCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingRelaxNG-CompactCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRelaxNG-Compact"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingRelaxNG-CompactCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginRelaxNG-Compact"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginRelaxNG-Compact" attribute="Normal Text" lineEndContext="#pop!HighlightingRelaxNG-Compact">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingRelaxNG-Compact" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##RelaxNG-Compact" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingRPM SpecCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingRPM SpecCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingRPM SpecCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingRPM SpecCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingRPM SpecCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRPM Spec"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingRPM SpecCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginRPM Spec"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginRPM Spec" attribute="Normal Text" lineEndContext="#pop!HighlightingRPM Spec">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingRPM Spec" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##RPM Spec" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingRacketCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingRacketCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingRacketCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingRacketCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingRacketCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRacket"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingRacketCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginRacket"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginRacket" attribute="Normal Text" lineEndContext="#pop!HighlightingRacket">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingRacket" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Racket" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingREXXCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingREXXCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingREXXCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingREXXCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingREXXCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginREXX"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingREXXCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginREXX"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginREXX" attribute="Normal Text" lineEndContext="#pop!HighlightingREXX">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingREXX" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##REXX" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingRuby/Rails/RHTMLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingRuby/Rails/RHTMLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingRuby/Rails/RHTMLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingRuby/Rails/RHTMLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingRuby/Rails/RHTMLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRuby/Rails/RHTML"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingRuby/Rails/RHTMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginRuby/Rails/RHTML"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginRuby/Rails/RHTML" attribute="Normal Text" lineEndContext="#pop!HighlightingRuby/Rails/RHTML">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingRuby/Rails/RHTML" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Ruby/Rails/RHTML" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingreStructuredTextCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingreStructuredTextCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingreStructuredTextCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingreStructuredTextCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingreStructuredTextCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginreStructuredText"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingreStructuredTextCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginreStructuredText"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginreStructuredText" attribute="Normal Text" lineEndContext="#pop!HighlightingreStructuredText">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingreStructuredText" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##reStructuredText" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingRubyCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingRubyCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingRubyCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingRubyCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingRubyCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRuby"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingRubyCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginRuby"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginRuby" attribute="Normal Text" lineEndContext="#pop!HighlightingRuby">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingRuby" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Ruby" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingRustCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingRustCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingRustCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingRustCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingRustCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRust"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingRustCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginRust"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginRust" attribute="Normal Text" lineEndContext="#pop!HighlightingRust">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingRust" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Rust" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingSMLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSMLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSMLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSMLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSMLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSML"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSML"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSML" attribute="Normal Text" lineEndContext="#pop!HighlightingSML">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSML" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##SML" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingSASSCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSASSCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSASSCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSASSCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSASSCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSASS"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSASSCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSASS"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSASS" attribute="Normal Text" lineEndContext="#pop!HighlightingSASS">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSASS" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##SASS" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingScalaCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingScalaCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingScalaCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingScalaCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingScalaCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginScala"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingScalaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginScala"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginScala" attribute="Normal Text" lineEndContext="#pop!HighlightingScala">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingScala" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Scala" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingSchemeCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSchemeCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSchemeCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSchemeCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSchemeCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginScheme"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSchemeCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginScheme"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginScheme" attribute="Normal Text" lineEndContext="#pop!HighlightingScheme">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingScheme" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Scheme" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingscilabCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingscilabCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingscilabCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingscilabCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingscilabCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginscilab"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingscilabCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginscilab"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginscilab" attribute="Normal Text" lineEndContext="#pop!Highlightingscilab">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="Highlightingscilab" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##scilab" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingSCSSCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSCSSCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSCSSCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSCSSCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSCSSCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSCSS"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSCSSCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSCSS"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSCSS" attribute="Normal Text" lineEndContext="#pop!HighlightingSCSS">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSCSS" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##SCSS" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingsedCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingsedCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingsedCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingsedCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingsedCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginsed"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingsedCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginsed"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginsed" attribute="Normal Text" lineEndContext="#pop!Highlightingsed">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="Highlightingsed" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##sed" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingSieveCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSieveCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSieveCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSieveCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSieveCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSieve"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSieveCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSieve"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSieve" attribute="Normal Text" lineEndContext="#pop!HighlightingSieve">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSieve" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Sieve" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingSmaliCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSmaliCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSmaliCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSmaliCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSmaliCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSmali"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSmaliCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSmali"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSmali" attribute="Normal Text" lineEndContext="#pop!HighlightingSmali">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSmali" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Smali" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingSolidityCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSolidityCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSolidityCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSolidityCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSolidityCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSolidity"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSolidityCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSolidity"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSolidity" attribute="Normal Text" lineEndContext="#pop!HighlightingSolidity">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSolidity" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Solidity" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingSpiceCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSpiceCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSpiceCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSpiceCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSpiceCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSpice"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSpiceCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSpice"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSpice" attribute="Normal Text" lineEndContext="#pop!HighlightingSpice">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSpice" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Spice" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingSQLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSQLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSQLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSQLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSQLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSQL"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSQLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSQL"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSQL" attribute="Normal Text" lineEndContext="#pop!HighlightingSQL">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSQL" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##SQL" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingStanCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingStanCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingStanCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingStanCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingStanCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginStan"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingStanCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginStan"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginStan" attribute="Normal Text" lineEndContext="#pop!HighlightingStan">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingStan" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Stan" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingStataCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingStataCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingStataCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingStataCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingStataCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginStata"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingStataCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginStata"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginStata" attribute="Normal Text" lineEndContext="#pop!HighlightingStata">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingStata" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Stata" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingSwiftCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSwiftCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSwiftCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSwiftCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSwiftCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSwift"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSwiftCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSwift"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSwift" attribute="Normal Text" lineEndContext="#pop!HighlightingSwift">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSwift" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Swift" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingSystemVerilogCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingSystemVerilogCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingSystemVerilogCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingSystemVerilogCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingSystemVerilogCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSystemVerilog"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingSystemVerilogCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginSystemVerilog"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginSystemVerilog" attribute="Normal Text" lineEndContext="#pop!HighlightingSystemVerilog">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingSystemVerilog" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##SystemVerilog" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingTOMLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingTOMLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingTOMLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingTOMLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingTOMLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTOML"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingTOMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginTOML"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginTOML" attribute="Normal Text" lineEndContext="#pop!HighlightingTOML">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingTOML" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##TOML" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingTADS 3CodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingTADS 3CodeEnvSParam"/>
+      </context>
+      <context name="HighlightingTADS 3CodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingTADS 3CodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingTADS 3CodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTADS 3"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingTADS 3CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginTADS 3"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginTADS 3" attribute="Normal Text" lineEndContext="#pop!HighlightingTADS 3">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingTADS 3" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##TADS 3" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingTcl/TkCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingTcl/TkCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingTcl/TkCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingTcl/TkCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingTcl/TkCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTcl/Tk"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingTcl/TkCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginTcl/Tk"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginTcl/Tk" attribute="Normal Text" lineEndContext="#pop!HighlightingTcl/Tk">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingTcl/Tk" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Tcl/Tk" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingTcshCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingTcshCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingTcshCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingTcshCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingTcshCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTcsh"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingTcshCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginTcsh"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginTcsh" attribute="Normal Text" lineEndContext="#pop!HighlightingTcsh">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingTcsh" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Tcsh" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingTerraformCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingTerraformCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingTerraformCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingTerraformCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingTerraformCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTerraform"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingTerraformCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginTerraform"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginTerraform" attribute="Normal Text" lineEndContext="#pop!HighlightingTerraform">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingTerraform" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Terraform" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingLaTeXCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingLaTeXCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingLaTeXCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingLaTeXCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingLaTeXCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLaTeX"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingLaTeXCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginLaTeX"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginLaTeX" attribute="Normal Text" lineEndContext="#pop!HighlightingLaTeX">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingLaTeX" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##LaTeX" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingTodo.txtCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingTodo.txtCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingTodo.txtCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingTodo.txtCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingTodo.txtCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTodo.txt"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingTodo.txtCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginTodo.txt"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginTodo.txt" attribute="Normal Text" lineEndContext="#pop!HighlightingTodo.txt">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingTodo.txt" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Todo.txt" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingTypeScriptCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingTypeScriptCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingTypeScriptCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingTypeScriptCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingTypeScriptCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTypeScript"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingTypeScriptCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginTypeScript"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginTypeScript" attribute="Normal Text" lineEndContext="#pop!HighlightingTypeScript">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingTypeScript" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##TypeScript" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingValaCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingValaCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingValaCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingValaCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingValaCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginVala"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingValaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginVala"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginVala" attribute="Normal Text" lineEndContext="#pop!HighlightingVala">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingVala" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Vala" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingVelocityCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingVelocityCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingVelocityCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingVelocityCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingVelocityCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginVelocity"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingVelocityCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginVelocity"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginVelocity" attribute="Normal Text" lineEndContext="#pop!HighlightingVelocity">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingVelocity" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##Velocity" includeAttrib="true"/> -->
+      </context>
+
+      <context name="HighlightingVerilogCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingVerilogCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingVerilogCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingVerilogCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingVerilogCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginVerilog"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingVerilogCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginVerilog"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginVerilog" attribute="Normal Text" lineEndContext="#pop!HighlightingVerilog">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingVerilog" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##Verilog" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingVHDLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingVHDLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingVHDLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingVHDLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingVHDLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginVHDL"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingVHDLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginVHDL"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginVHDL" attribute="Normal Text" lineEndContext="#pop!HighlightingVHDL">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingVHDL" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##VHDL" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingXMLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingXMLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingXMLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingXMLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingXMLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginXML"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingXMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginXML"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginXML" attribute="Normal Text" lineEndContext="#pop!HighlightingXML">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingXML" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##XML" includeAttrib="true"/>
+      </context>
+
+      <context name="Highlightingx.org ConfigurationCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!Highlightingx.org ConfigurationCodeEnvSParam"/>
+      </context>
+      <context name="Highlightingx.org ConfigurationCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="Highlightingx.org ConfigurationCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="Highlightingx.org ConfigurationCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginx.org Configuration"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="Highlightingx.org ConfigurationCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginx.org Configuration"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginx.org Configuration" attribute="Normal Text" lineEndContext="#pop!Highlightingx.org Configuration">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="Highlightingx.org Configuration" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##x.org Configuration" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingxsltCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingxsltCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingxsltCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingxsltCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingxsltCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginxslt"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingxsltCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginxslt"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginxslt" attribute="Normal Text" lineEndContext="#pop!Highlightingxslt">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="Highlightingxslt" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##xslt" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingYAMLCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingYAMLCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingYAMLCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingYAMLCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingYAMLCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginYAML"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingYAMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginYAML"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginYAML" attribute="Normal Text" lineEndContext="#pop!HighlightingYAML">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingYAML" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <IncludeRules context="##YAML" includeAttrib="true"/>
+      </context>
+
+      <context name="HighlightingYANGCodeEnvS" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingYANGCodeEnvSParam"/>
+      </context>
+      <context name="HighlightingYANGCodeEnvSParam" attribute="Error" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text"/>
+        <DetectChar char="{" attribute="Normal Text" context="HighlightingYANGCodeEnvSParamInside"/>
+        <IncludeRules context="FindComments"/>
+      </context>
+      <context name="HighlightingYANGCodeEnvSParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginYANG"/>
+        <IncludeRules context="FindComments"/>
+        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+      </context>
+      <context name="HighlightingYANGCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="}" context="HighlightingBeginYANG"/>
+        <RegExpr String="[^}]*" attribute="Normal Text" context="#stay"/>
+      </context>
+      <context name="HighlightingBeginYANG" attribute="Normal Text" lineEndContext="#pop!HighlightingYANG">
+        <DetectSpaces/>
+        <RegExpr String=".+" attribute="Error" context="#stay"/>
+      </context>
+      <context name="HighlightingYANG" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="HighlightingCommon"/>
+        <!-- <IncludeRules context="##YANG" includeAttrib="true"/> -->
+      </context>
+      <!-- end of mintedcode environment -->
+
+      <!-- end of verbatim environment -->
+      <context name="VerbFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop#pop" endRegion="block"/>
+        <keyword String="VerbatimEnv" attribute="Environment"/>
+      </context>
+
+      <!-- begin comment environment -->
+      <context name="CommentEnv" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" context="BlockComment"/>
+        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
+       </context>
+
+      <!-- parse comment text -->
+      <context name="BlockComment" attribute="Comment" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <RegExpr String="\\end(?=\s*\{comment\*?\})" attribute="Structure" context="CommFindEnd"/>
+      </context>
+
+      <!-- end of comment environment -->
+      <context name="CommFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/>
+        <keyword String="CommentEnv" attribute="Environment"/>
+      </context>
+
+      <!-- environment type 4: math environment with its own mathmode -->
+      <context name="MathEnv" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" context="MathModeEnv"/>
+        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
+      </context>
+
+      <!-- environment type 5: math environment with its own mathmode and parameter -->
+      <context name="MathEnvWithParam" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" context="MathEnvWithParamInside"/>
+        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
+      </context>
+      <context name="MathEnvWithParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <RangeDetect char="[" char1="]" attribute="Normal Text" context="#stay"/>
+        <DetectChar char="{" attribute="Normal Text" context="MathEnvParamInside"/>
+      </context>
+      <context name="MathEnvParamInside" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop!MathModeEnv"/>
+      </context>
+
+      <!-- parse math environment -->
+      <context name="MathModeEnv" attribute="Math" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="\" attribute="Math" context="BackslashMathModeEnv" lookAhead="true"/>
+        <DetectChar char="$" attribute="Error" context="#stay"/>
+        <IncludeRules context="FindComments"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+      </context>
+      <context name="BackslashMathModeEnv" attribute="Math" lineEndContext="#pop">
+        <keyword String="beginEnv" attribute="Structure" context="#pop!FindBeginEnvironment" beginRegion="block"/>
+        <keyword String="endEnv" attribute="Structure" context="#pop!MathFindEnd"/>
+        <keyword String="MathModeText" attribute="Macro Mathmode" context="#pop!MathModeText"/>
+        <Detect2Chars char="\" char1="(" attribute="Error" context="#pop"/>
+        <Detect2Chars char="\" char1=")" attribute="Error" context="#pop"/>
+        <Detect2Chars char="\" char1="[" attribute="Error" context="#pop"/>
+        <Detect2Chars char="\" char1="]" attribute="Error" context="#pop"/>
+        <DetectChar char="\" attribute="Macro Mathmode" context="#pop!MathContrSeq"/>
+      </context>
+
+      <!-- end of math environment -->
+      <context name="MathFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="#stay"/>
+        <keyword String="MathEnvParam" attribute="Environment" context="MathFindEndInside"/>
+        <keyword String="MathEnv" attribute="Environment" context="MathFindEndInside"/>
+        <RegExpr String="&envname;" attribute="Environment" context="NoMathFindEndInside"/>
+        <RegExpr String="." attribute="Error" context="#pop"/>
+      </context>
+      <context name="MathFindEndInside" attribute="Normal Text" lineEndContext="#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop#pop" endRegion="block"/>
+        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
+      </context>
+      <context name="NoMathFindEndInside" attribute="Normal Text" lineEndContext="#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop" endRegion="block"/>
+        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
+      </context>
+
+      <!-- environment type 9: tabular -->
+      <context name="TabEnv" attribute="Environment" lineEndContext="#stay" fallthroughContext="#pop#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="Tab"/>
+        <RegExpr String="[^}]*" attribute="Error" context="#stay"/>
+      </context>
+
+      <!-- parse tabular text -->
+      <context name="Tab" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar char="&amp;" attribute="Ampersand" context="#stay"/>
+        <Detect2Chars char="@" char1="{" attribute="Column Separator" context="Column Separator"/>
+        <RegExpr String="\\end\b" attribute="Structure" context="TabFindEnd"/> <!-- endEnv -->
+        <IncludeRules context="Normal Text" />
+      </context>
+
+      <context name="Column Separator" attribute="Column Separator" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Column Separator" context="Column Separator"/>
+        <DetectChar char="}" attribute="Column Separator" context="#pop"/>
+      </context>
+
+      <!-- end of tabular environment -->
+      <context name="TabFindEnd" attribute="Normal Text" lineEndContext="#pop" fallthroughContext="#pop">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop#pop#pop#pop" endRegion="block"/>
+        <keyword String="TabEnv" attribute="Environment" context="#stay"/>
+      </context>
+
+      <!-- math mode: starting with $ -->
+      <context name="MathModeTex" attribute="Math" lineEndContext="#stay" fallthroughContext="#pop!MathMode">
+        <DetectChar char="$" attribute="Math" context="#pop!MathModeDisplay" beginRegion="mathMode"/>
+      </context>
+      <context name="MathMode" attribute="Math" lineEndContext="#stay">
+        <DetectChar char="$" attribute="Math" context="#pop"/>
+        <IncludeRules context="MathModeCommon"/>
+      </context>
+
+      <!-- math mode: starting with $$ -->
+      <context name="MathModeDisplay" attribute="Math" lineEndContext="#stay">
+        <Detect2Chars char="$" char1="$" attribute="Math" context="#pop" endRegion="mathMode"/>
+        <DetectChar char="$" attribute="Error" context="#stay"/>
+        <IncludeRules context="MathModeCommon"/>
+      </context>
+
+      <!-- math mode: starting with \( -->
+      <context name="MathModeLatex" attribute="Math" lineEndContext="#stay">
+        <Detect2Chars char="\" char1=")" attribute="Math" context="#pop"/>
+        <IncludeRules context="MathModeCommon"/>
+      </context>
+
+      <!-- math mode: starting with \[ -->
+      <context name="MathModeLatexEquation" attribute="Math" lineEndContext="#stay">
+        <Detect2Chars char="\" char1="]" attribute="Math" context="#pop" endRegion="mathMode"/>
+        <IncludeRules context="MathModeCommon"/>
+      </context>
+
+      <!-- math mode: \ensuremath{...} -->
+      <context name="MathModeEnsure" attribute="Math" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Math" context="#pop!MathModeEnsureInside"/>
+        <RegExpr String="." attribute="Error" context="#pop"/>
+      </context>
+      <context name="MathModeEnsureInside" attribute="Math" lineEndContext="#stay">
+        <DetectChar char="{" attribute="Math" context="MathModeEnsureInside" />
+        <DetectChar char="}" attribute="Math" context="#pop" />
+        <IncludeRules context="MathModeCommon"/>
+      </context>
+
+      <!-- math mode common -->
+      <context name="MathModeCommon" attribute="Math" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectIdentifier/>
+        <DetectChar char="\" attribute="Math" context="BackslashMathModeCommon" lookAhead="true"/>
+        <IncludeRules context="FindComments"/>
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+      </context>
+      <context name="BackslashMathModeCommon" attribute="Math" lineEndContext="#pop">
+        <keyword String="beginEnv" attribute="Structure" context="#pop!MathEnvironment" beginRegion="block"/>
+        <keyword String="endEnv" attribute="Structure" context="#pop!MathEnvironmentEnd"/>
+        <keyword String="MathModeText" attribute="Macro Mathmode" context="#pop!MathModeText" />
+        <DetectChar char="\" attribute="Macro Mathmode" context="#pop!MathContrSeq"/>
+      </context>
+      <context name="MathEnvironment" attribute="Math" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="MathEnvironmentInside"/>
+        <RegExpr String="." attribute="Error" context="#pop"/>
+      </context>
+      <context name="MathEnvironmentInside" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop"/>
+        <RegExpr String="&envname;" attribute="Environment" context="#stay"/>
+        <RegExpr String="[^}a-zA-Z]+|." attribute="Error" context="#stay"/>
+      </context>
+      <context name="MathEnvironmentEnd" attribute="Math" lineEndContext="#stay">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="MathEnvironmentEndInside"/>
+        <RegExpr String="." attribute="Error" context="#pop"/>
+      </context>
+      <context name="MathEnvironmentEndInside" attribute="Environment" lineEndContext="#stay">
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop" endRegion="block"/>
+        <WordDetect String="ensuremath" attribute="Environment" context="#pop!LatexEnvEnd"/>
+        <RegExpr String="&envname;" attribute="Environment" context="#stay"/>
+        <RegExpr String="[^}a-zA-Z]+|." attribute="Error" context="#pop#pop"/>
+      </context>
+
+      <!-- command in mathmode -->
+      <context name="MathContrSeq" attribute="Macro Mathmode" lineEndContext="#pop">
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="&envname;|." attribute="Macro Mathmode" context="#pop" />
+      </context>
+
+      <!-- text in mathmode -->
+      <context name="MathModeText" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="MathContrSeq">
+        <DetectSpaces/>
+        <DetectChar char="{" attribute="Normal Text" context="MathModeTextParameterStart"/>
+      </context>
+      <context name="MathModeTextInside" attribute="Normal Text" lineEndContext="#stay" >
+        <DetectChar char="{" attribute="Normal Text" context="MathModeTextParameterStart"/>
+      </context>
+
+      <context name="MathModeTextParameterStart" attribute="Normal Text" lineEndContext="#stay" >
+        <DetectChar char="&bullet;" attribute="Bullet" context="#stay"/>
+        <RangeDetect char="$" char1="$" attribute="Math" context="#stay"/>
+        <DetectChar char="{" attribute="Normal Text" context="MathModeTextInside" lookAhead="true"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop#pop"/>
+        <IncludeRules context="FindComments"/>
+        <DetectChar char="\" attribute="Macro Mathmode" context="MathContrSeq"/>
+      </context>
+
+      <!-- iffalse aka multiline comment -->
+      <context name="Multiline Comment" attribute="Comment" lineEndContext="#stay">
+        <DetectChar char="\" attribute="Comment" context="BackslashMultilineComment" lookAhead="true"/>
+      </context>
+      <context name="BackslashMultilineComment" attribute="Comment" lineEndContext="#pop">
+        <keyword String="iffalseend" attribute="Comment" context="#pop#pop"/>
+        <DetectChar char="\" attribute="Comment" context="#pop"/>
+      </context>
+
+      <!-- comment -->
+      <context name="FindComments" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr String="&#037;+\s*BEGIN\b" attribute="Region Marker" context="RegionComment" firstNonSpace="true" beginRegion="region-marker"/>
+        <RegExpr String="&#037;+\s*END\b" attribute="Region Marker" context="RegionComment" firstNonSpace="true" endRegion="region-marker"/>
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+      </context>
+      <context name="RegionComment" attribute="Region Marker" lineEndContext="#pop"/>
+      <context name="Comment" attribute="Comment" lineEndContext="#pop">
+        <DetectSpaces/>
+        <IncludeRules context="##Comments" />
+        <DetectIdentifier/>
+        <DetectChar char="\" attribute="Comment" context="BackslashComment" lookAhead="true"/>
+      </context>
+      <context name="BackslashComment" attribute="Comment" lineEndContext="#pop">
+        <keyword String="ResetHL" attribute="Comment" context="#pop!Normal Text"/>
+        <DetectChar char="\" attribute="Comment" context="#pop"/>
+      </context>
+    </contexts>
+
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Option Text" defStyleNum="dsNormal" spellChecking="false"/>
+      <itemData name="Macro" defStyleNum="dsFunction" spellChecking="false"/>
+      <itemData name="Comment" defStyleNum="dsComment" spellChecking="false"/>
+      <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
+      <itemData name="Math" defStyleNum="dsSpecialString" spellChecking="false"/>
+      <!-- begin/end -->
+      <itemData name="Structure" defStyleNum="dsKeyword" spellChecking="false"/>
+      <itemData name="Builtin Macro" defStyleNum="dsBuiltIn" spellChecking="false"/>
+      <itemData name="Macro Mathmode" defStyleNum="dsSpecialChar" spellChecking="false"/>
+      <itemData name="Environment" defStyleNum="dsExtension" spellChecking="false"/>
+      <itemData name="Reference" defStyleNum="dsExtension" spellChecking="false"/>
+      <itemData name="Verbatim" defStyleNum="dsVerbatimString" spellChecking="false"/>
+      <itemData name="Verbatim Code" defStyleNum="dsVerbatimString" spellChecking="false"/>
       <itemData name="Region Marker" defStyleNum="dsRegionMarker" spellChecking="false"/>
       <itemData name="Bullet" defStyleNum="dsInformation" spellChecking="false"/>
       <itemData name="Ampersand" defStyleNum="dsOperator" bold="1" spellChecking="false"/>
diff --git a/xml/latex.xml.patch b/xml/latex.xml.patch
new file mode 100644
--- /dev/null
+++ b/xml/latex.xml.patch
@@ -0,0 +1,1631 @@
+--- latex.xml	2022-10-28 15:10:10.000000000 -0700
++++ latex.xml.2	2022-10-28 15:09:24.000000000 -0700
+@@ -1739,7 +1739,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!UnknownHighlightingBegin"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="UnknownHighlightingCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="UnknownHighlightingBegin"/>
+@@ -2016,7 +2016,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginABAP"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingABAPCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginABAP"/>
+@@ -2028,7 +2028,7 @@
+       </context>
+       <context name="HighlightingABAP" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##ABAP" includeAttrib="true"/>
++        <!--        <IncludeRules context="##ABAP" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingActionScript 2.0CodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -2045,7 +2045,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginActionScript 2.0"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingActionScript 2.0CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginActionScript 2.0"/>
+@@ -2074,7 +2074,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginAda"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingAdaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginAda"/>
+@@ -2103,7 +2103,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginAgda"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingAgdaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginAgda"/>
+@@ -2132,7 +2132,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginApache Configuration"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingApache ConfigurationCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginApache Configuration"/>
+@@ -2161,7 +2161,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginAutoHotKey"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingAutoHotKeyCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginAutoHotKey"/>
+@@ -2173,7 +2173,7 @@
+       </context>
+       <context name="HighlightingAutoHotKey" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##AutoHotKey" includeAttrib="true"/>
++        <!-- <IncludeRules context="##AutoHotKey" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingAWKCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -2190,7 +2190,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginAWK"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingAWKCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginAWK"/>
+@@ -2219,7 +2219,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginBash"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingBashCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginBash"/>
+@@ -2248,7 +2248,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginBibTeX"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingBibTeXCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginBibTeX"/>
+@@ -2277,7 +2277,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginBoo"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingBooCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginBoo"/>
+@@ -2306,7 +2306,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginC"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingCCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginC"/>
+@@ -2335,7 +2335,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginCMake"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingCMakeCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginCMake"/>
+@@ -2364,7 +2364,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginC#"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingC#CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginC#"/>
+@@ -2393,7 +2393,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginClojure"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingClojureCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginClojure"/>
+@@ -2422,7 +2422,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginCoffeeScript"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingCoffeeScriptCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginCoffeeScript"/>
+@@ -2451,7 +2451,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginCommon Lisp"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingCommon LispCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginCommon Lisp"/>
+@@ -2480,7 +2480,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginC++"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingC++CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginC++"/>
+@@ -2509,7 +2509,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginCSS"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingCSSCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginCSS"/>
+@@ -2538,7 +2538,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginD"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingDCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginD"/>
+@@ -2567,7 +2567,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginDart"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingDartCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginDart"/>
+@@ -2596,7 +2596,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPascal"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPascalCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPascal"/>
+@@ -2625,7 +2625,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginDiff"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingDiffCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginDiff"/>
+@@ -2654,7 +2654,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginDTD"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingDTDCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginDTD"/>
+@@ -2683,7 +2683,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginEiffel"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingEiffelCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginEiffel"/>
+@@ -2712,7 +2712,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginElixir"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingElixirCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginElixir"/>
+@@ -2741,7 +2741,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginElm"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingElmCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginElm"/>
+@@ -2770,7 +2770,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginEmail"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingEmailCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginEmail"/>
+@@ -2799,7 +2799,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginErlang"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingErlangCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginErlang"/>
+@@ -2828,7 +2828,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginFish"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingFishCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginFish"/>
+@@ -2840,7 +2840,7 @@
+       </context>
+       <context name="HighlightingFish" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Fish" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Fish" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingANS-Forth94CodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -2857,7 +2857,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginANS-Forth94"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingANS-Forth94CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginANS-Forth94"/>
+@@ -2869,7 +2869,7 @@
+       </context>
+       <context name="HighlightingANS-Forth94" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##ANS-Forth94" includeAttrib="true"/>
++        <!-- <IncludeRules context="##ANS-Forth94" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingFortran (Fixed Format)CodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -2886,7 +2886,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginFortran (Fixed Format)"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingFortran (Fixed Format)CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginFortran (Fixed Format)"/>
+@@ -2915,7 +2915,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginFortran (Free Format)"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingFortran (Free Format)CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginFortran (Free Format)"/>
+@@ -2944,7 +2944,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGAP"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingGAPCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginGAP"/>
+@@ -2956,7 +2956,7 @@
+       </context>
+       <context name="HighlightingGAP" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##GAP" includeAttrib="true"/>
++        <!-- <IncludeRules context="##GAP" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingGodotCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -2973,7 +2973,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGodot"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingGodotCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginGodot"/>
+@@ -2985,7 +2985,7 @@
+       </context>
+       <context name="HighlightingGodot" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Godot" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Godot" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingGLSLCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3002,7 +3002,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGLSL"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingGLSLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginGLSL"/>
+@@ -3031,7 +3031,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginG-Code"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingG-CodeCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginG-Code"/>
+@@ -3043,7 +3043,7 @@
+       </context>
+       <context name="HighlightingG-Code" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##G-Code" includeAttrib="true"/>
++        <!-- <IncludeRules context="##G-Code" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingGnuplotCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3060,7 +3060,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGnuplot"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingGnuplotCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginGnuplot"/>
+@@ -3072,7 +3072,7 @@
+       </context>
+       <context name="HighlightingGnuplot" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Gnuplot" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Gnuplot" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingGoCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3089,7 +3089,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGo"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingGoCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginGo"/>
+@@ -3118,7 +3118,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginGroovy"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingGroovyCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginGroovy"/>
+@@ -3147,7 +3147,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginHaml"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingHamlCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginHaml"/>
+@@ -3159,7 +3159,7 @@
+       </context>
+       <context name="HighlightingHaml" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Haml" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Haml" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingHaskellCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3176,7 +3176,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginHaskell"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingHaskellCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginHaskell"/>
+@@ -3205,7 +3205,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginHaxe"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingHaxeCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginHaxe"/>
+@@ -3234,7 +3234,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginHTML"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingHTMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginHTML"/>
+@@ -3263,7 +3263,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginIDL"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingIDLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginIDL"/>
+@@ -3275,7 +3275,7 @@
+       </context>
+       <context name="HighlightingIDL" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##IDL" includeAttrib="true"/>
++        <!-- <IncludeRules context="##IDL" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingIdrisCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3292,7 +3292,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginIdris"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingIdrisCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginIdris"/>
+@@ -3321,7 +3321,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginInform"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingInformCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginInform"/>
+@@ -3333,7 +3333,7 @@
+       </context>
+       <context name="HighlightingInform" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Inform" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Inform" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingINI FilesCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3350,7 +3350,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginINI Files"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingINI FilesCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginINI Files"/>
+@@ -3379,7 +3379,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJ"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingJCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginJ"/>
+@@ -3408,7 +3408,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJava"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingJavaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginJava"/>
+@@ -3437,7 +3437,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJavaScript"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingJavaScriptCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginJavaScript"/>
+@@ -3466,7 +3466,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJCL"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingJCLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginJCL"/>
+@@ -3478,7 +3478,7 @@
+       </context>
+       <context name="HighlightingJCL" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##JCL" includeAttrib="true"/>
++        <!-- <IncludeRules context="##JCL" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingJSONCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3495,7 +3495,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJSON"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingJSONCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginJSON"/>
+@@ -3524,7 +3524,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginJulia"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingJuliaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginJulia"/>
+@@ -3553,7 +3553,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginKconfig"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingKconfigCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginKconfig"/>
+@@ -3565,7 +3565,7 @@
+       </context>
+       <context name="HighlightingKconfig" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Kconfig" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Kconfig" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingKotlinCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3582,7 +3582,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginKotlin"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingKotlinCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginKotlin"/>
+@@ -3611,7 +3611,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLSL"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingLSLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginLSL"/>
+@@ -3623,7 +3623,7 @@
+       </context>
+       <context name="HighlightingLSL" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##LSL" includeAttrib="true"/>
++        <!-- <IncludeRules context="##LSL" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingLESSCSSCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3640,7 +3640,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLESSCSS"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingLESSCSSCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginLESSCSS"/>
+@@ -3652,7 +3652,7 @@
+       </context>
+       <context name="HighlightingLESSCSS" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##LESSCSS" includeAttrib="true"/>
++        <!-- <IncludeRules context="##LESSCSS" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingLilyPondCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3669,7 +3669,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLilyPond"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingLilyPondCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginLilyPond"/>
+@@ -3698,7 +3698,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLiterate Haskell"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingLiterate HaskellCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginLiterate Haskell"/>
+@@ -3727,7 +3727,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLLVM"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingLLVMCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginLLVM"/>
+@@ -3756,7 +3756,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLogtalk"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingLogtalkCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginLogtalk"/>
+@@ -3768,7 +3768,7 @@
+       </context>
+       <context name="HighlightingLogtalk" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Logtalk" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Logtalk" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingLuaCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3785,7 +3785,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLua"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingLuaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginLua"/>
+@@ -3814,7 +3814,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMakefile"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingMakefileCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginMakefile"/>
+@@ -3843,7 +3843,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMako"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingMakoCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginMako"/>
+@@ -3855,7 +3855,7 @@
+       </context>
+       <context name="HighlightingMako" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Mako" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Mako" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingMarkdownCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3872,7 +3872,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMarkdown"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingMarkdownCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginMarkdown"/>
+@@ -3901,7 +3901,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMason"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingMasonCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginMason"/>
+@@ -3913,7 +3913,7 @@
+       </context>
+       <context name="HighlightingMason" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Mason" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Mason" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingMathematicaCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -3930,7 +3930,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMathematica"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingMathematicaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginMathematica"/>
+@@ -3959,7 +3959,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMatlab"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingMatlabCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginMatlab"/>
+@@ -3988,7 +3988,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMaxima"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingMaximaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginMaxima"/>
+@@ -4017,7 +4017,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginMeson"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingMesonCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginMeson"/>
+@@ -4029,7 +4029,7 @@
+       </context>
+       <context name="HighlightingMeson" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Meson" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Meson" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingModelicaCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4046,7 +4046,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginModelica"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingModelicaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginModelica"/>
+@@ -4058,7 +4058,7 @@
+       </context>
+       <context name="HighlightingModelica" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Modelica" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Modelica" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingModula-2CodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4075,7 +4075,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginModula-2"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingModula-2CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginModula-2"/>
+@@ -4104,7 +4104,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSQL (MySQL)"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSQL (MySQL)CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSQL (MySQL)"/>
+@@ -4133,7 +4133,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginNSIS"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingNSISCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginNSIS"/>
+@@ -4145,7 +4145,7 @@
+       </context>
+       <context name="HighlightingNSIS" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##NSIS" includeAttrib="true"/>
++        <!-- <IncludeRules context="##NSIS" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingIntel x86 (NASM)CodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4162,7 +4162,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginIntel x86 (NASM)"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingIntel x86 (NASM)CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginIntel x86 (NASM)"/>
+@@ -4191,7 +4191,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginNemerle"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingNemerleCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginNemerle"/>
+@@ -4203,7 +4203,7 @@
+       </context>
+       <context name="HighlightingNemerle" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Nemerle" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Nemerle" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingnesCCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4220,7 +4220,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginnesC"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingnesCCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginnesC"/>
+@@ -4232,7 +4232,7 @@
+       </context>
+       <context name="HighlightingnesC" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##nesC" includeAttrib="true"/>
++        <!-- <IncludeRules context="##nesC" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingNimCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4249,7 +4249,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginNim"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingNimCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginNim"/>
+@@ -4278,7 +4278,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginNix"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingNixCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginNix"/>
+@@ -4307,7 +4307,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginObjective-C"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingObjective-CCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginObjective-C"/>
+@@ -4336,7 +4336,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginObjective-C++"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingObjective-C++CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginObjective-C++"/>
+@@ -4365,7 +4365,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginObjective Caml"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingObjective CamlCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginObjective Caml"/>
+@@ -4394,7 +4394,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginOctave"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingOctaveCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginOctave"/>
+@@ -4423,7 +4423,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPerl"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPerlCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPerl"/>
+@@ -4452,7 +4452,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPHP/PHP"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPHP/PHPCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPHP/PHP"/>
+@@ -4481,7 +4481,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPig"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPigCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPig"/>
+@@ -4493,7 +4493,7 @@
+       </context>
+       <context name="HighlightingPig" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Pig" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Pig" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingPikeCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4510,7 +4510,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPike"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPikeCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPike"/>
+@@ -4539,7 +4539,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPony"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPonyCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPony"/>
+@@ -4551,7 +4551,7 @@
+       </context>
+       <context name="HighlightingPony" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Pony" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Pony" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingPostScriptCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4568,7 +4568,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPostScript"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPostScriptCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPostScript"/>
+@@ -4597,7 +4597,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPOV-Ray"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPOV-RayCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPOV-Ray"/>
+@@ -4626,7 +4626,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPowerShell"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPowerShellCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPowerShell"/>
+@@ -4655,7 +4655,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPraat"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPraatCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPraat"/>
+@@ -4667,7 +4667,7 @@
+       </context>
+       <context name="HighlightingPraat" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Praat" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Praat" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingPrologCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4684,7 +4684,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginProlog"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPrologCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginProlog"/>
+@@ -4713,7 +4713,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginProtobuf"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingProtobufCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginProtobuf"/>
+@@ -4742,7 +4742,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPug"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPugCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPug"/>
+@@ -4754,7 +4754,7 @@
+       </context>
+       <context name="HighlightingPug" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Pug" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Pug" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingPuppetCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4771,7 +4771,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPuppet"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPuppetCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPuppet"/>
+@@ -4783,7 +4783,7 @@
+       </context>
+       <context name="HighlightingPuppet" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Puppet" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Puppet" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingPythonCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4800,7 +4800,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginPython"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingPythonCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginPython"/>
+@@ -4829,7 +4829,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginQML"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingQMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginQML"/>
+@@ -4858,7 +4858,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRelaxNG-Compact"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingRelaxNG-CompactCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginRelaxNG-Compact"/>
+@@ -4887,7 +4887,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRPM Spec"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingRPM SpecCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginRPM Spec"/>
+@@ -4899,7 +4899,7 @@
+       </context>
+       <context name="HighlightingRPM Spec" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##RPM Spec" includeAttrib="true"/>
++        <!-- <IncludeRules context="##RPM Spec" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingRacketCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4916,7 +4916,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRacket"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingRacketCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginRacket"/>
+@@ -4928,7 +4928,7 @@
+       </context>
+       <context name="HighlightingRacket" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Racket" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Racket" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingREXXCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4945,7 +4945,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginREXX"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingREXXCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginREXX"/>
+@@ -4957,7 +4957,7 @@
+       </context>
+       <context name="HighlightingREXX" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##REXX" includeAttrib="true"/>
++        <!-- <IncludeRules context="##REXX" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingRuby/Rails/RHTMLCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -4974,7 +4974,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRuby/Rails/RHTML"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingRuby/Rails/RHTMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginRuby/Rails/RHTML"/>
+@@ -5003,7 +5003,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginreStructuredText"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingreStructuredTextCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginreStructuredText"/>
+@@ -5032,7 +5032,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRuby"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingRubyCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginRuby"/>
+@@ -5061,7 +5061,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginRust"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingRustCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginRust"/>
+@@ -5090,7 +5090,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSML"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSML"/>
+@@ -5119,7 +5119,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSASS"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSASSCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSASS"/>
+@@ -5148,7 +5148,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginScala"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingScalaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginScala"/>
+@@ -5177,7 +5177,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginScheme"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSchemeCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginScheme"/>
+@@ -5206,7 +5206,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginscilab"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingscilabCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginscilab"/>
+@@ -5235,7 +5235,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSCSS"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSCSSCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSCSS"/>
+@@ -5264,7 +5264,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginsed"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingsedCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginsed"/>
+@@ -5293,7 +5293,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSieve"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSieveCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSieve"/>
+@@ -5305,7 +5305,7 @@
+       </context>
+       <context name="HighlightingSieve" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Sieve" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Sieve" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingSmaliCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -5322,7 +5322,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSmali"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSmaliCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSmali"/>
+@@ -5334,7 +5334,7 @@
+       </context>
+       <context name="HighlightingSmali" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Smali" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Smali" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingSolidityCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -5351,7 +5351,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSolidity"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSolidityCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSolidity"/>
+@@ -5363,7 +5363,7 @@
+       </context>
+       <context name="HighlightingSolidity" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Solidity" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Solidity" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingSpiceCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -5380,7 +5380,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSpice"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSpiceCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSpice"/>
+@@ -5392,7 +5392,7 @@
+       </context>
+       <context name="HighlightingSpice" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Spice" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Spice" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingSQLCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -5409,7 +5409,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSQL"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSQLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSQL"/>
+@@ -5438,7 +5438,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginStan"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingStanCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginStan"/>
+@@ -5467,7 +5467,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginStata"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingStataCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginStata"/>
+@@ -5496,7 +5496,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSwift"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSwiftCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSwift"/>
+@@ -5525,7 +5525,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginSystemVerilog"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingSystemVerilogCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginSystemVerilog"/>
+@@ -5554,7 +5554,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTOML"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingTOMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginTOML"/>
+@@ -5583,7 +5583,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTADS 3"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingTADS 3CodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginTADS 3"/>
+@@ -5595,7 +5595,7 @@
+       </context>
+       <context name="HighlightingTADS 3" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##TADS 3" includeAttrib="true"/>
++        <!-- <IncludeRules context="##TADS 3" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingTcl/TkCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -5612,7 +5612,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTcl/Tk"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingTcl/TkCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginTcl/Tk"/>
+@@ -5641,7 +5641,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTcsh"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingTcshCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginTcsh"/>
+@@ -5670,7 +5670,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTerraform"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingTerraformCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginTerraform"/>
+@@ -5682,7 +5682,7 @@
+       </context>
+       <context name="HighlightingTerraform" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Terraform" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Terraform" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingLaTeXCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -5699,7 +5699,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginLaTeX"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingLaTeXCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginLaTeX"/>
+@@ -5728,7 +5728,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTodo.txt"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingTodo.txtCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginTodo.txt"/>
+@@ -5740,7 +5740,7 @@
+       </context>
+       <context name="HighlightingTodo.txt" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Todo.txt" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Todo.txt" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingTypeScriptCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -5757,7 +5757,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginTypeScript"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingTypeScriptCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginTypeScript"/>
+@@ -5786,7 +5786,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginVala"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingValaCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginVala"/>
+@@ -5798,7 +5798,7 @@
+       </context>
+       <context name="HighlightingVala" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Vala" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Vala" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingVelocityCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -5815,7 +5815,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginVelocity"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingVelocityCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginVelocity"/>
+@@ -5827,7 +5827,7 @@
+       </context>
+       <context name="HighlightingVelocity" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##Velocity" includeAttrib="true"/>
++        <!-- <IncludeRules context="##Velocity" includeAttrib="true"/> -->
+       </context>
+ 
+       <context name="HighlightingVerilogCodeEnvS" attribute="Error" lineEndContext="#stay">
+@@ -5844,7 +5844,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginVerilog"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingVerilogCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginVerilog"/>
+@@ -5873,7 +5873,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginVHDL"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingVHDLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginVHDL"/>
+@@ -5902,7 +5902,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginXML"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingXMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginXML"/>
+@@ -5931,7 +5931,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginx.org Configuration"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="Highlightingx.org ConfigurationCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginx.org Configuration"/>
+@@ -5960,7 +5960,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginxslt"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingxsltCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginxslt"/>
+@@ -5989,7 +5989,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginYAML"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingYAMLCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginYAML"/>
+@@ -6018,7 +6018,7 @@
+         <DetectIdentifier/>
+         <DetectChar char="}" attribute="Normal Text" context="#pop!HighlightingBeginYANG"/>
+         <IncludeRules context="FindComments"/>
+-        <RegExpr String="\&envname;" attribute="Macro" context="#stay"/>
++        <RegExpr String="\\&envname;" attribute="Macro" context="#stay"/>
+       </context>
+       <context name="HighlightingYANGCodeEnv" attribute="Normal Text" lineEndContext="#stay">
+         <DetectChar char="}" context="HighlightingBeginYANG"/>
+@@ -6030,7 +6030,7 @@
+       </context>
+       <context name="HighlightingYANG" attribute="Normal Text" lineEndContext="#stay">
+         <IncludeRules context="HighlightingCommon"/>
+-        <IncludeRules context="##YANG" includeAttrib="true"/>
++        <!-- <IncludeRules context="##YANG" includeAttrib="true"/> -->
+       </context>
+       <!-- end of mintedcode environment -->
+ 
diff --git a/xml/lua.xml.patch b/xml/lua.xml.patch
deleted file mode 100644
--- a/xml/lua.xml.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/skylighting-core/xml/lua.xml b/skylighting-core/xml/lua.xml
-index 3021ba8..89e5a31 100644
---- a/skylighting-core/xml/lua.xml
-+++ b/skylighting-core/xml/lua.xml
-@@ -600,7 +600,7 @@
-       <itemData name="Strings"         defStyleNum="dsString"/>
-       <itemData name="RawStrings"      defStyleNum="dsVerbatimString"/>
-       <itemData name="Symbols"         defStyleNum="dsOperator" spellChecking="false"/>
--      <itemData name="Variable"        defStyleNum="dsKeyword" color="#5555FF" selColor="#ffffff" bold="0" italic="0" spellChecking="false"/>
-+      <itemData name="Variable"        defStyleNum="dsNormal" /> <!-- JGM -->
-       <itemData name="Attribute"       defStyleNum="dsAttribute" spellChecking="false"/>
-     </itemDatas>
-   </highlighting>
diff --git a/xml/nix.xml b/xml/nix.xml
--- a/xml/nix.xml
+++ b/xml/nix.xml
@@ -12,7 +12,7 @@
 
 <language
     name="Nix"
-    version="1"
+    version="2"
     kateversion="5.79"
     section="Scripts"
     extensions="*.nix"
@@ -56,9 +56,12 @@
                 <Detect2Chars char="|" char1="|" attribute="Operator" />
                 <Detect2Chars char="&amp;" char1="&amp;" attribute="Operator" />
                 <AnyChar String="+-*/?!" attribute="Operator" />
-                <RegExpr String="\b&ident;\s*:" context="Function" lookAhead="true" />
+                <RegExpr String="\b&ident;(?=\s*:)" context="Function" attribute="Identifier" />
+
+                <DetectIdentifier />
             </context>
             <context name="Single Expression" attribute="Normal Text" lineEndContext="#stay">
+                <DetectSpaces />
                 <IncludeRules context="Comment Rules" />
 
                 <keyword String="builtins" attribute="Builtin" />
@@ -68,8 +71,8 @@
                 <DetectChar char="[" attribute="Symbol" context="List" beginRegion="List" />
                 <DetectChar char="(" attribute="Symbol" context="Parentheses" />
                 <RegExpr String="[a-zA-Z0-9-_.]*(/[a-zA-Z0-9-_.]+)+" attribute="Path" />
-                <Int attribute="Int" />
                 <Float attribute="Float" />
+                <Int attribute="Int" />
                 <WordDetect String="true" attribute="Constant" />
                 <WordDetect String="false" attribute="Constant" />
                 <WordDetect String="null" attribute="Constant" />
@@ -91,10 +94,7 @@
             </context>
             <context name="Multi-Line Comment" attribute="Comment" lineEndContext="#stay">
                 <Detect2Chars char="*" char1="/" attribute="Comment" context="#pop" endRegion="Comment" />
-
-                <DetectSpaces attribute="Comment"/>
-                <IncludeRules context="##Comments"/>
-                <DetectIdentifier attribute="Comment" context="#stay" />
+                <IncludeRules context="Comment"/>
             </context>
 
             <context name="String" attribute="String" lineEndContext="#stay">
@@ -121,6 +121,7 @@
                 yet
             -->
             <context name="Any Brace" attribute="Normal Text" lineEndContext="#stay">
+                <DetectSpaces />
                 <DetectChar char="}" attribute="Symbol" context="#pop" endRegion="Set"/>
 
                 <WordDetect String="inherit" attribute="Keyword" context="Any Brace - Inherit" />
@@ -164,7 +165,6 @@
 
             <!-- include for sets and let expressions -->
             <context name="Set-Like" attribute="Normal Text" lineEndContext="#stay">
-                <WordDetect String="inherit" attribute="Keyword" context="Inherit" />
                 <DetectChar char="&quot;" attribute="String" context="String" />
                 <Detect2Chars char="'" char1="'" attribute="String" context="String2" />
                 <DetectChar char="=" attribute="Operator" context="Set Value" />
@@ -177,7 +177,9 @@
             </context>
 
             <context name="Set" attribute="Normal Text" lineEndContext="#stay">
+                <DetectSpaces />
                 <DetectChar char="}" attribute="Symbol" context="#pop" endRegion="Set" />
+                <WordDetect String="inherit" attribute="Keyword" context="Inherit" />
 
                 <IncludeRules context="Set-Like" />
             </context>
@@ -189,6 +191,7 @@
             </context>
 
             <context name="Set Expansion" attribute="Normal Text" lineEndContext="#stay">
+                <DetectSpaces />
                 <DetectChar char="}" attribute="Symbol" context="#pop" endRegion="Set"/>
 
                 <DetectChar char="," attribute="Symbol" />
@@ -212,16 +215,13 @@
 
             <context name="Function" attribute="Normal Text" lineEndContext="#stay">
                 <DetectChar char=":" attribute="Symbol" context="#pop" />
-
-                <RegExpr String="&ident;" attribute="Identifier" />
-
-                <IncludeRules context="Comment Rules" />
+                <DetectSpaces attribute="Normal Text" />
             </context>
 
             <context name="Let" attribute="Normal Text" lineEndContext="#stay">
+                <DetectSpaces />
                 <WordDetect String="in" attribute="Keyword" context="#pop" />
 
-                <RegExpr String="&ident;" attribute="Identifier" />
                 <IncludeRules context="Set-Like" />
             </context>
 
diff --git a/xml/purescript.xml b/xml/purescript.xml
new file mode 100644
--- /dev/null
+++ b/xml/purescript.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="PureScript" version="1" kateversion="5.53" section="Sources" extensions="*.purs" author="Gleb Popov (6yearold@gmail.com)" license="BSD3" indenter="haskell" style="haskell">
+  <highlighting>
+  <contexts>
+    <context attribute="Normal" lineEndContext="#stay" name="code">
+      <IncludeRules context="code##Haskell" />
+    </context>
+  </contexts>
+  <itemDatas>
+    <itemData name="Normal"           defStyleNum="dsNormal"   spellChecking="false" />
+  </itemDatas>
+  </highlighting>
+  <general>
+    <folding indentationsensitive="1"/>
+    <comments>
+      <comment name="singleLine" start="--" />
+      <comment name="multiLine" start="{-" end="-}" />
+    </comments>
+    <keywords casesensitive="1" />
+</general>
+</language>
diff --git a/xml/sql-postgresql.xml b/xml/sql-postgresql.xml
--- a/xml/sql-postgresql.xml
+++ b/xml/sql-postgresql.xml
@@ -1,9 +1,34 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE language SYSTEM "language.dtd">
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+
+  <!-- Regular expression matching case-insensitively a single hexadecial digit. -->
+  <!ENTITY hexDigit "[0-9a-fA-F]">
+
+  <!-- Regular expression matching all potential names of PostgresSQL built-in
+  functions and PostGIS functions. -->
+  <!ENTITY functionName "[a-zA-Z][a-zA-Z0-9_]*">
+
+]>
+
 <!-- 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="15" kateversion="5.44" section="Database" extensions="*.sql;*.SQL;*.ddl;*.DDL" mimetype="text/x-sql" casesensitive="0" author="Shane Wright (me@shanewright.co.uk)" license="">
+
+<!-- Support for escape characters in strings and identifiers, PostGIS highlighting
+     and better functioni highlighting by Lukas Sommer <sommerluk@gamil.com>. These
+     modifications are under MIT License.
+  -->
+
+<language name="SQL (PostgreSQL)"
+          version="16"
+          kateversion="5.44"
+          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>
@@ -750,6 +775,8 @@
       <item>BIT_LENGTH</item>
       <item>CHAR_LENGTH</item>
       <item>CHARACTER_LENGTH</item>
+      <item>CONCAT</item>
+      <item>CONCAT_WS</item>
       <item>CONVERT</item>
       <item>GET_BYTE</item>
       <item>GET_BIT</item>
@@ -927,6 +954,257 @@
       <item>PG_READ_FILE</item>
       <item>PG_STAT_FILE</item>
     </list>
+    <list name="postgisFunctions">
+      <!-- From https://postgis.net/docs/PostGIS_Special_Functions_Index.html#PostGIS_TypeFunctionMatrix at 2022-09-16 19:15 GMT -->
+      <item>Box2D</item>
+      <item>Box3D</item>
+      <item>GeometryType</item>
+      <item>PostGIS_AddBBox</item>
+      <item>PostGIS_DropBBox</item>
+      <item>PostGIS_Extensions_Upgrade</item>
+      <item>PostGIS_Full_Version</item>
+      <item>PostGIS_GEOS_Version</item>
+      <item>PostGIS_HasBBox</item>
+      <item>PostGIS_LibXML_Version</item>
+      <item>PostGIS_Lib_Build_Date</item>
+      <item>PostGIS_Lib_Version</item>
+      <item>PostGIS_Liblwgeom_Version</item>
+      <item>PostGIS_PROJ_Version</item>
+      <item>PostGIS_Scripts_Build_Date</item>
+      <item>PostGIS_Scripts_Installed</item>
+      <item>PostGIS_Scripts_Released</item>
+      <item>PostGIS_Version</item>
+      <item>PostGIS_Wagyu_Version</item>
+      <item>ST_3DArea</item>
+      <item>ST_3DClosestPoint</item>
+      <item>ST_3DConvexHull</item>
+      <item>ST_3DDifference</item>
+      <item>ST_3DDistance</item>
+      <item>ST_3DExtent</item>
+      <item>ST_3DIntersection</item>
+      <item>ST_3DLength</item>
+      <item>ST_3DLineInterpolatePoint</item>
+      <item>ST_3DLongestLine</item>
+      <item>ST_3DMakeBox</item>
+      <item>ST_3DMaxDistance</item>
+      <item>ST_3DPerimeter</item>
+      <item>ST_3DShortestLine</item>
+      <item>ST_3DUnion</item>
+      <item>ST_AddMeasure</item>
+      <item>ST_AddPoint</item>
+      <item>ST_Affine</item>
+      <item>ST_AlphaShape</item>
+      <item>ST_Angle</item>
+      <item>ST_ApproximateMedialAxis</item>
+      <item>ST_Area</item>
+      <item>ST_Azimuth</item>
+      <item>ST_Boundary</item>
+      <item>ST_BoundingDiagonal</item>
+      <item>ST_Buffer</item>
+      <item>ST_BuildArea</item>
+      <item>ST_CPAWithin</item>
+      <item>ST_Centroid</item>
+      <item>ST_ChaikinSmoothing</item>
+      <item>ST_ClipByBox2D</item>
+      <item>ST_ClosestPoint</item>
+      <item>ST_ClosestPointOfApproach</item>
+      <item>ST_ClusterDBSCAN</item>
+      <item>ST_ClusterIntersecting</item>
+      <item>ST_ClusterKMeans</item>
+      <item>ST_ClusterWithin</item>
+      <item>ST_Collect</item>
+      <item>ST_CollectionExtract</item>
+      <item>ST_CollectionHomogenize</item>
+      <item>ST_ConcaveHull</item>
+      <item>ST_ConstrainedDelaunayTriangles</item>
+      <item>ST_ConvexHull</item>
+      <item>ST_CoordDim</item>
+      <item>ST_CurveToLine</item>
+      <item>ST_DelaunayTriangles</item>
+      <item>ST_Difference</item>
+      <item>ST_Dimension</item>
+      <item>ST_Distance</item>
+      <item>ST_DistanceCPA</item>
+      <item>ST_DistanceSphere</item>
+      <item>ST_DistanceSpheroid</item>
+      <item>ST_Dump</item>
+      <item>ST_DumpPoints</item>
+      <item>ST_DumpRings</item>
+      <item>ST_DumpSegments</item>
+      <item>ST_EndPoint</item>
+      <item>ST_Envelope</item>
+      <item>ST_EstimatedExtent</item>
+      <item>ST_Expand</item>
+      <item>ST_Extent</item>
+      <item>ST_ExteriorRing</item>
+      <item>ST_Extrude</item>
+      <item>ST_FilterByM</item>
+      <item>ST_FlipCoordinates</item>
+      <item>ST_Force2D</item>
+      <item>ST_ForceCurve</item>
+      <item>ST_ForceLHR</item>
+      <item>ST_ForcePolygonCCW</item>
+      <item>ST_ForcePolygonCW</item>
+      <item>ST_ForceRHR</item>
+      <item>ST_ForceSFS</item>
+      <item>ST_Force3D</item>
+      <item>ST_Force3DM</item>
+      <item>ST_Force3DZ</item>
+      <item>ST_Force4D</item>
+      <item>ST_ForceCollection</item>
+      <item>ST_FrechetDistance</item>
+      <item>ST_GeneratePoints</item>
+      <item>ST_GeometricMedian</item>
+      <item>ST_GeometryN</item>
+      <item>ST_GeometryType</item>
+      <item>ST_HasArc</item>
+      <item>ST_HausdorffDistance</item>
+      <item>ST_Hexagon</item>
+      <item>ST_HexagonGrid</item>
+      <item>ST_InteriorRingN</item>
+      <item>ST_InterpolatePoint</item>
+      <item>ST_Intersection</item>
+      <item>ST_IsClosed</item>
+      <item>ST_IsCollection</item>
+      <item>ST_IsEmpty</item>
+      <item>ST_IsPlanar</item>
+      <item>ST_IsPolygonCCW</item>
+      <item>ST_IsPolygonCW</item>
+      <item>ST_IsRing</item>
+      <item>ST_IsSimple</item>
+      <item>ST_IsSolid</item>
+      <item>ST_IsValid</item>
+      <item>ST_IsValidDetail</item>
+      <item>ST_IsValidReason</item>
+      <item>ST_IsValidTrajectory</item>
+      <item>ST_Length</item>
+      <item>ST_Length2D</item>
+      <item>ST_LengthSpheroid</item>
+      <item>ST_Letters</item>
+      <item>ST_LineFromMultiPoint</item>
+      <item>ST_LineInterpolatePoint</item>
+      <item>ST_LineInterpolatePoints</item>
+      <item>ST_LineLocatePoint</item>
+      <item>ST_LineMerge</item>
+      <item>ST_LineSubstring</item>
+      <item>ST_LineToCurve</item>
+      <item>ST_LocateAlong</item>
+      <item>ST_LocateBetween</item>
+      <item>ST_LocateBetweenElevations</item>
+      <item>ST_LongestLine</item>
+      <item>ST_M</item>
+      <item>ST_MakeBox2D</item>
+      <item>ST_MakeEnvelope</item>
+      <item>ST_MakeLine</item>
+      <item>ST_MakePoint</item>
+      <item>ST_MakePointM</item>
+      <item>ST_MakePolygon</item>
+      <item>ST_MakeSolid</item>
+      <item>ST_MakeValid</item>
+      <item>ST_MaxDistance</item>
+      <item>ST_MaximumInscribedCircle</item>
+      <item>ST_MemSize</item>
+      <item>ST_MemUnion</item>
+      <item>ST_MinimumBoundingCircle</item>
+      <item>ST_MinimumBoundingRadius</item>
+      <item>ST_MinimumClearance</item>
+      <item>ST_MinimumClearanceLine</item>
+      <item>ST_MinkowskiSum</item>
+      <item>ST_Multi</item>
+      <item>ST_NDims</item>
+      <item>ST_NPoints</item>
+      <item>ST_NRings</item>
+      <item>ST_Node</item>
+      <item>ST_Normalize</item>
+      <item>ST_NumGeometries</item>
+      <item>ST_NumInteriorRing</item>
+      <item>ST_NumInteriorRings</item>
+      <item>ST_NumPatches</item>
+      <item>ST_NumPoints</item>
+      <item>ST_OffsetCurve</item>
+      <item>ST_OptimalAlphaShape</item>
+      <item>ST_Orientation</item>
+      <item>ST_OrientedEnvelope</item>
+      <item>ST_PatchN</item>
+      <item>ST_Perimeter</item>
+      <item>ST_Perimeter2D</item>
+      <item>ST_Point</item>
+      <item>ST_PointM</item>
+      <item>ST_PointN</item>
+      <item>ST_PointOnSurface</item>
+      <item>ST_PointZ</item>
+      <item>ST_PointZM</item>
+      <item>ST_Points</item>
+      <item>ST_Polygon</item>
+      <item>ST_Polygonize</item>
+      <item>ST_Project</item>
+      <item>ST_QuantizeCoordinates</item>
+      <item>ST_ReducePrecision</item>
+      <item>ST_RemovePoint</item>
+      <item>ST_RemoveRepeatedPoints</item>
+      <item>ST_Reverse</item>
+      <item>ST_Rotate</item>
+      <item>ST_RotateX</item>
+      <item>ST_RotateY</item>
+      <item>ST_RotateZ</item>
+      <item>ST_SRID</item>
+      <item>ST_Scale</item>
+      <item>ST_Scroll</item>
+      <item>ST_Segmentize</item>
+      <item>ST_SetEffectiveArea</item>
+      <item>ST_SetPoint</item>
+      <item>ST_SetSRID</item>
+      <item>ST_SharedPaths</item>
+      <item>ST_ShiftLongitude</item>
+      <item>ST_ShortestLine</item>
+      <item>ST_Simplify</item>
+      <item>ST_SimplifyPolygonHull</item>
+      <item>ST_SimplifyPreserveTopology</item>
+      <item>ST_SimplifyVW</item>
+      <item>ST_Snap</item>
+      <item>ST_SnapToGrid</item>
+      <item>ST_Split</item>
+      <item>ST_Square</item>
+      <item>ST_SquareGrid</item>
+      <item>ST_StartPoint</item>
+      <item>ST_StraightSkeleton</item>
+      <item>ST_Subdivide</item>
+      <item>ST_Summary</item>
+      <item>ST_SwapOrdinates</item>
+      <item>ST_SymDifference</item>
+      <item>ST_Tesselate</item>
+      <item>ST_TileEnvelope</item>
+      <item>ST_TransScale</item>
+      <item>ST_Transform</item>
+      <item>ST_Translate</item>
+      <item>ST_TriangulatePolygon</item>
+      <item>ST_UnaryUnion</item>
+      <item>ST_Union</item>
+      <item>ST_Volume</item>
+      <item>ST_VoronoiLines</item>
+      <item>ST_VoronoiPolygons</item>
+      <item>ST_WrapX</item>
+      <item>ST_X</item>
+      <item>ST_XMax</item>
+      <item>ST_XMin</item>
+      <item>ST_Y</item>
+      <item>ST_YMax</item>
+      <item>ST_YMin</item>
+      <item>ST_Z</item>
+      <item>ST_ZMax</item>
+      <item>ST_ZMin</item>
+      <item>ST_Zmflag</item>
+      <!--<item>postgis.backend</item>--><!-- Commenting out because inner dot is incompatible with the keyword delimiters. -->
+      <!--<item>postgis.enable_outdb_rasters</item>--><!-- Commenting out because inner dot is incompatible with the keyword delimiters. -->
+      <!--<item>postgis.gdal_datapath</item>--><!-- Commenting out because inner dot is incompatible with the keyword delimiters. -->
+      <!--<item>postgis.gdal_enabled_drivers</item>--><!-- Commenting out because inner dot is incompatible with the keyword delimiters. -->
+      <!--<item>postgis.gdal_config_options</item>--><!-- Commenting out because inner dot is incompatible with the keyword delimiters. -->
+      <item>postgis_sfcgal_full_version</item>
+      <item>postgis_sfcgal_version</item>
+
+      <!-- Further functions from https://postgis.net/docs/PostGIS_Special_Functions_Index.html -->
+      <item>ST_DWithin</item>
+    </list>
     <list name="types">
       <!-- https://www.postgresql.org/docs/current/static/datatype.html#DATATYPE-TABLE -->
       <item>BIGINT</item>
@@ -992,7 +1270,7 @@
         <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*" beginRegion="Comment"/>
         <WordDetect attribute="Comment" context="SingleLineComment" String="rem" insensitive="true" column="0"/>
 
-        <!-- HACK: don't jump into MultiLineString for CREATE FUNCTION $funcName$...$funcName$ -->
+        <!-- HACK: don't jump into DollarQuotedString for CREATE FUNCTION $funcName$...$funcName$ -->
         <RegExpr String="create\s+(or\s+replace\s+)?function" insensitive="true" context="CreateFunction" attribute="Keyword"/>
 
         <RegExpr String="do\s+\$([^\$\n\r]*)\$" insensitive="true" context="FunctionBody" attribute="Keyword"/>
@@ -1000,13 +1278,34 @@
         <keyword attribute="Keyword" context="#stay" String="keywords"/>
         <keyword attribute="Operator Keyword" context="#stay" String="operators"/>
         <keyword attribute="ControlFlow" context="#stay" String="controlFlow"/>
-        <keyword attribute="Function" context="#stay" String="functions"/>
         <keyword attribute="Data Type" context="#stay" String="types"/>
         <RegExpr attribute="Data Type" context="#stay" String="%(bulk_(exceptions|rowcount)|(not)?found|isopen|rowcount|(row)?type)\b" insensitive="true"/>
+        <!-- Highlight the names of functions when they are followed by a “(” character.
+        NOTE Some names are both, function names and data type names. Currently:
+        BOX|CIRCLE|LSEG|PATH|POINT|POLYGON|TEXT|TIMESTAMPTZ Those are always
+        catched by the above rule as data types. Highlighting them differently when
+        used as function would be tricky… -->
+        <RegExpr context="HighlightFunction" String="(?&lt;=\b)&functionName;(?=[\t ]*\()" lookAhead="true" insensitive="true"/>
         <Float attribute="Float" context="#stay"/>
         <Int attribute="Decimal" context="#stay"/>
-        <DetectChar attribute="String" context="String" char="'"/>
+        <DetectChar attribute="Verbatim string" context="SingleQuotedString" char="'"/>
+        <Detect2Chars attribute="String delimiter" context="EscapeString" char='e' char1="'"/>
+        <Detect2Chars attribute="String delimiter" context="EscapeString" char='E' char1="'"/>
+        <!-- Supports Unicode Escape String with user-defined escape character. Example:
+             u&'y+000065' UESCAPE  'y'
+             The user-defined escape character is available to dynamic rules as capture-group 1.
+             NOTE As KSyntaxHighlighing is line-based, this highlighting rule works only if all the
+             above code is within the same line (though Postgre allows it to be on different lines). -->
+        <RegExpr attribute="String delimiter" context="UnicodeEscapeStringModified" String="U&amp;'(?=(?:[^']|'')*'[ \t]*UESCAPE[ \t]*'([^0-9a-fA-F+'&quot; \t])')" insensitive="true"/>
+        <StringDetect attribute="String delimiter" context="UnicodeEscapeString" String="U&amp;'" insensitive="true"/>
         <DetectChar attribute="Identifier" context="Identifier" char="&quot;"/>
+        <!-- Supports Unicode Escape Identifiers with user-defined escape character. Example:
+             u&"y+000065" UESCAPE  'y'
+             The user-defined escape character is available to dynamic rules as capture-group 1.
+             NOTE As KSyntaxHighlighing is line-based, this highlighting rule works only if all the
+             above code is within the same line (though Postgre allows it to be on different lines). -->
+        <RegExpr attribute="Identifier" context="UnicodeEscapeIdentifierModified" String="U&amp;&quot;(?=(?:[^&quot;]|&quot;&quot;)*&quot;[ \t]*UESCAPE[ \t]*'([^0-9a-fA-F+'&quot; \t])')" insensitive="true"/>
+        <StringDetect attribute="Identifier" context="UnicodeEscapeIdentifier" String="U&amp;&quot;" insensitive="true"/>
         <Detect2Chars attribute="Operator" context="#stay" char=":" char1="="/>
         <AnyChar attribute="Symbol" context="#stay" String=":&amp;"/>
         <Detect2Chars attribute="Operator" context="#stay" char="." char1="."/>
@@ -1015,9 +1314,24 @@
         <Detect2Chars attribute="Operator" context="#stay" char="?" char1="-"/>
         <Detect2Chars attribute="Operator" context="#stay" char="?" char1="|"/>
         <RegExpr attribute="Preprocessor" context="Preprocessor" String="^@@?[^@ \t\r\n]" column="0"/>
-        <RegExpr attribute="Operator" context="MultiLineString" String="\$([^\$\n\r]*)\$"/>
+        <RegExpr attribute="Operator" context="DollarQuotedString" String="\$([^\$\n\r]*)\$"/>
         <AnyChar attribute="Operator" context="#stay" String="+-*/=%^!&lt;&gt;&amp;|@~#"/>
       </context>
+      <context attribute="Normal Text" name="HighlightFunction" fallthrough="true" fallthroughContext="#pop" lineEndContext="#pop">
+        <!-- Helper context that expects to see a function on its very beginning.
+        If it’s a PostgreSQL or PostGIS function, it is highlighted accordingly.
+        If not, by a catch-all, it gets the "Normal Text" attribute. After that,
+        it pops back to the previous context. -->
+        <keyword attribute="PostgreSQL function" context="#pop" String="functions"/>
+        <keyword attribute="PostGIS function" context="#pop" String="postgisFunctions"/>
+        <!-- Highlight user-defined functions like "Normal Text". It is not
+        possible to have an own style for this, because the syntax is
+        difficult and we could catch here strings that are not actual
+        user-defined functions. "Normal Text" is a safe alternative. Using
+        &functionName; which is the same regular expression that is used
+        by the rule that calls this context: -->
+        <RegExpr attribute="Normal Text" context="#pop" String="&functionName;" insensitive="true"/>
+      </context>
       <context name="CreateFunction" attribute="Normal Text" lineEndContext="#stay">
         <RegExpr attribute="Function" context="FunctionBody" String="\$([^\$\n\r]*)\$"/>
         <IncludeRules context="Normal"/>
@@ -1026,15 +1340,69 @@
         <StringDetect attribute="Function" context="#pop#pop" String="$%1$" dynamic="true"/>
         <IncludeRules context="Normal"/>
       </context>
-      <context name="MultiLineString" attribute="String" lineEndContext="#stay" dynamic="true">
+      <context name="SingleQuotedString" attribute="Verbatim string" lineEndContext="#stay">
+        <Detect2Chars attribute="Escape sequence" context="#stay" char="'" char1="'"/>
+        <DetectChar attribute="String delimiter" context="#pop" char="'"/>
+      </context>
+      <context name="DollarQuotedString" attribute="Verbatim string" lineEndContext="#stay" dynamic="true">
         <StringDetect attribute="Operator" context="#pop" String="$%1$" dynamic="true"/>
       </context>
-      <context name="String" attribute="String" lineEndContext="#stay">
-        <LineContinue attribute="String" context="#pop"/>
-        <HlCStringChar attribute="String Char" context="#stay"/>
-        <DetectChar attribute="Symbol" context="#stay" char="&amp;"/>
-        <DetectChar attribute="String" context="#pop" char="'"/>
+      <context name="EscapeString" attribute="String" lineEndContext="#stay">
+        <Detect2Chars attribute="Escape sequence" context="#stay" char="'" char1="'"/>
+        <!-- Default C style escapes: \n \101 \x41 … : -->
+        <HlCStringChar attribute="Escape sequence" context="#stay"/>
+        <!-- \u escapes: -->
+        <RegExpr attribute="Escape sequence" context="#stay" String="\\u&hexDigit;{4}"/>
+        <!-- Incomplete \u escape sequences are errors: -->
+        <Detect2Chars attribute="Error" context="#stay" char="\" char1="u"/>
+        <!-- \U escapes: -->
+        <RegExpr attribute="Escape sequence" context="#stay" String="\\U&hexDigit;{8}"/>
+        <!-- Incomplete \U escape sequences are errors: -->
+        <Detect2Chars attribute="Error" context="#stay" char="\" char1="U"/>
+        <!-- All other escape sequences are interpreted as escape of the concerned character: \y → y -->
+        <RegExpr attribute="Escape sequence" context="#stay" String="\\."/>
+        <!-- Even an escape sequence with the line break (means: backslash as last character of a line) is possible: -->
+        <LineContinue attribute="Escape sequence" context="#stay" char="\"/>
+        <!-- end of the string -->
+        <DetectChar attribute="String delimiter" context="#pop" char="'"/>
       </context>
+      <context attribute="Normal Text" name="IncludeUnicodeEscapeSequences" lineEndContext="#pop">
+        <!-- four-digit/six-digit escapes: -->
+        <RegExpr attribute="Escape sequence" context="#stay" String="(\\&hexDigit;{4})|(\\\+&hexDigit;{6})"/>
+        <!-- \\ is a valid escape for the backslash: -->
+        <Detect2Chars attribute="Escape sequence" context="#stay" char="\" char1="\"/>
+        <!-- All other occurences of \ are errors: -->
+        <DetectChar attribute="Error" context="#stay" char="\"/>
+      </context>
+      <context attribute="Normal Text" name="IncludeUnicodeEscapeSequencesModified" lineEndContext="#pop">
+        <!-- Context meant to be included in other contexts, not to be used on its own.
+             Containt dynamic rules. Expects that the escape character is available
+             at capture group #1.
+             NOTE The capture group expands literally for the StringDetect and DetectChar
+             rules. For the RegExpr rule, special characters (and only special characters)
+             seem to become escaped automatically: The capture “.” is available as “\.”
+             while the capture “t” is available as “t” (and not as “\t” which would mean a
+             tabulator character). So this works fine out-of-the-box even for special
+             characters.-->
+        <!-- four-digit/six-digit escapes: -->
+        <RegExpr attribute="Escape sequence" context="#stay" String="(%1&hexDigit;{4})|(%1\+&hexDigit;{6})" dynamic="true"/>
+        <!-- The escape character can escape himself: -->
+        <StringDetect attribute="Escape sequence" context="#stay" String="%1%1" dynamic="true"/>
+        <!-- All other occurences of \ are errors: -->
+        <DetectChar attribute="Error" context="#stay" char="1" dynamic="true"/>
+      </context>
+      <context name="UnicodeEscapeString" attribute="String" lineEndContext="#stay">
+        <Detect2Chars attribute="Escape sequence" context="#stay" char="'" char1="'"/>
+        <IncludeRules context="IncludeUnicodeEscapeSequences" />
+        <!-- end of the string -->
+        <DetectChar attribute="String delimiter" context="#pop" char="'"/>
+      </context>
+      <context name="UnicodeEscapeStringModified" attribute="String" lineEndContext="#stay">
+        <Detect2Chars attribute="Escape sequence" context="#stay" char="'" char1="'"/>
+        <IncludeRules context="IncludeUnicodeEscapeSequencesModified" />
+        <!-- end of the string -->
+        <DetectChar attribute="String delimiter" context="#pop" char="'"/>
+      </context>
       <context name="SingleLineComment" attribute="Comment" lineEndContext="#pop">
         <DetectSpaces />
         <IncludeRules context="##Comments"/>
@@ -1046,27 +1414,48 @@
         <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*" beginRegion="Comment"/>
         <IncludeRules context="##Comments"/>
       </context>
-      <context name="Identifier" attribute="Identifier" lineEndContext="#pop">
+      <context name="Identifier" attribute="Identifier" lineEndContext="#stay">
+        <Detect2Chars attribute="Escape sequence" context="#stay" char="&quot;" char1="&quot;"/>
         <DetectChar attribute="Identifier" context="#pop" char="&quot;"/>
       </context>
+      <context name="UnicodeEscapeIdentifier" attribute="Identifier" lineEndContext="#stay">
+        <Detect2Chars attribute="Escape sequence" context="#stay" char="&quot;" char1="&quot;"/>
+        <IncludeRules context="IncludeUnicodeEscapeSequences" />
+        <!-- end of the string -->
+        <DetectChar attribute="Identifier" context="#pop" char="&quot;"/>
+      </context>
+      <context name="UnicodeEscapeIdentifierModified" attribute="Identifier" lineEndContext="#stay">
+        <Detect2Chars attribute="Escape sequence" context="#stay" char="&quot;" char1="&quot;"/>
+        <IncludeRules context="IncludeUnicodeEscapeSequencesModified" />
+        <!-- end of the string -->
+        <DetectChar attribute="Identifier" context="#pop" char="&quot;"/>
+      </context>
       <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"/>
     </contexts>
     <itemDatas>
-      <itemData name="Normal Text"       defStyleNum="dsNormal" spellChecking="false"/>
-      <itemData name="Keyword"           defStyleNum="dsKeyword" spellChecking="false"/>
-      <itemData name="ControlFlow"       defStyleNum="dsControlFlow" spellChecking="false"/>
-      <itemData name="Operator"          defStyleNum="dsOperator" spellChecking="false"/>
-      <itemData name="Operator Keyword"  defStyleNum="dsKeyword" spellChecking="false"/>
-      <itemData name="Function"          defStyleNum="dsFunction" spellChecking="false"/>
-      <itemData name="Data Type"         defStyleNum="dsDataType" spellChecking="false"/>
-      <itemData name="Decimal"           defStyleNum="dsDecVal" spellChecking="false"/>
-      <itemData name="Float"             defStyleNum="dsFloat" spellChecking="false"/>
-      <itemData name="String"            defStyleNum="dsString"/>
-      <itemData name="String Char"       defStyleNum="dsChar" spellChecking="false"/>
-      <itemData name="Comment"           defStyleNum="dsComment"/>
-      <itemData name="Identifier"        defStyleNum="dsOthers" spellChecking="false"/>
-      <itemData name="Symbol"            defStyleNum="dsChar" spellChecking="false"/>
-      <itemData name="Preprocessor"      defStyleNum="dsOthers" spellChecking="false"/>
+      <itemData name="Normal Text"         defStyleNum="dsNormal"      spellChecking="false"/>
+      <itemData name="Keyword"             defStyleNum="dsKeyword"     spellChecking="false"/>
+      <itemData name="ControlFlow"         defStyleNum="dsControlFlow" spellChecking="false"/>
+      <itemData name="Operator"            defStyleNum="dsOperator"    spellChecking="false"/>
+      <itemData name="Operator Keyword"    defStyleNum="dsKeyword"     spellChecking="false"/>
+      <itemData name="Function"            defStyleNum="dsFunction"    spellChecking="false"/>
+      <itemData name="PostgreSQL function" defStyleNum="dsFunction"    spellChecking="false"/>
+      <itemData name="PostGIS function"    defStyleNum="dsExtension"   spellChecking="false"/>
+      <itemData name="Data Type"           defStyleNum="dsDataType"    spellChecking="false"/>
+      <itemData name="Decimal"             defStyleNum="dsDecVal"      spellChecking="false"/>
+      <itemData name="Float"               defStyleNum="dsFloat"       spellChecking="false"/>
+      <itemData name="String"              defStyleNum="dsString"/>
+      <!-- The only purpose of "String delimiter" is correct spell checking. If we would use
+           "String" also for the delimiters, code like E'test' would generate spell checking
+           errors because the E is considered part of the word that will be checked. -->
+      <itemData name="String delimiter"    defStyleNum="dsString"      spellChecking="false"/>
+      <itemData name="Verbatim string"     defStyleNum="dsVerbatimString"/>
+      <itemData name="Escape sequence"     defStyleNum="dsChar"        spellChecking="false"/>
+      <itemData name="Comment"             defStyleNum="dsComment"/>
+      <itemData name="Identifier"          defStyleNum="dsOthers"      spellChecking="false"/>
+      <itemData name="Symbol"              defStyleNum="dsChar"        spellChecking="false"/>
+      <itemData name="Preprocessor"        defStyleNum="dsOthers"      spellChecking="false"/>
+      <itemData name="Error"               defStyleNum="dsError"       spellChecking="false"/>
     </itemDatas>
   </highlighting>
   <general>
diff --git a/xml/vhdl.xml b/xml/vhdl.xml
--- a/xml/vhdl.xml
+++ b/xml/vhdl.xml
@@ -1,868 +1,1612 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE language SYSTEM "language.dtd" [
-  <!ENTITY funcname "[A-Za-z_:][A-Za-z0-9_:#&#37;@-]*">
-  <!ENTITY varname  "[A-Za-z_][A-Za-z0-9_]*">
-  <!ENTITY identifier "\b(?:[A-Za-z_][A-Za-z0-9_]*)\b|/(?:[^/]++(?://)?+)*+/">
-  <!ENTITY bos      "\b">                        <!-- bol or space following -->
-]>
-<language name="VHDL" version="15" kateversion="5.62" 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)">
-  <!-- BNF: https://github.com/antlr/grammars-v4/blob/master/vhdl/vhdl.g4 -->
-  <highlighting>
-    <list name="keywordsToplevel">
-      <item>file</item>
-      <item>library</item>
-      <item>use</item>
-      <item>with</item>
-    </list>
-
-    <list name="keywords">
-      <item>access</item>
-      <item>after</item>
-      <item>alias</item>
-      <item>all</item>
-      <item>array</item>
-      <item>assert</item>
-      <item>assume</item>
-      <item>assume_guarantee</item>
-      <item>attribute</item>
-      <item>begin</item>
-      <item>block</item>
-      <item>body</item>
-      <item>bus</item>
-      <item>case</item>
-      <item>component</item>
-      <item>constant</item>
-      <item>context</item>
-      <item>cover</item>
-      <item>default</item>
-      <item>disconnect</item>
-      <item>downto</item>
-      <item>else</item>
-      <item>elsif</item>
-      <item>end</item>
-      <item>fairness</item>
-      <item>falling_edge</item>
-      <item>file</item>
-      <item>for</item>
-      <item>force</item>
-      <item>function</item>
-      <item>generate</item>
-      <item>generic</item>
-      <item>group</item>
-      <item>guarded</item>
-      <item>if</item>
-      <item>impure</item>
-      <item>inertial</item>
-      <item>is</item>
-      <item>label</item>
-      <item>linkage</item>
-      <item>literal</item>
-      <item>map</item>
-      <item>new</item>
-      <item>null</item>
-      <item>of</item>
-      <item>on</item>
-      <item>open</item>
-      <item>others</item>
-      <item>parameter</item>
-      <item>port</item>
-      <item>postponed</item>
-      <item>procedure</item>
-      <item>process</item>
-      <item>property</item>
-      <item>protected</item>
-      <item>pure</item>
-      <item>range</item>
-      <item>record</item>
-      <item>register</item>
-      <item>reject</item>
-      <item>release</item>
-      <item>report</item>
-      <item>rising_edge</item>
-      <item>select</item>
-      <item>sequence</item>
-      <item>severity</item>
-      <item>signal</item>
-      <item>shared</item>
-      <item>strong</item>
-      <item>subtype</item>
-      <item>then</item>
-      <item>to</item>
-      <item>transport</item>
-      <item>type</item>
-      <item>unaffected</item>
-      <item>units</item>
-      <item>until</item>
-      <item>variable</item>
-      <item>vmode</item>
-      <item>vprop</item>
-      <item>vunit</item>
-      <item>wait</item>
-      <item>when</item>
-      <item>with</item>
-      <item>note</item>
-      <item>warning</item>
-      <item>error</item>
-      <item>failure</item>
-      <item>in</item>
-      <item>inout</item>
-      <item>out</item>
-      <item>buffer</item>
-      <item>and</item>
-      <item>abs</item>
-      <item>or</item>
-      <item>xor</item>
-      <item>xnor</item>
-      <item>not</item>
-      <item>mod</item>
-      <item>nand</item>
-      <item>nor</item>
-      <item>rem</item>
-      <item>rol</item>
-      <item>ror</item>
-      <item>sla</item>
-      <item>sra</item>
-      <item>sll</item>
-      <item>srl</item>
-    </list>
-
-    <list name="controls">
-      <item>exit</item>
-      <item>next</item>
-      <item>return</item>
-    </list>
-
-    <list name="signals">
-      <item>signal</item>
-      <item>variable</item>
-      <item>constant</item>
-      <item>type</item>
-      <item>attribute</item>
-    </list>
-
-    <list name="range">
-      <item>to</item>
-      <item>downto</item>
-      <item>others</item>
-    </list>
-
-    <list name="timeunits">
-      <item>fs</item>
-      <item>ps</item>
-      <item>ns</item>
-      <item>us</item>
-      <item>ms</item>
-      <item>sec</item>
-      <item>min</item>
-      <item>hr</item>
-    </list>
-
-
-    <list name="types">
-      <item>bit</item>
-      <item>bit_vector</item>
-      <item>character</item>
-      <item>boolean</item>
-      <item>boolean_vector</item>
-      <item>integer</item>
-      <item>integer_vector</item>
-      <item>real</item>
-      <item>real_vector</item>
-      <item>time</item>
-      <item>time_vector</item>
-      <item>delay_length</item>
-      <item>string</item>
-      <item>severity_level</item>
-      <item>positive</item>
-      <item>natural</item>
-      <item>file_open_kind</item>
-      <item>file_open_status</item>
-      <item>signed</item>
-      <item>unsigned</item>
-      <item>unresolved_unsigned</item>
-      <item>unresolved_signed</item>
-      <item>line</item>
-      <item>text</item>
-      <item>side</item>
-      <item>width</item>
-      <item>std_logic</item>
-      <item>std_logic_vector</item>
-      <item>std_ulogic</item>
-      <item>std_ulogic_vector</item>
-      <item>x01</item>
-      <item>x01z</item>
-      <item>ux01</item>
-      <item>ux01z</item>
-      <item>qsim_state</item>
-      <item>qsim_state_vector</item>
-      <item>qsim_12state</item>
-      <item>qsim_12state_vector</item>
-      <item>qsim_strength</item>
-      <item>mux_bit</item>
-      <item>mux_vector</item>
-      <item>reg_bit</item>
-      <item>reg_vector</item>
-      <item>wor_bit</item>
-      <item>wor_vector</item>
-    </list>
-
-
-    <contexts>
-
-<!-- start / global environment -->
-      <context name="start" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preDeclaration"/>
-
-        <WordDetect attribute="Control" context="entity" insensitive="1" String="entity"/>
-        <WordDetect attribute="Control" context="configuration" insensitive="1" String="configuration"/>
-        <WordDetect attribute="Control" context="architecture" insensitive="1" String="architecture"/>
-        <WordDetect attribute="Control" context="package" insensitive="1" String="package"/>
-
-        <keyword attribute="Keyword" context="#stay" String="keywordsToplevel"/>
-
-        <IncludeRules context="postDeclaration"/>
-      </context>
-
-
-      <context name="package" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Control" context="#pop!packagebody" insensitive="true" String="body"/>
-        <RegExpr attribute="Name" context="package_main" beginRegion="PackageRegion1"
-                 String="(&identifier;)"/>
-      </context>
-
-      <context name="package_main" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="package_decl">
-        <RegExpr attribute="Control" context="#pop#pop" dynamic="1" insensitive="1"
-                 String="&bos;end(\s+package\b)?(\s+%1)?\s*;" endRegion="PackageRegion1"/>
-        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
-                    String="end" endRegion="PackageRegion1"/>
-      </context>
-
-      <context name="package_decl" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preDeclaration"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="true" String="end" lookAhead="1"/>
-        <IncludeRules context="postDeclaration"/>
-      </context>
-
-      <!-- package body environment -->
-
-      <context name="packagebody" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
-        <IncludeRules context="blank"/>
-        <RegExpr attribute="Name" context="packagebody_main" beginRegion="PackageBodyRegion1"
-                 String="(&identifier;)"/>
-      </context>
-
-      <context name="packagebody_main" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="package_decl">
-        <RegExpr attribute="Control" context="#pop#pop" dynamic="1" insensitive="1"
-                 String="&bos;end(\s+package\s+body\b)?(\s+%1)?\s*;" endRegion="PackageBodyRegion1"/>
-        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
-                    String="end" endRegion="PackageBodyRegion1"/>
-      </context>
-
-<!--====ARCHITECTURE ===============-->
-      <context name="architecture" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="blank"/>
-        <RegExpr attribute="Name" context="arch_of" beginRegion="ArchitectureRegion1"
-                 String="(&identifier;)"/>
-      </context>
-
-      <context name="arch_of" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="arch_decl">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Keyword" context="arch_ref" insensitive="1" String="of"/>
-        <RegExpr attribute="Control" context="#pop#pop" insensitive="1" dynamic="1"
-                 String="&bos;end(\s+architecture\b)?(\s+%1)?\s*;" endRegion="ArchitectureRegion1"/>
-        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="1"
-                    String="end" endRegion="ArchitectureRegion1"/>
-      </context>
-
-      <context name="arch_ref" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!arch_decl">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Keyword" context="#pop!arch_decl" insensitive="1" String="is" />
-        <RegExpr attribute="Reference" context="#pop!arch_decl" String="&identifier;"/>
-      </context>
-
-      <context name="arch_decl" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preDeclaration"/>
-        <WordDetect attribute="Control" context="#pop!parallel_stmt" insensitive="true" String="begin"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="true" String="end" lookAhead="1"/>
-        <IncludeRules context="postDeclaration"/>
-      </context>
-
-<!--====if ===============-->
-      <context name="if_start" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="if_expr">
-        <RegExpr attribute="Control" context="#pop" insensitive="true" endRegion="IfRegion1"
-                 String="&bos;end\s+if(\s+&varname;)?\s*;"/>
-        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
-                    String="end" endRegion="IfRegion1"/>
-      </context>
-
-      <context name="if_expr" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="true" String="end" lookAhead="1"/>
-        <WordDetect attribute="Control" context="if_body" insensitive="true" String="then"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-      <context name="if_body" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_decl">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Control" context="#pop#pop" insensitive="true" String="end" lookAhead="1"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="true" String="elsif"/>
-        <WordDetect attribute="Control" context="#pop#pop!sequential_stmt" insensitive="true" String="else"/>
-        <IncludeRules context="sequentialStatementKw"/>
-        <IncludeRules context="label"/>
-      </context>
-
-<!--====case ===============-->
-      <context name="case" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Keyword" context="#pop!case_stmt" insensitive="true" String="is"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-      <context name="case_stmt" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="case_when">
-        <RegExpr attribute="Control" context="#pop" insensitive="true" endRegion="CaseRegion1"
-                 String="&bos;end\s+case(\s+&varname;)?\s*;"/>
-        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
-                    String="end" endRegion="CaseRegion1"/>
-      </context>
-
-      <context name="case_when" attribute="Normal Text" lineEndContext="#stay">
-        <Detect2Chars char="=" char1="&gt;" attribute="Operator" context="case_when2" beginRegion="CaseWhenRegion1"/>
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Control" insensitive="true" String="when" context="case_when_name"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-      <context name="case_when2" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_decl">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Control" context="#pop!case_when_name" insensitive="true" String="when" endRegion="CaseWhenRegion1"/>
-        <WordDetect attribute="Control" context="#pop#pop" insensitive="true" String="end" lookAhead="1" endRegion="CaseWhenRegion1"/>
-        <IncludeRules context="sequentialStatementKw"/>
-        <IncludeRules context="label"/>
-      </context>
-
-      <context name="case_when_name" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
-        <IncludeRules context="blank"/>
-        <DetectIdentifier attribute="Name" context="#pop"/>
-      </context>
-      <!-- 'when' and 'end case' are checked at the beginning of the line for better code folding -->
-
-<!--====while ===============-->
-      <context name="while" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Control" context="#pop!loop" insensitive="true" String="loop" beginRegion="LoopRegion1"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-<!--====loop ===============-->
-      <context name="loop" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt">
-        <RegExpr attribute="Control" context="#pop" insensitive="true" endRegion="LoopRegion1"
-                 String="&bos;end\s+loop(\s+&varname;)?\s*;"/>
-        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
-                    String="end" endRegion="LoopRegion1"/>
-      </context>
-
-<!--====declare ===============-->
-      <context name="declare" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Keyword" context="#pop!declare_begin" insensitive="true"
-                    String="begin"/>
-        <keyword attribute="Signal" context="signal" String="signals"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-      <context name="declare_begin" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt">
-        <RegExpr attribute="Keyword" context="#pop" insensitive="true" endRegion="DeclareRegion1"
-                 String="&bos;end(\s+declare)?\s*;"/>
-        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
-                    String="end" endRegion="DeclareRegion1"/>
-      </context>
-
-
-<!--====ENTITY ===============-->
-<!-- entity environment -->
-      <context name="entity" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
-        <IncludeRules context="blank"/>
-        <RegExpr attribute="Name" context="entity_main" beginRegion="EntityRegion1"
-                 String="(&identifier;)"/>
-      </context>
-
-      <context name="entity_main" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="entity_decl">
-        <RegExpr attribute="Control" context="#pop#pop" dynamic="1" insensitive="1"
-                 String="&bos;end(\s+entity\b)?(\s+%1)?\s*;" endRegion="EntityRegion1"/>
-        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
-                    String="end" endRegion="EntityRegion1"/>
-      </context>
-
-      <context name="entity_decl" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preDeclaration"/>
-        <WordDetect attribute="Control" context="#stay" insensitive="true" String="generic"/>
-        <WordDetect attribute="Control" context="#stay" insensitive="true" String="port"/>
-        <WordDetect attribute="Keyword" context="#pop!parallel_stmt" insensitive="true" String="begin"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="true" String="end" lookAhead="1"/>
-        <IncludeRules context="postDeclaration"/>
-      </context>
-
-<!--====Configuration ===============-->
-<!-- configuration environment -->
-      <context name="configuration" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
-        <IncludeRules context="blank"/>
-        <RegExpr attribute="Name" context="conf_of" beginRegion="ConfigurationRegion1"
-                 String="(&identifier;)"/>
-      </context>
-
-      <context name="conf_of" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="conf_is">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Keyword" context="conf_ref" insensitive="1" String="of"/>
-        <RegExpr attribute="Control" context="#pop#pop" insensitive="1" dynamic="1"
-                 String="&bos;end(\s+configuration\b)?(\s+%1)?\s*;" endRegion="ConfigurationRegion1"/>
-        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="1"
-                    String="end" endRegion="ConfigurationRegion1"/>
-      </context>
-
-      <context name="conf_ref" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!conf_decl">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Keyword" context="#pop!conf_decl" insensitive="1" String="is" />
-        <RegExpr attribute="Reference" context="#pop!conf_is" String="&identifier;"/>
-      </context>
-
-      <context name="conf_is" attribute="Control" lineEndContext="#stay" fallthroughContext="#pop#pop#pop">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Keyword" context="#pop!conf_decl" insensitive="1" String="is" />
-      </context>
-
-      <context name="conf_decl" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preDeclaration"/>
-        <WordDetect attribute="Control" context="conf_for" insensitive="1" String="for"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="1" lookAhead="1" String="end"/>
-        <IncludeRules context="postDeclaration"/>
-      </context>
-
-      <context name="conf_for" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preDeclaration"/>
-        <WordDetect attribute="Control" context="conf_for" insensitive="1" String="for"/>
-        <WordDetect attribute="Control" context="conf_for_end" insensitive="1" lookAhead="1" String="end"/>
-        <IncludeRules context="postDeclaration"/>
-      </context>
-
-      <context name="conf_for_end" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop#pop!expressionError">
-        <RegExpr attribute="Control" context="#pop#pop" insensitive="true"  String="&bos;end(\s+for\b)?\s*;"/>
-      </context>
-
-
-<!--====Basic Stuff ===============-->
-<!-- comment and spaces -->
-      <context name="blank" attribute="Normal Text" lineEndContext="#stay">
-        <DetectSpaces attribute="Normal Text" context="#stay"/>
-        <Detect2Chars attribute="Comment" context="comment" char="-" char1="-"/>
-      </context>
-
-<!-- declaration -->
-      <context name="preDeclaration" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="blank"/>
-        <AnyChar attribute="Operator" context="#stay" String="[&amp;&gt;&lt;=:+-*/|`].,"/>
-        <DetectChar attribute="Vector" context="string" char="&quot;"/>
-        <DetectChar attribute="Attribute" context="attribute" char="'"/>
-        <Int attribute="Integer" context="#stay"/>
-      </context>
-
-      <!-- must be synchronized with postDeclaration_pop_semi -->
-      <context name="postDeclaration" attribute="Normal Text" lineEndContext="#stay">
-        <WordDetect attribute="Signal" context="type" insensitive="1" String="type"/>
-        <WordDetect attribute="Redirection" context="function" insensitive="1" String="function"/>
-        <WordDetect attribute="Keyword" context="procedure" insensitive="1" String="procedure" beginRegion="ProcedureRegion1"/>
-        <WordDetect attribute="Control" context="component" insensitive="1" String="component"/>
-        <keyword attribute="Data Type" context="#stay" String="types"/>
-        <keyword attribute="Data Type" context="#stay" String="timeunits"/>
-        <keyword attribute="Signal" context="signal" String="signals"/>
-        <keyword attribute="Range" context="#stay" String="range"/>
-        <keyword attribute="Keyword" context="#stay" String="keywords"/>
-        <keyword attribute="Control" context="#stay" String="controls"/>
-        <DetectIdentifier attribute="Normal Text"/>
-      </context>
-
-      <!-- same as postDeclaration, but pops a context when ; is found -->
-      <context name="postDeclaration_pop_semi" attribute="Normal Text" lineEndContext="#stay">
-        <WordDetect attribute="Signal" context="#pop!type" insensitive="1" String="type"/>
-        <WordDetect attribute="Redirection" context="#pop!function" insensitive="1" String="function"/>
-        <WordDetect attribute="Keyword" context="#pop!procedure" insensitive="1" String="procedure" beginRegion="ProcedureRegion1"/>
-        <WordDetect attribute="Control" context="#pop!component" insensitive="1" String="component"/>
-        <keyword attribute="Data Type" context="#stay" String="types"/>
-        <keyword attribute="Data Type" context="#stay" String="timeunits"/>
-        <keyword attribute="Signal" context="#pop!signal" String="signals"/>
-        <keyword attribute="Range" context="#stay" String="range"/>
-        <keyword attribute="Keyword" context="#stay" String="keywords"/>
-        <keyword attribute="Control" context="#stay" String="controls"/>
-        <DetectIdentifier attribute="Normal Text"/>
-      </context>
-
-<!-- label -->
-      <context name="label" attribute="Normal Text" lineEndContext="#stay">
-        <RegExpr attribute="Name" context="after_label" String="\b(?!(process|constant|signal|variable)\b)&varname;(?=\s*:(?!=))"/>
-      </context>
-
-      <context name="after_label" attribute="Normal Text" lineEndContext="#stay">
-        <DetectChar attribute="Operator" context="#pop!instantiation_statement" char=":"/>
-        <DetectSpaces attribute="Normal Text"/>
-      </context>
-
-      <context name="instantiation_statement" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Keyword" context="#pop!instance" insensitive="1" String="component"/>
-        <WordDetect attribute="Keyword" context="#pop!instance" insensitive="1" String="entity"/>
-        <WordDetect attribute="Keyword" context="#pop!instance" insensitive="1" String="configuration"/>
-        <WordDetect attribute="Control" context="#pop!generate" insensitive="1" String="if"/>
-        <WordDetect attribute="Control" context="#pop!generate" insensitive="1" String="for"/>
-        <WordDetect attribute="Control" context="#pop!block" insensitive="1" String="block" beginRegion="BlockRegion1"/>
-        <WordDetect attribute="Process" context="#pop!process" insensitive="1" String="process" beginRegion="ProcessRegion1"/>
-        <WordDetect attribute="Keyword" context="#stay" insensitive="1" String="postponed"/>
-        <IncludeRules context="reference"/>
-      </context>
-
-<!-- parallel statement -->
-      <context name="parallel_stmt" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="parallel_stmt_decl">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="true" String="end" lookAhead="1"/>
-        <IncludeRules context="parallelStatementKw"/>
-        <IncludeRules context="label"/>
-      </context>
-
-      <context name="parallelStatementKw" attribute="Normal Text" lineEndContext="#stay">
-        <WordDetect attribute="Control" context="if_start" insensitive="1" String="if" beginRegion="IfRegion1"/>
-        <WordDetect attribute="Control" context="while" insensitive="1" String="for"/>
-        <WordDetect attribute="Control" context="while" insensitive="1" String="while"/>
-        <WordDetect attribute="Control" context="block" insensitive="1" String="block" beginRegion="BlockRegion1"/>
-        <WordDetect attribute="Process" context="process" insensitive="1" String="process" beginRegion="ProcessRegion1"/>
-        <WordDetect attribute="Keyword" context="#stay" insensitive="1" String="postponed"/>
-      </context>
-
-      <context name="parallel_stmt_decl" attribute="Normal Text" lineEndContext="#stay">
-        <DetectChar attribute="Normal Text" context="#pop" char=";"/>
-        <IncludeRules context="preDeclaration"/>
-        <WordDetect attribute="Keyword" context="#stay" insensitive="true" String="generic"/>
-        <WordDetect attribute="Keyword" context="#stay" insensitive="true" String="port"/>
-        <WordDetect attribute="Keyword" context="#stay" insensitive="true" String="map"/>
-        <IncludeRules context="postDeclaration_pop_semi"/>
-      </context>
-
-<!-- sequential statement -->
-      <context name="sequential_stmt" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_decl">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="true" String="end" lookAhead="1"/>
-        <IncludeRules context="sequentialStatementKw"/>
-        <IncludeRules context="label"/>
-      </context>
-
-      <context name="sequentialStatementKw" attribute="Normal Text" lineEndContext="#stay">
-        <WordDetect attribute="Control" context="if_start" insensitive="1" String="if" beginRegion="IfRegion1"/>
-        <WordDetect attribute="Control" context="case" insensitive="1" String="case" beginRegion="CaseRegion1"/>
-        <WordDetect attribute="Control" context="while" insensitive="1" String="for"/>
-        <WordDetect attribute="Control" context="while" insensitive="1" String="while"/>
-        <WordDetect attribute="Control" context="loop" insensitive="1" String="loop" beginRegion="LoopRegion1"/>
-        <WordDetect attribute="Keyword" context="declare" insensitive="1" String="declare" beginRegion="DeclareRegion1"/>
-      </context>
-
-      <context name="sequential_stmt_decl" attribute="Normal Text" lineEndContext="#stay">
-        <DetectChar attribute="Normal Text" context="#pop" char=";"/>
-        <IncludeRules context="preDeclaration"/>
-        <IncludeRules context="postDeclaration_pop_semi"/>
-      </context>
-
-<!-- if/for generate -->
-      <context name="generate" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Control" context="generate_decl" insensitive="1" String="generate" beginRegion="GenerateRegion1"/>
-        <!-- label: for ... loop -->
-        <WordDetect attribute="Control" context="#pop!loop" insensitive="1" String="loop" beginRegion="LoopRegion1"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-      <context name="generate_decl" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="generate_stmt">
-        <RegExpr attribute="Control" context="generate_els" insensitive="1"
-                 String="&bos;end\s*;"/>
-        <RegExpr attribute="Control" context="#pop#pop" insensitive="1"
-                 String="&bos;end(\s+generate\b)?(\s+&varname;)?\s*;" endRegion="GenerateRegion1"/>
-        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
-                    String="end" endRegion="GenerateRegion1"/>
-      </context>
-
-      <context name="generate_els" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Control" context="#pop!generate_stmt_els" insensitive="1" String="elsif"/>
-        <WordDetect attribute="Control" context="#pop!generate_stmt_els" insensitive="1" String="else"/>
-      </context>
-
-      <context name="generate_stmt" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_decl">
-        <IncludeRules context="preDeclaration"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="1" String="end" lookAhead="1"/>
-        <WordDetect attribute="Control" context="#pop!generate_body" insensitive="1" String="begin"/>
-        <WordDetect attribute="Control" context="#pop!generate_stmt_els" insensitive="1" String="elsif"/>
-        <WordDetect attribute="Control" context="#pop!generate_stmt_els" insensitive="1" String="else"/>
-        <IncludeRules context="sequentialStatementKw"/>
-        <IncludeRules context="label"/>
-        <IncludeRules context="postDeclaration"/>
-      </context>
-
-      <context name="generate_body" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_decl">
-        <IncludeRules context="parallel_stmt"/>
-      </context>
-
-      <context name="generate_stmt_els" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Control" context="#pop!generate_stmt" insensitive="1" String="generate"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-<!-- block -->
-      <context name="block" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="entity_decl">
-        <RegExpr attribute="Control" context="#pop#pop" insensitive="1"
-                 String="&bos;end(\s+block\b)?(\s+&varname;)?\s*;" endRegion="BlockRegion1"/>
-        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
-                    String="end" endRegion="BlockRegion1"/>
-      </context>
-
-<!-- process -->
-      <context name="process" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="process_decl">
-        <RegExpr attribute="Process" context="#pop" insensitive="1"
-                 String="&bos;end(\s+postponed)?(\s+process\b)?(\s+&varname;)?\s*;" endRegion="ProcessRegion1"/>
-        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
-                    String="end" endRegion="ProcessRegion1"/>
-      </context>
-
-      <context name="process_decl" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preDeclaration"/>
-        <WordDetect attribute="Process" context="#pop!sequential_stmt" insensitive="true" String="begin"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="true" String="end" lookAhead="1"/>
-        <IncludeRules context="postDeclaration"/>
-      </context>
-
-<!-- expression -->
-      <context name="preExpression" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preDeclaration"/>
-      </context>
-
-      <context name="postExpression" attribute="Normal Text" lineEndContext="#stay">
-        <keyword attribute="Data Type" context="#stay" String="types"/>
-        <keyword attribute="Data Type" context="#stay" String="timeunits"/>
-        <keyword attribute="Range" context="#stay" String="range"/>
-        <keyword attribute="Keyword" context="#stay" String="keywords"/>
-        <DetectIdentifier attribute="Normal Text"/>
-      </context>
-
-<!-- expression error -->
-      <context name="expressionError" attribute="Error" lineEndContext="#pop">
-        <Detect2Chars attribute="Comment" context="comment" char="-" char1="-"/>
-        <DetectChar attribute="Error" context="#pop" char=";"/>
-      </context>
-
-<!-- other environments -->
-      <context name="comment" attribute="Comment" lineEndContext="#pop">
-        <DetectSpaces />
-        <IncludeRules context="##Comments"/>
-      </context>
-
-      <context name="string" attribute="Vector" lineEndContext="#stay">
-        <DetectChar attribute="Vector" context="#pop" char="&quot;"/>
-      </context>
-
-      <context name="attribute" attribute="Attribute" lineEndContext="#pop">
-        <DetectChar attribute="Attribute" context="quot in att" char="&quot;"/>
-        <DetectChar attribute="Attribute" context="par in att" char="("/>
-        <DetectChar attribute="Normal Text" context="#pop" char=" "/>
-        <DetectChar attribute="Attribute" context="#pop" char="'"/>
-        <AnyChar attribute="Attribute" context="#pop" String=")=&lt;&gt;;" lookAhead="true" />
-       </context>
-
-      <context name="quot in att" attribute="Attribute" lineEndContext="#stay">
-        <DetectChar attribute="Attribute" context="#pop" char="&quot;"/>
-      </context>
-      <context name="par in att" attribute="Attribute" lineEndContext="#stay">
-        <DetectChar attribute="Attribute" context="#pop" char=")"/>
-      </context>
-
-      <context name="signal" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <DetectChar attribute="Normal Text" context="#pop" char=";"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-<!-- type -->
-      <context name="type" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Signal" context="type_is" insensitive="1" String="is"/>
-        <DetectIdentifier attribute="Normal Text"/>
-      </context>
-
-      <context name="type_is" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop#pop!signal">
-        <IncludeRules context="blank"/>
-        <WordDetect attribute="Keyword" context="#pop#pop!type_record" insensitive="1" String="record" beginRegion="sig"/>
-        <WordDetect attribute="Keyword" context="#pop#pop!type_range" insensitive="1" String="range"/>
-      </context>
-
-<!-- type range -->
-      <context name="type_range" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <DetectChar attribute="Normal Text" context="#pop" char=";"/>
-        <WordDetect attribute="Control" context="type_range_units" insensitive="1" String="units" beginRegion="UnitRegion1"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-      <context name="type_range_units" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="type_body">
-        <RegExpr attribute="Control" context="#pop#pop" insensitive="1"
-                 String="&bos;end\s+units(\s+&varname;)?\s*;" endRegion="UnitRegion1"/>
-        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
-                    String="end" endRegion="UnitRegion1"/>
-      </context>
-
-      <context name="type_body" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect context="#pop" insensitive="true" String="end" lookAhead="1"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-<!-- type record -->
-      <context name="type_record" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="type_body">
-        <IncludeRules context="blank"/>
-        <RegExpr attribute="Keyword" context="#pop" insensitive="1"
-                 String="&bos;end\s+record;" endRegion="sig"/>
-        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
-                    String="end" endRegion="sig"/>
-      </context>
-
-<!-- function -->
-      <context name="function" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="function_name">
-        <IncludeRules context="blank"/>
-        <DetectIdentifier attribute="Name" context="function_name"/>
-      </context>
-
-      <context name="function_name" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Control" context="function_return" insensitive="true" String="return"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-      <context name="function_return" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="blank"/>
-        <DetectChar attribute="Normal Text" context="#pop#pop#pop" char=";"/>
-        <WordDetect attribute="Keyword" context="#pop#pop#pop!function_is" insensitive="1" String="is" beginRegion="FunctionRegion1"/>
-        <keyword attribute="Data Type" context="#stay" String="types"/>
-      </context>
-
-      <context name="function_is" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Redirection" context="#pop!function_begin" insensitive="true"
-                    String="begin"/>
-        <keyword attribute="Signal" context="signal" String="signals"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-      <context name="function_begin" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt">
-        <RegExpr attribute="Redirection" context="#pop" insensitive="1"
-                 String="&bos;end(\s+function\b)?(\s+(&varname;|&quot;[^&quot;]+&quot;))?\s*;" endRegion="FunctionRegion1"/>
-        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
-                    String="end" endRegion="FunctionRegion1"/>
-      </context>
-
-<!-- procedure -->
-      <context name="procedure" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="blank"/>
-        <DetectIdentifier attribute="Name" context="procedure_name"/>
-      </context>
-
-      <context name="procedure_name" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Control" context="#pop#pop!procedure_is" insensitive="true" String="is"/>
-        <keyword attribute="Signal" context="signal" String="signals"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-      <context name="procedure_is" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Keyword" context="#pop!procedure_begin" insensitive="true"
-                    String="begin" endRegion="ProcedureRegion1" beginRegion="ProcedureRegion1"/>
-        <keyword attribute="Signal" context="signal" String="signals"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-      <context name="procedure_begin" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt">
-        <RegExpr attribute="Keyword" context="#pop" insensitive="1"
-                 String="&bos;end(\s+procedure)?(\s+&varname;)?\s*;" endRegion="ProcedureRegion1"/>
-        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
-                    String="end" endRegion="ProcedureRegion1"/>
-      </context>
-
-<!-- component -->
-      <context name="component" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
-        <IncludeRules context="blank"/>
-        <RegExpr attribute="Name" context="component_main" beginRegion="ComponentRegion1"
-                 String="(&identifier;)"/>
-      </context>
-
-      <context name="component_main" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="component_body">
-        <RegExpr attribute="Control" context="#pop#pop" dynamic="1" insensitive="1"
-                 String="&bos;end\s+component\b(\s+%1)?\s*;" endRegion="ComponentRegion1"/>
-        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
-                    String="end" endRegion="ComponentRegion1"/>
-      </context>
-
-      <context name="component_body" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Control" context="#stay" insensitive="true" String="generic"/>
-        <WordDetect attribute="Control" context="#stay" insensitive="true" String="port"/>
-        <WordDetect attribute="Control" context="#pop" insensitive="true" String="end" lookAhead="1"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-
-<!-- label: configuration ref -->
-<!-- label: component ref -->
-<!-- label: entity ref -->
-<!-- label: ref -->
-      <context name="instance" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
-        <IncludeRules context="blank"/>
-        <IncludeRules context="reference"/>
-      </context>
-
-      <context name="reference" attribute="Normal Text" lineEndContext="#stay">
-        <RegExpr attribute="Reference" context="instance_body" beginRegion="InstanceRegion1"
-                 String="&varname;(\s*\.\s*&varname;)?"/>
-      </context>
-
-      <context name="instance_body" attribute="Normal Text" lineEndContext="#stay">
-        <DetectChar attribute="Normal Text" context="#pop#pop" char=";" endRegion="InstanceRegion1"/>
-        <IncludeRules context="preExpression"/>
-        <WordDetect attribute="Control" context="#pop#pop" insensitive="true" String="end" lookAhead="1"/>
-        <RegExpr attribute="Keyword" context="instance_map_start" insensitive="true" beginRegion="InstanceMapRegion" String="&bos;(port|generic)\s+map\s*(?=\()"/>
-        <IncludeRules context="postExpression"/>
-      </context>
-      <context name="instance_map_start" attribute="Normal Text" lineEndContext="#stay">
-        <DetectChar attribute="Normal Text" context="#pop!instance_map" char="("/>
-      </context>
-
-      <!-- Inside a port or generic map -->
-      <context name="instance_map" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preDeclaration"/>
-        <AnyChar attribute="Error" context="#stay" String="&lt;;:"/>
-        <DetectChar attribute="Normal Text" context="#pop" char=")" endRegion="InstanceMapRegion"/>
-        <DetectChar attribute="Normal Text" context="instance_inner_par" char="("/>
-        <IncludeRules context="postDeclaration"/>
-      </context>
-
-      <!-- Inside parantheses inside a map -->
-      <context name="instance_inner_par" attribute="Normal Text" lineEndContext="#stay">
-        <IncludeRules context="preDeclaration"/>
-        <DetectChar attribute="Error" context="#stay" char=";"/>
-        <DetectChar attribute="Normal Text" context="#pop" char=")"/>
-        <DetectChar attribute="Normal Text" context="instance_inner_par" char="("/>
-        <IncludeRules context="postDeclaration"/>
-      </context>
-
-    </contexts>
-    <itemDatas>
-      <itemData name="Normal Text" defStyleNum="dsNormal"/>
-      <itemData name="Keyword" defStyleNum="dsKeyword"/>
-      <itemData name="Data Type" defStyleNum="dsDataType"/>
-      <itemData name="Comment" defStyleNum="dsComment"/>
-      <itemData name="Integer" defStyleNum="dsDecVal"/>
+  <!ENTITY varname  "[A-Za-z_][A-Za-z0-9_]*">
+  <!ENTITY identifier "(?:\b&varname;\b|\\[^\\]*\\)">
+  <!ENTITY designator "(?:\b&varname;\b|\\[^\\]*\\|&quot;[^&quot;]*&quot;)">
+  <!ENTITY label    "\b&varname;(?=\s*:(?!=))">
+  <!ENTITY bos      "\b">                        <!-- bol or space following -->
+]>
+<language name="VHDL" version="16" kateversion="5.62" 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)">
+  <!-- BNF: https://github.com/antlr/grammars-v4/blob/master/vhdl/vhdl.g4 (VHDL-2005) -->
+  <!-- Based on VHDL-2008 -->
+  <highlighting>
+    <list name="keywordsToplevel">
+      <item>file</item>
+      <item>library</item>
+      <item>use</item>
+      <item>with</item>
+    </list>
+
+    <list name="keywords">
+      <item>access</item>
+      <item>after</item>
+      <item>alias</item>
+      <item>all</item>
+      <item>array</item>
+      <item>assert</item>
+      <item>assume</item>
+      <item>assume_guarantee</item>
+      <item>attribute</item>
+      <item>begin</item>
+      <item>block</item>
+      <item>body</item>
+      <item>bus</item>
+      <item>case</item>
+      <item>component</item>
+      <item>constant</item>
+      <item>context</item>
+      <item>cover</item>
+      <item>default</item>
+      <item>disconnect</item>
+      <item>downto</item>
+      <item>else</item>
+      <item>elsif</item>
+      <item>end</item>
+      <item>fairness</item>
+      <item>falling_edge</item>
+      <item>false</item>
+      <item>file</item>
+      <item>for</item>
+      <item>force</item>
+      <item>function</item>
+      <item>generate</item>
+      <item>generic</item>
+      <item>group</item>
+      <item>guarded</item>
+      <item>if</item>
+      <item>impure</item>
+      <item>inertial</item>
+      <item>is</item>
+      <item>label</item>
+      <item>linkage</item>
+      <item>literal</item>
+      <item>map</item>
+      <item>new</item>
+      <item>null</item>
+      <item>of</item>
+      <item>on</item>
+      <item>open</item>
+      <item>others</item>
+      <item>package</item>
+      <item>parameter</item>
+      <item>port</item>
+      <item>postponed</item>
+      <item>procedure</item>
+      <item>process</item>
+      <item>property</item>
+      <item>protected</item>
+      <item>pure</item>
+      <item>range</item>
+      <item>record</item>
+      <item>register</item>
+      <item>reject</item>
+      <item>release</item>
+      <item>report</item>
+      <item>rising_edge</item>
+      <item>select</item>
+      <item>sequence</item>
+      <item>severity</item>
+      <item>signal</item>
+      <item>shared</item>
+      <item>strong</item>
+      <item>subtype</item>
+      <item>then</item>
+      <item>to</item>
+      <item>transport</item>
+      <item>true</item>
+      <item>type</item>
+      <item>use</item>
+      <item>unaffected</item>
+      <item>units</item>
+      <item>until</item>
+      <item>variable</item>
+      <item>view</item>
+      <item>vmode</item>
+      <item>vprop</item>
+      <item>vunit</item>
+      <item>wait</item>
+      <item>when</item>
+      <item>with</item>
+      <item>note</item>
+      <item>warning</item>
+      <item>error</item>
+      <item>failure</item>
+      <item>in</item>
+      <item>inout</item>
+      <item>out</item>
+      <item>buffer</item>
+      <item>and</item>
+      <item>abs</item>
+      <item>or</item>
+      <item>xor</item>
+      <item>xnor</item>
+      <item>not</item>
+      <item>mod</item>
+      <item>nand</item>
+      <item>nor</item>
+      <item>rem</item>
+      <item>rol</item>
+      <item>ror</item>
+      <item>sla</item>
+      <item>sra</item>
+      <item>sll</item>
+      <item>srl</item>
+    </list>
+
+    <list name="controls">
+      <item>exit</item>
+      <item>next</item>
+      <item>return</item>
+    </list>
+
+    <list name="signals">
+      <item>signal</item>
+      <item>variable</item>
+      <item>constant</item>
+      <item>type</item>
+      <item>attribute</item>
+    </list>
+
+    <list name="range">
+      <item>to</item>
+      <item>downto</item>
+      <item>others</item>
+    </list>
+
+    <list name="timeunits">
+      <item>fs</item>
+      <item>ps</item>
+      <item>ns</item>
+      <item>us</item>
+      <item>ms</item>
+      <item>sec</item>
+      <item>min</item>
+      <item>hr</item>
+    </list>
+
+    <list name="types">
+      <item>bit</item>
+      <item>bit_vector</item>
+      <item>character</item>
+      <item>boolean</item>
+      <item>boolean_vector</item>
+      <item>integer</item>
+      <item>integer_vector</item>
+      <item>real</item>
+      <item>real_vector</item>
+      <item>time</item>
+      <item>time_vector</item>
+      <item>delay_length</item>
+      <item>string</item>
+      <item>severity_level</item>
+      <item>positive</item>
+      <item>natural</item>
+      <item>file_open_kind</item>
+      <item>file_open_status</item>
+      <item>signed</item>
+      <item>unsigned</item>
+      <item>unresolved_unsigned</item>
+      <item>unresolved_signed</item>
+      <item>line</item>
+      <item>text</item>
+      <item>side</item>
+      <item>width</item>
+      <item>std_logic</item>
+      <item>std_logic_vector</item>
+      <item>std_ulogic</item>
+      <item>std_ulogic_vector</item>
+      <item>x01</item>
+      <item>x01z</item>
+      <item>ux01</item>
+      <item>ux01z</item>
+      <item>qsim_state</item>
+      <item>qsim_state_vector</item>
+      <item>qsim_12state</item>
+      <item>qsim_12state_vector</item>
+      <item>qsim_strength</item>
+      <item>mux_bit</item>
+      <item>mux_vector</item>
+      <item>reg_bit</item>
+      <item>reg_vector</item>
+      <item>wor_bit</item>
+      <item>wor_vector</item>
+    </list>
+
+    <list name="instantiated">
+      <item>configuration</item>
+      <item>component</item>
+      <item>entity</item>
+    </list>
+
+    <contexts>
+
+
+<!-- start / global environment -->
+      <context name="start" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+
+        <WordDetect attribute="Control" context="entity" insensitive="1" String="entity"/>
+        <WordDetect attribute="Control" context="configuration" insensitive="1" String="configuration"/>
+        <WordDetect attribute="Control" context="architecture" insensitive="1" String="architecture"/>
+        <WordDetect attribute="Control" context="package" insensitive="1" String="package"/>
+        <WordDetect attribute="Keyword" context="context" insensitive="1" String="context"/>
+
+        <keyword attribute="Keyword" context="#stay" String="keywordsToplevel"/>
+
+        <WordDetect attribute="Signal" context="type" insensitive="1" String="type"/>
+        <WordDetect attribute="Redirection" context="function" insensitive="1" String="function"/>
+        <WordDetect attribute="Keyword" context="procedure" insensitive="1" String="procedure" beginRegion="ProcedureRegion1"/>
+        <WordDetect attribute="Control" context="component" insensitive="1" String="component"/>
+        <WordDetect attribute="Keyword" context="view" insensitive="1" String="view" beginRegion="sig"/>
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <keyword attribute="Data Type" context="#stay" String="timeunits"/>
+        <keyword attribute="Range" context="#stay" String="range"/>
+        <keyword attribute="Signal" context="signal" String="signals"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+        <keyword attribute="Control" context="#stay" String="controls"/>
+        <DetectIdentifier attribute="Normal Text"/>
+      </context>
+
+<!--
+package ::=
+    *package* identifier *is* *new* name
+        [ *generic* *map* ( association_list ) ] ;
+
+  | *package* identifier *is*
+        [ *generic* ( interface_list ) ;
+        [ *generic* *map* ( association_list ) ; ] ]
+        { package_declarative_item }
+    *end* [ *package* ] [ identifier ] ;
+
+  | *package *body* identifier *is*
+        { process_declarative_item }
+    *end* [ *package* *body* ] [ identifier ] ;
+-->
+      <context name="package" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Control" context="#pop!packagebody" insensitive="true" String="body"/>
+        <RegExpr attribute="Name" context="package_main" beginRegion="PackageRegion1"
+                 String="(&identifier;)"/>
+      </context>
+
+      <context name="package_main" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="package_is">
+        <RegExpr attribute="Control" context="#pop#pop" dynamic="1" insensitive="1"
+                 String="&bos;end(\s+package\b)?(\s+%1)?\s*;" endRegion="PackageRegion1"/>
+        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
+                    String="end" endRegion="PackageRegion1"/>
+      </context>
+
+      <context name="package_is" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!package_decl">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" insensitive="1" String="is"/>
+        <WordDetect attribute="Keyword" insensitive="1" String="new" context="#pop#pop#pop!package_is_new"/>
+      </context>
+
+      <context name="package_is_new" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!package_is_new_main">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="pop_end"/>
+        <DetectIdentifier attribute="Name" context="#pop!package_is_new_main"/>
+        <RangeDetect attribute="Name" context="#pop!package_is_new_main" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Name" context="#pop!package_is_new_main" char="\" char1="\"/>
+      </context>
+
+      <context name="package_is_new_main" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="blank"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=";" endRegion="PackageRegion1"/>
+        <DetectChar attribute="Operator" char="."/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="find_instantiated_map"/>
+      </context>
+
+      <context name="package_decl" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!package_declarative_list">
+        <IncludeRules context="blank"/>
+        <DetectChar attribute="Normal Text" char=";"/>
+        <IncludeRules context="enclosed_interface_list"/>
+        <IncludeRules context="find_instantiated_map"/>
+        <WordDetect attribute="Control" insensitive="true" String="generic"/>
+      </context>
+
+      <context name="package_declarative_list" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="package_declarative_start_expr"/>
+        <IncludeRules context="start_simple_expr"/>
+      </context>
+
+      <!-- package body environment -->
+
+      <context name="packagebody" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <IncludeRules context="blank"/>
+        <RegExpr attribute="Name" context="packagebody_main" beginRegion="PackageBodyRegion1"
+                 String="(&identifier;)"/>
+      </context>
+
+      <context name="packagebody_main" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="packagebody_is">
+        <RegExpr attribute="Control" context="#pop#pop" dynamic="1" insensitive="1"
+                 String="&bos;end(\s+package\s+body\b)?(\s+%1)?\s*;" endRegion="PackageBodyRegion1"/>
+        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
+                    String="end" endRegion="PackageBodyRegion1"/>
+      </context>
+
+      <context name="packagebody_is" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!package_declarative_list">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" context="#pop!package_declarative_list" insensitive="1" String="is"/>
+      </context>
+
+<!--
+architecture ::=
+    *architecture* identifier *of* name *is*
+        { block_declarative_item }
+    *begin*
+        { concurrent_statement }
+    *end* [ *architecture* ] [ identifier ] ;
+-->
+      <context name="architecture" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="blank"/>
+        <RegExpr attribute="Name" context="arch_end" beginRegion="ArchitectureRegion1"
+                 String="(&identifier;)"/>
+      </context>
+
+      <context name="arch_end" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="arch_of">
+        <RegExpr attribute="Control" context="#pop#pop" insensitive="1" dynamic="1"
+                 String="&bos;end(\s+architecture\b)?(\s+%1)?\s*;" endRegion="ArchitectureRegion1"/>
+        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="1"
+                    String="end" endRegion="ArchitectureRegion1"/>
+      </context>
+
+      <context name="arch_of" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!block_declarative_stmt">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" context="#pop!arch_ref" insensitive="1" String="of"/>
+      </context>
+
+      <context name="arch_ref" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!block_declarative_stmt">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" context="#pop!block_declarative_stmt" insensitive="1" String="is" />
+        <IncludeRules context="reference"/>
+      </context>
+
+      <context name="reference" attribute="Normal Text" lineEndContext="#stay">
+        <DetectIdentifier attribute="Reference"/>
+        <RangeDetect attribute="Reference" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Reference" char="\" char1="\"/>
+        <DetectChar attribute="Reference" char="."/>
+      </context>
+
+<!-- { block_declarative_item } -->
+      <context name="block_declarative_stmt" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="block_declarative_start_expr"/>
+        <WordDetect attribute="Control" context="#pop!concurrent_stmt" insensitive="1" String="begin"/>
+        <IncludeRules context="start_simple_expr"/>
+      </context>
+
+      <context name="block_declarative_start_expr" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="package_declarative_start_expr"/>
+        <WordDetect attribute="Control" context="for_block_decl" insensitive="1" String="for" beginRegion="LoopRegion1"/>
+      </context>
+
+      <context name="package_declarative_start_expr" attribute="Normal Text" lineEndContext="#stay">
+        <WordDetect attribute="Control" context="component" insensitive="1" String="component"/>
+        <IncludeRules context="process_declarative_start_expr"/>
+      </context>
+
+      <context name="process_declarative_start_expr" attribute="Normal Text" lineEndContext="#stay">
+        <WordDetect attribute="Control" context="package" insensitive="1" String="package"/>
+        <WordDetect attribute="Signal" context="type" insensitive="1" String="type"/>
+        <WordDetect attribute="Redirection" context="function" insensitive="1" String="function"/>
+        <WordDetect attribute="Keyword" context="procedure" insensitive="1" String="procedure" beginRegion="ProcedureRegion1"/>
+        <!-- *shared* *variable* ... -->
+        <WordDetect attribute="Keyword" insensitive="1" String="shared"/>
+        <!-- *impure* *function* ... -->
+        <WordDetect attribute="Keyword" insensitive="1" String="impure"/>
+        <!-- *pure* *function* ... -->
+        <WordDetect attribute="Keyword" insensitive="1" String="pure"/>
+        <WordDetect attribute="Keyword" context="view" insensitive="1" String="view" beginRegion="sig"/>
+        <keyword attribute="Signal" context="signal" String="signals"/>
+      </context>
+
+      <context name="start_simple_expr" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="pop_end"/>
+        <keyword attribute="Keyword" context="sequential_stmt_expr" String="keywords"/>
+        <DetectIdentifier attribute="Normal Text" context="sequential_stmt_expr"/>
+      </context>
+
+      <context name="start_simple_expr_then_pop" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="pop_end"/>
+        <keyword attribute="Keyword" context="#pop!sequential_stmt_expr" String="keywords"/>
+        <DetectIdentifier attribute="Normal Text" context="#pop!sequential_stmt_expr"/>
+      </context>
+
+<!-- { concurrent_statement } -->
+      <context name="concurrent_stmt" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="concurrent_stmt_item">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="concurrent_label"/>
+      </context>
+
+      <context name="concurrent_label" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Name" context="concurrent_stmt_label" String="\b(?!(process|constant|signal|variable)\b)&label;"/>
+      </context>
+
+      <context name="concurrent_stmt_label" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar attribute="Operator" context="#pop!concurrent_stmt_labelized_item" char=":"/>
+        <DetectSpaces attribute="Normal Text"/>
+      </context>
+
+      <context name="concurrent_stmt_labelized_item" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Control" context="#pop!case_generate" insensitive="1" String="case" beginRegion="CaseRegion1"/>
+        <WordDetect attribute="Control" context="#pop!for_generate" insensitive="1" String="for" beginRegion="LoopRegion1"/>
+        <WordDetect attribute="Control" context="#pop!if_generate" insensitive="1" String="if" beginRegion="IfRegion1"/>
+        <keyword attribute="Keyword" context="#pop!instantiated_unit" String="instantiated"/>
+        <IncludeRules context="concurrent_stmt_item_start"/>
+        <IncludeRules context="instantiated_unit_name"/>
+        <DetectIdentifier attribute="Normal Text" context="#pop!sequential_stmt_expr"/>
+      </context>
+
+      <context name="concurrent_stmt_item" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="concurrent_stmt_item_start"/>
+        <DetectIdentifier attribute="Normal Text" context="#pop!sequential_stmt_expr"/>
+      </context>
+
+      <context name="concurrent_stmt_item_start" attribute="Normal Text" lineEndContext="#stay">
+        <WordDetect attribute="Keyword" context="#stay" insensitive="1" String="postponed"/>
+        <WordDetect attribute="Control" context="#pop!package" insensitive="1" String="package"/>
+        <WordDetect attribute="Signal" context="#pop!type" insensitive="1" String="type"/>
+        <WordDetect attribute="Redirection" context="#pop!function" insensitive="1" String="function"/>
+        <WordDetect attribute="Keyword" context="#pop!procedure" insensitive="1" String="procedure" beginRegion="ProcedureRegion1"/>
+        <WordDetect attribute="Process" context="#pop!process" insensitive="1" String="process" beginRegion="ProcessRegion1"/>
+        <WordDetect attribute="Control" context="#pop!block" insensitive="1" String="block" beginRegion="BlockRegion1"/>
+        <WordDetect attribute="Keyword" context="#pop!view" insensitive="1" String="view"/>
+        <keyword attribute="Signal" context="#pop!signal" String="signals" beginRegion="sig"/>
+        <IncludeRules context="sequential_stmt_item_start"/>
+        <keyword attribute="Keyword" context="#pop!sequential_stmt_expr" String="keywords"/>
+      </context>
+
+<!--
+block_declarative_item_for ::=
+    *for* instantiation_list : name
+        [ *use* entity_aspect ]
+        [ generic_map_aspect ]
+        [ port_map_aspect ] ;
+    [ block_declarative_item_for_end ]
+
+block_declarative_item_for ::=
+        [ *use* *vunit* name_list ;
+          { *use* *vunit* name_list ; } ]
+      *end* *for* ;
+    | *end* *for* ;
+-->
+      <context name="for_block_decl" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <DetectChar attribute="Normal Text" context="#pop!for_block_unit" char=";" endRegion="InstanceRegion1"/>
+        <WordDetect context="#pop!expressionError" insensitive="1" String="end"/>
+        <IncludeRules context="find_instantiated_map"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+      <context name="for_block_unit" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!for_block_end_region">
+        <IncludeRules context="blank"/>
+        <WordDetect context="sequential_stmt_expr" insensitive="1" String="use"/>
+        <WordDetect context="for_block_end" insensitive="1" String="end"/>
+      </context>
+
+      <context name="for_block_end" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Control" context="#pop#pop" insensitive="1"
+                 String="&bos;end\s+for\s*;" endRegion="LoopRegion1"/>
+        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="1"
+                    String="end" endRegion="LoopRegion1"/>
+      </context>
+
+      <context name="for_block_end_region" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr context="#pop" String="." lookAhead="1" endRegion="LoopRegion1"/>
+      </context>
+
+<!--
+instantiated ::=
+    instantiated_unit
+    instantiated_unit_decl
+
+instantiated_unit ::=
+      [ *component* ] name
+    | *entity* name [ ( identifier ) ]
+    | *configuration* name
+
+instantiated_unit_decl ::=
+    [ generic_map_aspect ] [ port_map_aspect ] ;
+
+port_map_aspect ::=
+    *port* *map* ( association_list )
+
+generic_map_aspect ::=
+    *generic* *map* ( association_list )
+-->
+      <context name="instantiated_unit" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!instantiated_unit_decl">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="instantiated_unit_name"/>
+      </context>
+
+      <context name="instantiated_unit_name" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Reference" context="#pop!instantiated_unit_decl" String="&varname;(\s*\.\s*&varname;)?" beginRegion="InstanceRegion1"/>
+      </context>
+
+      <context name="instantiated_unit_decl" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!end_instance_region">
+        <IncludeRules context="blank"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=";" endRegion="InstanceRegion1"/>
+        <!-- *entity* name ( identifier ) -->
+        <!--               ^_____________ -->
+        <DetectChar attribute="Normal Text" context="instantiated_unit_identifier" char="("/>
+        <IncludeRules context="find_instantiated_map"/>
+      </context>
+
+      <context name="find_instantiated_map" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Keyword" context="instance_map_start" insensitive="true" String="&bos;(port|generic)\s+map\b\s*"/>
+      </context>
+
+      <context name="instantiated_unit_identifier" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop#pop!end_instance_region">
+        <IncludeRules context="blank"/>
+        <DetectChar attribute="Error" context="#pop" char=")"/>
+        <RegExpr attribute="Normal Text" context="#pop!instantiated_unit_identifier_end" String="&identifier;"/>
+      </context>
+      <context name="instantiated_unit_identifier_end" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop#pop!end_instance_region">
+        <IncludeRules context="blank"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=")"/>
+      </context>
+
+      <context name="end_instance_region" attribute="Normal Text" lineEndContext="#stay">
+        <WordDetect context="#pop" insensitive="1" String="end" lookAhead="1" endRegion="InstanceRegion1"/>
+        <DetectIdentifier context="#pop" lookAhead="1" endRegion="InstanceRegion1"/>
+        <RegExpr context="#pop" String="." lookAhead="1" endRegion="InstanceRegion1"/>
+      </context>
+
+      <context name="instance_map_start" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <IncludeRules context="blank"/>
+        <DetectChar attribute="Normal Text" context="#pop!instance_map" char="(" beginRegion="InstanceMapRegion"/>
+      </context>
+
+      <!-- Inside a port or generic map -->
+      <context name="instance_map" attribute="Normal Text" lineEndContext="#stay">
+        <AnyChar attribute="Error" context="#stay" String="&lt;;:"/>
+        <IncludeRules context="preExpression"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=")" endRegion="InstanceMapRegion"/>
+        <IncludeRules context="enclosed_association_list"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+<!--
+if ::=
+    *if* expression *then*
+        { sequential_statement }
+    { *elsif* expression *then*
+        { sequential_statement } }
+    [ *else*
+        { sequential_statement } ]
+    *end* *if* [ label ] ;
+-->
+      <context name="if_start" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="if_expr">
+        <RegExpr attribute="Control" context="#pop" insensitive="true" endRegion="IfRegion1"
+                 String="&bos;end\s+if(\s+&varname;)?\s*;"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="IfRegion1"/>
+      </context>
+
+      <context name="if_expr" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <IncludeRules context="pop_end"/>
+        <WordDetect attribute="Control" context="if_body" insensitive="true" String="then"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+      <context name="if_body" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_item">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Control" context="#pop" insensitive="true" String="elsif"/>
+        <WordDetect attribute="Control" context="#pop#pop!sequential_stmt" insensitive="true" String="else"/>
+        <WordDetect attribute="Control" context="#pop#pop" insensitive="true" String="end" lookAhead="1"/>
+        <IncludeRules context="sequential_label"/>
+      </context>
+
+<!--
+case ::=
+    *case* [ ? ] expression *is*
+        *when* choices => { sequential_statement }
+        { *when* choices => { sequential_statement } }
+    *end* *case* [ ? ] [ label ] ;
+-->
+      <context name="case" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="case_expr">
+        <RegExpr attribute="Control" context="#pop" insensitive="true" endRegion="CaseRegion1"
+                 String="&bos;end\s+case(\s*[?])?(?:\s*\b&varname;)?\s*;"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="CaseRegion1"/>
+      </context>
+
+      <context name="case_expr" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <IncludeRules context="pop_end"/>
+        <WordDetect attribute="Keyword" context="#pop!case_is" insensitive="true" String="is"/>
+        <DetectChar char=";" attribute="Normal Text" context="#pop!case_body" beginRegion="CaseWhenRegion1"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+      <context name="case_is" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!case_when">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Control" context="#pop!case_when" insensitive="true" String="when"/>
+      </context>
+
+      <context name="case_when" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars char="=" char1="&gt;" attribute="Operator" context="#pop!case_body" beginRegion="CaseWhenRegion1"/>
+        <IncludeRules context="preExpression"/>
+        <DetectChar char=";" attribute="Normal Text" context="#pop!case_body" beginRegion="CaseWhenRegion1"/>
+        <IncludeRules context="case_when_post_expr"/>
+      </context>
+
+      <context name="case_when_post_expr" attribute="Normal Text" lineEndContext="#stay">
+        <WordDetect attribute="Keyword" insensitive="1" String="others"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="keywordExpression"/>
+        <DetectIdentifier attribute="Name"/>
+      </context>
+
+      <context name="case_body" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_item">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Control" context="#pop!case_when" insensitive="1" String="when" endRegion="CaseWhenRegion1"/>
+        <WordDetect context="#pop" insensitive="1" String="end" lookAhead="1" endRegion="CaseWhenRegion1"/>
+        <IncludeRules context="sequential_label"/>
+      </context>
+      <!-- 'when' and 'end case' are checked at the beginning of the line for better code folding -->
+
+<!--
+while ::=
+    *while* expression *loop*
+        { sequential_statement }
+    *end* *loop* [ label ] ;
+
+for ::=
+    *for* identifier *in* discrete_range *loop*
+        { sequential_statement }
+    *end* *loop* [ label ] ;
+-->
+      <context name="while" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <WordDetect attribute="Control" context="#pop!loop" insensitive="true" String="loop" beginRegion="LoopRegion1"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+<!--
+loop ::=
+    *loop*
+        { sequential_statement }
+    *end* *loop* [ label ] ;
+-->
+      <context name="loop" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt">
+        <RegExpr attribute="Control" context="#pop" insensitive="true" endRegion="LoopRegion1"
+                 String="&bos;end\s+loop(\s+&varname;)?\s*;"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="LoopRegion1"/>
+      </context>
+
+<!--====declare ===============-->
+      <context name="declare" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="block_body">
+        <RegExpr attribute="Keyword" context="#pop" insensitive="true" endRegion="DeclareRegion1"
+                 String="&bos;end(\s+declare)?\s*;"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="DeclareRegion1"/>
+      </context>
+
+<!--
+entity ::=
+    *entity* identifier *is*
+        [ entity_header ]
+        { entity_declarative_item }
+    [ *begin*
+        { entity_statement } ]
+    *end* [ *entity* ] [ identifier ] ;
+
+entity_header ::=
+    [ *generic* ( interface_list ) ; ]
+    [ *port* ( interface_list ) ; ]
+-->
+      <context name="entity" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <IncludeRules context="blank"/>
+        <RegExpr attribute="Name" context="entity_main" beginRegion="EntityRegion1"
+                 String="(&identifier;)"/>
+      </context>
+
+      <context name="entity_main" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="entity_header">
+        <RegExpr attribute="Control" context="#pop#pop" dynamic="1" insensitive="1"
+                 String="&bos;end(\s+entity)?(\s+%1)?\s*;" endRegion="EntityRegion1"/>
+        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
+                    String="end" endRegion="EntityRegion1"/>
+      </context>
+
+      <context name="entity_header" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!entity_decl">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="enclosed_interface_list"/>
+        <DetectChar attribute="Normal Text" char=";"/>
+        <WordDetect attribute="Control" insensitive="true" String="generic"/>
+        <WordDetect attribute="Control" insensitive="true" String="port"/>
+        <WordDetect attribute="Keyword" insensitive="true" String="is"/>
+      </context>
+
+      <context name="entity_decl" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="process_declarative_start_expr"/>
+        <WordDetect attribute="Keyword" context="#pop!entity_stmt" insensitive="1" String="begin"/>
+        <IncludeRules context="start_simple_expr"/>
+      </context>
+
+      <context name="entity_stmt" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="entity_stmt_item">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="pop_end"/>
+        <RegExpr attribute="Name" context="entity_stmt_label" String="&label;"/>
+      </context>
+
+      <context name="entity_stmt_label" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar attribute="Operator" context="#pop!entity_stmt_item" char=":"/>
+        <DetectSpaces attribute="Normal Text"/>
+      </context>
+
+      <context name="entity_stmt_item" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" context="#stay" insensitive="1" String="postponed"/>
+        <WordDetect attribute="Process" context="#pop!process" insensitive="1" String="process" beginRegion="ProcessRegion1"/>
+        <IncludeRules context="start_simple_expr_then_pop"/>
+      </context>
+
+<!--
+configuration ::=
+    *configuration* identifier *of* name *is*
+        { configuration_declarative_item }
+        { verification_unit_binding_indication ; }
+        *for* block_specification
+            { use_clause }
+            { configuration_item }
+        *end* *for* ;
+    *end* [ *configuration* ] [ identifier ] ;
+-->
+      <context name="configuration" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <IncludeRules context="blank"/>
+        <RegExpr attribute="Name" context="conf_of" beginRegion="ConfigurationRegion1"
+                 String="(&identifier;)"/>
+      </context>
+
+      <context name="conf_of" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="conf_is">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" context="conf_ref" insensitive="1" String="of"/>
+        <RegExpr attribute="Control" context="#pop#pop" insensitive="1" dynamic="1"
+                 String="&bos;end(\s+configuration\b)?(\s+%1)?\s*;" endRegion="ConfigurationRegion1"/>
+        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="1"
+                    String="end" endRegion="ConfigurationRegion1"/>
+      </context>
+
+      <context name="conf_ref" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!conf_decl">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" context="#pop!conf_decl" insensitive="1" String="is" />
+        <IncludeRules context="reference"/>
+      </context>
+
+      <context name="conf_is" attribute="Control" lineEndContext="#stay" fallthroughContext="#pop#pop#pop">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" context="#pop!conf_decl" insensitive="1" String="is" />
+      </context>
+
+      <context name="conf_decl" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <WordDetect attribute="Control" context="conf_for" insensitive="1" String="for" beginRegion="LoopRegion1"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+      <context name="conf_for" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <WordDetect attribute="Control" context="conf_for" insensitive="1" String="for" beginRegion="LoopRegion1"/>
+        <WordDetect attribute="Control" context="conf_for_end" insensitive="1" lookAhead="1" String="end" endRegion="LoopRegion1"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+      <context name="conf_for_end" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop#pop!expressionError">
+        <RegExpr attribute="Control" context="#pop#pop" insensitive="true"  String="&bos;end(\s+for\b)?\s*;"/>
+      </context>
+
+<!--
+context ::=
+    *context* identifier *is*
+        { context_item }
+    *end* [ *context* ] [ identifier ] ;
+
+  | *context* selected_name { , selected_name } ;
+
+ context_item ::=
+      *library* identifier { , identifier } ;
+    | *use* selected_name { , selected_name } ;
+    | *context* selected_name { , selected_name } ;
+
+selected_name ::= prefix . suffix
+-->
+      <context name="context" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <RegExpr attribute="Name" context="#pop!context_main" beginRegion="ContextRegion1"
+                 String="(&identifier;)(?!\.)"/>
+      </context>
+
+      <context name="context_main" attribute="Control" lineEndContext="#stay" fallthroughContext="context_decl">
+        <RegExpr attribute="Keyword" context="#pop" dynamic="1" insensitive="1"
+                 String="&bos;end(\s+context)?(\s+%1)?\s*;" endRegion="ContextRegion1"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="1"
+                    String="end" endRegion="ContextRegion1"/>
+      </context>
+
+      <context name="context_decl" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <keyword attribute="Keyword" context="sequential_stmt_expr" String="keywordsToplevel"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+
+<!--====Basic Stuff ===============-->
+<!-- comment and spaces -->
+      <context name="blank" attribute="Normal Text" lineEndContext="#stay">
+        <DetectSpaces attribute="Normal Text" context="#stay"/>
+        <Detect2Chars attribute="Comment" context="comment" char="-" char1="-"/>
+        <Detect2Chars attribute="Comment" context="block_comment" char="/" char1="*"/>
+      </context>
+
+<!--
+abstract_literal ::=
+    integer [ . integer ] [ exponent ]
+  | base # based_integer [ . based_integer ] # [ exponent ]
+
+base ::= integer
+integer ::= digit { [ _ ] digit }
+exponent ::= E [ + ] integer | E – integer
+based_integer ::= extended_digit { [ _ ] extended_digit }
+extended_digit ::= digit | letter
+-->
+      <context name="abstract_literal" attribute="Integer" lineEndContext="#pop" fallthroughContext="exponent">
+        <DetectChar attribute="Operator" char="."/>
+        <DetectChar attribute="Operator" context="based_integer" char="#"/>
+        <RegExpr attribute="Integer" context="exponent" String="_?[0-9]++(_[0-9]+)*"/>
+      </context>
+      <context name="exponent" attribute="Integer" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">
+        <RegExpr attribute="Exponent" context="#pop#pop" String="[eE][+-]?[0-9]++(_[0-9]+)*+"/>
+        <AnyChar attribute="Error" context="#pop#pop" String="eE_"/>
+      </context>
+      <context name="based_integer" attribute="Integer" lineEndContext="#pop#pop" fallthroughContext="#pop#pop">
+        <DetectChar attribute="Operator" char="."/>
+        <DetectChar attribute="Error" char="_"/>
+        <DetectChar attribute="Operator" context="#pop!exponent" char="#"/>
+        <RegExpr attribute="Based Integer" String="[0-9a-fA-F]++(_[0-9a-fA-F]+)*"/>
+      </context>
+
+<!--
+external_name ::=
+    << *constant* external_pathname : subtype_indication >>
+  | << *signal* external_pathname : subtype_indication >>
+  | << *variable* external_pathname : subtype_indication >>
+-->
+      <context name="external_name" attribute="Integer" lineEndContext="#stay" fallthroughContext="#pop">
+        <IncludeRules context="blank"/>
+        <!-- back to expression context -->
+        <keyword attribute="Signal" context="#pop" String="signals"/>
+      </context>
+
+<!--
+interface_list ::=
+    interface_element { ; interface_element }
+
+interface_element ::=
+      [ *constant* ] identifier_list : [ *in* ] subtype_indication [ := expression ]
+    | [ *signal* ] identifier_list : [ *in* | *out* ] subtype_indication [ *bus* ] [ := expression ]
+    | [ *variable* ] identifier_list : [ *in* | *out* ] subtype_indication [ := expression ]
+    | *file* identifier_list : subtype_indication
+    | *type* identifier
+    | interface_subprogram_specification [ *is* name ]
+    | interface_subprogram_specification [ *is* <> ]
+    | *package* identifier *is* *new* name *generic* *map* ( association_list )
+    | *package* identifier *is* *new* name *generic* *map* ( <> )
+    | *package* identifier *is* *new* name *generic* *map* ( *default* )
+
+interface_subprogram_specification ::=
+      *procedure* designator [ [ *parameter* ] ( interface_list ) ]
+    | [ *pure* | *impure* ] *function* designator
+         [ [ *parameter* ] ( interface_list ) ] *return* name
+
+designator ::= identifier | string_literal
+-->
+      <context name="enclosed_interface_list" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar attribute="Normal Text" context="interface_list" char="("/>
+      </context>
+
+      <context name="interface_list" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <IncludeRules context="pop_end"/>
+        <keyword attribute="Signal" String="signals"/>
+        <IncludeRules context="postExpression"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=")"/>
+        <IncludeRules context="enclosed_association_list"/>
+      </context>
+
+<!--
+association_list ::=
+    association_element { , association_element }
+
+association_element ::=
+    [ name [ ( name ) ] => ] actual_part
+
+actual_part ::=
+      actual_designator
+    | name ( actual_designator )
+
+actual_designator ::=
+      [ *inertial* ] expression
+    | name
+    | subtype_indication
+    | *open*
+-->
+      <context name="enclosed_association_list" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar attribute="Normal Text" context="association_list" char="("/>
+      </context>
+
+      <context name="association_list" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="postExpression"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=")"/>
+        <IncludeRules context="enclosed_association_list"/>
+        <DetectChar context="#pop" char=";" lookAhead="1"/>
+      </context>
+
+
+<!-- sequential statement -->
+      <context name="sequential_stmt" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_item">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="sequential_label"/>
+      </context>
+
+      <context name="sequential_label" attribute="Normal Text" lineEndContext="#stay">
+        <RegExpr attribute="Name" context="sequential_stmt_label" String="&label;"/>
+      </context>
+
+      <context name="sequential_stmt_label" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar attribute="Operator" context="#pop!sequential_stmt_item" char=":"/>
+        <DetectSpaces attribute="Normal Text"/>
+      </context>
+
+      <context name="sequential_stmt_item" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=";"/>
+        <IncludeRules context="sequential_stmt_item_start"/>
+        <IncludeRules context="start_simple_expr_then_pop"/>
+      </context>
+
+      <context name="sequential_stmt_item_start" attribute="Normal Text" lineEndContext="#stay">
+        <WordDetect attribute="Control" context="#pop!if_start" insensitive="1" String="if" beginRegion="IfRegion1"/>
+        <WordDetect attribute="Control" context="#pop!case" insensitive="1" String="case" beginRegion="CaseRegion1"/>
+        <WordDetect attribute="Control" context="#pop!while" insensitive="1" String="for"/>
+        <WordDetect attribute="Control" context="#pop!while" insensitive="1" String="while"/>
+        <WordDetect attribute="Control" context="#pop!loop" insensitive="1" String="loop" beginRegion="LoopRegion1"/>
+        <WordDetect attribute="Keyword" context="#pop!declare" insensitive="1" String="declare" beginRegion="DeclareRegion1"/>
+        <keyword attribute="Control" context="#pop!sequential_stmt_expr" String="controls"/>
+      </context>
+
+      <context name="sequential_stmt_expr" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=";"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+<!--
+if_generate ::=
+    *if* [ alternative_label : ] expression *generate*
+        generate_statement_body
+    { *elsif* [ alternative_label : ] expression *generate*
+        generate_statement_body }
+    [ *else* [ alternative_label : ] *generate*
+        generate_statement_body ]
+    *end* *generate* [ label ] ;
+
+generate_statement_body ::=
+        generate_body
+    [ *end* [ alternative_label ] ; ]
+-->
+      <context name="if_generate" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="if_generate_label">
+        <RegExpr attribute="Control" context="#pop" insensitive="1" endRegion="IfRegion1"
+                 String="&bos;end\s+generate(\s+&varname;)?\s*;"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="1"
+                    String="end" endRegion="IfRegion1"/>
+      </context>
+
+      <context name="if_generate_label" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!if_generate_expr">
+        <IncludeRules context="blank"/>
+        <RegExpr attribute="Name" context="if_generate_after_label" String="&label;"/>
+      </context>
+
+      <context name="if_generate_after_label" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop#pop!if_generate_expr">
+        <DetectChar attribute="Operator" context="#pop#pop!if_generate_expr" char=":"/>
+        <DetectSpaces attribute="Normal Text"/>
+      </context>
+
+      <context name="if_generate_expr" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <IncludeRules context="pop_end"/>
+        <WordDetect attribute="Control" context="#pop!if_generate_body" insensitive="1" String="generate"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+      <context name="if_generate_body" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="generate_body_pre_start"/>
+        <WordDetect attribute="Control" context="#pop!if_generate_label" insensitive="1" String="elsif"/>
+        <WordDetect attribute="Control" context="#pop!if_generate_label" insensitive="1" String="else"/>
+        <WordDetect context="if_generate_body_end" insensitive="1" String="end" lookAhead="1"/>
+        <IncludeRules context="generate_body_post_start"/>
+      </context>
+
+      <context name="if_generate_body_end" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!expressionError">
+        <RegExpr context="#pop#pop" insensitive="1" String="end\s+generate\b" lookAhead="1"/>
+        <RegExpr attribute="Control" context="#pop" insensitive="1" String="end(\s+&varname;)?\s*;"/>
+      </context>
+
+<!--
+generate_body ::=
+        [ { block_declarative_item }
+    *begin* ]
+        { concurrent_statement }
+-->
+      <context name="generate_body" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="generate_body_pre_start"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="generate_body_post_start"/>
+      </context>
+
+      <context name="generate_body_pre_start" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="block_declarative_start_expr"/>
+
+        <!-- concurrent_stmt_item -->
+        <WordDetect attribute="Keyword" context="#stay" insensitive="1" String="postponed"/>
+        <WordDetect attribute="Process" context="process" insensitive="1" String="process" beginRegion="ProcessRegion1"/>
+        <WordDetect attribute="Control" context="block" insensitive="1" String="block" beginRegion="BlockRegion1"/>
+
+        <!-- sequential_stmt_item -->
+        <WordDetect attribute="Control" context="if_start" insensitive="1" String="if" beginRegion="IfRegion1"/>
+        <WordDetect attribute="Control" context="case" insensitive="1" String="case" beginRegion="CaseRegion1"/>
+        <WordDetect attribute="Control" context="while" insensitive="1" String="while"/>
+        <WordDetect attribute="Control" context="loop" insensitive="1" String="loop" beginRegion="LoopRegion1"/>
+        <WordDetect attribute="Keyword" context="declare" insensitive="1" String="declare" beginRegion="DeclareRegion1"/>
+        <keyword attribute="Control" context="sequential_stmt_expr" String="controls"/>
+
+        <WordDetect attribute="Control" insensitive="1" String="begin"/>
+      </context>
+
+      <context name="generate_body_post_start" attribute="Normal Text" lineEndContext="#stay">
+        <keyword attribute="Keyword" context="sequential_stmt_expr" String="keywords"/>
+        <IncludeRules context="concurrent_label"/>
+        <DetectIdentifier attribute="Normal Text" context="sequential_stmt_expr"/>
+      </context>
+
+<!--
+case_generate ::=
+    *case* expression *generate*
+        *when* [ label : ] choices => generate_statement_body
+        { *when* [ label : ] choices => generate_statement_body }
+    *end* *generate* [ label ] ;
+
+generate_statement_body ::=
+        generate_body
+    [ *end* [ alternative_label ] ; ]
+-->
+      <context name="case_generate" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="case_generate_expr">
+        <RegExpr attribute="Control" context="#pop" insensitive="1" endRegion="CaseRegion1"
+                 String="&bos;end\s+generate(\s+&varname;)?\s*;"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="1"
+                    String="end" endRegion="CaseRegion1"/>
+      </context>
+
+      <context name="case_generate_expr" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <IncludeRules context="pop_end"/>
+        <WordDetect attribute="Control" context="#pop!case_generate_is" insensitive="1" String="generate"/>
+        <!-- fallback to case ... is -->
+        <WordDetect attribute="Keyword" context="#pop!case_is" insensitive="1" String="is"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+      <context name="case_generate_is" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!case_generate_when">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Control" context="case_generate_when" insensitive="1" String="when"/>
+      </context>
+
+      <context name="case_generate_when" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!case_generate_when_expr">
+        <IncludeRules context="blank"/>
+        <RegExpr attribute="Name" context="case_generate_when_label" String="&label;"/>
+      </context>
+
+      <context name="case_generate_when_label" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop#pop!case_generate_when_expr">
+        <DetectChar attribute="Operator" context="#pop#pop!case_generate_when_expr" char=":"/>
+        <DetectSpaces attribute="Normal Text"/>
+      </context>
+
+      <context name="case_generate_when_expr" attribute="Normal Text" lineEndContext="#stay">
+        <Detect2Chars char="=" char1="&gt;" attribute="Operator" context="#pop!case_generate_body" beginRegion="CaseWhenRegion1"/>
+        <IncludeRules context="preExpression"/>
+        <DetectChar char=";" attribute="Normal Text" context="#pop!case_generate_body" beginRegion="CaseWhenRegion1"/>
+        <IncludeRules context="case_when_post_expr"/>
+      </context>
+
+      <context name="case_generate_body" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="generate_body_pre_start"/>
+        <WordDetect attribute="Control" context="#pop!case_generate_when" insensitive="1" String="when" endRegion="CaseWhenRegion1"/>
+        <WordDetect context="#pop!if_generate_body_end" insensitive="1" String="end" lookAhead="1" endRegion="CaseWhenRegion1"/>
+        <IncludeRules context="generate_body_post_start"/>
+      </context>
+
+<!--
+for_generate ::=
+    *for* parameter_specification *generate*
+        generate_body
+    *end* *generate* [ label ] ;
+-->
+      <context name="for_generate" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="for_generate_expr">
+        <RegExpr attribute="Control" context="#pop" insensitive="1" endRegion="LoopRegion1"
+                 String="&bos;end\s+generate(\s+&varname;)?\s*;"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="1"
+                    String="end" endRegion="LoopRegion1"/>
+      </context>
+
+      <context name="for_generate_expr" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <IncludeRules context="pop_end"/>
+        <WordDetect attribute="Control" context="#pop!generate_body" insensitive="1" String="generate"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+<!--
+block ::=
+    *block* [ ( condition ) ] [ *is* ]
+        [ generic_clause
+        [ generic_map_aspect ; ] ]
+        [ port_clause
+        [ port_map_aspect ; ] ]
+        { block_declarative_item }
+    *begin*
+        { concurrent_statement }
+    *end* *block* [ block_label ] ;
+-->
+      <context name="block" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="block_cont">
+        <RegExpr attribute="Control" context="#pop" insensitive="1"
+                 String="&bos;end\s+block(\s+&varname;)?\s*;" endRegion="BlockRegion1"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="BlockRegion1"/>
+      </context>
+
+      <context name="block_cont" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!block_is">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="enclosed_association_list"/>
+        <WordDetect attribute="Keyword" context="#pop!block_is" insensitive="true" String="is"/>
+      </context>
+
+      <context name="block_is" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!block_body">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="enclosed_interface_list"/>
+        <DetectChar attribute="Normal Text" char=";"/>
+        <IncludeRules context="find_instantiated_map"/>
+        <WordDetect attribute="Control" insensitive="true" String="generic"/>
+        <WordDetect attribute="Control" insensitive="true" String="port"/>
+      </context>
+
+      <!-- as block_declarative_stmt but with begin as Keyword -->
+      <context name="block_body" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="block_declarative_start_expr"/>
+        <WordDetect attribute="Keyword" context="#pop!concurrent_stmt" insensitive="1" String="begin"/>
+        <IncludeRules context="start_simple_expr"/>
+      </context>
+
+<!--
+process  ::=
+    *process* [ ( *all* | name_list ) ] [ *is* ]
+        { process_declarative_item }
+    *begin*
+        { sequential_statement }
+    *end* [ *postponed* ] *process* [ label ] ;
+-->
+      <context name="process" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="process_params">
+        <RegExpr attribute="Process" context="#pop" insensitive="1"
+                 String="&bos;end(\s+postponed)?(\s+process\b)?(\s+&varname;)?\s*;" endRegion="ProcessRegion1"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="ProcessRegion1"/>
+      </context>
+
+      <context name="process_params" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!process_decl">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="enclosed_association_list"/>
+        <WordDetect attribute="Keyword" context="#pop!process_decl" String="is"/>
+      </context>
+
+      <context name="process_decl" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="process_declarative_start_expr"/>
+        <WordDetect attribute="Process" context="#pop!sequential_stmt" insensitive="true" String="begin"/>
+        <IncludeRules context="start_simple_expr"/>
+      </context>
+
+<!-- expression -->
+      <context name="preExpression" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="blank"/>
+        <Detect2Chars attribute="Operator" context="external_name" char="&lt;" char1="&lt;"/>
+        <AnyChar attribute="Operator" context="#stay" String="[]&amp;&gt;&lt;=:+-*/|`.,?@"/>
+        <DetectChar attribute="Vector" context="string" char="&quot;"/>
+        <DetectChar attribute="Attribute" context="attribute" char="'"/>
+        <Int attribute="Integer" context="abstract_literal"/>
+      </context>
+
+      <context name="postExpression" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="keywordExpression"/>
+        <DetectIdentifier attribute="Normal Text"/>
+      </context>
+
+      <context name="keywordExpression" attribute="Normal Text" lineEndContext="#stay">
+        <keyword attribute="Data Type" context="#stay" String="types"/>
+        <keyword attribute="Data Type" context="#stay" String="timeunits"/>
+        <keyword attribute="Range" context="#stay" String="range"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+      </context>
+
+<!-- expression error -->
+      <context name="expressionError" attribute="Error" lineEndContext="#pop">
+        <Detect2Chars attribute="Comment" context="comment" char="-" char1="-"/>
+        <DetectChar attribute="Error" context="#pop" char=";"/>
+      </context>
+
+<!-- other environments -->
+      <context name="comment" attribute="Comment" lineEndContext="#pop">
+        <DetectSpaces/>
+        <IncludeRules context="##Comments"/>
+      </context>
+
+      <context name="block_comment" attribute="Comment" lineEndContext="#stay">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/"/>
+        <IncludeRules context="comment"/>
+      </context>
+
+      <context name="string" attribute="Vector" lineEndContext="#stay">
+        <DetectChar attribute="Vector" context="#pop" char="&quot;"/>
+      </context>
+
+      <context name="attribute" attribute="Attribute" lineEndContext="#pop">
+        <!-- character_literal or end attribute -->
+        <RegExpr attribute="Attribute" context="#pop" String="[^']?'"/>
+        <DetectIdentifier attribute="Attribute"/>
+        <DetectChar attribute="Attribute" context="quot in att" char="&quot;"/>
+        <DetectChar attribute="Attribute" context="par in att" char="("/>
+        <DetectSpaces attribute="Normal Text" context="#pop"/>
+        <AnyChar attribute="Attribute" context="#pop" String=")=&lt;&gt;;" lookAhead="true" />
+       </context>
+
+      <context name="quot in att" attribute="Attribute" lineEndContext="#stay">
+        <DetectChar attribute="Attribute" context="#pop" char="&quot;"/>
+      </context>
+      <context name="par in att" attribute="Attribute" lineEndContext="#stay">
+        <DetectChar attribute="Attribute" context="#pop" char=")"/>
+      </context>
+
+      <context name="signal" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=";"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+<!--
+type ::= *type* identifier [ *is* type_definition ] ;
+
+type_definition ::=
+      type_definition_range
+    | type_definition_record
+    | type_definition_protected
+    | ......
+-->
+      <context name="type" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="blank"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=";"/>
+        <WordDetect attribute="Signal" context="type_is" insensitive="1" String="is"/>
+        <DetectIdentifier attribute="Normal Text"/>
+      </context>
+
+      <context name="type_is" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop#pop!signal">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" context="#pop#pop!type_record" insensitive="1" String="record" beginRegion="sig"/>
+        <WordDetect attribute="Keyword" context="#pop#pop!type_range" insensitive="1" String="range"/>
+        <WordDetect attribute="Keyword" context="#pop#pop!type_protected" insensitive="1" String="protected" beginRegion="BlockRegion1"/>
+      </context>
+
+<!-- type range
+
+type_definition_range ::=
+    *range* range
+        [ *units*
+            identifier
+            { identifier = physical_literal ; }
+          *end* *units* [ identifier ] ]
+
+range ::=
+      attribute_name
+    | simple_expression direction simple_expression
+
+attribute_name ::=
+    prefix [ signature ] ' identifier [ ( expression ) ]
+-->
+      <context name="type_range" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=";"/>
+        <WordDetect attribute="Control" context="#pop!type_range_units" insensitive="1" String="units" beginRegion="UnitRegion1"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+      <context name="type_range_units" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="type_body">
+        <RegExpr attribute="Control" context="#pop" insensitive="1"
+                 String="&bos;end\s+units(\s+&identifier;)?\s*;" endRegion="UnitRegion1"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="UnitRegion1"/>
+      </context>
+
+      <context name="type_body" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <IncludeRules context="pop_end"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+<!-- type record
+
+type_definition_record ::=
+    *record*
+        element_declaration
+        { element_declaration }
+    *end* *record* [ identifier ]
+-->
+      <context name="type_record" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="type_body">
+        <RegExpr attribute="Keyword" context="#pop" insensitive="1"
+                 String="&bos;end\s+record(\s+&identifier;)?\s*;" endRegion="sig"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="sig"/>
+      </context>
+
+<!-- type protected
+
+type_definition_protected ::=
+      *protected*
+         { protected_type_declarative_item }
+      *end* *protected* [ identifier ]
+    | *protected* *body*
+          { process_declarative_item }
+      *end *protected* *body* [ simple name ]
+-->
+      <context name="type_protected" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="type_protected_stmt">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" context="type_protected_stmt" insensitive="1" String="body"/>
+        <RegExpr attribute="Keyword" context="#pop" insensitive="1"
+                 String="&bos;end\s+protected(\s+body)?(\s+&identifier;)?\s*;" endRegion="BlockRegion1"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="BlockRegion1"/>
+      </context>
+
+      <context name="type_protected_stmt" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="process_declarative_start_expr"/>
+        <IncludeRules context="start_simple_expr"/>
+      </context>
+
+<!--
+view ::=
+    *view* identifier *of* name *is*
+        element_declaration
+        { element_declaration }
+    *end* *view* [ identifier ] ;
+-->
+      <context name="view" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="type_body">
+        <RegExpr attribute="Keyword" context="#pop" insensitive="1"
+                 String="&bos;end\s+view(\s+&identifier;)?\s*;" endRegion="sig"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="sig"/>
+      </context>
+
+<!--
+function ::=
+    *function* designator
+        [ *generic* ( interface_list )
+        [ generic_map_aspect ] ]
+        [ [ *parameter* ] ( interface_list ) ] *return* name ;
+
+  | *function* identifier *is* *new* name
+        [ name_list ]
+        [ *return* name ]
+        [ generic_map_aspect ] ;
+
+  | *function* identifier *is*
+        { process_declarative_item }
+    *begin*
+        { sequential_statement }
+    *end* [ *function* ] [ designator ] ;
+-->
+      <context name="function" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="function_name">
+        <IncludeRules context="blank"/>
+        <DetectIdentifier attribute="Name" context="function_name"/>
+        <RangeDetect attribute="Vector" context="function_name" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Name" context="function_name" char="\" char1="\"/>
+      </context>
+
+      <context name="function_name" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="blank"/>
+        <DetectChar attribute="Normal Text" context="function_params" char="("/>
+        <DetectChar attribute="Normal Text" context="#pop#pop" char=";"/>
+        <WordDetect attribute="Control" context="function_return" insensitive="1" String="return"/>
+        <WordDetect attribute="Keyword" context="#pop#pop!function_is" insensitive="1" String="is" beginRegion="FunctionRegion1"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+      </context>
+
+      <context name="function_params" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+         <DetectChar attribute="Normal Text" context="#pop" char=")"/>
+        <IncludeRules context="pop_end"/>
+        <DetectChar attribute="Normal Text" context="function_params_recursive" char="("/>
+        <WordDetect attribute="Error" context="#pop!function_return" insensitive="1" String="return"/>
+        <keyword attribute="Signal" String="signals"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+      <context name="function_params_recursive" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <DetectChar attribute="Normal Text" context="#pop" char=")"/>
+        <DetectChar attribute="Normal Text" context="function_params_recursive" char="("/>
+        <WordDetect context="#pop" insensitive="1" String="return" lookAhead="1"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+      <context name="function_return" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="preExpression"/>
+        <DetectChar attribute="Normal Text" context="#pop#pop#pop" char=";"/>
+        <WordDetect attribute="Keyword" context="#pop#pop#pop!function_is" insensitive="1" String="is" beginRegion="FunctionRegion1"/>
+        <IncludeRules context="postExpression"/>
+      </context>
+
+      <context name="function_is" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!function_decl">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Keyword" context="#pop!function_new" insensitive="1" String="new"/>
+      </context>
+
+      <context name="function_new" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <WordDetect attribute="Control" context="#pop!sequential_stmt_expr" insensitive="1" String="return"/>
+        <IncludeRules context="start_simple_expr_then_pop"/>
+      </context>
+
+      <context name="function_decl" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="process_declarative_start_expr"/>
+        <WordDetect attribute="Redirection" context="#pop!function_begin" insensitive="true" String="begin"/>
+        <IncludeRules context="start_simple_expr"/>
+      </context>
+
+      <context name="function_begin" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt">
+        <RegExpr attribute="Redirection" context="#pop" insensitive="1"
+                 String="&bos;end(\s+function\b)?(\s+&designator;)?\s*;" endRegion="FunctionRegion1"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="FunctionRegion1"/>
+      </context>
+
+<!--
+procedure ::=
+      *procedure* designator
+          [ *generic* ( interface_list )
+          [ generic_map_aspect ] ]
+          [ [ *parameter* ] ( interface_list ) ] ;
+
+    | *procedure* identifier *is* *new* name
+          [ name_list ]
+          [ *return* name ]
+          [ generic_map_aspect ] ;
+
+    | *procedure* designator
+          [ [ *parameter* ] ( interface_list ) ] *is*
+          { process_declarative_item }
+      *begin*
+          { sequential_statement }
+      *end* [ *procedure* ] [ designator ] ;
+-->
+      <context name="procedure" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="blank"/>
+        <DetectIdentifier attribute="Name" context="procedure_name"/>
+        <RangeDetect attribute="Vector" context="procedure_name" char="&quot;" char1="&quot;"/>
+        <RangeDetect attribute="Name" context="procedure_name" char="\" char1="\"/>
+      </context>
+
+      <context name="procedure_name" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="enclosed_interface_list"/>
+        <DetectChar attribute="Normal Text" context="#pop#pop" char=";" endRegion="ProcedureRegion1"/>
+        <WordDetect attribute="Control" context="#pop#pop!procedure_is" insensitive="true" String="is"/>
+        <!-- ghdl extension ?
+          procedure readline (variable f: in text; l: inout line)  <- no ;
+          procedure readline (file f: text; l: inout line)
+          is ...
+        -->
+        <WordDetect attribute="Keyword" context="#pop" insensitive="true" String="procedure" endRegion="ProcedureRegion1" beginRegion="ProcedureRegion1"/>
+        <keyword attribute="Keyword" context="#stay" String="keywords"/>
+      </context>
+
+      <context name="procedure_is" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!procedure_is2">
+        <IncludeRules context="function_is"/>
+      </context>
+
+      <!-- ghdl extension ?
+        *procedure* designator
+          (...) is
+          (...) is                <- here
+        begin ...
+      -->
+      <context name="procedure_is2" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop!procedure_decl">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="enclosed_interface_list"/>
+        <WordDetect attribute="Control" context="#pop!procedure_is" insensitive="true" String="is"/>
+        <WordDetect attribute="Keyword" insensitive="true" String="parameter"/>
+      </context>
+
+      <context name="procedure_decl" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt_expr">
+        <IncludeRules context="blank"/>
+        <IncludeRules context="process_declarative_start_expr"/>
+        <WordDetect attribute="Keyword" context="#pop!procedure_begin" insensitive="true" String="begin" endRegion="ProcedureRegion1" beginRegion="ProcedureRegion1"/>
+        <IncludeRules context="start_simple_expr"/>
+      </context>
+
+      <context name="procedure_begin" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="sequential_stmt">
+        <RegExpr attribute="Keyword" context="#pop" insensitive="1"
+                 String="&bos;end(\s+procedure)?(\s+&designator;)?\s*;" endRegion="ProcedureRegion1"/>
+        <WordDetect attribute="Error" context="#pop!expressionError" insensitive="true"
+                    String="end" endRegion="ProcedureRegion1"/>
+      </context>
+
+<!--
+component ::=
+    *component* identifier [ *is* ]
+        entity_header
+    *end* *component* [ identifier ] ;
+-->
+      <context name="component" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="#pop">
+        <IncludeRules context="blank"/>
+        <RegExpr attribute="Name" context="component_main" beginRegion="ComponentRegion1"
+                 String="(&identifier;)"/>
+      </context>
+
+      <context name="component_main" attribute="Normal Text" lineEndContext="#stay" fallthroughContext="component_body">
+        <RegExpr attribute="Control" context="#pop#pop" dynamic="1" insensitive="1"
+                 String="&bos;end\s+component\b(\s+%1)?\s*;" endRegion="ComponentRegion1"/>
+        <WordDetect attribute="Error" context="#pop#pop!expressionError" insensitive="true"
+                    String="end" endRegion="ComponentRegion1"/>
+      </context>
+
+      <context name="component_body" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="entity_header"/>
+        <IncludeRules context="pop_end"/>
+        <DetectIdentifier attribute="Error"/>
+      </context>
+
+      <context name="pop_end" attribute="Normal Text" lineEndContext="#stay">
+        <WordDetect context="#pop" insensitive="1" String="end" lookAhead="1"/>
+      </context>
+
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Keyword" defStyleNum="dsKeyword"/>
+      <itemData name="Data Type" defStyleNum="dsDataType"/>
+      <itemData name="Comment" defStyleNum="dsComment"/>
+      <itemData name="Integer" defStyleNum="dsDecVal"/>
+      <itemData name="Exponent" defStyleNum="dsFloat"/>
+      <itemData name="Based Integer" defStyleNum="dsBaseN"/>
       <itemData name="Reference" defStyleNum="dsFunction"/>
       <itemData name="Error" defStyleNum="dsError" bold="1"/>
       <itemData name="Vector" defStyleNum="dsString"/>
diff --git a/xml/zsh.xml b/xml/zsh.xml
--- a/xml/zsh.xml
+++ b/xml/zsh.xml
@@ -77,7 +77,7 @@
         <!ENTITY int "(?:[0-9]++[_0-9]*+)">
         <!ENTITY exp "(?:[eE][-+]?&int;)">
 ]>
-<language name="Zsh" version="30" kateversion="5.79" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT">
+<language name="Zsh" version="31" kateversion="5.79" section="Scripts" extensions="*.sh;*.zsh;.zshrc;.zprofile;.zlogin;.zlogout;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT">
 
   <highlighting>
     <list name="keywords">
@@ -234,7 +234,7 @@
         <!-- start expression in single/double brackets -->
         <DetectChar context="MaybeBracketExpression" char="[" lookAhead="1"/>
         <!-- start a group command or BraceExpansion with { -->
-        <DetectChar attribute="Keyword" context="Group" char="{"/>
+        <DetectChar attribute="Keyword" context="Group" char="{" beginRegion="group"/>
 
         <!-- handle ` -->
         <DetectChar attribute="Backquote" context="CommandBackq" char="`"/>
@@ -257,6 +257,7 @@
         <!-- handle commands that have variable names as argument -->
         <keyword attribute="Builtin" context="VarName" String="builtins_var" lookAhead="1"/>
         <WordDetect attribute="Builtin" context="#stay" String="noglob"/>
+        <WordDetect attribute="Builtin" context="#stay" String="coproc"/>
         <!-- mark function definitions without function keyword -->
         <RegExpr attribute="Function" context="#stay" String="&funcname;[ &tab;]*\(\)"/>
         <keyword attribute="Builtin" context="CommandArgs" String="builtins"/>
@@ -298,7 +299,7 @@
 
       <!-- Group is called after a { is encountered -->
       <context attribute="Normal Text" lineEndContext="#stay" name="Group" fallthroughContext="Command">
-        <DetectChar attribute="Keyword" context="#pop!GroupEnd" char="}"/>
+        <DetectChar attribute="Keyword" context="#pop!GroupEnd" char="}" endRegion="group"/>
         <IncludeRules context="Start"/>
       </context>
       <context attribute="Normal Text" lineEndContext="#pop" name="GroupEnd" fallthroughContext="#pop!CommandArgs">
@@ -1057,7 +1058,7 @@
         <DetectChar attribute="Error" context="#pop" char="$"/>
       </context>
       <context attribute="Error" lineEndContext="#stay" name="VarError">
-        <DetectChar attribute="Variable" context="#pop" char="}"/>
+        <DetectChar attribute="Parameter Expansion" context="#pop" char="}"/>
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="CheckVarAlt" fallthroughContext="#pop!VarError">
         <DetectChar attribute="Parameter Expansion" context="#pop" char="}"/>
@@ -1119,7 +1120,7 @@
 
       <!-- called as soon as ${xxx: is encoutered -->
       <context attribute="Normal Text" lineEndContext="#stay" name="VarSub">
-        <DetectChar attribute="Variable" context="#pop" char="}"/>
+        <DetectChar attribute="Parameter Expansion" context="#pop" char="}"/>
         <AnyChar context="VarOffset" String="0123456789" lookAhead="1"/>
         <AnyChar attribute="Operator" context="#stay" String="+-!~*/%&lt;>=&amp;^|"/>
         <DetectChar attribute="Parameter Expansion Operator" context="#stay" char=":"/>
@@ -1873,11 +1874,11 @@
       </context>
       <context attribute="Function" lineEndContext="#pop" name="FunctionNameStartMaybeBraceExpansion">
         <IncludeRules context="DispatchBraceExpansion"/>
-        <DetectChar attribute="Keyword" context="#pop#pop#pop!Group" char="{"/>
+        <DetectChar attribute="Keyword" context="#pop#pop#pop!Group" char="{" beginRegion="group"/>
       </context>
       <context attribute="Function" lineEndContext="#pop" name="FunctionNameMaybeBraceExpansion">
         <IncludeRules context="DispatchBraceExpansion"/>
-        <DetectChar attribute="Function" context="#pop!FunctionNameRecBrace" char="{"/>
+        <DetectChar attribute="Function" context="#pop!FunctionNameRecBrace" char="{" beginRegion="group"/>
       </context>
 
       <!-- Case is called after the case keyword is encoutered. We handle this because of
