about summary refs log tree commit diff
path: root/Completion/compaudit
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/compaudit')
-rw-r--r--Completion/compaudit8
1 files changed, 7 insertions, 1 deletions
diff --git a/Completion/compaudit b/Completion/compaudit
index c4dbb6e11..25ba21c94 100644
--- a/Completion/compaudit
+++ b/Completion/compaudit
@@ -15,7 +15,13 @@ compaudit() {                           # Define and then call
 emulate -L zsh
 setopt extendedglob
 
-[[ -x /usr/bin/getent ]] || getent() { cat /etc/$1 }
+[[ -x /usr/bin/getent ]] || getent() {
+  if [[ $2 = <-> ]]; then
+    grep ":$2:[^:]*$" /etc/$1
+  else
+    grep "^$2:" /etc/$1
+  fi
+}
 
 # The positional parameters are the directories to check, else fpath.
 if (( $# )); then