Browse Source

error box ok

main
pvincent 2 weeks ago
parent
commit
b5a7748802
  1. 28
      poc

28
poc

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

Loading…
Cancel
Save