|
|
|
@ -85,6 +85,7 @@ function on_pipe { |
|
|
|
# miaou_debug on_pipe: "${failure_code}" |
|
|
|
exit "$failure_code" |
|
|
|
} |
|
|
|
|
|
|
|
function dump_stderr { |
|
|
|
miaou_debug --stderr-- |
|
|
|
mapfile -t tmp_error <"$MIAOU_BASH_ERROR" |
|
|
|
@ -95,31 +96,48 @@ function dump_stderr { |
|
|
|
} |
|
|
|
|
|
|
|
function dump_failure { |
|
|
|
local i |
|
|
|
miaou_debug --tty error box-- |
|
|
|
tty_ansi 95 |
|
|
|
echo -n "$failure_type" |
|
|
|
length_box=$((${#failure_type} + ${#failure_code} + (2 * 2) + 1)) |
|
|
|
echo -n '╔' |
|
|
|
for i in $(seq 1 $length_box); do echo -n '═'; done |
|
|
|
echo '╗' |
|
|
|
echo -n "║ $failure_type" |
|
|
|
if [[ -v failure_payload ]]; then |
|
|
|
tty_ansi 94 |
|
|
|
echo -n " $failure_payload" |
|
|
|
fi |
|
|
|
tty_ansi 33 |
|
|
|
printf "%5s" " $failure_code " |
|
|
|
tty_ansi 95 |
|
|
|
echo "║" |
|
|
|
echo -n '╚' |
|
|
|
for i in $(seq 1 4); do echo -n '═'; done |
|
|
|
echo -n '╦' |
|
|
|
for i in $(seq $((i + 2)) $length_box); do echo -n '═'; done |
|
|
|
echo '╝' |
|
|
|
echo " ║" |
|
|
|
tty_ansi 0 |
|
|
|
echo |
|
|
|
miaou_debug --end of tty error box-- |
|
|
|
} |
|
|
|
|
|
|
|
function dump_stacktrace { |
|
|
|
miaou_debug --stacktrace ${#error_source[@]}-- |
|
|
|
tty_ansi 94 |
|
|
|
local i source lineno funcname |
|
|
|
for i in "${!error_source[@]}"; do |
|
|
|
tty_ansi 95 |
|
|
|
echo -n " ╟─⟶" |
|
|
|
[[ $i -gt 0 ]] && tty_ansi 90 |
|
|
|
tty_ansi 3 |
|
|
|
source="${error_source[$i]}" |
|
|
|
lineno="${error_lineno[$i]}" |
|
|
|
funcname="${error_funcname[$i]}" |
|
|
|
printf "%40s:%.4s \t%s\n" "$source" "$lineno" "$funcname" |
|
|
|
printf "%40s:%.4s" "$source" "$lineno" |
|
|
|
tty_ansi 0 |
|
|
|
printf " \t%s" "$funcname" |
|
|
|
echo |
|
|
|
done |
|
|
|
tty_ansi 0 |
|
|
|
miaou_debug --end of stacktrace-- |
|
|
|
} |
|
|
|
|
|
|
|
|