From 373e1b21fba4b469ed5c555f44df941da2c79cdd Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Mon, 19 Jan 2015 19:01:20 +0100 Subject: [PATCH] Add support for $AUTOENV_DISABLED, which skips the chpwd hook --- autoenv.zsh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/autoenv.zsh b/autoenv.zsh index 561a336..d4cd642 100644 --- a/autoenv.zsh +++ b/autoenv.zsh @@ -21,6 +21,9 @@ export AUTOENV_ENV_FILENAME=$HOME/.env_auth # Enable debugging. Multiple levels are supported (max 2). : ${AUTOENV_DEBUG:=0} +# (Temporarily) disable zsh-autoenv. This gets looked at in the chpwd handler. +: ${AUTOENV_DISABLED:=0} + # Public helper functions, which can be used from your .env files: # # Source the next .env file from parent directories. @@ -267,10 +270,16 @@ _autoenv_get_file_upwards() { _autoenv_chpwd_prev_dir=$PWD _autoenv_chpwd_handler() { - local env_file="$PWD/$AUTOENV_FILE_ENTER" - _autoenv_debug "Calling chpwd handler: PWD=$PWD" + if (( $AUTOENV_DISABLED )); then + _autoenv_debug "Disabled (AUTOENV_DISABLED)." + return + fi + + local env_file="$PWD/$AUTOENV_FILE_ENTER" + _autoenv_debug "env_file: $env_file" + # Handle leave event for previously sourced env files. if [[ $AUTOENV_HANDLE_LEAVE == 1 ]] && (( $#_autoenv_stack_entered )); then local prev_file prev_dir