zsh/Completion/User/_groups

20 lines
493 B
Plaintext

#compdef newgrp
local expl groups tmp
_tags groups || return 1
if ! zstyle -a ":completion:${curcontext}:" groups groups; then
(( $+_cache_groups )) ||
if (( ${+commands[ypcat]} )) &&
tmp=$(_call groups ypcat group.byname 2>/dev/null); then
: ${(A)_cache_groups:=${${(f)tmp}%%:*}} # If you use YP
else
: ${(A)_cache_groups:=${${(s: :)$(</etc/group)}%%:*}}
fi
groups=( "$_cache_groups[@]" )
fi
_wanted groups expl group compadd "$@" - "$groups[@]"