summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Linux/Command/_valgrind6
1 files changed, 5 insertions, 1 deletions
diff --git a/Completion/Linux/Command/_valgrind b/Completion/Linux/Command/_valgrind
index 34d2f774a..0284ff880 100644
--- a/Completion/Linux/Command/_valgrind
+++ b/Completion/Linux/Command/_valgrind
@@ -118,7 +118,11 @@ if [[ -n "$state" ]]; then
   # Basically uses debug output to find out the directory where the tools are
   # present and lists all executables in that directory.
   # Hope the program provides a neater interface some day!
-  tools=(${${${(M)${(f)"$(_call_program tools valgrind --tool=something -d 2> /dev/null)"}:#*launcher launching *something}##*launcher launching }%%something}*(*:t))
+  () {
+    setopt localoptions histsubstpattern
+    tools=( ${${${(M)${(f)"$(_call_program tools valgrind --tool=something -d 2>&1)"}:#*launcher launching *something*}##*launcher launching }%%something*}*~*.*(*:t:s/-*//) )
+    typeset -U tools
+  }
   _wanted tools exl 'valgrind tool' compadd $tools && return
 fi