65 lines
2.1 KiB
Text
65 lines
2.1 KiB
Text
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 ,red "[[:space:]]+$"
|
|
|
|
# rainbow indent
|
|
color ,brightblack "^[[:space:]]{32}"
|
|
color ,black "^[[:space:]]{30}"
|
|
color ,brightblack "^[[:space:]]{28}"
|
|
color ,black "^[[:space:]]{26}"
|
|
color ,brightblack "^[[:space:]]{24}"
|
|
color ,black "^[[:space:]]{22}"
|
|
color ,brightblack "^[[:space:]]{20}"
|
|
color ,black "^[[:space:]]{18}"
|
|
color ,brightblack "^[[:space:]]{16}"
|
|
color ,black "^[[:space:]]{14}"
|
|
color ,brightblack "^[[:space:]]{12}"
|
|
color ,black "^[[:space:]]{10}"
|
|
color ,brightblack "^[[:space:]]{8}"
|
|
color ,black "^[[:space:]]{6}"
|
|
color ,brightblack "^[[:space:]]{4}"
|
|
color ,black "^[[:space:]]{2}"
|