aboutsummaryrefslogtreecommitdiff
path: root/vim/after/syntax/sh.vim
blob: 59ff92d73dc7e8fae58ef447d9582c720c76cc40 (plain) (blame)
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