e81782ac3faf24cac2384a99366f748040b3f20a
- Author
- Alastair Rankine <alastair@girtby.net>
- Committer
- GitHub <noreply@github.com>
- Date
Message
virtualenvwrapper: rewrite init script location code (#8521)
Diff
1diff --git a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
2index b2d2c5cd63fe734c496bff4374bd37d7c65dbad5..267bcaeb529c3cd5d69c0026fd5546f3d4c8e375 100644
3--- a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
4+++ b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
5@@ -1,55 +1,29 @@
6-virtualenvwrapper='virtualenvwrapper.sh'
7-virtualenvwrapper_lazy='virtualenvwrapper_lazy.sh'
8+function {
9+ # search in these locations for the init script:
10+ for f in $commands[virtualenvwrapper_lazy.sh] \
11+ $commands[virtualenvwrapper.sh] \
12+ /usr/share/virtualenvwrapper/virtualenvwrapper{_lazy,}.sh \
13+ /usr/local/bin/virtualenvwrapper{_lazy,}.sh \
14+ /etc/bash_completion.d/virtualenvwrapper \
15+ /usr/share/bash-completion/completions/virtualenvwrapper
16+ do
17+ if [[ -f $f ]]; then
18+ source $f
19+ return
20+ fi
21+ done
22+ print "[oh-my-zsh] virtualenvwrapper plugin: Cannot find virtualenvwrapper.sh.\n"\
23+ "Please install with \`pip install virtualenvwrapper\`" >&2
24+}
25
26-if (( $+commands[$virtualenvwrapper_lazy] )); then
27- function {
28- setopt local_options
29- unsetopt equals
30- virtualenvwrapper=${${virtualenvwrapper_lazy}:c}
31- source ${${virtualenvwrapper_lazy}:c}
32- [[ -z "$WORKON_HOME" ]] && WORKON_HOME="$HOME/.virtualenvs"
33- }
34-elif (( $+commands[$virtualenvwrapper] )); then
35- function {
36- setopt local_options
37- unsetopt equals
38- source ${${virtualenvwrapper}:c}
39- }
40-elif [[ -f "/usr/local/bin/virtualenvwrapper.sh" ]]; then
41- function {
42- setopt local_options
43- unsetopt equals
44- virtualenvwrapper="/usr/local/bin/virtualenvwrapper.sh"
45- source "/usr/local/bin/virtualenvwrapper.sh"
46- }
47-elif [[ -f "/usr/share/virtualenvwrapper/virtualenvwrapper.sh" ]]; then
48- function {
49- setopt local_options
50- unsetopt equals
51- virtualenvwrapper="/usr/share/virtualenvwrapper/virtualenvwrapper.sh"
52- source "/usr/share/virtualenvwrapper/virtualenvwrapper.sh"
53- }
54-elif [[ -f "/etc/bash_completion.d/virtualenvwrapper" ]]; then
55- function {
56- setopt local_options
57- unsetopt equals
58- virtualenvwrapper="/etc/bash_completion.d/virtualenvwrapper"
59- source "/etc/bash_completion.d/virtualenvwrapper"
60- }
61-else
62- print "[oh-my-zsh] virtualenvwrapper plugin: Cannot find ${virtualenvwrapper}.\n"\
63- "Please install with \`pip install virtualenvwrapper\`" >&2
64- return
65-fi
66 if ! type workon &>/dev/null; then
67 print "[oh-my-zsh] virtualenvwrapper plugin: shell function 'workon' not defined.\n"\
68 "Please check ${virtualenvwrapper}" >&2
69 return
70 fi
71
72-if [[ "$WORKON_HOME" == "" ]]; then
73- print "[oh-my-zsh] \$WORKON_HOME is not defined so plugin virtualenvwrapper will not work" >&2
74- return
75+if [[ -z "$WORKON_HOME" ]]; then
76+ WORKON_HOME="$HOME/.virtualenvs"
77 fi
78
79 if [[ ! $DISABLE_VENV_CD -eq 1 ]]; then