summary refs log tree commit diff
path: root/Completion/Zsh/Command/_kill
blob: b9dfde3f0fc15921d82f3355d4d77d50b387e58e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#compdef kill

local curcontext="$curcontext" line state ret=1
typeset -A opt_args

_arguments -C \
  '(-s -l 1)-n[specify signal number]:signal number' \
  '(-n -l 1)-s[specify signal name]:signal:_signals -s' \
  '(-n -s)-l[list signal names or numbers of specified signals]:*:signal:_signals' \
  '(-n -s -l)1::signal:_signals -p -s' \
  '*:processes:->processes' && ret=0
  
if [[ -n "$state" ]]; then
  local pgrp='process-groups:: _wanted '
  [[ -n "$opt_args[(i)-[ns]]${${(@)line:#--}}" && -prefix - ]] && pgrp+='-x '
  pgrp+="process-groups expl 'process-group' compadd - 0"
  _alternative \
    'processes:: _pids' \
    'jobs:: _jobs -t' $pgrp && ret=0
fi

return ret