ποΈ Extending Syntax
--eval-full-stack
View Source
while [ "$SHELLPEN_CONTEXT_RIGHT_INDEX" -ge 0 ]
do
local depthBeforeEval="$SHELLPEN_CONTEXT_DEPTH"
local lastCommand="$( !fn --shellpen-private writeDSL --get-last-pushed )"
!fn --shellpen-private writeDSL --eval-last-pushed
# Recalculate the context depth and right index from the context
if [ -z "$BASH_PRE_43" ]
then
SHELLPEN_CONTEXT_DEPTH="${#SHELLPEN_SOURCE_CONTEXT[@]}"
else
eval "SHELLPEN_CONTEXT_DEPTH=\"\${#__SHELLPEN_CONTEXT_$SHELLPEN_SOURCE_ID[@]}\""
fi
SHELLPEN_CONTEXT_RIGHT_INDEX="$(( SHELLPEN_CONTEXT_DEPTH - 1 ))"
local depthAfterEval="$SHELLPEN_CONTEXT_DEPTH"
[ $depthBeforeEval -eq $depthAfterEval ] && { echo "!fn [Extension Error] Expected '$lastCommand' to --pop stack" >&2; return 1; }
done
Close every item on current stack (from right to left)