syntax "typescript" "\.(ts)$" header "^#!.*\/(env +)ts-node" ## Default color white "^.+$" ## Decimal, octal and hexadecimal numbers color yellow "\<[-+]?([1-9][0-9]*|0[0-7]*|0x[0-9a-fA-F]+)([uU][lL]?|[lL][uU]?)?\>" ## Floating point number with at least one digit before decimal point color yellow "\<[-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?" color yellow "\<[-+]?([0-9]+[EePp][+-]?[0-9]+)[fFlL]?" ## Keywords color green "\<(as|abstract|asserts|boolean|break|byte|case|catch)\>" color green "\<(class|const|continue|debugger|default|delete|readonly)\>" color green "\<(do|else|enum|export|extends|finally|final|for)\>" color green "\<(from|function|goto|if|implements|import|instanceof)\>" color green "\<(var|interface|int|in|is|infer|let|new|package|private)\>" color green "\<(protected|public|return|static|super|switch)\>" color green "\<(this|throw|try|typeof|type)\>" color green "\<(void|while|with|yield)\>" color green "\<(async|await)\>" color green "\<(set|get)\>" color green "\<(module|namespace)\>" color green "\<(declare)\>" ## Type specifiers color red "\<(Array|Boolean|Date|Enumerator|Error|Function)\>" color red "\<(Number|Object|RegExp|String)\>" color red "\<(true|false)\>" ## String color brightyellow "L?\"(\\"|[^"])*\"" color brightyellow "L?'(\'|[^'])*'" color brightcyan "L?`(\`|[^`])*`" color brightwhite,blue start="\$\{" end="\}" ## Escapes color red "\\[0-7][0-7]?[0-7]?|\\x[0-9a-fA-F]+|\\[bfnrt'"\?\\]" ## Comments color magenta start="/\*" end="\*/" color magenta "^\s*//.*$" ## Trailing whitespace color ,green "[[:space:]]+$"