1
0
Fork 0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-14 09:50:08 +00:00

dotenv: add ZSH_DOTENV_PROMPT config (#8624)

This commit is contained in:
Maxime Richard 2020-02-13 18:10:59 +01:00 committed by GitHub
parent a6df94d2c6
commit 634a50936a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 5 deletions

View file

@ -32,6 +32,8 @@ PORT=3001
``` ```
You can even mix both formats, although it's probably a bad idea. You can even mix both formats, although it's probably a bad idea.
## Plugin options
### ZSH_DOTENV_FILE ### ZSH_DOTENV_FILE
You can also modify the name of the file to be loaded with the variable `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_FILE=.dotenv
``` ```
### ZSH_DOTENV_PROMPT
Set `ZSH_DOTENV_PROMPT=false` in your zshrc file if you don't want the confirmation message.
## Version Control ## 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. **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.

View file

@ -1,11 +1,14 @@
source_env() { source_env() {
if [[ -f $ZSH_DOTENV_FILE ]]; then if [[ -f $ZSH_DOTENV_FILE ]]; then
# confirm before sourcing .env file
if [ "$ZSH_DOTENV_PROMPT" != "false" ]; then
# confirm before sourcing file
local confirmation local confirmation
echo -n "dotenv: source '$ZSH_DOTENV_FILE' file in the directory? (Y/n) " echo -n "dotenv: source '$ZSH_DOTENV_FILE' file in the directory? (Y/n) "
if read -k 1 confirmation && [[ $confirmation = [nN] ]]; then if read -k 1 confirmation && [[ $confirmation = [nN] ]]; then
return return
fi fi
fi
# test .env syntax # test .env syntax
zsh -fn $ZSH_DOTENV_FILE || echo "dotenv: error when sourcing '$ZSH_DOTENV_FILE' file" >&2 zsh -fn $ZSH_DOTENV_FILE || echo "dotenv: error when sourcing '$ZSH_DOTENV_FILE' file" >&2