################################################################ ### - Hecho por KZKG^Gaara (http://desdelinux.net) ### ### - http://DESDELINUX.net | @desdelinux ### ### "Aprenda a ser mejor desde linux, tutoriales, etc. ### ################################################################ ## CMake syntax highlighter for GNU Nano ## syntax "cmake" "(CMakeLists\.txt|\.cmake)$" icolor green "^[[:space:]]*[A-Z0-9_]+" icolor brightyellow "^[[:space:]]*(include|include_directories|include_external_msproject)\>" icolor brightgreen "^[[:space:]]*\<((else|end)?if|else|(end)?while|(end)?foreach|break)\>" color brightgreen "\<(NOT|COMMAND|POLICY|TARGET|EXISTS|IS_(DIRECTORY|ABSOLUTE)|DEFINED)\>[[:space:]]" color brightgreen "[[:space:]]\<(OR|AND|IS_NEWER_THAN|MATCHES|(STR|VERSION_)?(LESS|GREATER|EQUAL))\>[[:space:]]" icolor brightred "^[[:space:]]*\<((end)?(function|macro)|return)" icolor cyan start="\$(\{|ENV\{)" end="\}" color magenta "\<(APPLE|UNIX|WIN32|CYGWIN|BORLAND|MINGW|MSVC(_IDE|60|71|80|90)?)\>" icolor brightblue "^([[:space:]]*)?#.*" icolor brightblue "[[:space:]]#.*" color ,green "[[:space:]]+$" ## Here is an example for C/C++. ## syntax "c" "\.(c(c|pp|xx)?|C)$" "\.(h(h|pp|xx)?|H)$" "\.ii?$" color brightred "\<[A-Z_][0-9A-Z_]+\>" color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|(un)?signed|inline)\>" color green "\<((s?size)|((u_?)?int(8|16|32|64|ptr)))_t\>" color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)\>" color brightyellow "\<(for|if|while|do|else|case|default|switch)\>" color brightyellow "\<(try|throw|catch|operator|new|delete)\>" color magenta "\<(goto|continue|break|return)\>" color brightcyan "^[[:space:]]*#[[:space:]]*(define|include(_next)?|(un|ifn?)def|endif|el(if|se)|if|warning|error|pragma)" color brightmagenta "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'" ## ## GCC builtins color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__" ## ## String highlighting. You will in general want your comments and ## strings to come last, because syntax highlighting rules will be ## applied in the order they are read in. color brightyellow "<[^= ]*>" ""(\\.|[^"])*"" ## ## This string is VERY resource intensive! color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*"" ## Comment highlighting color brightblue "//.*" color brightblue start="/\*" end="\*/" ## Trailing whitespace color ,green "[[:space:]]+$" ## Here is an example for css files. ## syntax "css" "\.css$" color brightred "." color brightyellow start="\{" end="\}" color brightwhite start=":" end="([;^\{]|$)" color brightblue ":active|:focus|:hover|:link|:visited|:link|:after|:before|$" color brightblue start="\/\*" end="\\*/" color green ";|:|\{|\}" ## Here is an exmaple for apt's sources.list ## Adapted from http://milianw.de/blog/Syntax-Highlighting-in-Nano ## (mail@milianw.de). ## syntax "apt/sources.list" "sources\.list(\.old|~)?$" # component color brightmagenta "^deb(-src)? ((http|file|ftp):/[^ ]+|cdrom:\[[^\]]+\]/|cdrom:\[[-a-zA-Z0-9\._\(\) ]+\]/) [^ ]+ .+$" # distribution color brightred "^deb(-src)? ((http|file|ftp):/[^ ]+|cdrom:\[[^\]]+\]/|cdrom:\[[-a-zA-Z0-9\._\(\) ]+\]/) [^ ]+" # URI color brightgreen "(http|file|ftp):/[^ ]+" # cdroms # [^\]] does not work... color brightgreen "cdrom:\[[-a-zA-Z0-9\._\(\) ]+\]/" # deb / deb-src color yellow "^deb" color yellow "^deb-src" # comments color brightblue "#.*" ## Here is a short example for HTML. ## syntax "html" "\.html$" color blue start="<" end=">" color red "&[^;[[:space:]]]*;" ## Here is an example for Java. ## syntax "java" "\.java$" color green "\<(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\>" color red "\<(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\>" color cyan "\<(abstract|class|extends|final|implements|import|instanceof|interface|native|package|private|protected|public|static|strictfp|super|synchronized|throws|volatile)\>" color red ""[^"]*"" color yellow "\<(true|false|null)\>" color blue "//.*" color blue start="/\*" end="\*/" color brightblue start="/\*\*" end="\*/" color ,green "[[:space:]]+$" # unattributed syntax highlighting example from wiki.linuxhelp.net/ syntax "makefile" "Makefile[^/]*$" color red "[:=]" color magenta "\<(if|ifeq|else|endif)\>" color blue "\$+[{(][a-zA-Z0-9_-]+[})]" color brightblue "^[^ ]+:" color green "#.*$" ## Here is an example for manpages. ## syntax "man" "\.[1-9]x?$" color green "\.(S|T)H.*$" color brightgreen "\.(S|T)H" "\.TP" color brightred "\.(BR?|I[PR]?).*$" color brightblue "\.(BR?|I[PR]?|PP)" color brightwhite "\\f[BIPR]" color yellow "\.(br|DS|RS|RE|PD)" ## Here is an example for nanorc files. ## syntax "nanorc" "\.?nanorc$" ## Possible errors and parameters icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$" ## Keywords icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(allow_insecure_backup|autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|softwrap|speller|suspend|suspendenable|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds)\>" icolor green "^[[:space:]]*(set|unset|include|syntax|header)\>" ## Colors icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>" icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)=" ## Strings icolor white ""(\\.|[^"])*"" ## Comments icolor brightblue "^[[:space:]]*#.*$" icolor cyan "^[[:space:]]*##.*$" ## Here is an example for C/C++/Obj-C. ## syntax "m" "\.m$" ## Stuffs color brightwhite "\<[A-Z_][0-9A-Z_]+\>" color green "\<(float|double|BOOL|bool|char|int|short|long|id|sizeof|enum|void|static|const|struct|union|typedef|extern|(un)?signed|inline)\>" color green "\<[[:alpha:]_][[:alnum:]_]*_t\>" color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)\>" color brightgreen "\<(for|if|while|do|else|case|default|switch)\>" color brightgreen "\<(try|throw|catch|operator|new|delete)\>" color brightgreen "\<(goto|continue|break|return)\>" color brightgreen "@\<(en(code|d)|i(mplementation|nterface)|selector)\>" ## ## GCC builtins color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__" ## Selector/method color brightmagenta "(^|[[:space:]])\[.*[[:space:]].*\]" color white ":[[:alnum:]]*" color magenta "[[:alnum:]]*:" color white "\[[^][:space:]]*\]" ## ## String highlighting. You will in general want your comments and ## strings to come last, because syntax highlighting rules will be ## applied in the order they are read in. color brightblack "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'" color brightblack "<[^= ]*>" ""(\\.|[^"])*"" color brightblue "@"(\\.|[^"])*"" ## ## This string is VERY resource intensive! ## color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*"" color brightblue "^[[:space:]]*#[[:space:]]*(define|include|import|(un|ifn?)def|endif|el(if|se)|if|warning|error)" ## Comment highlighting color yellow "//.*" color yellow start="/\*" end="\*/" ## Here is an example for patch files. ## syntax "patch" "\.(patch|diff)$" color brightgreen "^\+.*" color green "^\+\+\+.*" color brightblue "^ .*" color brightred "^-.*" color red "^---.*" color brightyellow "^@@.*" color magenta "^diff.*" ## Here is an example for Perl. ## syntax "perl" "\.p[lm]$" header "^#!.*/perl[-0-9._]*" color red "\<(accept|alarm|atan2|bin(d|mode)|c(aller|h(dir|mod|op|own|root)|lose(dir)?|onnect|os|rypt)|d(bm(close|open)|efined|elete|ie|o|ump)|e(ach|of|val|x(ec|ists|it|p))|f(cntl|ileno|lock|ork))\>" "\<(get(c|login|peername|pgrp|ppid|priority|pwnam|(host|net|proto|serv)byname|pwuid|grgid|(host|net)byaddr|protobynumber|servbyport)|([gs]et|end)(pw|gr|host|net|proto|serv)ent|getsock(name|opt)|gmtime|goto|grep|hex|index|int|ioctl|join)\>" "\<(keys|kill|last|length|link|listen|local(time)?|log|lstat|m|mkdir|msg(ctl|get|snd|rcv)|next|oct|open(dir)?|ord|pack|pipe|pop|printf?|push|q|qq|qx|rand|re(ad(dir|link)?|cv|do|name|quire|set|turn|verse|winddir)|rindex|rmdir|s|scalar|seek(dir)?)\>" "\<(se(lect|mctl|mget|mop|nd|tpgrp|tpriority|tsockopt)|shift|shm(ctl|get|read|write)|shutdown|sin|sleep|socket(pair)?|sort|spli(ce|t)|sprintf|sqrt|srand|stat|study|substr|symlink|sys(call|read|tem|write)|tell(dir)?|time|tr(y)?|truncate|umask)\>" "\<(un(def|link|pack|shift)|utime|values|vec|wait(pid)?|wantarray|warn|write)\>" color magenta "\<(continue|else|elsif|do|for|foreach|if|unless|until|while|eq|ne|lt|gt|le|ge|cmp|x|my|sub|use|package|can|isa)\>" icolor cyan start="[$@%]" end="( |[^0-9A-Z_]|-)" color yellow "".*"|qq\|.*\|" color white "[sm]/.*/" color white start="(^use| = new)" end=";" color green "#.*" color yellow start="<< 'STOP'" end="STOP" ## Here is an example for PHP ## syntax "php" "\.php[2345s~]?$" ## php markings color brightgreen "(<\?(php)?|\?>)" ## functions color white "\<[a-z_]*\(" ## types color green "\<(var|float|global|double|bool|char|int|enum|const)\>" ## structure color brightyellow "\<(class|new|private|public|function|for|foreach|if|while|do|else|elseif|case|default|switch)\>" ## control flow color magenta "\<(goto|continue|break|return)\>" ## strings color brightyellow "<[^= ]*>" ""(\.|[^"])*"" ## comments color brightblue "//.*" color brightblue start="/\*" end="\*/" #color blue start="<" end=">" #color red "&[^;[[:space:]]]*;" ## Trailing whitespace color ,green "[[:space:]]+$" ## Here is an example for Python. ## syntax "python" "\.py$" header "^#!.*/python[-0-9._]*" icolor brightblue "def [0-9A-Z_]+" color brightcyan "\<(and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield)\>" color brightgreen "['][^']*[^\\][']" "[']{3}.*[^\\][']{3}" color brightgreen "["][^"]*[^\\]["]" "["]{3}.*[^\\]["]{3}" color brightgreen start=""""[^"]" end=""""" start="'''[^']" end="'''" color brightred "#.*$" ## Here is an example for Ruby. ## syntax "ruby" "\.rb$" header "^#!.*/ruby[-0-9._]*" ## Asciibetical list of reserved words color yellow "\<(BEGIN|END|alias|and|begin|break|case|class|def|defined\?|do|else|elsif|end|ensure|false|for|if|in|module|next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\>" ## Constants color brightblue "(\$|@|@@)?\<[A-Z]+[0-9A-Z_a-z]*" ## Ruby "symbols" icolor magenta "([ ]|^):[0-9A-Z_]+\>" ## Some unique things we want to stand out color brightyellow "\<(__FILE__|__LINE__)\>" ## Regular expressions color brightmagenta "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*" ## Shell command expansion is in `backticks` or like %x{this}. These are ## "double-quotish" (to use a perlism). color brightblue "`[^`]*`" "%x\{[^}]*\}" ## Strings, double-quoted color green ""([^"]|(\\"))*"" "%[QW]?\{[^}]*\}" "%[QW]?\([^)]*\)" "%[QW]?<[^>]*>" "%[QW]?\[[^]]*\]" "%[QW]?\$[^$]*\$" "%[QW]?\^[^^]*\^" "%[QW]?![^!]*!" ## Expression substitution. These go inside double-quoted strings, ## "like #{this}". color brightgreen "#\{[^}]*\}" ## Strings, single-quoted color green "'([^']|(\\'))*'" "%[qw]\{[^}]*\}" "%[qw]\([^)]*\)" "%[qw]<[^>]*>" "%[qw]\[[^]]*\]" "%[qw]\$[^$]*\$" "%[qw]\^[^^]*\^" "%[qw]![^!]*!" ## Comments color cyan "#[^{].*$" "#$" color brightcyan "##[^{].*$" "##$" ## "Here" docs color green start="<<-?'?EOT'?" end="^EOT" ## Some common markers color brightcyan "(XXX|TODO|FIXME|\?\?\?)" ## Here is an example for Bourne shell scripts. ## syntax "sh" "\.sh$" header "^#!.*/(ba|k|pdk)?sh[-0-9_]*" icolor brightgreen "^[0-9A-Z_]+\(\)" color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>" color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" color green "-[Ldefgruwx]\>" color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>" color brightblue "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|make|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\>" icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?" color cyan "(^|[[:space:]])#.*$" color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" color ,green "[[:space:]]+$" ## Here is a short example for TeX files. ## syntax "tex" "\.tex$" icolor green "\\.|\\[A-Z]*" color magenta "[{}]" color blue "(^|[^\])%.*" ## Here is an example for xml files. ## syntax "xml" "\.([jrs]html?|sgml?|xml|xslt?)$" color green start="<" end=">" color cyan "<[^> ]+" color cyan ">" color yellow start="" color yellow start="" color red "&[^;]*;"