about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-11-26 23:46:55 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-11-26 23:46:55 +0000
commit153f942d3e6b7432eda85fef85164c20556d35a3 (patch)
tree31d5856a691d0ea0323ddeb71cc52728b660bf85
parent8d22b3a4f8551f47fd96eb4e438005ec2a40d7d6 (diff)
downloadzsh-153f942d3e6b7432eda85fef85164c20556d35a3.tar.gz
zsh-153f942d3e6b7432eda85fef85164c20556d35a3.tar.xz
zsh-153f942d3e6b7432eda85fef85164c20556d35a3.zip
Ryan F: users/12154: MacOS X group completion
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Type/_groups6
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5f0a230c2..29f3f0c1e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-11-26  Peter Stephenson  <p.w.stephenson@ntlworld.com>
+
+	* Ryan F: users/12154: Completion/Unix/Type/_groups: MacOS X
+	group completion.
+
 2007-11-26  Peter Stephenson  <pws@csr.com>
 
 	* unposted: Config/version.mk, Completion/Unix/Command/.distfiles:
diff --git a/Completion/Unix/Type/_groups b/Completion/Unix/Type/_groups
index 923c34599..a5624269e 100644
--- a/Completion/Unix/Type/_groups
+++ b/Completion/Unix/Type/_groups
@@ -7,7 +7,11 @@ _tags groups || return 1
 if ! zstyle -a ":completion:${curcontext}:" groups groups; then
   (( $+_cache_groups )) ||
       if [[ $OSTYPE = darwin* ]]; then
-        : ${(A)_cache_groups:=${${(M)${(f)"$(_call_program groups lookupd -q group)"}:#name*}##*: }}
+        if (( ${+commands[lookupd]} )); then 
+          : ${(A)_cache_groups:=${${(M)${(f)"$(_call_program groups lookupd -q group)"}:#name*}##*: }}
+        elif (( ${+commands[dscacheutil]} )); then
+          : ${(A)_cache_groups:=${${(M)${(f)"$(_call_program groups dscacheutil -q group)"}:#name*}##*: }}
+        fi
       elif (( ${+commands[getent]} )); then
         : ${(A)_cache_groups:=${${(s: :)$(_call_program groups getent group 2>/dev/null)}%%:*}}
       else