diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,18 @@
 # Revision history for skylighting-core
 
+## 0.7.5 -- 2018-12-01
+
+  * Updated definitions for cmake, lua, prolog, rust, yacc,
+    javascript.
+  * Added definition for sml (#53).
+  * Added definition for J (#50).
+  * Added definition for typescript (#57).
+  * Fix comments preceded by multiple spaces in bash.xml (#54).
+  * Add *.txt extension and text/plain mime type to default.xml
+    (#48).
+  * Add file:/// if we have a Windows path with a drive.
+    Otherwise HXT will take it to be a URI.  See jgm/pandoc#4836.
+
 ## 0.7.4 -- 2018-10-08
 
   * HTML output: use title instead of data-line-number.
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.7.4
+version:             0.7.5
 synopsis:            syntax highlighting library
 description:         Skylighting is a syntax highlighting library.
                      It derives its tokenizers from XML syntax
diff --git a/src/Skylighting/Parser.hs b/src/Skylighting/Parser.hs
--- a/src/Skylighting/Parser.hs
+++ b/src/Skylighting/Parser.hs
@@ -73,6 +73,9 @@
        _   -> return $ Left $ "Could not parse syntax definition " ++ xml
 
 application :: String -> IOSArrow b Syntax
+application fp@(_:':':'\\':_) =
+  -- Windows C:/, so HXT doesn't interpret as a URI scheme.
+  application ("file:///" ++ map (\c -> if c == '\\' then '/' else c) fp)
 application fp
     = readDocument [withValidate no, withInputEncoding utf8] fp
       >>>
diff --git a/test/expected/abc.javascript.native b/test/expected/abc.javascript.native
--- a/test/expected/abc.javascript.native
+++ b/test/expected/abc.javascript.native
@@ -19,7 +19,7 @@
   , ( NormalTok , ")." )
   , ( AttributeTok , "map" )
   , ( NormalTok , "(pair " )
-  , ( OperatorTok , "=>" )
+  , ( KeywordTok , "=>" )
   , ( NormalTok , " " )
   , ( VariableTok , "pair" )
   , ( NormalTok , "." )
@@ -73,14 +73,18 @@
   , ( ControlFlowTok , "for" )
   , ( NormalTok , " (" )
   , ( KeywordTok , "let" )
-  , ( NormalTok , " letter of letters) " )
+  , ( NormalTok , " letter " )
+  , ( KeywordTok , "of" )
+  , ( NormalTok , " letters) " )
   , ( OperatorTok , "{" )
   ]
 , [ ( NormalTok , "    " )
   , ( ControlFlowTok , "for" )
   , ( NormalTok , " (" )
   , ( KeywordTok , "let" )
-  , ( NormalTok , " block of copy) " )
+  , ( NormalTok , " block " )
+  , ( KeywordTok , "of" )
+  , ( NormalTok , " copy) " )
   , ( OperatorTok , "{" )
   ]
 , [ ( NormalTok , "      " )
@@ -168,7 +172,7 @@
 , [ ( NormalTok , "]." )
   , ( AttributeTok , "forEach" )
   , ( NormalTok , "(word " )
-  , ( OperatorTok , "=>" )
+  , ( KeywordTok , "=>" )
   , ( NormalTok , " " )
   , ( VariableTok , "console" )
   , ( NormalTok , "." )
diff --git a/xml/bash.xml b/xml/bash.xml
--- a/xml/bash.xml
+++ b/xml/bash.xml
@@ -482,7 +482,7 @@
       <!-- FindComments consumes shell comments till EOL -->
       <context attribute="Normal Text" lineEndContext="#pop" name="FindComments">
         <DetectChar attribute="Comment" context="Comment" char="#" firstNonSpace="true"/>
-        <RegExpr attribute="Normal Text" context="Comment" String="[\s;](?=#)" />
+        <RegExpr attribute="Normal Text" context="Comment" String="\s*[\s;](?=#)" />
       </context>
       <context attribute="Comment" lineEndContext="#pop" name="Comment">
         <IncludeRules context="##Alerts" />
diff --git a/xml/cmake.xml b/xml/cmake.xml
--- a/xml/cmake.xml
+++ b/xml/cmake.xml
@@ -31,7 +31,7 @@
 
 <language
     name="CMake"
-    version="8"
+    version="11"
     kateversion="2.4"
     section="Other"
     extensions="CMakeLists.txt;*.cmake;*.cmake.in"
@@ -97,6 +97,7 @@
         <item>add_dependencies</item>
         <item>add_executable</item>
         <item>add_library</item>
+        <item>add_link_options</item>
         <item>add_subdirectory</item>
         <item>add_test</item>
         <item>aux_source_directory</item>
@@ -129,7 +130,9 @@
         <item>target_compile_features</item>
         <item>target_compile_options</item>
         <item>target_include_directories</item>
+        <item>target_link_directories</item>
         <item>target_link_libraries</item>
+        <item>target_link_options</item>
         <item>target_sources</item>
         <item>try_compile</item>
         <item>try_run</item>
@@ -546,6 +549,8 @@
     <list name="list_nargs">
       <item>APPEND</item>
       <item>AT</item>
+      <item>CASE</item>
+      <item>COMPARE</item>
       <item>EXCLUDE</item>
       <item>FILTER</item>
       <item>FIND</item>
@@ -556,6 +561,7 @@
       <item>INSERT</item>
       <item>JOIN</item>
       <item>LENGTH</item>
+      <item>ORDER</item>
       <item>OUTPUT_VARIABLE</item>
       <item>PREPEND</item>
       <item>REGEX</item>
@@ -570,13 +576,26 @@
       <item>TOLOWER</item>
       <item>TRANSFORM</item>
     </list>
+    <list name="list_sargs">
+      <item>ASCENDING</item>
+      <item>DESCENDING</item>
+      <item>FILE_BASENAME</item>
+      <item>INSENSITIVE</item>
+      <item>SENSITIVE</item>
+      <item>STRING</item>
+    </list>
     <list name="mark_as_advanced_nargs">
       <item>CLEAR</item>
       <item>FORCE</item>
     </list>
     <list name="math_nargs">
       <item>EXPR</item>
+      <item>OUTPUT_FORMAT</item>
     </list>
+    <list name="math_sargs">
+      <item>DECIMAL</item>
+      <item>HEXADECIMAL</item>
+    </list>
     <list name="message_nargs">
       <item>AUTHOR_WARNING</item>
       <item>DEPRECATION</item>
@@ -870,6 +889,10 @@
       <item>WORLD_READ</item>
       <item>WORLD_WRITE</item>
     </list>
+    <list name="link_directories_nargs">
+      <item>AFTER</item>
+      <item>BEFORE</item>
+    </list>
     <list name="link_libraries_nargs">
       <item>debug</item>
       <item>general</item>
@@ -1004,11 +1027,22 @@
       <item>PUBLIC</item>
       <item>SYSTEM</item>
     </list>
+    <list name="target_link_directories_nargs">
+      <item>BEFORE</item>
+      <item>INTERFACE</item>
+      <item>PRIVATE</item>
+      <item>PUBLIC</item>
+    </list>
     <list name="target_link_libraries_nargs">
       <item>INTERFACE</item>
       <item>PRIVATE</item>
       <item>PUBLIC</item>
     </list>
+    <list name="target_link_options_nargs">
+      <item>INTERFACE</item>
+      <item>PRIVATE</item>
+      <item>PUBLIC</item>
+    </list>
     <list name="target_sources_nargs">
       <item>INTERFACE</item>
       <item>PRIVATE</item>
@@ -1175,6 +1209,8 @@
       <item>CMAKE_ARCHIVE_OUTPUT_DIRECTORY</item>
       <item>CMAKE_ARGC</item>
       <item>CMAKE_ARGV0</item>
+      <item>CMAKE_AUTOGEN_PARALLEL</item>
+      <item>CMAKE_AUTOGEN_VERBOSE</item>
       <item>CMAKE_AUTOMOC</item>
       <item>CMAKE_AUTOMOC_DEPEND_FILTERS</item>
       <item>CMAKE_AUTOMOC_MOC_OPTIONS</item>
@@ -1363,6 +1399,7 @@
       <item>CMAKE_LIBRARY_PATH_FLAG</item>
       <item>CMAKE_LINK_DEF_FILE_FLAG</item>
       <item>CMAKE_LINK_DEPENDS_NO_SHARED</item>
+      <item>CMAKE_LINK_DIRECTORIES_BEFORE</item>
       <item>CMAKE_LINK_INTERFACE_LIBRARIES</item>
       <item>CMAKE_LINK_LIBRARY_FILE_FLAG</item>
       <item>CMAKE_LINK_LIBRARY_FLAG</item>
@@ -1474,6 +1511,7 @@
       <item>CMAKE_VERSION</item>
       <item>CMAKE_VISIBILITY_INLINES_HIDDEN</item>
       <item>CMAKE_VS_DEVENV_COMMAND</item>
+      <item>CMAKE_VS_GLOBALS</item>
       <item>CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD</item>
       <item>CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD</item>
       <item>CMAKE_VS_INTEL_Fortran_PROJECT_VERSION</item>
@@ -1496,7 +1534,23 @@
       <item>CMAKE_WIN32_EXECUTABLE</item>
       <item>CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS</item>
       <item>CMAKE_XCODE_GENERATE_SCHEME</item>
+      <item>CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY</item>
       <item>CMAKE_XCODE_PLATFORM_TOOLSET</item>
+      <item>CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER</item>
+      <item>CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN</item>
+      <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_GUARD_MALLOC</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>
+      <item>CMAKE_XCODE_SCHEME_MALLOC_STACK</item>
+      <item>CMAKE_XCODE_SCHEME_THREAD_SANITIZER</item>
+      <item>CMAKE_XCODE_SCHEME_THREAD_SANITIZER_STOP</item>
+      <item>CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER</item>
+      <item>CMAKE_XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP</item>
+      <item>CMAKE_XCODE_SCHEME_ZOMBIE_OBJECTS</item>
       <item>CPACK_ABSOLUTE_DESTINATION_FILES</item>
       <item>CPACK_ARCHIVE_COMPONENT_INSTALL</item>
       <item>CPACK_ARCHIVE_FILE_NAME</item>
@@ -1525,6 +1579,7 @@
       <item>CPACK_CYGWIN_PATCH_NUMBER</item>
       <item>CPACK_DEBIAN_ARCHIVE_TYPE</item>
       <item>CPACK_DEBIAN_COMPRESSION_TYPE</item>
+      <item>CPACK_DEBIAN_DEBUGINFO_PACKAGE</item>
       <item>CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS</item>
       <item>CPACK_DEBIAN_FILE_NAME</item>
       <item>CPACK_DEBIAN_PACKAGE_ARCHITECTURE</item>
@@ -1563,6 +1618,9 @@
       <item>CPACK_DMG_SLA_LANGUAGES</item>
       <item>CPACK_DMG_VOLUME_NAME</item>
       <item>CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION</item>
+      <item>CPACK_EXT_ENABLE_STAGING</item>
+      <item>CPACK_EXT_PACKAGE_SCRIPT</item>
+      <item>CPACK_EXT_REQUESTED_VERSIONS</item>
       <item>CPACK_GENERATOR</item>
       <item>CPACK_IFW_ADMIN_TARGET_DIRECTORY</item>
       <item>CPACK_IFW_BINARYCREATOR_EXECUTABLE</item>
@@ -1972,6 +2030,7 @@
       <item>INTERPROCEDURAL_OPTIMIZATION</item>
       <item>LABELS</item>
       <item>LINK_DIRECTORIES</item>
+      <item>LINK_OPTIONS</item>
       <item>LISTFILE_STACK</item>
       <item>MACROS</item>
       <item>PARENT_DIRECTORY</item>
@@ -2048,6 +2107,7 @@
       <item>C_STANDARD</item>
       <item>C_STANDARD_REQUIRED</item>
       <item>DEFINE_SYMBOL</item>
+      <item>DEPLOYMENT_ADDITIONAL_FILES</item>
       <item>DEPLOYMENT_REMOTE_DIRECTORY</item>
       <item>DOTNET_TARGET_FRAMEWORK_VERSION</item>
       <item>ENABLE_EXPORTS</item>
@@ -2090,7 +2150,10 @@
       <item>INTERFACE_COMPILE_FEATURES</item>
       <item>INTERFACE_COMPILE_OPTIONS</item>
       <item>INTERFACE_INCLUDE_DIRECTORIES</item>
+      <item>INTERFACE_LINK_DEPENDS</item>
+      <item>INTERFACE_LINK_DIRECTORIES</item>
       <item>INTERFACE_LINK_LIBRARIES</item>
+      <item>INTERFACE_LINK_OPTIONS</item>
       <item>INTERFACE_POSITION_INDEPENDENT_CODE</item>
       <item>INTERFACE_SOURCES</item>
       <item>INTERFACE_SYSTEM_INCLUDE_DIRECTORIES</item>
@@ -2104,10 +2167,12 @@
       <item>LINKER_LANGUAGE</item>
       <item>LINK_DEPENDS</item>
       <item>LINK_DEPENDS_NO_SHARED</item>
+      <item>LINK_DIRECTORIES</item>
       <item>LINK_FLAGS</item>
       <item>LINK_INTERFACE_LIBRARIES</item>
       <item>LINK_INTERFACE_MULTIPLICITY</item>
       <item>LINK_LIBRARIES</item>
+      <item>LINK_OPTIONS</item>
       <item>LINK_SEARCH_END_STATIC</item>
       <item>LINK_SEARCH_START_STATIC</item>
       <item>LINK_WHAT_YOU_USE</item>
@@ -2140,12 +2205,15 @@
       <item>SOURCE_DIR</item>
       <item>SOVERSION</item>
       <item>STATIC_LIBRARY_FLAGS</item>
+      <item>STATIC_LIBRARY_OPTIONS</item>
       <item>SUFFIX</item>
       <item>TYPE</item>
       <item>VERSION</item>
       <item>VISIBILITY_INLINES_HIDDEN</item>
       <item>VS_CONFIGURATION_TYPE</item>
       <item>VS_DEBUGGER_COMMAND</item>
+      <item>VS_DEBUGGER_COMMAND_ARGUMENTS</item>
+      <item>VS_DEBUGGER_ENVIRONMENT</item>
       <item>VS_DEBUGGER_WORKING_DIRECTORY</item>
       <item>VS_DESKTOP_EXTENSIONS_VERSION</item>
       <item>VS_DOTNET_REFERENCES</item>
@@ -2172,6 +2240,24 @@
       <item>WINDOWS_EXPORT_ALL_SYMBOLS</item>
       <item>XCODE_EXPLICIT_FILE_TYPE</item>
       <item>XCODE_PRODUCT_TYPE</item>
+      <item>XCODE_SCHEME_ADDRESS_SANITIZER</item>
+      <item>XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN</item>
+      <item>XCODE_SCHEME_ARGUMENTS</item>
+      <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_ENVIRONMENT</item>
+      <item>XCODE_SCHEME_EXECUTABLE</item>
+      <item>XCODE_SCHEME_GUARD_MALLOC</item>
+      <item>XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP</item>
+      <item>XCODE_SCHEME_MALLOC_GUARD_EDGES</item>
+      <item>XCODE_SCHEME_MALLOC_SCRIBBLE</item>
+      <item>XCODE_SCHEME_MALLOC_STACK</item>
+      <item>XCODE_SCHEME_THREAD_SANITIZER</item>
+      <item>XCODE_SCHEME_THREAD_SANITIZER_STOP</item>
+      <item>XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER</item>
+      <item>XCODE_SCHEME_UNDEFINED_BEHAVIOUR_SANITIZER_STOP</item>
+      <item>XCODE_SCHEME_ZOMBIE_OBJECTS</item>
       <item>XCTEST</item>
     </list>
     <list name="source-properties">
@@ -2379,6 +2465,7 @@
         <WordDetect String="add_dependencies" insensitive="true" attribute="Command" context="add_dependencies_ctx" />
         <WordDetect String="add_executable" insensitive="true" attribute="Command" context="add_executable_ctx" />
         <WordDetect String="add_library" insensitive="true" attribute="Command" context="add_library_ctx" />
+        <WordDetect String="add_link_options" insensitive="true" attribute="Command" context="add_link_options_ctx" />
         <WordDetect String="add_subdirectory" insensitive="true" attribute="Command" context="add_subdirectory_ctx" />
         <WordDetect String="add_test" insensitive="true" attribute="Command" context="add_test_ctx" />
         <WordDetect String="aux_source_directory" insensitive="true" attribute="Command" context="aux_source_directory_ctx" />
@@ -2411,7 +2498,9 @@
         <WordDetect String="target_compile_features" insensitive="true" attribute="Command" context="target_compile_features_ctx" />
         <WordDetect String="target_compile_options" insensitive="true" attribute="Command" context="target_compile_options_ctx" />
         <WordDetect String="target_include_directories" insensitive="true" attribute="Command" context="target_include_directories_ctx" />
+        <WordDetect String="target_link_directories" insensitive="true" attribute="Command" context="target_link_directories_ctx" />
         <WordDetect String="target_link_libraries" insensitive="true" attribute="Command" context="target_link_libraries_ctx" />
+        <WordDetect String="target_link_options" insensitive="true" attribute="Command" context="target_link_options_ctx" />
         <WordDetect String="target_sources" insensitive="true" attribute="Command" context="target_sources_ctx" />
         <WordDetect String="try_compile" insensitive="true" attribute="Command" context="try_compile_ctx" />
         <WordDetect String="try_run" insensitive="true" attribute="Command" context="try_run_ctx" />
@@ -2699,6 +2788,7 @@
       <context attribute="Normal Text" lineEndContext="#stay" name="list_ctx_op">
         <IncludeRules context="EndCmdPop2" />
         <keyword attribute="Named Args" context="#stay" String="list_nargs" />
+        <keyword attribute="Special Args" context="#stay" String="list_sargs" />
         <IncludeRules context="User Function Args" />
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="macro_ctx">
@@ -2722,6 +2812,7 @@
       <context attribute="Normal Text" lineEndContext="#stay" name="math_ctx_op">
         <IncludeRules context="EndCmdPop2" />
         <keyword attribute="Named Args" context="#stay" String="math_nargs" />
+        <keyword attribute="Special Args" context="#stay" String="math_sargs" />
         <IncludeRules context="User Function Args" />
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="message_ctx">
@@ -2904,6 +2995,13 @@
         <keyword attribute="Named Args" context="#stay" String="add_library_nargs" />
         <IncludeRules context="User Function Args" />
       </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="add_link_options_ctx">
+        <DetectChar attribute="Normal Text" context="add_link_options_ctx_op" char="(" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="add_link_options_ctx_op">
+        <IncludeRules context="EndCmdPop2" />
+        <IncludeRules context="User Function Args" />
+      </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="add_subdirectory_ctx">
         <DetectChar attribute="Normal Text" context="add_subdirectory_ctx_op" char="(" />
       </context>
@@ -3056,6 +3154,7 @@
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="link_directories_ctx_op">
         <IncludeRules context="EndCmdPop2" />
+        <keyword attribute="Named Args" context="#stay" String="link_directories_nargs" />
         <IncludeRules context="User Function Args" />
       </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="link_libraries_ctx">
@@ -3174,6 +3273,14 @@
         <keyword attribute="Named Args" context="#stay" String="target_include_directories_nargs" />
         <IncludeRules context="User Function Args" />
       </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="target_link_directories_ctx">
+        <DetectChar attribute="Normal Text" context="target_link_directories_ctx_op" char="(" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="target_link_directories_ctx_op">
+        <IncludeRules context="EndCmdPop2" />
+        <keyword attribute="Named Args" context="#stay" String="target_link_directories_nargs" />
+        <IncludeRules context="User Function Args" />
+      </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="target_link_libraries_ctx">
         <DetectChar attribute="Normal Text" context="target_link_libraries_ctx_op" char="(" />
       </context>
@@ -3182,6 +3289,14 @@
         <keyword attribute="Named Args" context="#stay" String="target_link_libraries_nargs" />
         <IncludeRules context="User Function Args" />
       </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="target_link_options_ctx">
+        <DetectChar attribute="Normal Text" context="target_link_options_ctx_op" char="(" />
+      </context>
+      <context attribute="Normal Text" lineEndContext="#stay" name="target_link_options_ctx_op">
+        <IncludeRules context="EndCmdPop2" />
+        <keyword attribute="Named Args" context="#stay" String="target_link_options_nargs" />
+        <IncludeRules context="User Function Args" />
+      </context>
       <context attribute="Normal Text" lineEndContext="#stay" name="target_sources_ctx">
         <DetectChar attribute="Normal Text" context="target_sources_ctx_op" char="(" />
       </context>
@@ -3470,6 +3585,8 @@
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCMAKE_&id_re;_LIBRARY_ARCHITECTURE\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCMAKE_&id_re;_LINKER_PREFERENCE\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCMAKE_&id_re;_LINKER_PREFERENCE_PROPAGATES\b" />
+        <RegExpr attribute="Builtin Variable" context="#stay" String="\bCMAKE_&id_re;_LINKER_WRAPPER_FLAG\b" />
+        <RegExpr attribute="Builtin Variable" context="#stay" String="\bCMAKE_&id_re;_LINKER_WRAPPER_FLAG_SEP\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCMAKE_&id_re;_LINK_EXECUTABLE\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCMAKE_&id_re;_OUTPUT_EXTENSION\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCMAKE_&id_re;_PLATFORM_ID\b" />
@@ -3531,6 +3648,7 @@
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_DEBIAN_&id_re;_PACKAGE_SHLIBDEPS\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_DEBIAN_&id_re;_PACKAGE_SOURCE\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_DEBIAN_&id_re;_PACKAGE_SUGGESTS\b" />
+        <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_DEBIAN_&id_re;_DEBUGINFO_PACKAGE\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NSIS_&id_re;_INSTALL_DIRECTORY\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_AUTHORS\b" />
         <RegExpr attribute="Builtin Variable" context="#stay" String="\bCPACK_NUGET_&id_re;_PACKAGE_COPYRIGHT\b" />
diff --git a/xml/default.xml b/xml/default.xml
--- a/xml/default.xml
+++ b/xml/default.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE language SYSTEM "language.dtd">
-<language version="1" kateversion="3.1" name="Default" section="Other" extensions="" mimetype="" author="John MacFarlane" license="MIT" hidden="true">
+<language version="1" kateversion="3.1" name="Default" section="Other" extensions="*.txt" mimetype="text/plain" author="John MacFarlane" license="MIT" hidden="true">
     <!-- This syntax definition just causes everything to be highlighted
          as Normal Text. It is intended to be used when highlighting
          isn't desired, but the other formatting elements added by
diff --git a/xml/j.xml b/xml/j.xml
new file mode 100644
--- /dev/null
+++ b/xml/j.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Changes:
+
+Version 1.5 (2015-04-29) by Igor Zhuravlov
+- language/@kateversion upgraded from "2.4" to "3.4"
+
+Version 1.4 (2015-04-20) by Igor Zhuravlov
+- merge versions 1.2 and 1.3
+- removed not used def and defc entities
+- approached color scheme to JQt
+- separated out color scheme to j14.katehlcolor file
+- dropped ExpArg: n. m. u. v. x. y.
+- reformatted a bit
+
+Version 1.3 (2014-05-26) by greg heil
+- based on version 1.1
+- add Foldable feature
+- change color scheme
+- add def and defc entities
+- split long lines
+
+Version 1.2 (2013-09-29) by Igor Zhuravlov
+- fix Adverb regexp's pattern
+- fix Verb regexp's pattern
+
+Version 1.1 (2013-03-18) by Igor Zhuravlov
+- fix enum entity's exponent definition
+- rework String regexp's pattern
+- use entities in Number regexp's pattern
+- use entities in Control regexp's pattern
+
+Version 1.0 (2012-03-21) by Igor Zhuravlov
+- initial release
+
+-->
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+  <!ENTITY unum "\d+">                                 <!-- Unsigned integer number -->
+  <!ENTITY anum "[a-z\d]+">                            <!-- Non-10-based unsigned integer number, e.g. 1a -->
+  <!ENTITY bnum "\b&unum;b_?&anum;(\.&anum;)\b">       <!-- Based integer number, e.g. 36b_1a.z2 -->
+  <!ENTITY inum "_?&unum;">                            <!-- Integer number -->
+  <!ENTITY xnum "\b&inum;x\b">                         <!-- Extended precision integer number, e.g. _123x -->
+  <!ENTITY rnum "\b&inum;r&inum;\b">                   <!-- Rational number, e.g. _1r23 -->
+  <!ENTITY fnum "&inum;(\.&unum;)?">                   <!-- Floating point number, e.g. 1.23 -->
+  <!ENTITY enum "(&fnum;(e&inum;)?|_?_|_\.)">          <!-- Exponential (scientific) notation, e.g. 1.2e_3 -->
+  <!ENTITY cnum "&enum;((j|a[dr])&enum;)?">            <!-- Complex number, e.g. 1.2e3j4.5e_6 -->
+  <!ENTITY pnum "\b&cnum;([px]&cnum;)?(?![a-z\d_.])">  <!-- Number based on pi or e, e.g. 1j2p3j4 -->
+  <!ENTITY name "[a-zA-Z][a-zA-Z\d_]*">                <!-- Name -->
+  <!ENTITY lname "\b&name;_(&name;)?_\b">              <!-- Locative, a__ means a_base_ -->
+  <!ENTITY ilname "\b&name;__&name;\b">                <!-- Indirect locative -->
+]>
+<!--
+  j.xml syntax highlighting for J programming language under Kate
+
+  J is a modern, high-level, general-purpose, high-performance, portable programming language
+  http://www.jsoftware.com
+
+  Kate is a KDE Advanced Text Editor
+  http://kate.kde.org/
+-->
+<language name="J"
+          section="Scripts"
+          version="2"
+          kateversion="3.4"
+          extensions="*.ijs;*.ijt;*.IJS;*.IJT"
+          mimetype="text/x-j;text/x-jsrc"
+          author="Igor Zhuravlov (zhuravlov.ip@ya.ru), greg heil (gheil.j@gmail.com)"
+          indenter="normal"
+          license="GPL">
+  <highlighting>
+    <contexts>
+      <context attribute="Sentence" lineEndContext="#pop" name="sentence">
+        <DetectSpaces/>
+        <RegExpr      attribute="Foldable"       context="#stay"        String=":\s*0|\bdefine\b" beginRegion="Fold"/>
+        <RegExpr      attribute="Foldable"       context="#stay"        String="^\)$" endRegion="Fold"/>
+        <StringDetect attribute="Comment"        context="#stay"        String="NB.(" beginRegion="Fold"/>
+        <StringDetect attribute="Comment"        context="#stay"        String="NB.)" endRegion="Fold"/>
+        <StringDetect attribute="Comment"        context="comment line" String="NB."/>
+        <RegExpr      attribute="String"         context="#stay"        String="&apos;([^&apos;]|&apos;&apos;)*&apos;"/>
+        <RegExpr      attribute="Adverb"         context="#stay"        String="([/\\]\.|\b[bfMt]\.|\bt:|[~/\\}])(?![.:])"/>
+        <RegExpr      attribute="Verb"           context="#stay"        String="(_?\d:|p\.\.|[ACeEIjLor]\.|[_/\\iqsux]:|\{::|[=!\]]|[-&lt;&gt;+*%$|,#\{][.:]?|[;\[]:?|[~}&quot;ip][.:]|[?^]\.?)(?![.:])"/>
+        <RegExpr      attribute="Number"         context="#stay"        String="&bnum;|&xnum;|&rnum;|&pnum;"/>
+        <AnyChar      attribute="Parens"         context="#stay"        String="()"/>
+        <RegExpr      attribute="Conjunction"    context="#stay"        String="(&quot;|[@&amp;][.:]?|[.:][.:]?|[!D][.:]|&amp;\.:|[;dHT]\.|`:?|[LS^]:)(?![.:])"/>
+        <RegExpr      attribute="Control"        context="#stay"        String="\b(assert|break|f?case|catch[dt]?|continue|do|else(if)?|end|for(_&name;)?|(goto|label)_&name;|if|return|select|throw|try|whil(e|st))\.(?![.:])"/>
+        <Detect2Chars attribute="Copulae Global" context="#stay"        char="=" char1=":"/>
+        <Detect2Chars attribute="Copulae Local"  context="#stay"        char="=" char1="."/>
+        <RegExpr      attribute="ExpArg"         context="#stay"        String="\b[nmuvxy](?![\w:.])"/>
+        <RegExpr      attribute="Noun"           context="#stay"        String="\ba[.:](?![.:])"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#pop" name="comment line"/>
+    </contexts>
+    <itemDatas>
+      <itemData name="Sentence"       defStyleNum="dsNormal"/>
+      <itemData name="Adverb"         defStyleNum="dsKeyword"      spellChecking="false"/>
+      <itemData name="Comment"        defStyleNum="dsComment"      spellChecking="true"/>
+      <itemData name="Conjunction"    defStyleNum="dsKeyword"      spellChecking="false"/>
+      <itemData name="Control"        defStyleNum="dsKeyword"      spellChecking="false"/>
+      <itemData name="Copulae Global" defStyleNum="dsKeyword"      spellChecking="false"/>
+      <itemData name="Copulae Local"  defStyleNum="dsKeyword"      spellChecking="false"/>
+      <itemData name="ExpArg"         defStyleNum="dsKeyword"      spellChecking="false" italic="true"/>
+      <itemData name="Foldable"       defStyleNum="dsRegionMarker" spellChecking="false"/>
+      <itemData name="Noun"           defStyleNum="dsKeyword"      spellChecking="false" bold="true"/>
+      <itemData name="Number"         defStyleNum="dsDecVal"       spellChecking="false"/>
+      <itemData name="Parens"         defStyleNum="dsRegionMarker" spellChecking="false"/>
+      <itemData name="String"         defStyleNum="dsString"       spellChecking="false"/>
+      <itemData name="Verb"           defStyleNum="dsKeyword"      spellChecking="false"/>
+    </itemDatas>
+  </highlighting>
+  <general>
+    <comments>
+      <comment name="multiLine" start="NB.(" end="NB.)" region="Fold"/>
+      <comment name="singleLine" start="NB."/>
+    </comments>
+    <folding indentationsensitive="true"/>
+  </general>
+</language>
diff --git a/xml/javascript.xml b/xml/javascript.xml
--- a/xml/javascript.xml
+++ b/xml/javascript.xml
@@ -6,13 +6,12 @@
 <!-- Author: Anders Lund <anders@alweb.dk> //-->
 <!-- Minor changes: Joseph Wenninger <jowenn@kde.org> //-->
 <!-- Full JavaScript 1.0 support by Whitehawk Stormchaser //-->
-<!-- NOTE: This highlighter does not offer full support for TypeScript. The .ts files
-     are temporarily included, since a syntax highlighting file for TypeScript is required! -->
-<language name="JavaScript" version="9" kateversion="5.0" section="Scripts" extensions="*.js;*.kwinscript;*.julius;*.ts"
+<language name="JavaScript" version="10" kateversion="5.0" section="Scripts" extensions="*.js;*.kwinscript;*.julius"
           mimetype="text/x-javascript;application/x-javascript;application/javascript;text/javascript" indenter="cstyle"
           author="Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net)" license="">
   <highlighting>
     <list name="controlflow">
+      <item>await</item>
       <item>break</item>
       <item>case</item>
       <item>catch</item>
@@ -37,18 +36,21 @@
       <item>in</item>
       <item>instanceof</item>
       <item>new</item>
+      <item>of</item>
       <item>this</item>
       <item>typeof</item>
       <item>var</item>
       <item>void</item>
     </list>
     <list name="reserved">
+      <item>async</item>
       <item>class</item>
       <item>enum</item>
       <item>extends</item>
       <item>super</item>
 
       <!-- The following keywords are reserved only in strict-mode -->
+      <item>arguments</item>
       <item>implements</item>
       <item>interface</item>
       <item>let</item>
@@ -77,12 +79,10 @@
     <contexts>
 
       <!-- Shebang: ("#!") Detect shebang and fallthrough to Normal -->
-      <!-- Based on the similar clause from prolog.xml, which notes the following BUG:
-        If the file starts with whitespace and a shebang on a line other than the first line,
-        this rule will still match it as a shebang, even tough the shebang is only valid on
-        the very first line.
+      <!-- Based on the similar clause from prolog.xml.
+        This uses "lineEmptyContext" & "lineEndContext" to force the highlight only on the first line.
       -->
-      <context name="Shebang" lineEndContext="Normal" attribute="Normal Text" fallthrough="true" fallthroughContext="Normal" >
+      <context name="Shebang" attribute="Normal Text" lineEndContext="Normal" lineEmptyContext="Normal" fallthrough="true" fallthroughContext="Normal" >
         <Detect2Chars column="0" char="#" char1="!" context="Shebang Line" attribute="Comment" />
       </context>
       <context name="Shebang Line" attribute="Comment" lineEndContext="#pop!Normal">
@@ -108,8 +108,7 @@
         <keyword attribute="Keyword" context="NoRegExp" String="primitives" />
         <keyword attribute="Module" String="module" />
 
-        <DetectChar attribute="Template" context="Template" char="`" />
-        <StringDetect attribute="Template" context="RawTemplate" String="String.raw`" />
+        <IncludeRules context="FindStrings" />
 
         <!--DetectIdentifier-->
         <RegExpr attribute="Objects" context="Object Member" String="&identifier;(?=\s*\.)" />
@@ -121,12 +120,7 @@
         <RegExpr context="NoRegExp" String="&identifier;" />
         <RegExpr context="NoRegExp" String="[a-zA-Z_$][\w$]*" />
 
-        <DetectChar attribute="String" context="String" char="&quot;" />
-        <DetectChar attribute="String" context="String SQ" char="'" />
-
-        <IncludeRules context="##Doxygen" />
-        <Detect2Chars attribute="Comment" context="Comment" char="/" char1="/" />
-        <Detect2Chars attribute="Comment" context="Multi/inline Comment" char="/" char1="*" beginRegion="Comment" />
+        <IncludeRules context="FindComments" />
 
         <!-- E4X extension (=xml inside JavaScript), see bug #373713 -->
         <Detect2Chars attribute="Normal Text" context="NoRegExp" char="&lt;" char1="/" />
@@ -136,6 +130,7 @@
         <DetectChar attribute="Symbol" context="Object" char="{" beginRegion="Brace" />
         <DetectChar attribute="Symbol" context="Conditional Expression" char="?" />
 
+        <Detect2Chars context="#stay" attribute="Special Operators" char="=" char1="&gt;" />
         <AnyChar attribute="Symbol" String=":!%&amp;+,-/.*&lt;=&gt;?|~^&#59;" />
       </context>
 
@@ -163,12 +158,21 @@
       <context attribute="Normal Text" lineEndContext="#stay" name="Object">
         <!-- Mostly required for define: in switch blocks -->
         <keyword attribute="Keyword" String="keywords" />
+        <RegExpr attribute="ControlFlow" String="\bdefault(?=\s*:)" />
         <!--DetectIdentifier-->
         <RegExpr attribute="JSON" String="&identifier;\s*(?=:)" />
         <DetectChar attribute="Symbol" char="}" endRegion="Brace" context="#pop" />
         <IncludeRules context="Normal" />
       </context>
 
+      <context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">
+        <DetectChar attribute="Template" context="Template" char="`" />
+        <StringDetect attribute="Template" context="RawTemplate" String="String.raw`" />
+
+        <DetectChar attribute="String" context="String" char="&quot;" />
+        <DetectChar attribute="String" context="String SQ" char="'" />
+      </context>
+
       <context attribute="String" lineEndContext="#pop" name="String">
         <IncludeRules context="Escape" />
         <DetectChar attribute="String" context="#pop" char="&quot;" />
@@ -177,7 +181,7 @@
         <IncludeRules context="Escape" />
         <DetectChar attribute="String" context="#pop" char="'" />
       </context>
-
+      
       <context attribute="Normal Text" lineEndContext="#stay" name="Escape">
         <LineContinue attribute="Escape" context="#stay" />
         <!-- Hexadecimal, unicode & octal -->
@@ -204,6 +208,11 @@
           <IncludeRules context="Normal"/>
       </context>
 
+      <context name="FindComments" attribute="Normal Text" lineEndContext="#stay">
+        <IncludeRules context="##Doxygen" />
+        <Detect2Chars attribute="Comment" context="Comment" char="/" char1="/" />
+        <Detect2Chars attribute="Comment" context="Multi/inline Comment" char="/" char1="*" beginRegion="Comment" />
+      </context>
       <context attribute="Comment" lineEndContext="#pop" name="Comment">
         <IncludeRules context="##Alerts" />
         <IncludeRules context="##Modelines" />
@@ -249,6 +258,7 @@
       <itemData name="Module"       defStyleNum="dsImport" spellChecking="false" />
       <itemData name="Objects"      defStyleNum="dsVariable" spellChecking="false" />
       <itemData name="Object Member" defStyleNum="dsAttribute" spellChecking="false" />
+      <itemData name="Special Operators" defStyleNum="dsKeyword" spellChecking="false" />
 
       <itemData name="Decimal"      defStyleNum="dsDecVal" spellChecking="false" />
       <itemData name="Octal"        defStyleNum="dsBaseN" spellChecking="false" />
diff --git a/xml/lua.xml b/xml/lua.xml
--- a/xml/lua.xml
+++ b/xml/lua.xml
@@ -43,7 +43,7 @@
     - NOTE, FIXME, TODO alerts added on comments
     - improved highlighting
 -->
-<language name="Lua" version="4" indenter="lua" kateversion="5.0" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
+<language name="Lua" version="5" indenter="lua" kateversion="5.0" section="Scripts" extensions="*.lua" mimetype="text/x-lua">
   <highlighting>
     <list name="keywords">
       <item>and</item>
@@ -434,7 +434,7 @@
     </list>
 
     <contexts>
-      <context name="Shebang"       attribute="Comment" lineEndContext="Normal" fallthrough="true" fallthroughContext="Normal">
+      <context name="Shebang"       attribute="Comment" lineEndContext="Normal" lineEmptyContext="Normal" fallthrough="true" fallthroughContext="Normal">
         <Detect2Chars attribute="Comment" context="Comment" char="#" char1="!" column="0"/>
       </context>
 
diff --git a/xml/prolog.xml b/xml/prolog.xml
--- a/xml/prolog.xml
+++ b/xml/prolog.xml
@@ -105,7 +105,7 @@
     <!ENTITY bs         "\">
 ]>
 <language name="Prolog" section="Sources"
-	  version="9" kateversion="3.4"
+	  version="10" kateversion="3.4"
 	  mimetype="text/x-prolog"
 	  extensions="*.prolog;*.dcg;*.pro"
 	  author="Torsten Eichstädt (torsten.eichstaedt@web.de)"
@@ -129,13 +129,12 @@
 
 BUG - Nobody's perfect - If I knew about the bug you found, it would have been
       fixed already.
- one- Takes a "shebang" at the start of text on other than the 1st line (Kate).
- two- Indentation-based folding is not reliable (Kate; fixed in KDE 4.9?).
- three- Folding is sometimes broken (Kate?).  See SOLUTIONS below.
-  4 - An optional leading sign is not highlighted as part of the number.
-  5 - A float w/o fractional part and exponent is highlighted as an integer.
-  6 - Detection of whitespace may not be 100% correct, only space/tab/newline.
-  7 - Handling inside arithmetic expressions might not be 100%.  See "AL GUSTO".
+ one- Indentation-based folding is not reliable (Kate; fixed in KDE 4.9?).
+ two- Folding is sometimes broken (Kate?).  See SOLUTIONS below.
+ three- An optional leading sign is not highlighted as part of the number.
+  4 - A float w/o fractional part and exponent is highlighted as an integer.
+  5 - Detection of whitespace may not be 100% correct, only space/tab/newline.
+  6 - Handling inside arithmetic expressions might not be 100%.  See "AL GUSTO".
  inf- see TODOs below.
 
 LIMITS of this parser
@@ -236,6 +235,7 @@
 	editors may convert them to space and it is easy to use "\t" instead.
     - Preliminary: most names end w/ ISO; prepared to be included in syntax
       files adapted for Prolog dialects.
+    - The Shebang is highlighted only in the first line (with lineEmptyContext).
 
 FIXME	When katepart can supply line numbers, fix the "shebang" rule.
 
@@ -502,7 +502,7 @@
 	    clause      := layout term_seq fullstop | term_seq fullstop
 	-->
 	    <!-- shebang: ("#!") Detect shebang and fallthrough to clause_seq -->
-	    <context name="shebang" lineEndContext="clause" attribute="Syntax Error" >
+	    <context name="shebang" lineEndContext="clause" lineEmptyContext="clause" attribute="Syntax Error" >
 		<!-- no way: fallthrough="1" fallthroughContext="clause_seq" > -->
 		<Detect2Chars column="0" char="#" char1="!" context="1-comment" attribute="% italic predicates: w/ side effects" />
 		<!-- else fallthrough (workaround broken fallthrough) -->
diff --git a/xml/rust.xml b/xml/rust.xml
--- a/xml/rust.xml
+++ b/xml/rust.xml
@@ -33,7 +33,7 @@
 	<!ENTITY commonEscape "([trn0&apos;&quot;\\]|x[0-9a-fA-F]{2})">
 	<!ENTITY unicodeEscape "u\{([0-9a-fA-F]_*){1,6}\}">
 ]>
-<language name="Rust" version="5" kateversion="5.0" section="Sources" extensions="*.rs" mimetype="text/rust" priority="15" license="MIT" author="The Rust Project Developers">
+<language name="Rust" version="6" kateversion="5.0" section="Sources" extensions="*.rs" mimetype="text/rust" priority="15" license="MIT" author="The Rust Project Developers">
 <highlighting>
 	<list name="fn">
 		<item>fn</item>
@@ -333,11 +333,16 @@
 			<RegExpr String="&unicodeEscape;" attribute="CharEscape" context="#pop"/>
 			<IncludeRules context="CharEscape"/>
 		</context>
-		<context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
+		<context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
+			<IncludeRules context="##Alerts" />
+			<IncludeRules context="##Modelines" />
+		</context>
 		<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
 			<DetectSpaces/>
 			<Detect2Chars char="/" char1="*" attribute="Comment" context="Commentar 2" beginRegion="Comment"/>
 			<Detect2Chars char="*" char1="/" attribute="Comment" context="#pop" endRegion="Comment"/>
+			<IncludeRules context="##Alerts" />
+			<IncludeRules context="##Modelines" />
 		</context>
 	</contexts>
 	<itemDatas>
diff --git a/xml/sml.xml b/xml/sml.xml
new file mode 100644
--- /dev/null
+++ b/xml/sml.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd">
+<language name="SML" version="4" kateversion="2.3" section="Sources" extensions="*.sml;*.ml" mimetype="" author="Christoph Cullmann (cullmann@kde.org)" license="MIT">
+  <highlighting>
+    <list name="keywords">
+      <item>abstype</item>
+      <item>and</item>
+      <item>andalso</item>
+      <item>as</item>
+      <item>case</item>
+      <item>do</item>
+      <item>datatype</item>
+      <item>else</item>
+      <item>end</item>
+      <item>eqtype</item>
+      <item>exception</item>
+      <item>false</item>
+      <item>fn</item>
+      <item>fun</item>
+      <item>functor</item>
+      <item>handle</item>
+      <item>if</item>
+      <item>in</item>
+      <item>include</item>
+      <item>infix</item>
+      <item>infixr</item>
+      <item>let</item>
+      <item>local</item>
+      <item>nonfix</item>
+      <item>of</item>
+      <item>op</item>
+      <item>open</item>
+      <item>orelse</item>
+      <item>raise</item>
+      <item>rec</item>
+      <item>sharing</item>
+      <item>sig</item>
+      <item>signature</item>
+      <item>struct</item>
+      <item>structure</item>
+      <item>then</item>
+      <item>true</item>
+      <item>type</item>
+      <item>val</item>
+      <item>where</item>
+      <item>with</item>
+      <item>withtype</item>
+      <item>while</item>
+    </list>
+    <list name="types">
+      <item>unit</item>
+      <item>int</item>
+      <item>real</item>
+      <item>char</item>
+      <item>string</item>
+      <item>substring</item>
+      <item>word</item>
+      <item>ref</item>
+      <item>array</item>
+      <item>vector</item>
+      <item>bool</item>
+      <item>list</item>
+      <item>option</item>
+      <item>order</item>
+    </list>
+    <contexts>
+      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
+        <Detect2Chars attribute="Comment" context="Multiline/Inline Comment" char="(" char1="*" />
+        <DetectChar attribute="String" context="String" char="&quot;" />
+        <keyword attribute="Keyword" context="#stay" String="keywords" />
+        <keyword attribute="Data Type" context="#stay" String="types" />
+        <Float attribute="Float" context="Float Suffixes"/>
+        <HlCHex attribute="Decimal" context="#stay"/>
+        <Int attribute="Decimal" context="#stay" />
+      </context>
+      <context name="Float Suffixes" attribute="Float" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+          <AnyChar String="fF" attribute="Float" context="#pop"/>
+      </context>
+      <context attribute="Comment" lineEndContext="#stay" name="Multiline/Inline Comment">
+        <Detect2Chars attribute="Comment" context="#pop" char="*" char1=")" />
+      </context>
+      <context attribute="String" lineEndContext="#stay" name="String">
+        <HlCStringChar attribute="String Char" context="#stay"/>
+        <DetectChar attribute="String" context="#pop" char="&quot;" />
+      </context>
+    </contexts>
+    <itemDatas>
+      <itemData name="Normal Text" defStyleNum="dsNormal"/>
+      <itemData name="Keyword"  defStyleNum="dsKeyword"/>
+      <itemData name="Data Type"  defStyleNum="dsDataType"/>
+      <itemData name="Decimal"  defStyleNum="dsDecVal"/>
+      <itemData name="Float"  defStyleNum="dsFloat"/>
+      <itemData name="String"  defStyleNum="dsString"/>
+      <itemData name="Comment" defStyleNum="dsComment" />
+      <itemData name="String Char"  defStyleNum="dsChar" />
+    </itemDatas>
+  </highlighting>
+  <general>
+    <keywords casesensitive="1" />
+    <comments>
+      <comment name="multiLine" start="(*" end="*)" />
+    </comments>
+  </general>
+</language>
diff --git a/xml/typescript.xml b/xml/typescript.xml
new file mode 100644
--- /dev/null
+++ b/xml/typescript.xml
@@ -0,0 +1,1953 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE language SYSTEM "language.dtd"
+[
+	<!ENTITY identifier "([a-zA-Z_$]|[^[:ascii:]])([\w$]|[^[:ascii:]])*">
+]>
+
+<!--
+    ====================================================================
+
+      This file is part of the KDE's KSyntaxHighlighting framework.
+
+      Copyright 2018 Nibaldo González S. (nibgonz@gmail.com)
+
+      This Source Code Form is subject to the terms of the MIT License.
+      If a copy of the license was not distributed with this file,
+      You can obtain one at: https://opensource.org/licenses/MIT
+
+    ====================================================================
+
+    This file is an extension of the JavaScript highlighter
+    (javascript.xml, Version 10 and higher).
+    Based on the TypeScript grammar files,
+    available at: https://github.com/Microsoft/TypeScript-TmLanguage
+
+    NOTE: TypeScript directives are highlighted by "doxygen.xml",
+    included in the JavaScript highlighter.
+    Ex:
+      /// <reference no-default-lib="true"/>
+
+      Tags: reference, amd-dependency, amd-module
+      Attributes: path, types, no-default-lib, name
+
+    TODO: The keywords of built-in classes & functions can be included
+    in "javascript.xml". The only drawback is that some XML files use
+    JavaScript highlighting, through "IncludeRules", and should not
+    incorporate these keywords (for example: "qml.xml").
+
+    Change log:
+     * v1 [2018-11-18]: Initial version
+-->
+
+<language name="TypeScript"
+          version="1"
+          kateversion="5.53"
+          section="Scripts"
+          extensions="*.ts"
+          priority="9"
+          mimetype="text/typescript;application/typescript;text/x-typescript;application/x-typescript"
+          indenter="cstyle"
+          author="Nibaldo González (nibgonz@gmail.com)"
+          license="MIT">
+
+<highlighting>
+
+	<!-- Include all JavaScript keywords! -->
+	<list name="controlflow">
+		<include>controlflow##JavaScript</include>
+		<item>goto</item>
+	</list>
+	<list name="keywords">
+		<include>keywords##JavaScript</include>
+		<item>declare</item> <!-- storage.modifier.ts -->
+	</list>
+	<list name="reserved">
+		<include>reserved##JavaScript</include>
+		<item>type</item>
+		<item>arguments</item>
+
+		<!-- Class -->
+		<item>readonly</item>
+		<item>abstract</item>
+		<item>constructor</item>
+		<item>get</item>
+		<item>set</item>
+		<!-- Also:
+		     public, protected, private, async, super, new, static -->
+	</list>
+	<list name="module">
+		<include>module##JavaScript</include>
+	</list>
+	<list name="primitives">
+		<include>primitives##JavaScript</include>
+
+		<!-- Types Built-in -->
+		<item>object</item>
+		<!-- Also:
+		     this, true, false, undefined, null -->
+	</list>
+
+	<list name="control_export_types">
+		<!-- storage.type.namespace.ts -->
+		<item>namespace</item>
+		<item>module</item>
+	</list>
+	<list name="object_iden">
+		<item>keyof</item>
+		<item>infer</item>
+	</list>
+	<list name="types_primitives">
+		<item>string</item>
+		<item>number</item>
+		<item>boolean</item>
+		<item>symbol</item>
+		<item>any</item>
+		<item>void</item>
+		<item>never</item>
+		<item>unknown</item>
+	</list>
+
+	<!-- Built-in Classes & Functions -->
+
+	<list name="class_builtin">
+		<item>Array</item>
+		<item>ArrayBuffer</item>
+		<item>Atomics</item>
+		<item>Boolean</item>
+		<item>DataView</item>
+		<item>Date</item>
+		<item>Float32Array</item>
+		<item>Float64Array</item>
+		<item>Function</item>
+		<item>Generator</item>
+		<item>GeneratorFunction</item>
+		<item>Int8Array</item>
+		<item>Int16Array</item>
+		<item>Int32Array</item>
+		<item>Intl</item>
+		<item>Map</item>
+		<item>Number</item>
+		<item>Object</item>
+		<item>Proxy</item>
+		<item>Reflect</item>
+		<item>RegExp</item>
+		<item>Set</item>
+		<item>SharedArrayBuffer</item>
+		<item>SIMD</item>
+		<item>String</item>
+		<item>Symbol</item>
+		<item>TypedArray</item>
+		<item>Uint8Array</item>
+		<item>Uint16Array</item>
+		<item>Uint32Array</item>
+		<item>Uint8ClampedArray</item>
+		<item>WeakMap</item>
+		<item>WeakSet</item>
+		<!-- Class: Error -->
+		<item>Error</item>
+		<item>EvalError</item>
+		<item>InternalError</item>
+		<item>RangeError</item>
+		<item>ReferenceError</item>
+		<item>SyntaxError</item>
+		<item>TypeError</item>
+		<item>URIError</item>
+		<!-- Class: Math -->
+		<item>Math</item>
+		<!-- Class: Promise -->
+		<item>Promise</item>
+		<!-- Other -->
+		<item>JSON</item>
+		<item>console</item>
+		<item>process</item>
+	</list>
+	<!-- DOM Classes -->
+	<list name="class_dom">
+		<item>AnalyserNode</item>
+		<item>ArrayBufferView</item>
+		<item>Attr</item>
+		<item>AudioBuffer</item>
+		<item>AudioBufferSourceNode</item>
+		<item>AudioContext</item>
+		<item>AudioDestinationNode</item>
+		<item>AudioListener</item>
+		<item>AudioNode</item>
+		<item>AudioParam</item>
+		<item>BatteryManager</item>
+		<item>BeforeUnloadEvent</item>
+		<item>BiquadFilterNode</item>
+		<item>Blob</item>
+		<item>BufferSource</item>
+		<item>ByteString</item>
+		<item>CSS</item>
+		<item>CSSConditionRule</item>
+		<item>CSSCounterStyleRule</item>
+		<item>CSSGroupingRule</item>
+		<item>CSSMatrix</item>
+		<item>CSSMediaRule</item>
+		<item>CSSPageRule</item>
+		<item>CSSPrimitiveValue</item>
+		<item>CSSRule</item>
+		<item>CSSRuleList</item>
+		<item>CSSStyleDeclaration</item>
+		<item>CSSStyleRule</item>
+		<item>CSSStyleSheet</item>
+		<item>CSSSupportsRule</item>
+		<item>CSSValue</item>
+		<item>CSSValueList</item>
+		<item>CanvasGradient</item>
+		<item>CanvasImageSource</item>
+		<item>CanvasPattern</item>
+		<item>CanvasRenderingContext2D</item>
+		<item>ChannelMergerNode</item>
+		<item>ChannelSplitterNode</item>
+		<item>CharacterData</item>
+		<item>ChromeWorker</item>
+		<item>CloseEvent</item>
+		<item>Comment</item>
+		<item>CompositionEvent</item>
+		<item>Console</item>
+		<item>ConvolverNode</item>
+		<item>Coordinates</item>
+		<item>Credential</item>
+		<item>CredentialsContainer</item>
+		<item>Crypto</item>
+		<item>CryptoKey</item>
+		<item>CustomEvent</item>
+		<item>DOMError</item>
+		<item>DOMException</item>
+		<item>DOMHighResTimeStamp</item>
+		<item>DOMImplementation</item>
+		<item>DOMString</item>
+		<item>DOMStringList</item>
+		<item>DOMStringMap</item>
+		<item>DOMTimeStamp</item>
+		<item>DOMTokenList</item>
+		<item>DataTransfer</item>
+		<item>DataTransferItem</item>
+		<item>DataTransferItemList</item>
+		<item>DedicatedWorkerGlobalScope</item>
+		<item>DelayNode</item>
+		<item>DeviceProximityEvent</item>
+		<item>DirectoryEntry</item>
+		<item>DirectoryEntrySync</item>
+		<item>DirectoryReader</item>
+		<item>DirectoryReaderSync</item>
+		<item>Document</item>
+		<item>DocumentFragment</item>
+		<item>DocumentTouch</item>
+		<item>DocumentType</item>
+		<item>DragEvent</item>
+		<item>DynamicsCompressorNode</item>
+		<item>Element</item>
+		<item>Entry</item>
+		<item>EntrySync</item>
+		<item>ErrorEvent</item>
+		<item>Event</item>
+		<item>EventListener</item>
+		<item>EventSource</item>
+		<item>EventTarget</item>
+		<item>FederatedCredential</item>
+		<item>FetchEvent</item>
+		<item>File</item>
+		<item>FileEntry</item>
+		<item>FileEntrySync</item>
+		<item>FileException</item>
+		<item>FileList</item>
+		<item>FileReader</item>
+		<item>FileReaderSync</item>
+		<item>FileSystem</item>
+		<item>FileSystemSync</item>
+		<item>FontFace</item>
+		<item>FormData</item>
+		<item>GainNode</item>
+		<item>Gamepad</item>
+		<item>GamepadButton</item>
+		<item>GamepadEvent</item>
+		<item>Geolocation</item>
+		<item>GlobalEventHandlers</item>
+		<item>HTMLAnchorElement</item>
+		<item>HTMLAreaElement</item>
+		<item>HTMLAudioElement</item>
+		<item>HTMLBRElement</item>
+		<item>HTMLBaseElement</item>
+		<item>HTMLBodyElement</item>
+		<item>HTMLButtonElement</item>
+		<item>HTMLCanvasElement</item>
+		<item>HTMLCollection</item>
+		<item>HTMLContentElement</item>
+		<item>HTMLDListElement</item>
+		<item>HTMLDataElement</item>
+		<item>HTMLDataListElement</item>
+		<item>HTMLDialogElement</item>
+		<item>HTMLDivElement</item>
+		<item>HTMLDocument</item>
+		<item>HTMLElement</item>
+		<item>HTMLEmbedElement</item>
+		<item>HTMLFieldSetElement</item>
+		<item>HTMLFontElement</item>
+		<item>HTMLFormControlsCollection</item>
+		<item>HTMLFormElement</item>
+		<item>HTMLHRElement</item>
+		<item>HTMLHeadElement</item>
+		<item>HTMLHeadingElement</item>
+		<item>HTMLHtmlElement</item>
+		<item>HTMLIFrameElement</item>
+		<item>HTMLImageElement</item>
+		<item>HTMLInputElement</item>
+		<item>HTMLKeygenElement</item>
+		<item>HTMLLIElement</item>
+		<item>HTMLLabelElement</item>
+		<item>HTMLLegendElement</item>
+		<item>HTMLLinkElement</item>
+		<item>HTMLMapElement</item>
+		<item>HTMLMediaElement</item>
+		<item>HTMLMetaElement</item>
+		<item>HTMLMeterElement</item>
+		<item>HTMLModElement</item>
+		<item>HTMLOListElement</item>
+		<item>HTMLObjectElement</item>
+		<item>HTMLOptGroupElement</item>
+		<item>HTMLOptionElement</item>
+		<item>HTMLOptionsCollection</item>
+		<item>HTMLOutputElement</item>
+		<item>HTMLParagraphElement</item>
+		<item>HTMLParamElement</item>
+		<item>HTMLPreElement</item>
+		<item>HTMLProgressElement</item>
+		<item>HTMLQuoteElement</item>
+		<item>HTMLScriptElement</item>
+		<item>HTMLSelectElement</item>
+		<item>HTMLShadowElement</item>
+		<item>HTMLSourceElement</item>
+		<item>HTMLSpanElement</item>
+		<item>HTMLStyleElement</item>
+		<item>HTMLTableCaptionElement</item>
+		<item>HTMLTableCellElement</item>
+		<item>HTMLTableColElement</item>
+		<item>HTMLTableDataCellElement</item>
+		<item>HTMLTableElement</item>
+		<item>HTMLTableHeaderCellElement</item>
+		<item>HTMLTableRowElement</item>
+		<item>HTMLTableSectionElement</item>
+		<item>HTMLTextAreaElement</item>
+		<item>HTMLTimeElement</item>
+		<item>HTMLTitleElement</item>
+		<item>HTMLTrackElement</item>
+		<item>HTMLUListElement</item>
+		<item>HTMLUnknownElement</item>
+		<item>HTMLVideoElement</item>
+		<item>HashChangeEvent</item>
+		<item>History</item>
+		<item>IDBCursor</item>
+		<item>IDBCursorWithValue</item>
+		<item>IDBDatabase</item>
+		<item>IDBEnvironment</item>
+		<item>IDBFactory</item>
+		<item>IDBIndex</item>
+		<item>IDBKeyRange</item>
+		<item>IDBMutableFile</item>
+		<item>IDBObjectStore</item>
+		<item>IDBOpenDBRequest</item>
+		<item>IDBRequest</item>
+		<item>IDBTransaction</item>
+		<item>IDBVersionChangeEvent</item>
+		<item>IIRFilterNode</item>
+		<item>IdentityManager</item>
+		<item>ImageBitmap</item>
+		<item>ImageBitmapFactories</item>
+		<item>ImageData</item>
+		<item>Index</item>
+		<item>InputDeviceCapabilities</item>
+		<item>InputEvent</item>
+		<item>InstallEvent</item>
+		<item>InstallTrigger</item>
+		<item>KeyboardEvent</item>
+		<item>LinkStyle</item>
+		<item>LocalFileSystem</item>
+		<item>LocalFileSystemSync</item>
+		<item>Location</item>
+		<item>MIDIAccess</item>
+		<item>MIDIConnectionEvent</item>
+		<item>MIDIInput</item>
+		<item>MIDIInputMap</item>
+		<item>MIDIOutputMap</item>
+		<item>MediaElementAudioSourceNode</item>
+		<item>MediaError</item>
+		<item>MediaKeyMessageEvent</item>
+		<item>MediaKeySession</item>
+		<item>MediaKeyStatusMap</item>
+		<item>MediaKeySystemAccess</item>
+		<item>MediaKeySystemConfiguration</item>
+		<item>MediaKeys</item>
+		<item>MediaRecorder</item>
+		<item>MediaStream</item>
+		<item>MediaStreamAudioDestinationNode</item>
+		<item>MediaStreamAudioSourceNode</item>
+		<item>MessageChannel</item>
+		<item>MessageEvent</item>
+		<item>MessagePort</item>
+		<item>MouseEvent</item>
+		<item>MutationObserver</item>
+		<item>MutationRecord</item>
+		<item>NamedNodeMap</item>
+		<item>Navigator</item>
+		<item>NavigatorConcurrentHardware</item>
+		<item>NavigatorGeolocation</item>
+		<item>NavigatorID</item>
+		<item>NavigatorLanguage</item>
+		<item>NavigatorOnLine</item>
+		<item>Node</item>
+		<item>NodeFilter</item>
+		<item>NodeIterator</item>
+		<item>NodeList</item>
+		<item>NonDocumentTypeChildNode</item>
+		<item>Notification</item>
+		<item>OfflineAudioCompletionEvent</item>
+		<item>OfflineAudioContext</item>
+		<item>OscillatorNode</item>
+		<item>PageTransitionEvent</item>
+		<item>PannerNode</item>
+		<item>ParentNode</item>
+		<item>PasswordCredential</item>
+		<item>Path2D</item>
+		<item>PaymentAddress</item>
+		<item>PaymentRequest</item>
+		<item>PaymentResponse</item>
+		<item>Performance</item>
+		<item>PerformanceEntry</item>
+		<item>PerformanceFrameTiming</item>
+		<item>PerformanceMark</item>
+		<item>PerformanceMeasure</item>
+		<item>PerformanceNavigation</item>
+		<item>PerformanceNavigationTiming</item>
+		<item>PerformanceObserver</item>
+		<item>PerformanceObserverEntryList</item>
+		<item>PerformanceResourceTiming</item>
+		<item>PerformanceTiming</item>
+		<item>PeriodicSyncEvent</item>
+		<item>PeriodicWave</item>
+		<item>Plugin</item>
+		<item>Point</item>
+		<item>PointerEvent</item>
+		<item>PopStateEvent</item>
+		<item>PortCollection</item>
+		<item>Position</item>
+		<item>PositionError</item>
+		<item>PositionOptions</item>
+		<item>PresentationConnectionClosedEvent</item>
+		<item>PresentationConnectionList</item>
+		<item>PresentationReceiver</item>
+		<item>ProcessingInstruction</item>
+		<item>ProgressEvent</item>
+		<item>PromiseRejectionEvent</item>
+		<item>PushEvent</item>
+		<item>PushRegistrationManager</item>
+		<item>RTCCertificate</item>
+		<item>RTCConfiguration</item>
+		<item>RTCPeerConnection</item>
+		<item>RTCSessionDescriptionCallback</item>
+		<item>RTCStatsReport</item>
+		<item>RadioNodeList</item>
+		<item>RandomSource</item>
+		<item>Range</item>
+		<item>ReadableByteStream</item>
+		<item>RenderingContext</item>
+		<item>SVGAElement</item>
+		<item>SVGAngle</item>
+		<item>SVGAnimateColorElement</item>
+		<item>SVGAnimateElement</item>
+		<item>SVGAnimateMotionElement</item>
+		<item>SVGAnimateTransformElement</item>
+		<item>SVGAnimatedAngle</item>
+		<item>SVGAnimatedBoolean</item>
+		<item>SVGAnimatedEnumeration</item>
+		<item>SVGAnimatedInteger</item>
+		<item>SVGAnimatedLength</item>
+		<item>SVGAnimatedLengthList</item>
+		<item>SVGAnimatedNumber</item>
+		<item>SVGAnimatedNumberList</item>
+		<item>SVGAnimatedPoints</item>
+		<item>SVGAnimatedPreserveAspectRatio</item>
+		<item>SVGAnimatedRect</item>
+		<item>SVGAnimatedString</item>
+		<item>SVGAnimatedTransformList</item>
+		<item>SVGAnimationElement</item>
+		<item>SVGCircleElement</item>
+		<item>SVGClipPathElement</item>
+		<item>SVGCursorElement</item>
+		<item>SVGDefsElement</item>
+		<item>SVGDescElement</item>
+		<item>SVGElement</item>
+		<item>SVGEllipseElement</item>
+		<item>SVGEvent</item>
+		<item>SVGFilterElement</item>
+		<item>SVGFontElement</item>
+		<item>SVGFontFaceElement</item>
+		<item>SVGFontFaceFormatElement</item>
+		<item>SVGFontFaceNameElement</item>
+		<item>SVGFontFaceSrcElement</item>
+		<item>SVGFontFaceUriElement</item>
+		<item>SVGForeignObjectElement</item>
+		<item>SVGGElement</item>
+		<item>SVGGlyphElement</item>
+		<item>SVGGradientElement</item>
+		<item>SVGHKernElement</item>
+		<item>SVGImageElement</item>
+		<item>SVGLength</item>
+		<item>SVGLengthList</item>
+		<item>SVGLineElement</item>
+		<item>SVGLinearGradientElement</item>
+		<item>SVGMPathElement</item>
+		<item>SVGMaskElement</item>
+		<item>SVGMatrix</item>
+		<item>SVGMissingGlyphElement</item>
+		<item>SVGNumber</item>
+		<item>SVGNumberList</item>
+		<item>SVGPathElement</item>
+		<item>SVGPatternElement</item>
+		<item>SVGPoint</item>
+		<item>SVGPolygonElement</item>
+		<item>SVGPolylineElement</item>
+		<item>SVGPreserveAspectRatio</item>
+		<item>SVGRadialGradientElement</item>
+		<item>SVGRect</item>
+		<item>SVGRectElement</item>
+		<item>SVGSVGElement</item>
+		<item>SVGScriptElement</item>
+		<item>SVGSetElement</item>
+		<item>SVGStopElement</item>
+		<item>SVGStringList</item>
+		<item>SVGStylable</item>
+		<item>SVGStyleElement</item>
+		<item>SVGSwitchElement</item>
+		<item>SVGSymbolElement</item>
+		<item>SVGTRefElement</item>
+		<item>SVGTSpanElement</item>
+		<item>SVGTests</item>
+		<item>SVGTextElement</item>
+		<item>SVGTextPositioningElement</item>
+		<item>SVGTitleElement</item>
+		<item>SVGTransform</item>
+		<item>SVGTransformList</item>
+		<item>SVGTransformable</item>
+		<item>SVGUseElement</item>
+		<item>SVGVKernElement</item>
+		<item>SVGViewElement</item>
+		<item>ServiceWorker</item>
+		<item>ServiceWorkerContainer</item>
+		<item>ServiceWorkerGlobalScope</item>
+		<item>ServiceWorkerRegistration</item>
+		<item>ServiceWorkerState</item>
+		<item>ShadowRoot</item>
+		<item>SharedWorker</item>
+		<item>SharedWorkerGlobalScope</item>
+		<item>SourceBufferList</item>
+		<item>StereoPannerNode</item>
+		<item>Storage</item>
+		<item>StorageEvent</item>
+		<item>StyleSheet</item>
+		<item>StyleSheetList</item>
+		<item>SubtleCrypto</item>
+		<item>SyncEvent</item>
+		<item>Text</item>
+		<item>TextMetrics</item>
+		<item>TimeEvent</item>
+		<item>TimeRanges</item>
+		<item>Touch</item>
+		<item>TouchEvent</item>
+		<item>TouchList</item>
+		<item>Transferable</item>
+		<item>TreeWalker</item>
+		<item>UIEvent</item>
+		<item>USVString</item>
+		<item>VRDisplayCapabilities</item>
+		<item>ValidityState</item>
+		<item>WaveShaperNode</item>
+		<item>WebGL</item>
+		<item>WebGLActiveInfo</item>
+		<item>WebGLBuffer</item>
+		<item>WebGLContextEvent</item>
+		<item>WebGLFramebuffer</item>
+		<item>WebGLProgram</item>
+		<item>WebGLRenderbuffer</item>
+		<item>WebGLRenderingContext</item>
+		<item>WebGLShader</item>
+		<item>WebGLShaderPrecisionFormat</item>
+		<item>WebGLTexture</item>
+		<item>WebGLTimerQueryEXT</item>
+		<item>WebGLTransformFeedback</item>
+		<item>WebGLUniformLocation</item>
+		<item>WebGLVertexArrayObject</item>
+		<item>WebGLVertexArrayObjectOES</item>
+		<item>WebSocket</item>
+		<item>WebSockets</item>
+		<item>WebVTT</item>
+		<item>WheelEvent</item>
+		<item>Window</item>
+		<item>WindowBase64</item>
+		<item>WindowEventHandlers</item>
+		<item>WindowTimers</item>
+		<item>Worker</item>
+		<item>WorkerGlobalScope</item>
+		<item>WorkerLocation</item>
+		<item>WorkerNavigator</item>
+		<item>XMLHttpRequest</item>
+		<item>XMLHttpRequestEventTarget</item>
+		<item>XMLSerializer</item>
+		<item>XPathExpression</item>
+		<item>XPathResult</item>
+		<item>XSLTProcessor</item>
+	</list>
+	<!-- Node.js Classes -->
+	<list name="class_node">
+		<item>Buffer</item>
+		<item>EventEmitter</item>
+		<item>Server</item>
+		<item>Pipe</item>
+		<item>Socket</item>
+		<item>REPLServer</item>
+		<item>ReadStream</item>
+		<item>WriteStream</item>
+		<item>Stream</item>
+		<item>Inflate</item>
+		<item>Deflate</item>
+		<item>InflateRaw</item>
+		<item>DeflateRaw</item>
+		<item>GZip</item>
+		<item>GUnzip</item>
+		<item>Unzip</item>
+		<item>Zip</item>
+	</list>
+	<!-- General Properties of Classes -->
+	<list name="variable_property">
+		<item>constructor</item>
+		<item>length</item>
+		<item>prototype</item>
+		<item>__proto__</item>
+		<item>EPSILON</item>
+		<item>MAX_SAFE_INTEGER</item>
+		<item>MAX_VALUE</item>
+		<item>MIN_SAFE_INTEGER</item>
+		<item>MIN_VALUE</item>
+		<item>NEGATIVE_INFINITY</item>
+		<item>POSITIVE_INFINITY</item>
+	</list>
+	<!-- General Built-in Functions -->
+	<list name="functions">
+		<item>clearInterval</item>
+		<item>clearTimeout</item>
+		<item>decodeURI</item>
+		<item>decodeURIComponent</item>
+		<item>encodeURI</item>
+		<item>encodeURIComponent</item>
+		<item>escape</item>
+		<item>eval</item>
+		<item>isFinite</item>
+		<item>isNaN</item>
+		<item>parseFloat</item>
+		<item>parseInt</item>
+		<item>require</item>
+		<item>setTimeout</item>
+		<item>setInterval</item>
+		<item>super</item>
+		<item>unescape</item>
+		<item>uneval</item>
+	</list>
+	<!-- Methods of Math Class -->
+	<list name="math_functions">
+		<item>abs</item>
+		<item>acos</item>
+		<item>acosh</item>
+		<item>asin</item>
+		<item>asinh</item>
+		<item>atan</item>
+		<item>atan2</item>
+		<item>atanh</item>
+		<item>cbrt</item>
+		<item>ceil</item>
+		<item>clz32</item>
+		<item>cos</item>
+		<item>cosh</item>
+		<item>exp</item>
+		<item>expm1</item>
+		<item>floor</item>
+		<item>fround</item>
+		<item>hypot</item>
+		<item>imul</item>
+		<item>log</item>
+		<item>log10</item>
+		<item>log1p</item>
+		<item>log2</item>
+		<item>max</item>
+		<item>min</item>
+		<item>pow</item>
+		<item>random</item>
+		<item>round</item>
+		<item>sign</item>
+		<item>sin</item>
+		<item>sinh</item>
+		<item>sqrt</item>
+		<item>tan</item>
+		<item>tanh</item>
+		<item>trunc</item>
+	</list>
+	<!-- Constants of Math Class-->
+	<list name="math_property_constants">
+		<item>E</item>
+		<item>LN10</item>
+		<item>LN2</item>
+		<item>LOG10E</item>
+		<item>LOG2E</item>
+		<item>PI</item>
+		<item>SQRT1_2</item>
+		<item>SQRT2</item>
+	</list>
+	<!-- Functions of "console" -->
+	<list name="console_functions">
+		<item>assert</item>
+		<item>clear</item>
+		<item>count</item>
+		<item>debug</item>
+		<item>dir</item>
+		<item>error</item>
+		<item>group</item>
+		<item>groupCollapsed</item>
+		<item>groupEnd</item>
+		<item>info</item>
+		<item>log</item>
+		<item>profile</item>
+		<item>profileEnd</item>
+		<item>table</item>
+		<item>time</item>
+		<item>timeEnd</item>
+		<item>timeStamp</item>
+		<item>trace</item>
+		<item>warn</item>
+	</list>
+	<!-- Methods of JSON Class -->
+	<list name="json_functions">
+		<item>parse</item>
+		<item>stringify</item>
+	</list>
+	<!-- Attributes of Node.js Classes -->
+	<list name="node_object">
+		<item>global</item>
+		<item>GLOBAL</item>
+		<item>root</item>
+		<item>__dirname</item>
+		<item>__filename</item>
+	</list>
+	<!-- Properties of "process" -->
+	<list name="process_property">
+		<item>arch</item>
+		<item>argv</item>
+		<item>config</item>
+		<item>connected</item>
+		<item>env</item>
+		<item>execArgv</item>
+		<item>execPath</item>
+		<item>exitCode</item>
+		<item>mainModule</item>
+		<item>pid</item>
+		<item>platform</item>
+		<item>release</item>
+		<item>stderr</item>
+		<item>stdin</item>
+		<item>stdout</item>
+		<item>title</item>
+		<item>version</item>
+		<item>versions</item>
+	</list>
+	<!-- Functions of "process" -->
+	<list name="process_functions">
+		<item>abort</item>
+		<item>chdir</item>
+		<item>cwd</item>
+		<item>disconnect</item>
+		<item>exit</item>
+		<item>setegid</item>
+		<item>seteuid</item>
+		<item>getegid</item>
+		<item>geteuid</item>
+		<item>setgid</item>
+		<item>setuid</item>
+		<item>getgid</item>
+		<item>getuid</item>
+		<item>send</item>
+		<item>setgroups</item>
+		<item>getgroups</item>
+		<item>initgroups</item>
+		<item>kill</item>
+		<item>memoryUsage</item>
+		<item>nextTick</item>
+		<item>umask</item>
+		<item>uptime</item>
+		<item>hrtime</item>
+	</list>
+	<!-- Methods of Promise Class -->
+	<list name="promise_functions">
+		<item>all</item>
+		<item>catch</item>
+		<item>finally</item>
+		<item>race</item>
+		<item>reject</item>
+		<item>resolve</item>
+		<item>then</item>
+	</list>
+	<!-- DOM Variables -->
+	<list name="dom_variable">
+		<item>document</item>
+		<item>event</item>
+		<item>navigator</item>
+		<item>performance</item>
+		<item>screen</item>
+		<item>window</item>
+	</list>
+	<!-- Constants of DOM Classes -->
+	<list name="dom_constant">
+		<item>ATTRIBUTE_NODE</item>
+		<item>CDATA_SECTION_NODE</item>
+		<item>COMMENT_NODE</item>
+		<item>DOCUMENT_FRAGMENT_NODE</item>
+		<item>DOCUMENT_NODE</item>
+		<item>DOCUMENT_TYPE_NODE</item>
+		<item>DOMSTRING_SIZE_ERR</item>
+		<item>ELEMENT_NODE</item>
+		<item>ENTITY_NODE</item>
+		<item>ENTITY_REFERENCE_NODE</item>
+		<item>HIERARCHY_REQUEST_ERR</item>
+		<item>INDEX_SIZE_ERR</item>
+		<item>INUSE_ATTRIBUTE_ERR</item>
+		<item>INVALID_CHARACTER_ERR</item>
+		<item>NO_DATA_ALLOWED_ERR</item>
+		<item>NO_MODIFICATION_ALLOWED_ERR</item>
+		<item>NOT_FOUND_ERR</item>
+		<item>NOT_SUPPORTED_ERR</item>
+		<item>NOTATION_NODE</item>
+		<item>PROCESSING_INSTRUCTION_NODE</item>
+		<item>TEXT_NODE</item>
+		<item>WRONG_DOCUMENT_ERR</item>
+	</list>
+	<!-- Properties of DOM Classes -->
+	<list name="dom_property">
+		<item>_content</item>
+		<item>x</item>
+		<item>y</item>
+		<item>z</item>
+		<item>abbr</item>
+		<item>above</item>
+		<item>accept</item>
+		<item>acceptCharset</item>
+		<item>accessKey</item>
+		<item>action</item>
+		<item>align</item>
+		<item>aLink</item>
+		<item>vLink</item>
+		<item>aLinkcolor</item>
+		<item>vLinkcolor</item>
+		<item>all</item>
+		<item>alt</item>
+		<item>anchors</item>
+		<item>appCodeName</item>
+		<item>appCore</item>
+		<item>applets</item>
+		<item>appMinorVersion</item>
+		<item>appName</item>
+		<item>appVersion</item>
+		<item>archive</item>
+		<item>areas</item>
+		<item>arguments</item>
+		<item>attributes</item>
+		<item>availHeight</item>
+		<item>availLeft</item>
+		<item>availTop</item>
+		<item>availWidth</item>
+		<item>axis</item>
+		<item>background</item>
+		<item>backgroundColor</item>
+		<item>backgroundImage</item>
+		<item>below</item>
+		<item>bgColor</item>
+		<item>body</item>
+		<item>border</item>
+		<item>borderBottomWidth</item>
+		<item>borderColor</item>
+		<item>borderLeftWidth</item>
+		<item>borderRightWidth</item>
+		<item>borderStyle</item>
+		<item>borderTopWidth</item>
+		<item>borderWidth</item>
+		<item>bottom</item>
+		<item>bufferDepth</item>
+		<item>callee</item>
+		<item>caller</item>
+		<item>caption</item>
+		<item>cellPadding</item>
+		<item>cells</item>
+		<item>cellSpacing</item>
+		<item>ch</item>
+		<item>characterSet</item>
+		<item>charset</item>
+		<item>checked</item>
+		<item>childNodes</item>
+		<item>chOff</item>
+		<item>cite</item>
+		<item>classes</item>
+		<item>className</item>
+		<item>clear</item>
+		<item>clientInformation</item>
+		<item>clip</item>
+		<item>clipBoardData</item>
+		<item>closed</item>
+		<item>code</item>
+		<item>codeBase</item>
+		<item>codeType</item>
+		<item>color</item>
+		<item>colorDepth</item>
+		<item>cols</item>
+		<item>colSpan</item>
+		<item>compact</item>
+		<item>complete</item>
+		<item>components</item>
+		<item>content</item>
+		<item>controllers</item>
+		<item>cookie</item>
+		<item>cookieEnabled</item>
+		<item>cords</item>
+		<item>cpuClass</item>
+		<item>crypto</item>
+		<item>current</item>
+		<item>data</item>
+		<item>dateTime</item>
+		<item>declare</item>
+		<item>defaultCharset</item>
+		<item>defaultChecked</item>
+		<item>defaultSelected</item>
+		<item>defaultStatus</item>
+		<item>defaultValue</item>
+		<item>defaultView</item>
+		<item>defer</item>
+		<item>description</item>
+		<item>dialogArguments</item>
+		<item>dialogHeight</item>
+		<item>dialogLeft</item>
+		<item>dialogTop</item>
+		<item>dialogWidth</item>
+		<item>dir</item>
+		<item>directories</item>
+		<item>disabled</item>
+		<item>display</item>
+		<item>docmain</item>
+		<item>doctype</item>
+		<item>documentElement</item>
+		<item>elements</item>
+		<item>embeds</item>
+		<item>enabledPlugin</item>
+		<item>encoding</item>
+		<item>enctype</item>
+		<item>entities</item>
+		<item>event</item>
+		<item>expando</item>
+		<item>external</item>
+		<item>face</item>
+		<item>fgColor</item>
+		<item>filename</item>
+		<item>firstChild</item>
+		<item>fontFamily</item>
+		<item>fontSize</item>
+		<item>fontWeight</item>
+		<item>form</item>
+		<item>formName</item>
+		<item>forms</item>
+		<item>frame</item>
+		<item>frameBorder</item>
+		<item>frameElement</item>
+		<item>frames</item>
+		<item>hasFocus</item>
+		<item>hash</item>
+		<item>headers</item>
+		<item>height</item>
+		<item>history</item>
+		<item>host</item>
+		<item>hostname</item>
+		<item>href</item>
+		<item>hreflang</item>
+		<item>hspace</item>
+		<item>htmlFor</item>
+		<item>httpEquiv</item>
+		<item>id</item>
+		<item>ids</item>
+		<item>ignoreCase</item>
+		<item>images</item>
+		<item>implementation</item>
+		<item>index</item>
+		<item>innerHeight</item>
+		<item>innerWidth</item>
+		<item>input</item>
+		<item>isMap</item>
+		<item>label</item>
+		<item>lang</item>
+		<item>language</item>
+		<item>lastChild</item>
+		<item>lastIndex</item>
+		<item>lastMatch</item>
+		<item>lastModified</item>
+		<item>lastParen</item>
+		<item>layers</item>
+		<item>layerX</item>
+		<item>layerY</item>
+		<item>left</item>
+		<item>leftContext</item>
+		<item>lineHeight</item>
+		<item>link</item>
+		<item>linkColor</item>
+		<item>links</item>
+		<item>listStyleType</item>
+		<item>localName</item>
+		<item>location</item>
+		<item>locationbar</item>
+		<item>longDesc</item>
+		<item>lowsrc</item>
+		<item>lowSrc</item>
+		<item>marginBottom</item>
+		<item>marginHeight</item>
+		<item>marginLeft</item>
+		<item>marginRight</item>
+		<item>marginTop</item>
+		<item>marginWidth</item>
+		<item>maxLength</item>
+		<item>media</item>
+		<item>menubar</item>
+		<item>method</item>
+		<item>mimeTypes</item>
+		<item>multiline</item>
+		<item>multiple</item>
+		<item>name</item>
+		<item>nameProp</item>
+		<item>namespaces</item>
+		<item>namespaceURI</item>
+		<item>next</item>
+		<item>nextSibling</item>
+		<item>nodeName</item>
+		<item>nodeType</item>
+		<item>nodeValue</item>
+		<item>noHref</item>
+		<item>noResize</item>
+		<item>noShade</item>
+		<item>notationName</item>
+		<item>notations</item>
+		<item>noWrap</item>
+		<item>object</item>
+		<item>offscreenBuffering</item>
+		<item>onLine</item>
+		<item>onreadystatechange</item>
+		<item>opener</item>
+		<item>opsProfile</item>
+		<item>options</item>
+		<item>oscpu</item>
+		<item>outerHeight</item>
+		<item>outerWidth</item>
+		<item>ownerDocument</item>
+		<item>paddingBottom</item>
+		<item>paddingLeft</item>
+		<item>paddingRight</item>
+		<item>paddingTop</item>
+		<item>pageX</item>
+		<item>pageY</item>
+		<item>pageXOffset</item>
+		<item>pageYOffset</item>
+		<item>parent</item>
+		<item>parentLayer</item>
+		<item>parentNode</item>
+		<item>parentWindow</item>
+		<item>pathname</item>
+		<item>personalbar</item>
+		<item>pixelDepth</item>
+		<item>pkcs11</item>
+		<item>platform</item>
+		<item>plugins</item>
+		<item>port</item>
+		<item>prefix</item>
+		<item>previous</item>
+		<item>previousDibling</item>
+		<item>product</item>
+		<item>productSub</item>
+		<item>profile</item>
+		<item>profileend</item>
+		<item>prompt</item>
+		<item>prompter</item>
+		<item>protocol</item>
+		<item>publicId</item>
+		<item>readOnly</item>
+		<item>readyState</item>
+		<item>referrer</item>
+		<item>rel</item>
+		<item>responseText</item>
+		<item>responseXML</item>
+		<item>rev</item>
+		<item>right</item>
+		<item>rightContext</item>
+		<item>rowIndex</item>
+		<item>rows</item>
+		<item>rowSpan</item>
+		<item>rules</item>
+		<item>scheme</item>
+		<item>scope</item>
+		<item>screenX</item>
+		<item>screenY</item>
+		<item>screenLeft</item>
+		<item>screenTop</item>
+		<item>scripts</item>
+		<item>scrollbars</item>
+		<item>scrolling</item>
+		<item>sectionRowIndex</item>
+		<item>security</item>
+		<item>securityPolicy</item>
+		<item>selected</item>
+		<item>selectedIndex</item>
+		<item>selection</item>
+		<item>self</item>
+		<item>shape</item>
+		<item>siblingAbove</item>
+		<item>siblingBelow</item>
+		<item>size</item>
+		<item>source</item>
+		<item>specified</item>
+		<item>standby</item>
+		<item>start</item>
+		<item>status</item>
+		<item>statusbar</item>
+		<item>statusText</item>
+		<item>style</item>
+		<item>styleSheets</item>
+		<item>suffixes</item>
+		<item>summary</item>
+		<item>systemId</item>
+		<item>systemLanguage</item>
+		<item>tagName</item>
+		<item>tags</item>
+		<item>target</item>
+		<item>tBodies</item>
+		<item>text</item>
+		<item>textAlign</item>
+		<item>textDecoration</item>
+		<item>textIndent</item>
+		<item>textTransform</item>
+		<item>tFoot</item>
+		<item>tHead</item>
+		<item>title</item>
+		<item>toolbar</item>
+		<item>top</item>
+		<item>type</item>
+		<item>undefined</item>
+		<item>uniqueID</item>
+		<item>updateInterval</item>
+		<item>URL</item>
+		<item>URLUnencoded</item>
+		<item>useMap</item>
+		<item>userAgent</item>
+		<item>userLanguage</item>
+		<item>userProfile</item>
+		<item>vAlign</item>
+		<item>value</item>
+		<item>valueType</item>
+		<item>vendor</item>
+		<item>vendorSub</item>
+		<item>version</item>
+		<item>visibility</item>
+		<item>vspace</item>
+		<item>whiteSpace</item>
+		<item>width</item>
+		<item>XMLDocument</item>
+		<item>XSLDocument</item>
+		<item>zIndex</item>
+	</list>
+	<!-- Methods of DOM Classes -->
+	<list name="dom_functions">
+		<item>acceptNode</item>
+		<item>add</item>
+		<item>addEventListener</item>
+		<item>addTextTrack</item>
+		<item>adoptNode</item>
+		<item>after</item>
+		<item>animate</item>
+		<item>append</item>
+		<item>appendChild</item>
+		<item>appendData</item>
+		<item>before</item>
+		<item>blur</item>
+		<item>canPlayType</item>
+		<item>captureStream</item>
+		<item>caretPositionFromPoint</item>
+		<item>caretRangeFromPoint</item>
+		<item>checkValidity</item>
+		<item>clear</item>
+		<item>click</item>
+		<item>cloneContents</item>
+		<item>cloneNode</item>
+		<item>cloneRange</item>
+		<item>close</item>
+		<item>closest</item>
+		<item>collapse</item>
+		<item>compareBoundaryPoints</item>
+		<item>compareDocumentPosition</item>
+		<item>comparePoint</item>
+		<item>contains</item>
+		<item>convertPointFromNode</item>
+		<item>convertQuadFromNode</item>
+		<item>convertRectFromNode</item>
+		<item>createAttribute</item>
+		<item>createAttributeNS</item>
+		<item>createCaption</item>
+		<item>createCDATASection</item>
+		<item>createComment</item>
+		<item>createContextualFragment</item>
+		<item>createDocument</item>
+		<item>createDocumentFragment</item>
+		<item>createDocumentType</item>
+		<item>createElement</item>
+		<item>createElementNS</item>
+		<item>createEntityReference</item>
+		<item>createEvent</item>
+		<item>createExpression</item>
+		<item>createHTMLDocument</item>
+		<item>createNodeIterator</item>
+		<item>createNSResolver</item>
+		<item>createProcessingInstruction</item>
+		<item>createRange</item>
+		<item>createShadowRoot</item>
+		<item>createTBody</item>
+		<item>createTextNode</item>
+		<item>createTFoot</item>
+		<item>createTHead</item>
+		<item>createTreeWalker</item>
+		<item>delete</item>
+		<item>deleteCaption</item>
+		<item>deleteCell</item>
+		<item>deleteContents</item>
+		<item>deleteData</item>
+		<item>deleteRow</item>
+		<item>deleteTFoot</item>
+		<item>deleteTHead</item>
+		<item>detach</item>
+		<item>disconnect</item>
+		<item>dispatchEvent</item>
+		<item>elementFromPoint</item>
+		<item>elementsFromPoint</item>
+		<item>enableStyleSheetsForSet</item>
+		<item>entries</item>
+		<item>evaluate</item>
+		<item>execCommand</item>
+		<item>exitFullscreen</item>
+		<item>exitPointerLock</item>
+		<item>expand</item>
+		<item>extractContents</item>
+		<item>fastSeek</item>
+		<item>firstChild</item>
+		<item>focus</item>
+		<item>forEach</item>
+		<item>get</item>
+		<item>getAll</item>
+		<item>getAnimations</item>
+		<item>getAttribute</item>
+		<item>getAttributeNames</item>
+		<item>getAttributeNode</item>
+		<item>getAttributeNodeNS</item>
+		<item>getAttributeNS</item>
+		<item>getBoundingClientRect</item>
+		<item>getBoxQuads</item>
+		<item>getClientRects</item>
+		<item>getContext</item>
+		<item>getDestinationInsertionPoints</item>
+		<item>getElementById</item>
+		<item>getElementsByClassName</item>
+		<item>getElementsByName</item>
+		<item>getElementsByTagName</item>
+		<item>getElementsByTagNameNS</item>
+		<item>getItem</item>
+		<item>getNamedItem</item>
+		<item>getSelection</item>
+		<item>getStartDate</item>
+		<item>getVideoPlaybackQuality</item>
+		<item>has</item>
+		<item>hasAttribute</item>
+		<item>hasAttributeNS</item>
+		<item>hasAttributes</item>
+		<item>hasChildNodes</item>
+		<item>hasFeature</item>
+		<item>hasFocus</item>
+		<item>importNode</item>
+		<item>initEvent</item>
+		<item>insertAdjacentElement</item>
+		<item>insertAdjacentHTML</item>
+		<item>insertAdjacentText</item>
+		<item>insertBefore</item>
+		<item>insertCell</item>
+		<item>insertData</item>
+		<item>insertNode</item>
+		<item>insertRow</item>
+		<item>intersectsNode</item>
+		<item>isDefaultNamespace</item>
+		<item>isEqualNode</item>
+		<item>isPointInRange</item>
+		<item>isSameNode</item>
+		<item>item</item>
+		<item>key</item>
+		<item>keys</item>
+		<item>lastChild</item>
+		<item>load</item>
+		<item>lookupNamespaceURI</item>
+		<item>lookupPrefix</item>
+		<item>matches</item>
+		<item>move</item>
+		<item>moveAttribute</item>
+		<item>moveAttributeNode</item>
+		<item>moveChild</item>
+		<item>moveNamedItem</item>
+		<item>namedItem</item>
+		<item>nextNode</item>
+		<item>nextSibling</item>
+		<item>normalize</item>
+		<item>observe</item>
+		<item>open</item>
+		<item>parentNode</item>
+		<item>pause</item>
+		<item>play</item>
+		<item>postMessage</item>
+		<item>prepend</item>
+		<item>preventDefault</item>
+		<item>previousNode</item>
+		<item>previousSibling</item>
+		<item>probablySupportsContext</item>
+		<item>queryCommandEnabled</item>
+		<item>queryCommandIndeterm</item>
+		<item>queryCommandState</item>
+		<item>queryCommandSupported</item>
+		<item>queryCommandValue</item>
+		<item>querySelector</item>
+		<item>querySelectorAll</item>
+		<item>registerContentHandler</item>
+		<item>registerElement</item>
+		<item>registerProtocolHandler</item>
+		<item>releaseCapture</item>
+		<item>releaseEvents</item>
+		<item>remove</item>
+		<item>removeAttribute</item>
+		<item>removeAttributeNode</item>
+		<item>removeAttributeNS</item>
+		<item>removeChild</item>
+		<item>removeEventListener</item>
+		<item>removeItem</item>
+		<item>replace</item>
+		<item>replaceChild</item>
+		<item>replaceData</item>
+		<item>replaceWith</item>
+		<item>reportValidity</item>
+		<item>requestFullscreen</item>
+		<item>requestPointerLock</item>
+		<item>reset</item>
+		<item>scroll</item>
+		<item>scrollBy</item>
+		<item>scrollIntoView</item>
+		<item>scrollTo</item>
+		<item>seekToNextFrame</item>
+		<item>select</item>
+		<item>selectNode</item>
+		<item>selectNodeContents</item>
+		<item>set</item>
+		<item>setAttribute</item>
+		<item>setAttributeNode</item>
+		<item>setAttributeNodeNS</item>
+		<item>setAttributeNS</item>
+		<item>setCapture</item>
+		<item>setCustomValidity</item>
+		<item>setEnd</item>
+		<item>setEndAfter</item>
+		<item>setEndBefore</item>
+		<item>setItem</item>
+		<item>setNamedItem</item>
+		<item>setRangeText</item>
+		<item>setSelectionRange</item>
+		<item>setSinkId</item>
+		<item>setStart</item>
+		<item>setStartAfter</item>
+		<item>setStartBefore</item>
+		<item>slice</item>
+		<item>splitText</item>
+		<item>stepDown</item>
+		<item>stepUp</item>
+		<item>stopImmediatePropagation</item>
+		<item>stopPropagation</item>
+		<item>submit</item>
+		<item>substringData</item>
+		<item>supports</item>
+		<item>surroundContents</item>
+		<item>takeRecords</item>
+		<item>terminate</item>
+		<item>toBlob</item>
+		<item>toDataURL</item>
+		<item>toggle</item>
+		<item>toString</item>
+		<item>values</item>
+		<item>write</item>
+		<item>writeln</item>
+	</list>
+
+	<!-- Event Handler Functions -->
+	<list name="function_eventhandler">
+		<item>onRowsinserted</item>
+		<item>onRowsdelete</item>
+		<item>onRowenter</item>
+		<item>onRowexit</item>
+		<item>onResize</item>
+		<item>onResizestart</item>
+		<item>onResizeend</item>
+		<item>onReset</item>
+		<item>onReadystatechange</item>
+		<item>onMouseout</item>
+		<item>onMouseover</item>
+		<item>onMousedown</item>
+		<item>onMouseup</item>
+		<item>onMousemove</item>
+		<item>onBeforecut</item>
+		<item>onBeforedeactivate</item>
+		<item>onBeforeunload</item>
+		<item>onBeforeupdate</item>
+		<item>onBeforepaste</item>
+		<item>onBeforeprint</item>
+		<item>onBeforeeditfocus</item>
+		<item>onBeforeactivate</item>
+		<item>onBlur</item>
+		<item>onScrolltop</item>
+		<item>onSubmit</item>
+		<item>onSelect</item>
+		<item>onSelectstart</item>
+		<item>onSelectionchange</item>
+		<item>onHover</item>
+		<item>onHelp</item>
+		<item>onChange</item>
+		<item>onContextmenu</item>
+		<item>onControlselect</item>
+		<item>onCut</item>
+		<item>onCellchange</item>
+		<item>onClock</item>
+		<item>onClose</item>
+		<item>onDeactivate</item>
+		<item>onDatasetchanged</item>
+		<item>onDatasetcomplete</item>
+		<item>onDataavailable</item>
+		<item>onDrop</item>
+		<item>onDrag</item>
+		<item>onDragstart</item>
+		<item>onDragover</item>
+		<item>onDragdrop</item>
+		<item>onDragenter</item>
+		<item>onDragend</item>
+		<item>onDragleave</item>
+		<item>onDblclick</item>
+		<item>onUnload</item>
+		<item>onPaste</item>
+		<item>onPropertychange</item>
+		<item>onError</item>
+		<item>onErrorupdate</item>
+		<item>onKeydown</item>
+		<item>onKeyup</item>
+		<item>onKeypress</item>
+		<item>onFocus</item>
+		<item>onLoad</item>
+		<item>onActivate</item>
+		<item>onAfterupdate</item>
+		<item>onAfterprint</item>
+		<item>onAbort</item>
+	</list>
+	<!-- Others Methods of Classes -->
+	<list name="function_common">
+		<item>shift</item>
+		<item>showModelessDialog</item>
+		<item>showModalDialog</item>
+		<item>showHelp</item>
+		<item>scroll</item>
+		<item>scrollX</item>
+		<item>scrollByPages</item>
+		<item>scrollByLines</item>
+		<item>scrollY</item>
+		<item>scrollTo</item>
+		<item>stop</item>
+		<item>strike</item>
+		<item>sizeToContent</item>
+		<item>sidebar</item>
+		<item>signText</item>
+		<item>sort</item>
+		<item>sup</item>
+		<item>sub</item>
+		<item>substr</item>
+		<item>substring</item>
+		<item>splice</item>
+		<item>split</item>
+		<item>send</item>
+		<item>setMilliseconds</item>
+		<item>setSeconds</item>
+		<item>setMinutes</item>
+		<item>setHours</item>
+		<item>setMonth</item>
+		<item>setYear</item>
+		<item>setFullYear</item>
+		<item>setDate</item>
+		<item>setUTCMilliseconds</item>
+		<item>setUTCSeconds</item>
+		<item>setUTCMinutes</item>
+		<item>setUTCHours</item>
+		<item>setUTCMonth</item>
+		<item>setUTCFullYear</item>
+		<item>setUTCDate</item>
+		<item>setTime</item>
+		<item>setHotkeys</item>
+		<item>setCursor</item>
+		<item>setZOptions</item>
+		<item>setActive</item>
+		<item>setResizable</item>
+		<item>setRequestHeader</item>
+		<item>search</item>
+		<item>slice</item>
+		<item>savePreferences</item>
+		<item>small</item>
+		<item>home</item>
+		<item>handleEvent</item>
+		<item>navigate</item>
+		<item>char</item>
+		<item>charCodeAt</item>
+		<item>charAt</item>
+		<item>concat</item>
+		<item>contextual</item>
+		<item>confirm</item>
+		<item>compile</item>
+		<item>clear</item>
+		<item>captureEvents</item>
+		<item>call</item>
+		<item>createStyleSheet</item>
+		<item>createPopup</item>
+		<item>createEventObject</item>
+		<item>toGMTString</item>
+		<item>toUTCString</item>
+		<item>toString</item>
+		<item>toSource</item>
+		<item>toUpperCase</item>
+		<item>toLowerCase</item>
+		<item>toLocaleString</item>
+		<item>test</item>
+		<item>taint</item>
+		<item>taintEnabled</item>
+		<item>indexOf</item>
+		<item>italics</item>
+		<item>disableExternalCapture</item>
+		<item>dump</item>
+		<item>detachEvent</item>
+		<item>unshift</item>
+		<item>untaint</item>
+		<item>unwatch</item>
+		<item>updateCommands</item>
+		<item>join</item>
+		<item>javaEnabled</item>
+		<item>pop</item>
+		<item>push</item>
+		<item>plugins.refresh</item>
+		<item>paddings</item>
+		<item>parse</item>
+		<item>print</item>
+		<item>prompt</item>
+		<item>preference</item>
+		<item>enableExternalCapture</item>
+		<item>exec</item>
+		<item>execScript</item>
+		<item>valueOf</item>
+		<item>UTC</item>
+		<item>find</item>
+		<item>file</item>
+		<item>fileModifiedDate</item>
+		<item>fileSize</item>
+		<item>fileCreatedDate</item>
+		<item>fileUpdatedDate</item>
+		<item>fixed</item>
+		<item>fontsize</item>
+		<item>fontcolor</item>
+		<item>forward</item>
+		<item>fromCharCode</item>
+		<item>watch</item>
+		<item>link</item>
+		<item>load</item>
+		<item>lastIndexOf</item>
+		<item>anchor</item>
+		<item>attachEvent</item>
+		<item>atob</item>
+		<item>apply</item>
+		<item>alert</item>
+		<item>abort</item>
+		<item>routeEvents</item>
+		<item>resize</item>
+		<item>resizeBy</item>
+		<item>resizeTo</item>
+		<item>recalc</item>
+		<item>returnValue</item>
+		<item>replace</item>
+		<item>reverse</item>
+		<item>reload</item>
+		<item>releaseCapture</item>
+		<item>releaseEvents</item>
+		<item>go</item>
+		<item>getMilliseconds</item>
+		<item>getSeconds</item>
+		<item>getMinutes</item>
+		<item>getHours</item>
+		<item>getMonth</item>
+		<item>getDay</item>
+		<item>getYear</item>
+		<item>getFullYear</item>
+		<item>getTime</item>
+		<item>getDate</item>
+		<item>getTimezoneOffset</item>
+		<item>getUTCMilliseconds</item>
+		<item>getUTCSeconds</item>
+		<item>getUTCMinutes</item>
+		<item>getUTCHours</item>
+		<item>getUTCDay</item>
+		<item>getUTCMonth</item>
+		<item>getUTCFullYear</item>
+		<item>getUTCDate</item>
+		<item>getAttention</item>
+		<item>getSelection</item>
+		<item>getResponseHeader</item>
+		<item>getAllResponseHeaders</item>
+		<item>moveBy</item>
+		<item>moveBelow</item>
+		<item>moveTo</item>
+		<item>moveToAbsolute</item>
+		<item>moveAbove</item>
+		<item>mergeAttributes</item>
+		<item>match</item>
+		<item>margins</item>
+		<item>btoa</item>
+		<item>big</item>
+		<item>bold</item>
+		<item>borderWidths</item>
+		<item>blink</item>
+		<item>back</item>
+	</list>
+
+	<contexts>
+
+		<context name="Shebang" attribute="Normal Text" lineEndContext="Normal" lineEmptyContext="Normal" fallthrough="true" fallthroughContext="Normal">
+			<Detect2Chars context="ShebangLine" attribute="Comment" char="#" char1="!" column="0" />
+		</context>
+		<context name="ShebangLine" attribute="Comment" lineEndContext="#pop!Normal" />
+
+		<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
+			<StringDetect context="#stay" attribute="Symbol" String="..." />
+			<IncludeRules context="Numbers" />
+			<IncludeRules context="FindStrings" />
+
+			<!-- Abstract -->
+			<RegExpr context="#stay" attribute="Reserved" String="\b(abstract)(?=\s+(class|interface)\b)" />
+			<!-- New -->
+			<RegExpr context="NewTarget" attribute="Keyword" String="\bnew(?=\s*[\?!]?\.\s*target\b)" />
+			<RegExpr context="MemberObject" attribute="Objects" String="\bnew(?=[\?!]?\.)" />
+			<WordDetect context="#stay" attribute="Keyword" String="new" />
+			<!-- Import -->
+			<WordDetect context="Import" attribute="Module" String="import" />
+			<!-- Export types -->
+			<keyword context="ControlExport" attribute="Module" String="control_export_types" />
+
+			<!-- Keywords -->
+			<keyword context="NoRegExp" attribute="ControlFlow" String="controlflow" />
+			<RegExpr context="#stay" attribute="ControlFlow" String="\bdefault(?=\s*[\?!]?:)" />
+			<RegExpr context="#stay" String="&identifier;(?=\s*[\?!]?:)" />
+
+			<WordDetect context="Annotation" attribute="Reserved" String="type" />
+			<keyword context="#stay" attribute="Module" String="module" />
+			<keyword context="NoRegExp" attribute="Keyword" String="keywords" />
+			<keyword context="#stay" attribute="Reserved" String="reserved" />
+			<keyword context="NoRegExp" attribute="Keyword" String="primitives" />
+			<keyword context="#stay" attribute="Keyword" String="object_iden" />
+
+			<IncludeRules context="FindFunctionName" />
+			<IncludeRules context="FindObjects" />
+			<keyword context="#stay" attribute="Function Name" String="functions" />
+
+			<DetectChar context="Annotation" attribute="Symbol" char=":" />
+			<DetectChar context="Object" attribute="Symbol" char="{" beginRegion="Brace" />
+			<DetectChar context="#stay" attribute="Symbol" char="[" beginRegion="List" />
+			<DetectChar context="#stay" attribute="Symbol" char="]" endRegion="List" />
+			<DetectChar context="#stay" attribute="Symbol" char="?" /> <!-- Fix of conditional expression from the JavaScript highlighting -->
+
+			<IncludeRules context="Normal##JavaScript" />
+		</context>
+
+		<context name="Object" attribute="Normal Text" lineEndContext="#stay">
+			<DetectChar context="#pop" attribute="Symbol" char="}" endRegion="Brace" />
+			<keyword context="NoRegExp" attribute="Keyword" String="keywords" />
+			<IncludeRules context="Normal" />
+		</context>
+
+		<context name="Numbers" attribute="Normal Text" lineEndContext="#stay">
+			<RegExpr context="NoRegExp" attribute="Hexadecimal" String="\b(0x[\da-f][\da-f_]*)\b" insensitive="true" />
+			<RegExpr context="NoRegExp" attribute="Binary" String="\b(0b[01][01_]*)\b" insensitive="true" />
+			<RegExpr context="NoRegExp" attribute="Octal" String="\b(0o?[0-7][0-7_]*)\b" insensitive="true" />
+			<RegExpr context="NoRegExp" attribute="Float" String="\b(\.\d[\d_]*|\d[\d_]*\.(\d[\d_]*)?|(\d[\d_]*\.?|(\d[\d_]*)?\.\d[\d_]*)[eE][\+\-]?\d[\d_]*)\b" />
+			<RegExpr context="NoRegExp" attribute="Decimal" String="\b(\d[\d_]*)\b" />
+		</context>
+
+		<context name="NoRegExp" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+			<IncludeRules context="NoRegExp##JavaScript" />
+		</context>
+
+		<context name="FindFunctionName" attribute="Normal Text" lineEndContext="#stay">
+			<RegExpr context="#stay" attribute="Function Name" String="&identifier;(?=\s*(&lt;((\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|('(\\.|[^'])*')|(&quot;(\\.|[^&quot;])*&quot;)|(`(\\.|[^`])*`)|[^&lt;&gt;]|&lt;.*&gt;)*&gt;)?\()" />
+		</context>
+
+		<context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">
+			<DetectChar context="Template" attribute="Template" char="`" />
+			<IncludeRules context="FindStrings##JavaScript" />
+		</context>
+
+		<context name="Template" attribute="Template" lineEndContext="#stay">
+			<IncludeRules context="Escape##JavaScript" />
+			<Detect2Chars context="Substitution" attribute="Substitution" char="$" char1="{" />
+			<DetectChar context="#pop" attribute="Template" char="`" />
+		</context>
+		<context name="Substitution" attribute="Normal Text" lineEndContext="#stay">
+			<DetectChar context="#pop" attribute="Substitution" char="}" />
+			<IncludeRules context="Normal" />
+		</context>
+
+		<!-- Highlight types after ":" -->
+		<context name="Annotation" attribute="Normal Text" lineEndContext="#pop">
+			<DetectSpaces />
+			<AnyChar context="#pop" String=";,{})]" lookAhead="true" />
+			<Detect2Chars context="#pop" char="/" char1="/" lookAhead="true" />
+			<IncludeRules context="DefaultAnnotation" />
+		</context>
+		<context name="DefaultAnnotation" attribute="Normal Text" lineEndContext="#stay">
+			<keyword context="NoRegExp" attribute="Types/Primitives" String="types_primitives" />
+			<DetectChar context="SquareBracket" attribute="Symbol" char="[" beginRegion="List" />
+			<DetectChar context="RoundBracket" char="(" />
+			<DetectChar context="tBracket" attribute="Symbol" char="&lt;" />
+			<IncludeRules context="Normal" />
+		</context>
+		<context name="SquareBracket" attribute="Normal Text" lineEndContext="#stay">
+			<DetectChar context="#pop" attribute="Symbol" char="]" endRegion="List" />
+			<IncludeRules context="DefaultAnnotation" />
+		</context>
+		<context name="RoundBracket" attribute="Normal Text" lineEndContext="#pop">
+			<DetectChar context="#pop" char=")" />
+			<IncludeRules context="DefaultAnnotation" />
+		</context>
+		<context name="tBracket" attribute="Normal Text" lineEndContext="#pop">
+			<DetectChar context="#pop" attribute="Symbol" char="&gt;" />
+			<IncludeRules context="DefaultAnnotation" />
+		</context>
+
+		<context name="NewTarget" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+			<DetectSpaces />
+			<AnyChar context="#stay" attribute="Symbol" String=".?!" />
+			<WordDetect context="#pop!NoRegExp" attribute="Keyword" String="target" />
+		</context>
+
+		<context name="ControlExport" attribute="Normal Text" lineEndContext="#pop">
+			<AnyChar context="#pop" attribute="Normal Text" String="{;" lookAhead="true" />
+			<IncludeRules context="FindStrings" />
+			<RegExpr context="#stay" attribute="Types/Primitives" String="&identifier;" />
+			<IncludeRules context="FindComments##JavaScript" />
+		</context>
+
+		<context name="Import" attribute="Normal Text" lineEndContext="#pop">
+			<DetectChar context="#pop!ImportRequireKey" attribute="Symbol" char="=" />
+			<WordDetect context="#pop!NoRegExp" attribute="Keyword" String="meta" /> <!-- importmeta_property -->
+			<IncludeRules context="Normal" />
+		</context>
+		<context name="ImportRequireKey" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+			<RegExpr context="#stay" attribute="Keyword" String="\s*\b(require)\s*(?=\()" />
+			<DetectChar context="ImportRequire" attribute="Symbol" char="(" beginRegion="import" />
+		</context>
+		<context name="ImportRequire" attribute="Normal Text" lineEndContext="#stay">
+			<DetectChar context="#pop#pop" attribute="Symbol" char=")" endRegion="import" />
+			<IncludeRules context="FindStrings" />
+			<IncludeRules context="Numbers" />
+			<IncludeRules context="FindComments##JavaScript" />
+		</context>
+
+		<context name="FindObjects" attribute="Normal Text" lineEndContext="#stay">
+			<!-- Built-in Classes -->
+			<WordDetect context="FindMemberObjectMath" attribute="Built-in Objects" String="Math" />
+			<WordDetect context="FindMemberObjectPromise" attribute="Built-in Objects" String="Promise" />
+			<WordDetect context="FindMemberObjectJSON" attribute="Built-in Objects" String="JSON" />
+			<WordDetect context="FindMemberObjectConsole" attribute="Built-in Objects" String="console" />
+			<WordDetect context="FindMemberObjectProcess" attribute="Built-in Objects" String="process" />
+			<keyword context="#stay" attribute="Built-in Objects" String="class_builtin" />
+			<keyword context="FindMemberObjectDOM" attribute="Built-in Objects" String="class_dom" />
+			<keyword context="FindMemberObjectNode" attribute="Built-in Objects" String="class_node" />
+			<keyword context="FindMemberObjectDOM" attribute="Built-in Objects" String="dom_variable" />
+
+			<RegExpr context="MemberObject" attribute="Objects" String="&identifier;(?=\s*[\?!]?\.)" />
+			<DetectChar context="MemberObject" char="." />
+		</context>
+
+		<context name="MemberObject" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+			<IncludeRules context="DefaultMemberObject" />
+			<!-- Common functions -->
+			<keyword context="#pop!NoRegExp" attribute="Function Name" String="function_eventhandler" />
+			<keyword context="#pop!NoRegExp" attribute="Function Name" String="function_common" />
+		</context>
+
+		<context name="DefaultMemberObject" attribute="Normal Text" lineEndContext="#pop">
+			<IncludeRules context="FixPointMemberObject" />
+			<DetectChar context="#stay" attribute="Symbol" char="." />
+			<Detect2Chars context="#stay" attribute="Symbol" char="?" char1="." />
+			<Detect2Chars context="#stay" attribute="Symbol" char="!" char1="." />
+
+			<RegExpr context="#stay" attribute="Objects" String="&identifier;(?=\s*[\?!]?\.)" />
+			<IncludeRules context="FindFunctionName" /> <!-- #pop -->
+			<RegExpr context="#pop!NoRegExp" attribute="Object Member" String="&identifier;" />
+			<IncludeRules context="NoRegExp" />
+			<DetectSpaces />
+
+			<!-- Generic functions, variables y properties -->
+			<keyword context="#pop!NoRegExp" attribute="Object Member" String="variable_property" />
+			<keyword context="#pop!NoRegExp" attribute="Function Name" String="functions" />
+		</context>
+		<context name="FixPointMemberObject" attribute="Normal Text" lineEndContext="#pop">
+			<StringDetect context="#pop" attribute="Symbol" String="?..." />
+			<StringDetect context="#pop" attribute="Symbol" String="!..." />
+			<StringDetect context="#pop" attribute="Symbol" String="..." />
+		</context>
+
+		<!-- DOM Classes -->
+		<context name="FindMemberObjectDOM" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
+			<DetectSpaces />
+			<IncludeRules context="FixPointMemberObject" />
+			<DetectChar context="#pop!MemberObjectDOM" attribute="Symbol" char="." />
+			<Detect2Chars context="#pop!MemberObjectDOM" attribute="Symbol" char="?" char1="." />
+			<Detect2Chars context="#pop!MemberObjectDOM" attribute="Symbol" char="!" char1="." />
+		</context>
+		<context name="MemberObjectDOM" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+			<keyword context="#pop!NoRegExp" attribute="Constant" String="dom_constant" />
+			<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="dom_functions" />
+			<keyword context="#pop!NoRegExp" attribute="Object Property (Built-in)" String="dom_property" />
+			<IncludeRules context="DefaultMemberObject" />
+			<keyword context="#pop!NoRegExp" attribute="Object Member" String="dom_variable" />
+		</context>
+		<!-- Node.js Classes -->
+		<context name="FindMemberObjectNode" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
+			<DetectSpaces />
+			<IncludeRules context="FixPointMemberObject" />
+			<DetectChar context="#pop!MemberObjectNode" attribute="Symbol" char="." />
+			<Detect2Chars context="#pop!MemberObjectNode" attribute="Symbol" char="?" char1="." />
+			<Detect2Chars context="#pop!MemberObjectNode" attribute="Symbol" char="!" char1="." />
+		</context>
+		<context name="MemberObjectNode" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+			<IncludeRules context="DefaultMemberObject" />
+			<keyword context="#pop!NoRegExp" attribute="Object Property (Built-in)" String="node_object" />
+		</context>
+		<!-- Math Class -->
+		<context name="FindMemberObjectMath" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
+			<DetectSpaces />
+			<IncludeRules context="FixPointMemberObject" />
+			<DetectChar context="#pop!MemberObjectMath" attribute="Symbol" char="." />
+			<Detect2Chars context="#pop!MemberObjectMath" attribute="Symbol" char="?" char1="." />
+			<Detect2Chars context="#pop!MemberObjectMath" attribute="Symbol" char="!" char1="." />
+		</context>
+		<context name="MemberObjectMath" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+			<keyword context="#pop!NoRegExp" attribute="Constant" String="math_property_constants" />
+			<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="math_functions" />
+			<IncludeRules context="DefaultMemberObject" />
+		</context>
+		<!-- Promise Class -->
+		<context name="FindMemberObjectPromise" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
+			<DetectSpaces />
+			<IncludeRules context="FixPointMemberObject" />
+			<DetectChar context="#pop!MemberObjectPromise" attribute="Symbol" char="." />
+			<Detect2Chars context="#pop!MemberObjectPromise" attribute="Symbol" char="?" char1="." />
+			<Detect2Chars context="#pop!MemberObjectPromise" attribute="Symbol" char="!" char1="." />
+		</context>
+		<context name="MemberObjectPromise" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+			<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="promise_functions" />
+			<IncludeRules context="DefaultMemberObject" />
+		</context>
+		<!-- JSON Class -->
+		<context name="FindMemberObjectJSON" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
+			<DetectSpaces />
+			<IncludeRules context="FixPointMemberObject" />
+			<DetectChar context="#pop!MemberObjectJSON" attribute="Symbol" char="." />
+			<Detect2Chars context="#pop!MemberObjectJSON" attribute="Symbol" char="?" char1="." />
+			<Detect2Chars context="#pop!MemberObjectJSON" attribute="Symbol" char="!" char1="." />
+		</context>
+		<context name="MemberObjectJSON" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+			<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="json_functions" />
+			<IncludeRules context="DefaultMemberObject" />
+		</context>
+		<!-- Console Object -->
+		<context name="FindMemberObjectConsole" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
+			<DetectSpaces />
+			<IncludeRules context="FixPointMemberObject" />
+			<DetectChar context="#pop!MemberObjectConsole" attribute="Symbol" char="." />
+			<Detect2Chars context="#pop!MemberObjectConsole" attribute="Symbol" char="?" char1="." />
+			<Detect2Chars context="#pop!MemberObjectConsole" attribute="Symbol" char="!" char1="." />
+		</context>
+		<context name="MemberObjectConsole" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+			<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="console_functions" />
+			<IncludeRules context="DefaultMemberObject" />
+		</context>
+		<!-- Process Object -->
+		<context name="FindMemberObjectProcess" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
+			<DetectSpaces />
+			<IncludeRules context="FixPointMemberObject" />
+			<DetectChar context="#pop!MemberObjectProcess" attribute="Symbol" char="." />
+			<Detect2Chars context="#pop!MemberObjectProcess" attribute="Symbol" char="?" char1="." />
+			<Detect2Chars context="#pop!MemberObjectProcess" attribute="Symbol" char="!" char1="." />
+		</context>
+		<context name="MemberObjectProcess" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
+			<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="process_functions" />
+			<keyword context="#pop!NoRegExp" attribute="Object Property (Built-in)" String="process_property" />
+			<IncludeRules context="DefaultMemberObject" />
+		</context>
+
+	</contexts>
+
+	<itemDatas>
+		<itemData name="Normal Text"      defStyleNum="dsNormal" spellChecking="false" />
+		<itemData name="Keyword"          defStyleNum="dsKeyword" spellChecking="false" />
+		<itemData name="ControlFlow"      defStyleNum="dsControlFlow" spellChecking="false" />
+		<itemData name="Reserved"         defStyleNum="dsKeyword" italic="true" spellChecking="false" />
+		<itemData name="Module"           defStyleNum="dsImport" spellChecking="false" />
+		<itemData name="Objects"          defStyleNum="dsVariable" spellChecking="false" />
+		<itemData name="Object Member"    defStyleNum="dsAttribute" spellChecking="false" />
+		<itemData name="Function Name"    defStyleNum="dsFunction" spellChecking="false" />
+		<itemData name="Built-in Objects" defStyleNum="dsBuiltIn" spellChecking="false" />
+		<itemData name="Object Property (Built-in)" defStyleNum="dsAttribute" italic="1" spellChecking="false" />
+		<itemData name="Object Method (Built-in)" defStyleNum="dsFunction" italic="1" spellChecking="false" />
+		<itemData name="Constant"         defStyleNum="dsConstant" spellChecking="false" />
+		<itemData name="Types/Primitives" defStyleNum="dsDataType" spellChecking="false" />
+
+		<itemData name="Decimal"      defStyleNum="dsDecVal" spellChecking="false" />
+		<itemData name="Octal"        defStyleNum="dsBaseN" spellChecking="false" />
+		<itemData name="Hexadecimal"  defStyleNum="dsBaseN" spellChecking="false" />
+		<itemData name="Binary"       defStyleNum="dsBaseN" spellChecking="false" />
+		<itemData name="Float"        defStyleNum="dsFloat" spellChecking="false" />
+		<itemData name="Template"     defStyleNum="dsVerbatimString" />
+		<itemData name="Substitution" defStyleNum="dsSpecialChar" spellChecking="false" />
+
+		<itemData name="Comment"      defStyleNum="dsComment" />
+		<itemData name="Symbol"       defStyleNum="dsOperator" spellChecking="false" />
+	</itemDatas>
+
+</highlighting>
+
+<general>
+	<comments>
+		<comment name="singleLine" start="//" />
+		<comment name="multiLine" start="/*" end="*/" />
+	</comments>
+	<keywords casesensitive="1" additionalDeliminator="&quot;&apos;`" weakDeliminator="+-$" />
+</general>
+
+</language>
+<!-- kate: replace-tabs off; tab-width 3; indent-width 3; remove-trailing-spaces mod; dynamic-word-wrap off; -->
diff --git a/xml/yacc.xml b/xml/yacc.xml
--- a/xml/yacc.xml
+++ b/xml/yacc.xml
@@ -32,7 +32,7 @@
 
 ========================================================================
 -->
-<language name="Yacc/Bison" version="4" kateversion="2.4" section="Sources" extensions="*.y;*.yy;*.ypp;*.y++" mimetype="text/x-yacc;text/x-bison" priority="5" author="Jan Villat (jan.villat@net2000.ch)" license="LGPL">
+<language name="Yacc/Bison" version="5" kateversion="5.0" section="Sources" extensions="*.y;*.yy;*.ypp;*.y++" mimetype="text/x-yacc;text/x-bison" priority="5" author="Jan Villat (jan.villat@net2000.ch)" license="LGPL">
 
 <highlighting>
 <contexts>
@@ -200,9 +200,12 @@
   </context>
   <context name="CommentStar" attribute="Comment" lineEndContext="#stay">
     <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
+    <IncludeRules context="##Alerts" />
+    <IncludeRules context="##Modelines" />
   </context>
-  <context name="CommentSlash" attribute="Comment" lineEndContext="#stay">
-    <RegExpr attribute="Comment" context="#pop" String="[^\\]$" />
+  <context name="CommentSlash" attribute="Comment" lineEndContext="#pop">
+    <IncludeRules context="##Alerts" />
+    <IncludeRules context="##Modelines" />
   </context>
 
   <context name="StringOrChar" attribute="Normal Text" lineEndContext="#stay">
