### all *js and *mjs files ( e.g. Firefox user.js, prefs.js ) ## Old version #syntax "JavaScript" "(\.|/|)js$" #color green "//.*$" start="\/\*" end="\*\/" #color blue "'(\\.|[^'])*'" #color red ""(\\.|[^\"])*"" #color brightgreen "\<(true)\>" #color brightred "\<(false)\>" "http\:\/\/.*$" #color brightmagenta "[0-9](\\.|[^\"])*)" ## New updated taken from http://wiki.linuxhelp.net/index.php/Nano_Syntax_Highlighting syntax "JavaScript" "\.(m?js)$" header "^#!.*\/(env +)node" comment "//" ## Default color white "^.+$" ## Decimal, cotal 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 "\<(break|case|catch|continue|default|delete|do|else|finally)\>" color green "\<(for|function|if|in|instanceof|new|null|return|switch)\>" color green "\<(switch|this|throw|try|typeof|undefined|var|void|while|with)\>" color green "\<(import|as|from|export)\>" color green "\<(const|let|class|extends|of|get|set|await|async|yield)\>" ## Type specifiers color red "\<(Array|Boolean|Date|Enumerator|Error|Function|Math)\>" color red "\<(WeakMap|Map|WeakSet|Set|Symbol|Promise)\>" 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="\}" ## Trailing spaces color ,green "[[:space:]]+$" ## Escapes color red "\\[0-7][0-7]?[0-7]?|\\x[0-9a-fA-F]+|\\[bfnrt'"\?\\]" ## Comments color brightblue start="^\s*/\*" end="\*/" color brightblue "^\s*//.*$"