diff options
Diffstat (limited to 'Completion/Zsh/Command/_kill')
-rw-r--r-- | Completion/Zsh/Command/_kill | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/Completion/Zsh/Command/_kill b/Completion/Zsh/Command/_kill index 5e3caed6a..8887be5fc 100644 --- a/Completion/Zsh/Command/_kill +++ b/Completion/Zsh/Command/_kill @@ -1,6 +1,18 @@ #compdef kill -_alternative \ - 'signals:: _signals -p' \ +local curcontext="$curcontext" line state ret=1 + +_arguments -C \ + '(-s -l 1)-n[specify signal number]:signal number' \ + '(-n -l 1)-s[specify signal name]:signal:_signals' \ + '(-n -s)-l[list signal names or numbers of specified signals]:*:signal:_signals' \ + '(-n -s -l)1::signal:_signals -p' \ + '*:processes:->processes' && ret=0 + +if [[ -n "$state" && -prefix [%0-9]# ]]; then + _alternative \ 'processes:: _pids' \ - 'jobs:: _jobs -t' + 'jobs:: _jobs -t' && ret=0 +fi + +return ret |