summaryrefslogtreecommitdiff
path: root/plugins/dotenv
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2020-02-27 22:55:30 +0100
committerGitHub <noreply@github.com>2020-02-27 22:55:30 +0100
commit18ee5dffdc57bb9219ee96b40da006704ac37df1 (patch)
treee1fe420cf18fa7a916d5d43c408c6f92ed33b62d /plugins/dotenv
parentd81cd753e0b3a845e8f3549da245dbad102a6e4c (diff)
parent368198b7616eb69b396de86d9ec4ff0f35bd72f0 (diff)
downloadzsh-18ee5dffdc57bb9219ee96b40da006704ac37df1.tar.gz
zsh-18ee5dffdc57bb9219ee96b40da006704ac37df1.tar.bz2
zsh-18ee5dffdc57bb9219ee96b40da006704ac37df1.zip
Merge branch 'master' into clipboard
Diffstat (limited to 'plugins/dotenv')
-rw-r--r--plugins/dotenv/README.md6
-rw-r--r--plugins/dotenv/dotenv.plugin.zsh12
2 files changed, 18 insertions, 0 deletions
diff --git a/plugins/dotenv/README.md b/plugins/dotenv/README.md
index cac552485..dbc02bf61 100644
--- a/plugins/dotenv/README.md
+++ b/plugins/dotenv/README.md
@@ -32,6 +32,8 @@ PORT=3001
```
You can even mix both formats, although it's probably a bad idea.
+## Plugin options
+
### ZSH_DOTENV_FILE
You can also modify the name of the file to be loaded with the variable `ZSH_DOTENV_FILE`.
@@ -43,6 +45,10 @@ For example, this will make the plugin look for files named `.dotenv` and load t
ZSH_DOTENV_FILE=.dotenv
```
+### ZSH_DOTENV_PROMPT
+
+Set `ZSH_DOTENV_PROMPT=false` in your zshrc file if you don't want the confirmation message.
+
## Version Control
**It's strongly recommended to add `.env` file to `.gitignore`**, because usually it contains sensitive information such as your credentials, secret keys, passwords etc. You don't want to commit this file, it's supposed to be local only.
diff --git a/plugins/dotenv/dotenv.plugin.zsh b/plugins/dotenv/dotenv.plugin.zsh
index 89763d0ee..54036bee3 100644
--- a/plugins/dotenv/dotenv.plugin.zsh
+++ b/plugins/dotenv/dotenv.plugin.zsh
@@ -1,5 +1,17 @@
source_env() {
if [[ -f $ZSH_DOTENV_FILE ]]; then
+ if [ "$ZSH_DOTENV_PROMPT" != "false" ]; then
+ # confirm before sourcing file
+ local confirmation
+ # print same-line prompt and output newline character if necessary
+ echo -n "dotenv: source '$ZSH_DOTENV_FILE' file in the directory? (Y/n) "
+ read -k 1 confirmation; [[ "$confirmation" != $'\n' ]] && echo
+ # only bail out if confirmation character is n
+ if [[ "$confirmation" = [nN] ]]; then
+ return
+ fi
+ fi
+
# test .env syntax
zsh -fn $ZSH_DOTENV_FILE || echo "dotenv: error when sourcing '$ZSH_DOTENV_FILE' file" >&2