style: improve backtrace format (rust-like)

This commit is contained in:
2026-06-02 23:21:17 +02:00
parent 9ddfb7b74b
commit 7615da7fb2
+15 -1
View File
@@ -16,7 +16,21 @@ std::backtrace() {
std::eprintln $'\033[4m'"Backtrace:" std::eprintln $'\033[4m'"Backtrace:"
for i in "${!FUNCNAME[@]}"; do for i in "${!FUNCNAME[@]}"; do
std::eprintln " ${FUNCNAME[$i]} called at ${BASH_SOURCE[$i]}:${BASH_LINENO[$i - 1]}" ! [ "$i" -eq 0 ] || continue
std::eprintln " $i: ${FUNCNAME[$i]}"
local src
src=$(realpath --relative-to "$PWD" -e "${BASH_SOURCE[$i]}")
if [ "${src:0:1}" != "." ]; then
src=./$src
fi
if [ "${BASH_LINENO[$i - 1]}" -eq 0 ]; then
std::eprintln $'\033[0m'" at "$'\033[1;35m'"$src"
else
std::eprintln $'\033[0m'" at "$'\033[1;35m'"$src:${BASH_LINENO[$i - 1]}"
fi
done done
} }