Blame view

plugins/zsh-navigation-tools/_n-kill 815 Bytes
d9bebbb3c   mj   Squashed 'repos/r...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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 "$@" -a - words && ret=0
  
  return "$ret"