about summary refs log tree commit diff
path: root/Completion/Zsh/Command/_hash
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Zsh/Command/_hash')
-rw-r--r--Completion/Zsh/Command/_hash14
1 files changed, 8 insertions, 6 deletions
diff --git a/Completion/Zsh/Command/_hash b/Completion/Zsh/Command/_hash
index a065615ef..80c136118 100644
--- a/Completion/Zsh/Command/_hash
+++ b/Completion/Zsh/Command/_hash
@@ -1,6 +1,6 @@
 #compdef hash rehash
 
-local state line expl common_args curcontext="$curcontext"
+local state line expl common_args curcontext="$curcontext" ret=1
 typeset -A opt_args
 
 common_args=( \
@@ -15,7 +15,7 @@ case ${service} in
       '(-f -r -m)-v[list entries as they are added]' \
       '(-f -r -v)-L[list in the form of calls to hash]' \
       "${common_args[@]}" \
-      '(-d -f -r -m -v -L)*:hash:->hashval' && return 0
+      '(-d -f -r -m -v -L)*:hash:->hashval' && ret=0
   ;;
   rehash)
     _arguments -C -s ${common_args[@]} && return 0
@@ -25,14 +25,16 @@ esac
 if [[ $state = hashval ]]; then
   if (( $+opt_args[-d] )); then
     if compset -P 1 '*='; then
-      _wanted -C value files expl directories _path_files -/
+      _wanted -C value files expl directories _path_files -/ && ret=0
     else
       _wanted -C name named-directories expl 'named directory' \
-          compadd -q -S '=' -k nameddirs
+          compadd -q -S '=' -k nameddirs && ret=0
     fi
   elif compset -P 1 '*='; then
-    _wanted -C value values expl 'executable file' _files -g '*(-*)'
+    _wanted -C value values expl 'executable file' _files -g '*(-*)' && ret=0
   else
-    _wanted -C name commands expl command compadd -q -S '=' -k commands
+    _wanted -C name commands expl command compadd -q -S '=' -k commands && ret=0
   fi
 fi
+
+return ret