1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #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 "$@" -a - words && ret=0
- return "$ret"
|