# Initially based on
# https://github.com/joshuaclayton/dotfiles/blob/master/zsh_profile.d/autoenv.zsh
-export AUTOENV_ENV_FILENAME=$HOME/.env_auth
-[ -e $AUTOENV_ENV_FILENAME ] || touch $AUTOENV_ENV_FILENAME
+# File to store confirmed authentication into.
+: ${AUTOENV_ENV_FILENAME:=~/.env_auth}
# Name of file to look for when entering directories.
: ${AUTOENV_FILE_ENTER:=.env}
# terse output instead of format, which is not supported by busybox.
# Assume '+mtime' as $1.
_autoenv_get_file_mtime() {
- setopt localoptions pipefail
- stat -t $1 2>/dev/null | cut -f13 -d ' ' || echo 0
+ # setopt localoptions pipefail
+ local stat
+ stat=$(stat -t $1 2>/dev/null)
+ if [[ -n $stat ]]; then
+ echo ${${(s: :)stat}[13]}
+ else
+ echo 0
+ fi
}
else
_autoenv_get_file_mtime() {
# ${env_file:h}.
fi
- # Change to directory of env file, source it and cd back.
- local new_dir=$PWD
+ # Source the env file.
_autoenv_debug "== SOURCE: ${bold_color:-}$env_file${reset_color:-}\n PWD: $PWD"
- (( _autoenv_debug_indent++ ))
+ : $(( _autoenv_debug_indent++ ))
source $env_file
- (( _autoenv_debug_indent-- ))
+ : $(( _autoenv_debug_indent-- ))
_autoenv_debug "== END SOURCE =="
if [[ $autoenv_event == enter ]]; then
_autoenv_chpwd_prev_dir=$PWD
- (( _autoenv_debug_indent++ ))
+ : $(( _autoenv_debug_indent++ ))
}
# }}}