You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
814 B
41 lines
814 B
#compdef n-kill |
|
|
|
local context ret=1 |
|
|
|
typeset -a list linewords |
|
typeset -aU words wordbits |
|
local line word |
|
integer cygwin=0 |
|
|
|
local IFS=" |
|
" |
|
|
|
case "$OSTYPE" in |
|
cygwin*) list=( `command ps -Wa` ); cygwin=1 ;; |
|
*) list=( `command ps -o pid,uid,command -A` ) ;; |
|
esac |
|
|
|
shift list |
|
|
|
IFS=" " |
|
for line in "${list[@]}"; do |
|
linewords=( $=line ) |
|
if [ "$cygwin" = "1" ]; then |
|
linewords=( "${(@)linewords[8,-1]}" ) |
|
else |
|
linewords=( "${(@)linewords[3,-1]}" ) |
|
fi |
|
for word in "${linewords[@]}"; do |
|
if [ "$cygwin" = "1" ]; then |
|
wordbits=( "${(@s:\:)word}" ) |
|
else |
|
wordbits=( "${(@s:/:)word}" ) |
|
fi |
|
words+=( "${wordbits[@]}" ) |
|
done |
|
done |
|
|
|
_wanted bits expl "Processes' name bits" \ |
|
compadd "$@" -a - words && ret=0 |
|
|
|
return "$ret"
|
|
|