summaryrefslogtreecommitdiff
path: root/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh')
-rw-r--r--plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh7
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
index b2c804edb..9fd0d3d8f 100644
--- a/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
+++ b/plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh
@@ -37,8 +37,11 @@ if [[ ! $DISABLE_VENV_CD -eq 1 ]]; then
if [ ! $WORKON_CWD ]; then
WORKON_CWD=1
# Check if this is a Git repo
- PROJECT_ROOT=`git rev-parse --show-toplevel 2> /dev/null`
- if (( $? != 0 )); then
+ PROJECT_ROOT=`pwd`
+ while [[ "$PROJECT_ROOT" != "/" && ! -e "$PROJECT_ROOT/.venv" ]]; do
+ PROJECT_ROOT=`realpath $PROJECT_ROOT/..`
+ done
+ if [[ "$PROJECT_ROOT" == "/" ]]; then
PROJECT_ROOT="."
fi
# Check for virtualenv name override