Update core.func

This commit is contained in:
CanbiZ 2025-07-10 10:22:38 +02:00
parent 1b2e270b08
commit 6c602da50f

View File

@ -327,10 +327,6 @@ fatal() {
kill -INT $$ kill -INT $$
} }
# ------------------------------------------------------------------------------
# Spinner- und Messaging-Framework (TTY-sicher, CI-kompatibel)
# ------------------------------------------------------------------------------
spinner() { spinner() {
local chars=(⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏) local chars=(⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏)
local i=0 local i=0
@ -341,6 +337,11 @@ spinner() {
done done
} }
clear_line() {
tput cr 2>/dev/null || echo -en "\r"
tput el 2>/dev/null || echo -en "\033[K"
}
stop_spinner() { stop_spinner() {
local pid="${SPINNER_PID:-}" local pid="${SPINNER_PID:-}"
[[ -z "$pid" && -f /tmp/.spinner.pid ]] && pid=$(</tmp/.spinner.pid) [[ -z "$pid" && -f /tmp/.spinner.pid ]] && pid=$(</tmp/.spinner.pid)
@ -371,24 +372,17 @@ msg_info() {
stop_spinner stop_spinner
SPINNER_MSG="$msg" SPINNER_MSG="$msg"
# Sonderfall: Alpine oder verbose → kein Spinner
if is_verbose_mode || is_alpine; then if is_verbose_mode || is_alpine; then
local HOURGLASS="${TAB}⏳${TAB}" local HOURGLASS="${TAB}⏳${TAB}"
printf "\r\e[2K%s %b\n" "$HOURGLASS" "${YW}${msg}${CL}" >&2 printf "\r\e[2K%s %b" "$HOURGLASS" "${YW}${msg}${CL}" >&2
return return
fi fi
# Spinner nur starten, wenn ein echtes TTY und keine SIGTTOU-Gefahr color_spinner
if [[ -t 1 && ! "$(ps -o stat= -p $$)" =~ T && -z "${NO_SPINNER:-}" ]]; then spinner &
color_spinner SPINNER_PID=$!
spinner & echo "$SPINNER_PID" >/tmp/.spinner.pid
SPINNER_PID=$! disown "$SPINNER_PID" 2>/dev/null || true
echo "$SPINNER_PID" >/tmp/.spinner.pid
disown "$SPINNER_PID" 2>/dev/null || true
else
# Fallback: reiner Text
printf "\r\e[2K⏳ %b\n" "${YW}${msg}${CL}" >&2
fi
} }
msg_ok() { msg_ok() {
@ -421,11 +415,6 @@ msg_custom() {
echo -e "${BFR:-} ${symbol} ${color}${msg}${CL:-\e[0m}" echo -e "${BFR:-} ${symbol} ${color}${msg}${CL:-\e[0m}"
} }
clear_line() {
tput cr 2>/dev/null || echo -en "\r"
tput el 2>/dev/null || echo -en "\033[K"
}
# msg_ok() { # msg_ok() {
# local msg="$1" # local msg="$1"
# [[ -z "$msg" ]] && return # [[ -z "$msg" ]] && return