146 lines
2.8 KiB
Bash
146 lines
2.8 KiB
Bash
# 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
|