summaryrefslogtreecommitdiff
path: root/plugins/dotenv/dotenv.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dotenv/dotenv.plugin.zsh')
-rw-r--r--plugins/dotenv/dotenv.plugin.zsh15
1 files changed, 12 insertions, 3 deletions
diff --git a/plugins/dotenv/dotenv.plugin.zsh b/plugins/dotenv/dotenv.plugin.zsh
index 9dd784229..b701b5596 100644
--- a/plugins/dotenv/dotenv.plugin.zsh
+++ b/plugins/dotenv/dotenv.plugin.zsh
@@ -1,10 +1,19 @@
-#!/bin/zsh
-
source_env() {
if [[ -f .env ]]; then
- source .env
+ # test .env syntax
+ zsh -fn .env || echo 'dotenv: error when sourcing `.env` file' >&2
+
+ if [[ -o a ]]; then
+ source .env
+ else
+ set -a
+ source .env
+ set +a
+ fi
fi
}
autoload -U add-zsh-hook
add-zsh-hook chpwd source_env
+
+source_env