about summary refs log tree commit diff
path: root/Completion/Builtins/_kill
blob: 264253e0a8cbe6dd4837214be071b2a491f461b6 (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[@]" -y list - ${${${(f)"$(ps $compconfig[ps_args] 2>/dev/null)"}[2,-1]## #}%% *} &&
    ret=0

  return ret
fi