From af120ab348f2e1a5a39dec035ed9dcf84189a64e Mon Sep 17 00:00:00 2001 From: Biswakalyan Bhuyan Date: Mon, 3 Oct 2022 21:42:20 +0530 Subject: dotfiles --- zsh/oh-my-zsh/plugins/zsh-navigation-tools/_n-kill | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 zsh/oh-my-zsh/plugins/zsh-navigation-tools/_n-kill (limited to 'zsh/oh-my-zsh/plugins/zsh-navigation-tools/_n-kill') diff --git a/zsh/oh-my-zsh/plugins/zsh-navigation-tools/_n-kill b/zsh/oh-my-zsh/plugins/zsh-navigation-tools/_n-kill new file mode 100644 index 0000000..9da68b9 --- /dev/null +++ b/zsh/oh-my-zsh/plugins/zsh-navigation-tools/_n-kill @@ -0,0 +1,41 @@ +#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" -- cgit v1.2.3-59-g8ed1b