summaryrefslogtreecommitdiff
path: root/completions/killall
diff options
context:
space:
mode:
Diffstat (limited to 'completions/killall')
-rw-r--r--completions/killall19
1 files changed, 10 insertions, 9 deletions
diff --git a/completions/killall b/completions/killall
index d2f6dd47..ed502f97 100644
--- a/completions/killall
+++ b/completions/killall
@@ -1,4 +1,6 @@
-# killall(1) and pkill(1) completion -*- shell-script -*-
+# killall(1) completion -*- shell-script -*-
+
+[[ $OSTYPE == *@(linux|freebsd|darwin)* ]] || return 1
_killall()
{
@@ -10,7 +12,7 @@ _killall()
return
;;
-s|--signal)
- [[ $1 == *killall ]] && _signals
+ _signals
return
;;
-u|--user)
@@ -21,15 +23,14 @@ _killall()
$split && return
- if [[ $cword -eq 1 && "$cur" == -* ]]; then
- _signals -
- else
- _pnames
+ if [[ $cur == -* ]]; then
+ COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
+ [[ $cword -eq 1 ]] && _signals -
+ return
fi
- return 0
+ _pnames
} &&
-complete -F _killall pkill
-[[ $OSTYPE == *@(linux|freebsd|darwin)* ]] && complete -F _killall killall || :
+complete -F _killall killall
# ex: ts=4 sw=4 et filetype=sh