1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
" shDerefSimple in sh.vim is not quite right, so let's fix it up
syntax clear shDerefSimple
" $var, $VAR, $var_new, $_var, $var1 ...
syntax match shDerefSimple '\$\h[a-zA-Z0-9_]*'
" $0, $1, $2 ...
syntax match shDerefSimple '\$\d'
" $-, $#, $* ...
syntax match shDerefSimple '\$[-#*@!?$]'
" Trust me to get my dereferencing right
syntax clear shDerefWordError
" I don't like having 'restart', 'start" etc highlighted
syntax clear bashAdminStatement
" Limit bashStatement only to alphanumeric shell builtins, except for the ones
" that declare variables (declare, typeset, local, export, unset) as they're
" used in shSetList
syntax clear bashStatement
syntax keyword bashStatement
\ alias
\ bg
\ bind
\ break
\ builtin
\ caller
\ cd
\ command
\ compgen
\ complete
\ compopt
\ continue
\ coproc
\ dirs
\ disown
\ echo
\ enable
\ eval
\ exec
\ exit
\ false
\ fc
\ fg
\ function
\ getopts
\ hash
\ help
\ history
\ jobs
\ kill
\ let
\ logout
\ mapfile
\ popd
\ printf
\ pushd
\ pwd
\ read
\ readarray
\ readonly
\ return
\ set
\ shift
\ shopt
\ source
\ suspend
\ test
\ time
\ times
\ trap
\ true
\ type
\ ulimit
\ umask
\ unalias
\ wait
|