color constant.number "\b[-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?"
color constant.number "\b[-+]?([0-9]+[EePp][+-]?[0-9]+)[fFlL]?"
color identifier "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]"
-color statement "\b(break|case|catch|continue|default|delete|do|else|finally)\b"
-color statement "\b(declare|interface|import|for|function|get|if|in|instanceof|new|return|set|switch)\b"
-color statement "\b(switch|this|throw|try|typeof|var|void|while|with|async|await)\b"
-color constant "\b(null|undefined|NaN)\b"
-color constant "\b(true|false)\b"
-color type "\b(Array|Boolean|Date|Enumerator|Error|Function|Math|string|number|boolean|any)\b"
-color type "\b(Number|Object|RegExp|String)\b"
+color statement "\b(abstract|as|async|await|break|case|catch|class|const|constructor|continue)\b"
+color statement "\b(debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from)\b"
+color statement "\b(function|get|if|implements|import|in|instanceof|interface|is|let|module|namespace)\b"
+color statement "\b(new|of|package|private|protected|public|require|return|set|static|super|switch)\b"
+color statement "\b(this|throw|try|type|typeof|var|void|while|with|yield)\b"
+color constant "\b(false|true|null|undefined|NaN)\b"
+color type "\b(Array|Boolean|Date|Enumerator|Error|Function|Math)\b"
+color type "\b(Number|Object|RegExp|String|Symbol)\b"
+color type "\b(any|boolean|never|number|string|symbol)\b"
color statement "[-+/*=<>!~%?:&|]"
color constant "/[^*]([^/]|(\\/))*[^\\]/[gim]*"
color constant "\\[0-7][0-7]?[0-7]?|\\x[0-9a-fA-F]+|\\[bfnrt'"\?\\]"