3e1fc6385b
The different color will make the name stand out, as it should, instead of looking the same as all the regex strings.
30 строки
1.2 KiB
Plaintext
30 строки
1.2 KiB
Plaintext
## Here is an example for Bourne shell scripts.
|
|
|
|
syntax sh "\.sh$"
|
|
header "^#!.*((ba|da|k|pdk)?sh[-0-9_]*|openrc-run|runscript)"
|
|
magic "(POSIX|Bourne-Again) shell script.*text"
|
|
linter dash -n
|
|
comment "#"
|
|
|
|
icolor brightgreen "^[0-9A-Z_]+\(\)"
|
|
color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>"
|
|
color green "\<(declare|eval|exec|export|let|local)\>"
|
|
color green "[{}():;|`$<>!=&\\]" "(\]|\[)"
|
|
color green "-[Ldefgruwx]\>"
|
|
color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
|
|
color brightblue "\<(awk|cat|cd|ch(grp|mod|own)|cp|echo|env|grep|install|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|tar|touch|umask|unset)\>"
|
|
|
|
# Basic variable names (no braces).
|
|
color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*"
|
|
# More complicated variable names; handles braces and replacements and arrays.
|
|
color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:space:]]*[[:alnum:]_]+[[:space:]]*|@)\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})"
|
|
|
|
# Comments.
|
|
color cyan "(^|[[:space:]])#.*$"
|
|
|
|
# Strings.
|
|
color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'"
|
|
|
|
# Trailing whitespace.
|
|
color ,green "[[:space:]]+$"
|