]> Sergey Matveev's repositories - zsh-autoenv.git/commitdiff
Unset $autoenv_env_file when leaving
authorDaniel Hahler <git@thequod.de>
Fri, 24 Apr 2015 15:36:37 +0000 (17:36 +0200)
committerDaniel Hahler <git@thequod.de>
Fri, 24 Apr 2015 15:36:41 +0000 (17:36 +0200)
This allows to use $autoenv_env_file e.g. in your prompt to see what
.env is being used.

autoenv.zsh
tests/leave.t

index 452e5c3a224ed8da2b57316393441fcbf2806ded..d3f0f2efb9c19f74d573f558214a31473f4d76a6 100644 (file)
@@ -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() {
index 473a27335063048266b8e9404ad6f91001a4fe56..62b7b8dcd073933803ac8bd86d601f1c45132d1e 100644 (file)
@@ -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