38 lines
1.3 KiB
Plaintext
38 lines
1.3 KiB
Plaintext
## 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:]]+$"
|