From: Daniel Hahler Date: Fri, 24 Apr 2015 15:36:37 +0000 (+0200) Subject: Unset $autoenv_env_file when leaving X-Git-Url: http://www.git.stargrave.org/?p=zsh-autoenv.git;a=commitdiff_plain;h=470841ac3c042953f8b7a2e99a7323a799ae6011 Unset $autoenv_env_file when leaving This allows to use $autoenv_env_file e.g. in your prompt to see what .env is being used. --- diff --git a/autoenv.zsh b/autoenv.zsh index 452e5c3..d3f0f2e 100644 --- a/autoenv.zsh +++ b/autoenv.zsh @@ -256,6 +256,9 @@ _autoenv_source() { # This should not get done for recursion (via autoenv_source_parent), # and can be useful to have in general after autoenv was used. # unset autoenv_event autoenv_from_dir autoenv_to_dir autoenv_env_file + if [[ $autoenv_event == leave ]]; then + unset autoenv_env_file + fi } _autoenv_get_file_upwards() { diff --git a/tests/leave.t b/tests/leave.t index 473a273..62b7b8d 100644 --- a/tests/leave.t +++ b/tests/leave.t @@ -113,3 +113,12 @@ Test that "leave" is not triggered when entering an outside dir via symlink. LEFT outside: PWD:leave.t pwd:leave.t from:symlink to:leave.t event:leave $ cd sub/symlink ENTERED outside: PWD:symlink pwd:symlink from:leave.t to:symlink event:enter + +$autoenv_env_file should be reset when leaving. + + $ echo $autoenv_env_file + */leave.t/sub/symlink/.env (glob) + $ cd ../.. + LEFT outside: PWD:leave.t pwd:leave.t from:symlink to:leave.t event:leave + $ echo ${autoenv_env_file:-empty} + empty