1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-24 06:19:31 +08:00
ohmyzsh/plugins/zsh-navigation-tools/_n-kill
2020-05-16 16:55:29 +02:00

42 lines
834 B
Plaintext

#compdef n-kill
local context ret=1
typeset -a list linewords
typeset -aU words wordbits
local line word
integer cygwin=0
local IFS="
"
case "$(uname)" 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 -M 'm:{a-z}={A-Z}' "$@" -a - words && ret=0
return "$ret"