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/python.nanorc b/python.nanorc index d76ab53..7bb0889 100644 --- a/python.nanorc +++ b/python.nanorc @@ -1,6 +1,7 @@ ## Here is an example for Python. ## syntax "python" "\.py$" +header "^#!.*/(env +)?python( |$)" icolor brightred "def [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 1930532..2f34a04 100644 --- a/sh.nanorc +++ b/sh.nanorc @@ -1,7 +1,8 @@ ## 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" +header "^#!.*/(env +)?(ba)?sh( |$)" + 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 "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)" diff --git a/zsh.nanorc b/zsh.nanorc index cfc8a3c..797fd8e 100644 --- a/zsh.nanorc +++ b/zsh.nanorc @@ -1,6 +1,6 @@ ## Syntax highlighting for ZSH scripts (initially copied from sh.nanorc) syntax "zsh" "\.?zsh[^\.]+?$" -header "^#!.*/zsh" +header "^#!.*/(env +)?zsh( |$)" ## Numbers color brightwhite "[0-9]+"