... | ... |
@@ -4,7 +4,10 @@ |
4 | 4 |
# pip zsh completion, based on homebrew completion |
5 | 5 |
|
6 | 6 |
_pip_all() { |
7 |
- all_pkgs=(`pip search * | cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]'`) |
|
7 |
+ # we cache the list of packages (originally from the macports plugin) |
|
8 |
+ if (( ! $+piplist )); then |
|
9 |
+ piplist=($(pip search * | cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]')) |
|
10 |
+ fi |
|
8 | 11 |
} |
9 | 12 |
|
10 | 13 |
_pip_installed() { |
... | ... |
@@ -62,7 +65,7 @@ case "$words[1]" in |
62 | 62 |
|
63 | 63 |
if [[ "$state" == packages ]]; then |
64 | 64 |
_pip_all |
65 |
- _wanted all_pkgs expl 'packages' compadd -a all_pkgs |
|
65 |
+ _wanted piplist expl 'packages' compadd -a piplist |
|
66 | 66 |
fi ;; |
67 | 67 |
uninstall) |
68 | 68 |
_pip_installed |