diff --git a/spcd/bootstrap.sh b/spcd/bootstrap.sh index 7ad7504..903eafd 100644 --- a/spcd/bootstrap.sh +++ b/spcd/bootstrap.sh @@ -202,12 +202,10 @@ _SPCD_RULE_RIGHT="╴" # │ internals │ step │ # ╰───────────┴──────╯ -_SPCD_STEP_LEVEL=1 - _spcd_step_wipe() { unset \ - "__SPCD_STEP_${_SPCD_STEP_LEVEL}_INDEX" \ - "__SPCD_STEP_${_SPCD_STEP_LEVEL}_LABEL" + "__SPCD_STEP_${__SPCD_STEP_LEVEL}_INDEX" \ + "__SPCD_STEP_${__SPCD_STEP_LEVEL}_LABEL" } # ╭───────────╮ @@ -376,7 +374,8 @@ spcd_split() { spcd_step() { if [ -n "${1}" ]; then - spcd_step__prefix="__SPCD_STEP_${_SPCD_STEP_LEVEL}" + [ -n "${__SPCD_STEP_LEVEL}" ] || __SPCD_STEP_LEVEL=1 + spcd_step__prefix="__SPCD_STEP_${__SPCD_STEP_LEVEL}" spcd_step__index="${spcd_step__prefix}_INDEX" eval "${spcd_step__index}=\$((${spcd_step__index} + 1))" eval "${spcd_step__prefix}_LABEL=\"${1}\"" @@ -386,13 +385,13 @@ spcd_step() { spcd_step_in() { [ -n "${1}" ] && spcd_step "${1}" - _SPCD_STEP_LEVEL=$((_SPCD_STEP_LEVEL + 1)) + __SPCD_STEP_LEVEL=$((__SPCD_STEP_LEVEL + 1)) _spcd_step_wipe } spcd_step_out() { _spcd_step_wipe - _SPCD_STEP_LEVEL=$((_SPCD_STEP_LEVEL - 1)) + __SPCD_STEP_LEVEL=$((__SPCD_STEP_LEVEL - 1)) } # ╭───────╮