From 6e75adacec2237334fb403b973187cbf192f54b6 Mon Sep 17 00:00:00 2001 From: Matthew Cox Date: Sat, 2 Aug 2014 23:25:00 +0100 Subject: [PATCH] Add header directives for perl and ruby, make the sh header directive more flexible, add header keyword to nanorc highlighting --- nanorc.nanorc | 2 +- perl.nanorc | 2 ++ ruby.nanorc | 2 ++ sh.nanorc | 7 ++++--- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/nanorc.nanorc b/nanorc.nanorc index 1eb940f..1aa85e0 100644 --- a/nanorc.nanorc +++ b/nanorc.nanorc @@ -5,7 +5,7 @@ syntax "nanorc" "\.?nanorc$" icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$" ## Keywords icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(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|speller|suspend|tabsize|tabstospaces|tempfile|undo|view|whitespace|wordbounds)\>" -icolor green "^[[:space:]]*(set|unset|include|syntax)\>" +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)=" diff --git a/perl.nanorc b/perl.nanorc index 7bca4cd..9a96528 100644 --- a/perl.nanorc +++ b/perl.nanorc @@ -1,6 +1,8 @@ ## Here is an example for Perl. ## syntax "perl" "\.p[lm]$" +header "^#!.*/(env +)?perl( |$)" + 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_]|-)" diff --git a/ruby.nanorc b/ruby.nanorc index 830dac6..36cadf8 100644 --- a/ruby.nanorc +++ b/ruby.nanorc @@ -1,6 +1,8 @@ ## Here is an example for Ruby. ## syntax "ruby" "\.rb$" "Gemfile" "config.ru" "Rakefile" "Capfile" "Vagrantfile" +header "^#!.*/(env +)?ruby( |$)" + ## 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 diff --git a/sh.nanorc b/sh.nanorc index d0552bc..abf6619 100644 --- a/sh.nanorc +++ b/sh.nanorc @@ -1,14 +1,15 @@ ## Here is an example for Bourne shell scripts. ## syntax "sh" "\.sh$" "\.bashrc" "bashrc" "\.bash_aliases" "bash_aliases" "\.bash_functions" "bash_functions" "\.bash_profile" "bash_profile" -header "^#!.*/(ba)?sh" -icolor brightgreen "^[0-9A-Z_]+\(\)" +header "^#!.*/(env +)?(ba)?sh( |$)" + 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 brightgreen "^\s+?[0-9A-Z_]+\s+?\(\)" icolor brightred "\$\{?[0-9A-Z_!@#$*?-]+\}?" -color cyan "(^|[[:space:]])#.*$" color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" +color cyan "(^|[[:space:]])#.*$" #color ,green "[[:space:]]+$"