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