mirror of
https://github.com/Tarrasch/zsh-autoenv.git
synced 2024-11-25 16:31:00 +02:00
Set varstash_dir for "leave" event (#72)
Fixes https://github.com/Tarrasch/zsh-autoenv/issues/45.
This commit is contained in:
parent
3258f584ec
commit
bdc6967fc9
@ -406,7 +406,7 @@ _autoenv_chpwd_handler() {
|
|||||||
if ! [[ ${PWD}/ == ${prev_dir}/* ]]; then
|
if ! [[ ${PWD}/ == ${prev_dir}/* ]]; then
|
||||||
local env_file_leave=$prev_dir/$AUTOENV_FILE_LEAVE
|
local env_file_leave=$prev_dir/$AUTOENV_FILE_LEAVE
|
||||||
if _autoenv_check_authorized_env_file $env_file_leave; then
|
if _autoenv_check_authorized_env_file $env_file_leave; then
|
||||||
_autoenv_source $env_file_leave leave $prev_dir
|
varstash_dir=$prev_dir _autoenv_source $env_file_leave leave $prev_dir
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Unstash any autostashed stuff.
|
# Unstash any autostashed stuff.
|
||||||
|
25
tests/varstash-unstash-on-leave.t
Normal file
25
tests/varstash-unstash-on-leave.t
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
Test unstash behavior on leaving.
|
||||||
|
|
||||||
|
$ source $TESTDIR/setup.zsh || return 1
|
||||||
|
|
||||||
|
Setup test environment.
|
||||||
|
|
||||||
|
$ mkdir sub
|
||||||
|
$ echo 'echo ENTER; stash FOO=changed' >| sub/$AUTOENV_FILE_ENTER
|
||||||
|
$ echo 'echo LEAVE; unstash FOO' >| sub/$AUTOENV_FILE_LEAVE
|
||||||
|
$ test_autoenv_auth_env_files sub
|
||||||
|
$ FOO=orig
|
||||||
|
|
||||||
|
Activating the env stashes it and applies a new value.
|
||||||
|
|
||||||
|
$ cd sub
|
||||||
|
ENTER
|
||||||
|
$ echo $FOO
|
||||||
|
changed
|
||||||
|
|
||||||
|
Leaving the directory unstashes it (varstash_dir is set to prev dir).
|
||||||
|
|
||||||
|
$ cd ..
|
||||||
|
LEAVE
|
||||||
|
$ echo $FOO
|
||||||
|
orig
|
Loading…
Reference in New Issue
Block a user