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

local list expl

if compset -P 1 -; then
  _description expl signal
  compadd "$expl[@]" $signals[1,-3]
else
  local ret=1

  _description expl job
  compgen "$expl[@]" -P '%' -j && ret=0
  list=("${(@Mr:COLUMNS-1:)${(f@)$(ps ${=compconfig[ps_listargs]:-$=compconfig[ps_args]} 2>/dev/null)}[2,-1]:#[ 	]#${PREFIX}[0-9]#${SUFFIX}[ 	]*}")
  _description expl 'process ID'
  compadd "$expl[@]" -ld list - ${${${(f)"$(ps $=compconfig[ps_args] 2>/dev/null)"}[2,-1]## #}%% *} &&
    ret=0

  return ret
fi