summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/pip/_pip7
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/pip/_pip b/plugins/pip/_pip
index 8c03d8519..07d37c80e 100644
--- a/plugins/pip/_pip
+++ b/plugins/pip/_pip
@@ -4,7 +4,10 @@
# pip zsh completion, based on homebrew completion
_pip_all() {
- all_pkgs=(`pip search * | cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]'`)
+ # we cache the list of packages (originally from the macports plugin)
+ if (( ! $+piplist )); then
+ piplist=($(pip search * | cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]'))
+ fi
}
_pip_installed() {
@@ -62,7 +65,7 @@ case "$words[1]" in
if [[ "$state" == packages ]]; then
_pip_all
- _wanted all_pkgs expl 'packages' compadd -a all_pkgs
+ _wanted piplist expl 'packages' compadd -a piplist
fi ;;
uninstall)
_pip_installed