diff options
Diffstat (limited to '')
-rw-r--r-- | completions/kill | 29 | ||||
-rw-r--r-- | completions/killall | 36 |
2 files changed, 65 insertions, 0 deletions
diff --git a/completions/kill b/completions/kill new file mode 100644 index 0000000..25cddba --- /dev/null +++ b/completions/kill @@ -0,0 +1,29 @@ +# kill(1) completion -*- shell-script -*- + +_kill() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -s) + _signals + return + ;; + -l) + return + ;; + esac + + if [[ $cword -eq 1 && $cur == -* ]]; then + # return list of available signals + _signals - + COMPREPLY+=($(compgen -W "-s -l" -- "$cur")) + else + # return list of available PIDs + _pids + fi +} && + complete -F _kill kill + +# ex: filetype=sh diff --git a/completions/killall b/completions/killall new file mode 100644 index 0000000..c7c0b0f --- /dev/null +++ b/completions/killall @@ -0,0 +1,36 @@ +# killall(1) completion -*- shell-script -*- + +[[ $OSTYPE == *@(linux|freebsd|darwin)* ]] || return 1 + +_killall() +{ + local cur prev words cword split + _init_completion -s || return + + case $prev in + --context | --older-than | --younger-than | --version | -!(-*)@([Zoy]|V*)) + return + ;; + --signal | -!(-*)s) + _signals + return + ;; + --user | -!(-*)u) + _allowed_users + return + ;; + esac + + $split && return + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + ((cword == 1)) && _signals - + return + fi + + _pnames +} && + complete -F _killall killall + +# ex: filetype=sh |