preproc = "import" #number = '(?<=-)([[:digit:]]+)' include "number.lang" normal = '\\"' normal = '\\\'' #include "c_string.lang" string delim "\"" "\"" escape "\\" string delim "'" "'" escape "\\" function = 'function[[:blank:]]+([[:alpha:]]|_)[[:word:]]*[[:blank:]]*(\(\))?' function = '([[:alpha:]]|_)[[:word:]]*[[:blank:]]*\(\)' # avoids, in things such as --bind, that words are highlighted as keywords normal = '([[:alpha:]]*[-/]+[[:alpha:]]+)+' keyword = "alias|always|autoload|bg|bindkey|break|builtin", "bye|cap|case|cd|chdir|clone|command|comparguments", "compcall|compctl|compdescribe|compfiles|compgroups", "compquote|comptags|comptry|compvalues|continue", "declare|dirs|disable|disown|do|echo|echotc|echoti", "elif|else|emulate|enable|esac|eval|exec|exit", "export|false|fc|fg|fi|float|for|foreach|function", "functions|getcap|getln|getopts|hash|history|if|in", "integer|jobs|kill|let|limit|local|log|logout", "nocorrect|noglob|none|popd|print|printf|pushd", "pushln|pwd|r|read|readonly|rehash|repeat|return", "sched|select|set|setcap|setopt|shift|source|stat", "suspend|test|then|time|times|trap|true|ttyctl|type", "typeset|ulimit|umask|unalias|unfunction|unhash", "unlimit|unset|unsetopt|until|vared|wait|whence", "where|which|while|zcompile|zformat|zftp|zle", "zmodload|zparseopts|zprof|zpty|zregexparse", "zsocket|zstyle|ztcp" variable = '\$\{([^[:blank:]]+)\}' variable = '\$\(([^[:blank:]]+)\)' variable = '\$([[:alpha:]]|_)[[:word:]]*' variable = '\$([^[:blank:]]{1})' # notice that - is not a symbol since it can be used in command line parameters symbol = "~","!","%","^","*","(",")","+","=","[", "]","\\",":",";",",",".","/","?","&","<",">","\|","%%" symbol = '(##){2}(?!#)' include "script_comment.lang" # vim:ft=lang