dotfiles-pub/common/nano/syntax/ts.nanorc

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}"