]> Sergey Matveev's repositories - zsh-autoenv.git/blobdiff - README.md
_autoenv_get_file_upwards: handle relative paths
[zsh-autoenv.git] / README.md
index 519e0faa5ef89ad1bdb81371f2dbda1effe151e5..e6cbaf7594ab577b8d3ff62ecb3022d884da538b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -126,6 +126,13 @@ Default: 0
 ### AUTOENV\_DEBUG
 Enable debugging. Multiple levels are supported (max 2).
 
+- 0: no debug messages
+- 1: generic debug logging
+- 2: more verbose messages
+  - messages about adding/removing files on the internal stack
+- 3: everything
+  - sets xtrace option (`set -x`) while sourcing env files
+
 Default: `0`
 
 ## Recipes
@@ -150,20 +157,21 @@ if [[ $autoenv_event == 'enter' ]]; then
       return
     fi
 
+    setopt localoptions extendedglob
     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