Update build.func

This commit is contained in:
CanbiZ 2025-03-27 09:13:09 +01:00
parent 456c67eea4
commit 55f5c5a3c2

View File

@ -89,6 +89,7 @@ error_handler() {
declare -A MSG_INFO_SHOWN declare -A MSG_INFO_SHOWN
SPINNER_ACTIVE=0 SPINNER_ACTIVE=0
SPINNER_PID="" SPINNER_PID=""
SPINNER_MSG=""
trap 'stop_spinner' EXIT INT TERM HUP trap 'stop_spinner' EXIT INT TERM HUP
@ -98,9 +99,11 @@ start_spinner() {
local spin_i=0 local spin_i=0
local interval=0.1 local interval=0.1
SPINNER_MSG="$msg"
{ {
while [[ "$SPINNER_ACTIVE" -eq 1 ]]; do while [[ "$SPINNER_ACTIVE" -eq 1 ]]; do
printf "\r\e[2K%s %b" "${frames[spin_i]}" "${YW}${msg}${CL}" >&2 printf "\r\e[2K%s %b" "${frames[spin_i]}" "${YW}${SPINNER_MSG}${CL}" >&2
spin_i=$(((spin_i + 1) % ${#frames[@]})) spin_i=$(((spin_i + 1) % ${#frames[@]}))
sleep "$interval" sleep "$interval"
done done
@ -135,8 +138,6 @@ msg_info() {
[[ -n "${MSG_INFO_SHOWN["$msg"]+x}" ]] && return [[ -n "${MSG_INFO_SHOWN["$msg"]+x}" ]] && return
MSG_INFO_SHOWN["$msg"]=1 MSG_INFO_SHOWN["$msg"]=1
[[ "$SPINNER_ACTIVE" -eq 1 ]] && return
spinner_guard spinner_guard
SPINNER_ACTIVE=1 SPINNER_ACTIVE=1
start_spinner "$msg" start_spinner "$msg"
@ -145,7 +146,7 @@ msg_info() {
msg_ok() { msg_ok() {
local msg="$1" local msg="$1"
stop_spinner stop_spinner
printf "\e[?25h\r\e[2K%s %b\n" "${CM}" "${GN}${msg}${CL}" >&2 printf "\r\e[2K%s %b\n" "${CM}" "${GN}${msg}${CL}" >&2
unset MSG_INFO_SHOWN["$msg"] unset MSG_INFO_SHOWN["$msg"]
} }