* fix(dotenv): expect explicit yes before loading .env file
* fix(dotenv): implement secure parsing for .env files and add comprehensive tests
* feat(dotenv): check for .env file size to prevent DoS
* fix(dotenv): forbid setting special variables
* fix(dotenv): FIFO shouldn't be read twice
* fix(dotenv): unknown vars should expand to empty
* fix(dotenv): reject extremely large named pipes
* docs(dotenv): update to new parsing system
* fix(dotenv): add support for escaped dollars
* chore(dotenv): only declare local variables once
* fix(dotenv): apply review suggestions
* docs(dotenv): update test instructions
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
Without this fix the confirmation prompt appears wherever the cursor is,
which means that it might appear in the command line when using a widget
that changes the directory without redrawing the prompt (an example of
this are the dircycle and dirhistory plugins).
* dotenv: add possibility to agree once for a given .env file
* refactor: fix code style
* Use :A modifier instead of readlink. Thanks Aloxaf
* Use grep and clean up allowed list check logic
* Simplify and reorder file; change default allowed list path
* Add new feature to README
* Make sure ZSH_CACHE_DIR is defined
* Resolve symlinks in $PWD before storing in allowed list
Co-authored-by: Aloxaf <bailong104@gmail.com>
Co-authored-by: Marc Cornellà <marc.cornella@live.com>