From 634a50936a28ba3a57a02c92e7fe76da2d60ecf8 Mon Sep 17 00:00:00 2001 From: Maxime Richard Date: Thu, 13 Feb 2020 18:10:59 +0100 Subject: dotenv: add ZSH_DOTENV_PROMPT config (#8624) --- plugins/dotenv/README.md | 6 ++++++ plugins/dotenv/dotenv.plugin.zsh | 13 ++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'plugins/dotenv') 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..84815a416 100644 --- a/plugins/dotenv/dotenv.plugin.zsh +++ b/plugins/dotenv/dotenv.plugin.zsh @@ -1,10 +1,13 @@ 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 + echo -n "dotenv: source '$ZSH_DOTENV_FILE' file in the directory? (Y/n) " + if read -k 1 confirmation && [[ $confirmation = [nN] ]]; then + return + fi fi # test .env syntax -- cgit v1.2.3-70-g09d2 From f17e0219fdd38d9fabce2d96d0d283d98122733f Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Thu, 13 Feb 2020 18:33:24 +0100 Subject: dotenv: fix prompt newline --- plugins/dotenv/dotenv.plugin.zsh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'plugins/dotenv') diff --git a/plugins/dotenv/dotenv.plugin.zsh b/plugins/dotenv/dotenv.plugin.zsh index 84815a416..54036bee3 100644 --- a/plugins/dotenv/dotenv.plugin.zsh +++ b/plugins/dotenv/dotenv.plugin.zsh @@ -1,11 +1,13 @@ 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) " - if read -k 1 confirmation && [[ $confirmation = [nN] ]]; then + read -k 1 confirmation; [[ "$confirmation" != $'\n' ]] && echo + # only bail out if confirmation character is n + if [[ "$confirmation" = [nN] ]]; then return fi fi -- cgit v1.2.3-70-g09d2