summary refs log tree commit diff
path: root/Completion/Zsh/Command/_hash
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2003-06-25 09:03:04 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2003-06-25 09:03:04 +0000
commita267832ddf4150652fde3936858841bb2edbd9ae (patch)
tree961f0cbcaf8dbdaf2ff2e1a5409d644158f592bf /Completion/Zsh/Command/_hash
parentdd54fb249881fa882319cd2642780dcebb8d9f7c (diff)
downloadzsh-a267832ddf4150652fde3936858841bb2edbd9ae.tar.gz
zsh-a267832ddf4150652fde3936858841bb2edbd9ae.tar.xz
zsh-a267832ddf4150652fde3936858841bb2edbd9ae.zip
18631: returning too early breaks prefix-needed style set to false
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