Update core.func
This commit is contained in:
parent
4da9455c59
commit
121d05496c
@ -20,10 +20,10 @@ if ! declare -f wait_for >/dev/null; then
|
|||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
declare -A MSG_INFO_SHOWN=()
|
# declare -A MSG_INFO_SHOWN=()
|
||||||
SPINNER_PID=""
|
# SPINNER_PID=""
|
||||||
SPINNER_ACTIVE=0
|
# SPINNER_ACTIVE=0
|
||||||
SPINNER_MSG=""
|
# SPINNER_MSG=""
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Loads core utility groups once (colors, formatting, icons, defaults).
|
# Loads core utility groups once (colors, formatting, icons, defaults).
|
||||||
@ -47,9 +47,9 @@ load_functions() {
|
|||||||
# Error & Signal Handling – robust, universal, subshell-safe
|
# Error & Signal Handling – robust, universal, subshell-safe
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
||||||
_stop_spinner_on_error() {
|
# _stop_spinner_on_error() {
|
||||||
[[ -n "${SPINNER_PID:-}" ]] && kill "$SPINNER_PID" 2>/dev/null && wait "$SPINNER_PID" 2>/dev/null || true
|
# [[ -n "${SPINNER_PID:-}" ]] && kill "$SPINNER_PID" 2>/dev/null && wait "$SPINNER_PID" 2>/dev/null || true
|
||||||
}
|
# }
|
||||||
|
|
||||||
_tool_error_hint() {
|
_tool_error_hint() {
|
||||||
local cmd="$1"
|
local cmd="$1"
|
||||||
@ -89,35 +89,35 @@ _tool_error_hint() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
on_error() {
|
# on_error() {
|
||||||
local code="$?"
|
# local code="$?"
|
||||||
local line="${BASH_LINENO[0]:-unknown}"
|
# local line="${BASH_LINENO[0]:-unknown}"
|
||||||
local cmd="${BASH_COMMAND:-unknown}"
|
# local cmd="${BASH_COMMAND:-unknown}"
|
||||||
|
|
||||||
# Signalcode unterdrücken, falls INT/TERM kommt
|
# # Signalcode unterdrücken, falls INT/TERM kommt
|
||||||
[[ "$code" == "130" || "$code" == "143" ]] && return
|
# [[ "$code" == "130" || "$code" == "143" ]] && return
|
||||||
|
|
||||||
_stop_spinner_on_error
|
# _stop_spinner_on_error
|
||||||
msg_error "Script failed at line $line with exit code $code: $cmd"
|
# msg_error "Script failed at line $line with exit code $code: $cmd"
|
||||||
exit "$code"
|
# exit "$code"
|
||||||
}
|
# }
|
||||||
|
|
||||||
on_exit() {
|
# on_exit() {
|
||||||
_stop_spinner_on_error
|
# _stop_spinner_on_error
|
||||||
[[ "${VERBOSE:-no}" == "yes" ]] && msg_info "Script exited cleanly"
|
# [[ "${VERBOSE:-no}" == "yes" ]] && msg_info "Script exited cleanly"
|
||||||
}
|
# }
|
||||||
|
|
||||||
on_interrupt() {
|
# on_interrupt() {
|
||||||
_stop_spinner_on_error
|
# _stop_spinner_on_error
|
||||||
msg_error "Interrupted by user (CTRL+C)"
|
# msg_error "Interrupted by user (CTRL+C)"
|
||||||
exit 130
|
# exit 130
|
||||||
}
|
# }
|
||||||
|
|
||||||
on_terminate() {
|
# on_terminate() {
|
||||||
_stop_spinner_on_error
|
# _stop_spinner_on_error
|
||||||
msg_error "Terminated by signal (SIGTERM)"
|
# msg_error "Terminated by signal (SIGTERM)"
|
||||||
exit 143
|
# exit 143
|
||||||
}
|
# }
|
||||||
|
|
||||||
catch_errors() {
|
catch_errors() {
|
||||||
trap 'on_error' ERR
|
trap 'on_error' ERR
|
||||||
@ -428,19 +428,19 @@ fatal() {
|
|||||||
# stop_spinner
|
# stop_spinner
|
||||||
# }
|
# }
|
||||||
|
|
||||||
msg_info() {
|
# msg_info() {
|
||||||
local msg="$1"
|
# local msg="$1"
|
||||||
[[ -z "$msg" || -n "${MSG_INFO_SHOWN["$msg"]+x}" ]] && return
|
# [[ -z "$msg" || -n "${MSG_INFO_SHOWN["$msg"]+x}" ]] && return
|
||||||
MSG_INFO_SHOWN["$msg"]=1
|
# MSG_INFO_SHOWN["$msg"]=1
|
||||||
|
|
||||||
stop_spinner
|
# stop_spinner
|
||||||
echo -e "OS: ${var_os:-}"
|
# echo -e "OS: ${var_os:-}"
|
||||||
if [[ "${VERBOSE:-no}" != "no" || "${var_os:-}" == "alpine" || ! -t 2 ]]; then
|
# if [[ "${VERBOSE:-no}" != "no" || "${var_os:-}" == "alpine" || ! -t 2 ]]; then
|
||||||
printf "\r\e[2K%s %b\n" "$HOURGLASS" "${YW}${msg}${CL}" >&2
|
# printf "\r\e[2K%s %b\n" "$HOURGLASS" "${YW}${msg}${CL}" >&2
|
||||||
else
|
# else
|
||||||
start_spinner "$msg"
|
# start_spinner "$msg"
|
||||||
fi
|
# fi
|
||||||
}
|
# }
|
||||||
|
|
||||||
spinner() {
|
spinner() {
|
||||||
local chars="/-\|" i=0
|
local chars="/-\|" i=0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user