0
0
Fork 0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-09-19 04:01:21 +02:00
ohmyzsh/plugins/dotenv/dotenv.plugin.zsh
Mazin Ahmed e178ae39b4
dotenv: prompt before executing dotenv file (#8606)
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2020-02-12 17:51:40 +01:00

30 lines
664 B
Bash

source_env() {
if [[ -f $ZSH_DOTENV_FILE ]]; then
# confirm before sourcing .env file
local confirmation
echo -n "dotenv: source '$ZSH_DOTENV_FILE' file in the directory? (Y/n) "
if read -k 1 confirmation && [[ $confirmation = [nN] ]]; then
return
fi
# test .env syntax
zsh -fn $ZSH_DOTENV_FILE || echo "dotenv: error when sourcing '$ZSH_DOTENV_FILE' file" >&2
if [[ -o a ]]; then
source $ZSH_DOTENV_FILE
else
set -a
source $ZSH_DOTENV_FILE
set +a
fi
fi
}
autoload -U add-zsh-hook
add-zsh-hook chpwd source_env
if [[ -z $ZSH_DOTENV_FILE ]]; then
ZSH_DOTENV_FILE=.env
fi
source_env