From: Daniel Hahler Date: Sun, 30 Apr 2017 12:14:25 +0000 (+0200) Subject: AUTOENV_DEBUG=3 sets xtrace while sourcing; doc (#65) X-Git-Url: http://www.git.stargrave.org/?p=zsh-autoenv.git;a=commitdiff_plain;h=738e6e965da6a41733199a349d497f796eacd062 AUTOENV_DEBUG=3 sets xtrace while sourcing; doc (#65) --- diff --git a/README.md b/README.md index dac04dc..e39ab7e 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,13 @@ Default: 0 ### AUTOENV\_DEBUG Enable debugging. Multiple levels are supported (max 2). +- 0: no debug messages +- 1: generic debug logging +- 2: more verbose messages + - messages about adding/removing files on the internal stack +- 3: everything + - sets xtrace option (`set -x`) while sourcing env files + Default: `0` ## Recipes diff --git a/autoenv.zsh b/autoenv.zsh index e6cfc13..db059f2 100644 --- a/autoenv.zsh +++ b/autoenv.zsh @@ -303,7 +303,16 @@ _autoenv_source() { # Source the env file. _autoenv_debug "== SOURCE: ${bold_color:-}$autoenv_env_file${reset_color:-}\n PWD: $PWD" : $(( _autoenv_debug_indent++ )) + + local restore_xtrace + if [[ $AUTOENV_DEBUG -gt 2 && ! -o xtrace ]]; then + restore_xtrace=1 + setopt localoptions xtrace + fi source $autoenv_env_file + if (( restore_xtrace )); then + setopt noxtrace + fi : $(( _autoenv_debug_indent-- )) _autoenv_debug "== END SOURCE =="