blob: c31acb51ad44eeb249216f6751f14d73f2088e5a (
plain)
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
# Completions for tools included in util-linux (not necessarily Linux specific)
# renice(8) completion
#
_renice()
{
local cur prev words cword
_init_completion || return
local command=$1 curopt i=0
# walk back through command line and find last option
while [[ $i -le $cword && ${#COMPREPLY[@]} -eq 0 ]]; do
curopt=${words[cword-$i]}
case "$curopt" in
-u)
_allowed_users
;;
-g)
_pgids
;;
-p|$command)
_pids
;;
esac
i=$(( ++i ))
done
} &&
complete -F _renice renice
# kill(1) completion
#
_kill()
{
local cur prev words cword
_init_completion || return
if [[ $cword -eq 1 && "$cur" == -* ]]; then
# return list of available signals
_signals
else
# return list of available PIDs
_pids
fi
} &&
complete -F _kill kill
# look(1) completion
#
_look()
{
local cur prev words cword
_init_completion || return
if [[ $cword -eq 1 ]]; then
COMPREPLY=( $( compgen -W '$(look "$cur" 2>/dev/null)' -- "$cur" ) )
fi
} &&
complete -F _look -o default look
_ionice()
{
local cur prev words cword
_init_completion || return
local offset=0 i
for (( i=1; i <= cword; i++ )); do
case ${words[i]} in
-h)
return
;;
-p)
offset=0
break
;;
-c|-n)
(( i++ ))
continue
;;
-*)
continue
;;
esac
offset=$i
break
done
if [[ $offset -gt 0 ]]; then
_command_offset $offset
return
fi
case $prev in
-c)
COMPREPLY=( $( compgen -W '{0..3}' -- "$cur" ) )
return
;;
-n)
COMPREPLY=( $( compgen -W '{0..7}' -- "$cur" ) )
return
;;
-p)
_pids
return
;;
esac
if [[ $cur == -* ]]; then
COMPREPLY=( $( compgen -W '$( _parse_help "$1" -h )' -- "$cur" ) )
return
fi
} &&
complete -F _ionice ionice
_dmesg()
{
[[ $OSTYPE == *solaris* ]] && return # no args there
local cur prev words cword
_init_completion || return
case $prev in
-s|-M|-N)
return
;;
-n)
COMPREPLY=( $( compgen -W '{1..8}' -- "$cur" ) )
return
;;
esac
if [[ $cur == -* ]]; then
COMPREPLY=( $( compgen -W '$( _parse_usage "$1" )' -- "$cur" ) )
return
fi
} &&
complete -F _dmesg dmesg
# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh
|