## Syntax highlighting for AWK scripts. syntax awk "\.awk$" header "^#!.*awk" magic "awk script" comment "#" # Records. color brightred "\$[0-9A-Za-z_!@#$*?-]+" # Awk-set variables. color red "\<(ARGC|ARGIND|ARGV|BINMODE|CONVFMT|ENVIRON|ERRNO|FIELDWIDTHS)\>" color red "\<(FILENAME|FNR|FS|IGNORECASE|LINT|NF|NR|OFMT|OFS|ORS)\>" color red "\<(PROCINFO|RS|RT|RSTART|RLENGTH|SUBSEP|TEXTDOMAIN)\>" # Function declarations and special patterns. color brightgreen "\<(function|extension|BEGIN|END)\>" # Operators. color green "\{|\}|\(|\)|\;|\[|\]|\\|<|>|!|=|&|\+|-|\*|%|/|\?:|\^|\|" # Flow control. color brightyellow "\<(for|if|while|do|else|in|delete|exit)\>" color brightyellow "\<(break|continue|return)\>" # I/O statements. color brightgreen "\<(close|fflush|getline|next|nextfile|print|printf|system)\>" # Standard functions. color magenta "\<(atan2|cos|exp|int|log|rand|sin|sqrt|srand)\>" color magenta "\<(asort|asorti|gensub|gsub|index|length|match)\>" color magenta "\<(split|sprintf|strtonum|sub|substr|tolower|toupper)\>" color magenta "\<(mktime|strftime|systime)\>" color magenta "\<(and|compl|lshift|or|rshift|xor)\>" color magenta "\<(bindtextdomain|dcgettext|dcngettext)\>" # Strings. color brightyellow ""([^"\]|\\.)*"" # Comments. color brightblue "(^|[[:blank:]])#.*" # Trailing whitespace. color ,green "[[:space:]]+$"