]> src.twobees.de Git - dotfiles.git/blob - stow/oh-my-zsh/.oh-my-zsh/plugins/zsh-navigation-tools/_n-kill
...
[dotfiles.git] / stow / oh-my-zsh / .oh-my-zsh / plugins / zsh-navigation-tools / _n-kill
1 #compdef n-kill
2
3 local context ret=1
4
5 typeset -a list linewords
6 typeset -aU words wordbits
7 local line word
8 integer cygwin=0
9
10 local IFS="
11 "
12
13 case "$(uname)" in
14     CYGWIN*) list=( `command ps -Wa` ); cygwin=1 ;;
15     *) list=( `command ps -o pid,uid,command -A` ) ;;
16 esac
17
18 shift list
19
20 IFS=" "
21 for line in "${list[@]}"; do
22     linewords=( $=line )
23     if [ "$cygwin" = "1" ]; then
24         linewords=( "${(@)linewords[8,-1]}" )
25     else
26         linewords=( "${(@)linewords[3,-1]}" )
27     fi
28     for word in "${linewords[@]}"; do
29         if [ "$cygwin" = "1" ]; then
30             wordbits=( "${(@s:\:)word}" )
31         else
32             wordbits=( "${(@s:/:)word}" )
33         fi
34         words+=( "${wordbits[@]}" )
35     done
36 done
37
38 _wanted bits expl "Processes' name bits" \
39     compadd -M 'm:{a-z}={A-Z}' "$@" -a - words && ret=0
40
41 return "$ret"