From: Daniel Hahler <git@thequod.de>
Date: Wed, 24 May 2017 16:02:47 +0000 (+0200)
Subject: README: improve recipe for virtualenv auto-activation
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=9ecb91480d6a868b31d6c26d8557775b87b592c9;p=zsh-autoenv.git

README: improve recipe for virtualenv auto-activation

- check that VIRTUAL_ENV is non-empty, which might happen when
`deactivate` was called already.
- perform directory name abbreviation on the virtualenv path.
---

diff --git a/README.md b/README.md
index e39ab7e..e6cbaf7 100644
--- a/README.md
+++ b/README.md
@@ -161,17 +161,17 @@ if [[ $autoenv_event == 'enter' ]]; then
     local -a venv
     venv=(./(../)#.venv(NY1:A))
 
-    if [[ -n "$_ZSH_ACTIVATED_VIRTUALENV" ]]; then
+    if [[ -n "$_ZSH_ACTIVATED_VIRTUALENV" && -n "$VIRTUAL_ENV" ]]; then
       if ! (( $#venv )) || [[ "$_ZSH_ACTIVATED_VIRTUALENV" != "$venv[1]" ]]; then
-        echo "De-activating virtualenv: $VIRTUAL_ENV" >&2
-        deactivate
         unset _ZSH_ACTIVATED_VIRTUALENV
+        echo "De-activating virtualenv: ${(D)VIRTUAL_ENV}" >&2
+        deactivate
       fi
     fi
 
     if [[ -z "$VIRTUAL_ENV" ]]; then
       if (( $#venv )); then
-        echo "Activating virtualenv: $venv" >&2
+        echo "Activating virtualenv: ${(D)venv}" >&2
         source $venv[1]/bin/activate
         _ZSH_ACTIVATED_VIRTUALENV="$venv[1]"
       fi