about summary refs log tree commit diff
path: root/Completion/User/_groups
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/User/_groups')
-rw-r--r--Completion/User/_groups9
1 files changed, 7 insertions, 2 deletions
diff --git a/Completion/User/_groups b/Completion/User/_groups
index 61f63596e..b867634c0 100644
--- a/Completion/User/_groups
+++ b/Completion/User/_groups
@@ -2,8 +2,13 @@
 
 local expl
 
-: ${(A)groups:=${${(s: :)$(</etc/group)}%%:*}}
-# : ${(A)groups:=${${(s: :)$(ypcat group.byname)}%%:*}} # If you use NIS
+if (( ! $+groups )); then
+  if whence -p ypcat > /dev/null; then
+    : ${(A)groups:=${${(s: :)$(ypcat group.byname)}%%:*}} # If you use NIS
+  else
+    : ${(A)groups:=${${(s: :)$(</etc/group)}%%:*}}
+  fi
+fi
 
 _description expl group
 compadd "$@" "$expl[@]" - $groups