#compdef kill local tags list expl if compset -P 1 -; then _tags -i signal || return 1 _description expl signal compadd "$expl[@]" $signals[1,-3] else local ret=1 _tags job process while _tags; do [[ "$tags" = *:job:* ]] && _jobs && ret=0 [[ "$tags" = *:process:* ]] && _pids && ret=0 (( ret )) || break done return ret fi