mirror of
git://git.sv.gnu.org/nano.git
synced 2024-12-28 13:19:48 +03:00
544351f3be
In many places a carriage return is not valid whitespace and should thus not be colored as such. In some of these places a vertical tab or form feed is maybe valid whitespace, but it would be ugly or even wrong to color them because they are not part of the subsequent comment or keyword. This fixes https://savannah.gnu.org/bugs/?60456.
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:]]+$"
|