about summary refs log tree commit diff
path: root/Completion/User/_groups
blob: fbd8846880b61d4d20e06d06c3a440fe94ddfbfa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#compdef newgrp

local expl groups

_wanted groups expl group || return 1

if ! zstyle -a ":completion${curcontext}:groups" groups groups; then
  (( $+_cache_groups )) ||
      if (( ${+commands[ypcat]} )); then
        : ${(A)_cache_groups:=${${(s: :)$(ypcat group.byname)}%%:*}} # If you use YP
      else
        : ${(A)_cache_groups:=${${(s: :)$(</etc/group)}%%:*}}
      fi

  groups=( "$_cache_groups[@]" )
fi

compadd "$@" "$expl[@]" - "$groups[@]"