summaryrefslogtreecommitdiff
path: root/plugins/dotenv
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2020-02-27 14:43:29 -0800
committerTuowen Zhao <ztuowen@gmail.com>2020-02-27 14:43:29 -0800
commit0b67340fd2fe9330d8487491e1983ad1a111fb2b (patch)
treefe9cdff80e98deced5c63e79110593d430802adb /plugins/dotenv
parent93a2003db7738e2255a4589ef2073df1be34fe02 (diff)
parent2b499e1a9e8788d607768ecef67851e8234b72b3 (diff)
downloadzsh-0b67340fd2fe9330d8487491e1983ad1a111fb2b.tar.gz
zsh-0b67340fd2fe9330d8487491e1983ad1a111fb2b.tar.bz2
zsh-0b67340fd2fe9330d8487491e1983ad1a111fb2b.zip
Merge branch 'master' of https://github.com/ohmyzsh/ohmyzsh
Diffstat (limited to 'plugins/dotenv')
-rw-r--r--plugins/dotenv/README.md6
-rw-r--r--plugins/dotenv/dotenv.plugin.zsh15
2 files changed, 16 insertions, 5 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 d4a6db8f8..54036bee3 100644
--- a/plugins/dotenv/dotenv.plugin.zsh
+++ b/plugins/dotenv/dotenv.plugin.zsh
@@ -1,10 +1,15 @@
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
+ 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