17 lines
459 B
Bash
17 lines
459 B
Bash
|
# Don't continue if direnv is not found
|
||
|
command -v direnv &>/dev/null || return
|
||
|
|
||
|
_direnv_hook() {
|
||
|
trap -- '' SIGINT;
|
||
|
eval "$(direnv export zsh)";
|
||
|
trap - SIGINT;
|
||
|
}
|
||
|
typeset -ag precmd_functions;
|
||
|
if [[ -z ${precmd_functions[(r)_direnv_hook]} ]]; then
|
||
|
precmd_functions=( _direnv_hook ${precmd_functions[@]} )
|
||
|
fi
|
||
|
typeset -ag chpwd_functions;
|
||
|
if [[ -z ${chpwd_functions[(r)_direnv_hook]} ]]; then
|
||
|
chpwd_functions=( _direnv_hook ${chpwd_functions[@]} )
|
||
|
fi
|