### 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`
+## Usage
+
+zsh-autoenv works automatically once installed.
+
+You can use ``autoenv-edit`` to edit the nearest/current autoenv files.
+It will use ``$AUTOENV_EDITOR``, ``$EDITOR``, or ``vim`` for editing.
+
## Recipes
### Automatically activate Python virtualenvs
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