Colores en nano, .nanorc

Últimamente me da por los colores -en consola-, que le vamos a hacer... Además de actualizar la entrada de los colores del prompt, hablando con Mamel empezamos a divagar que si el vim tenía indentación, colores y demás.

Pero en ningún momento quisimos desmerecer a nuestro querido y usado nano (curiosa su página web). Así que ahí va un .nanorc preparado para colorear archivos php, C, HTML, Javascript y SQL:

syntax "php" "\\.php[2345s]?$"
color blue "\\$[a-zA-Z_0-9$]*|[=!<>]"
color green "(var|class|function|echo|case|break|default|exit|switch|if|else|elseif|@|while)\\\\s"
color green "[.,{}();]"
color red "('[^']*')|(\\"[^"]*\\")"
color brightyellow "(#.*|//.*)$"
color brightyellow start="/\\*" end="\\*/"
color brightblue "(<\\?(php)?|\\?>)"
color white start="\\?>" end="<\\?(php)?"


syntax "c-file" "\\.(c|h)$"
color red "\\<[A-Z_]{2,}\\>"
color green "\\<(float|double|char|int|short|long|enum|void|static|const|struct|union|typedef|extern|signed|unsigned|inline)\\>"
color brightyellow "\\<(for|if|while|do|else|case|switch|goto|continue|break|return)\\>"
color brightcyan "^ *# *(define|undef|include|ifn?def|endif|elif|else|if)"
color brightmagenta "'([^\\]|(\\\\['abfnrtv\\\\]))'" "'\\\\(([0-7][0-7]?)|([0-3][0-7][0-7]))'" "'\\\\x[0-9A-Fa-f][0-9A-Fa-f]?'"
color brightyellow "<[^= ]*>" ""(\\\\.|[^\\"])*""
color brightyellow start=""(\\\\.|[^\\"])*\\\\ *$" end="^(\\\\.|[^\\"])*""
color brightblue "//.*"
color brightblue start="/\\*" end="\\*/"


syntax "HTML" "\\.html$"
color blue start="<" end=">"
color red "&[^; ]*;"


syntax "JavaScript" "\\.(js)$"
# 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 "\\<(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)\\>"
# Type specifiers
color red "\\<(Array|Boolean|Date|Enumerator|Error|Function|Math)\\>"
color red "\\<(Number|Object|RegExp|String)\\>"
color red "\\<(true|false)\\>"
# String
color brightyellow "L?\\"(\\\\"|[^"])*\\""
color brightyellow "L?'(\\'|[^'])*'"
# Escapes
color red "\\\\[0-7][0-7]?[0-7]?|\\\\x[0-9a-fA-F]+|\\\\[bfnrt'"\\?\\\\]"
# Comments
color magenta start="/\\*" end="\\*/"
color magenta "//.*$"


syntax "postgreSQL" "\\.sql$"
color red "\\<(A(LL|NALY(S|Z)E|ND|NY|RRAY|S|SC|SYMMETRIC|UTHORIZATION)|B(ETWEEN|INARY|OTH|Y)|C(ASE|AST|HECK|OLLATE|OLUMN|ONSTRAINT|REATE|ROSS|URRENT_(DATE|ROLE|TIME|TIMESTAMP|USER))|D(EFAULT|EFERRABLE|ESC|ISTINCT|O|ROP)|E(LSE|ND|XCEPT)|F(ALSE|OR(EIGN)?|REEZE|ROM|ULL)|GRANT|GROUP|HAVING|I(LIKE|N(ITIALLY|NER|TERSECT|TO)?|S|SNULL)|JOIN|L(EADING|EFT|IKE|IMIT|OCALTIME(STAMP)?)|N(ATURAL|EW|OT(NULL)?|ULL)|O(FF(SET)?|LD|N|NLY|R|RDER|UTER|VERLAPS)|PLACING|PRIMARY|REFERENCES|RIGHT|S(ELECT|ESSION_USER|IMILAR|OME|YMMETRIC)|T(ABLE|HEN|O|RAILING|RUE)|UNION|UNIQUE|USER|USING|VE(IW|RBOSE)|WHEN|WHERE|)\\>"
color magenta "(\\{|\\}|\\(|\\)|\\;|\\]|\\[|`|\\\\|\\$|<|>|!|=|&|\\|)"
color yellow "'[^']*'"
color green "--.*$"

Espero que les guste, sacado literalmente (con alguna corrección de errores) del wiki de Linuxhelp.

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.