Update build.func
This commit is contained in:
		
							parent
							
								
									19ef01540c
								
							
						
					
					
						commit
						ab060c83d6
					
				| @ -81,20 +81,12 @@ error_handler() { | |||||||
| 
 | 
 | ||||||
| # This function displays an informational message with logging support. | # This function displays an informational message with logging support. | ||||||
| declare -A MSG_INFO_SHOWN | declare -A MSG_INFO_SHOWN | ||||||
| declare -A SPINNER_PIDS |  | ||||||
| declare -A SPINNER_MSGS |  | ||||||
| declare -A MSG_INFO_SHOWN |  | ||||||
| SPINNER_ACTIVE=0 | SPINNER_ACTIVE=0 | ||||||
| SPINNER_PID="" | SPINNER_PID="" | ||||||
| SPINNER_MSG="" | SPINNER_MSG="" | ||||||
| 
 | 
 | ||||||
| trap 'stop_spinner' EXIT INT TERM HUP | trap 'stop_spinner' EXIT INT TERM HUP | ||||||
| 
 | 
 | ||||||
| msg_hash() { |  | ||||||
|   local input="$1" |  | ||||||
|   echo -n "$input" | sha1sum | awk '{print $1}' |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| start_spinner() { | start_spinner() { | ||||||
|   local msg="$1" |   local msg="$1" | ||||||
|   local frames=(⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏) |   local frames=(⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏) | ||||||
| @ -138,59 +130,26 @@ spinner_guard() { | |||||||
| 
 | 
 | ||||||
| msg_info() { | msg_info() { | ||||||
|   local msg="$1" |   local msg="$1" | ||||||
|   local id |   [[ -n "${MSG_INFO_SHOWN["$msg"]+x}" ]] && return | ||||||
|   id=$(msg_hash "$msg") |   MSG_INFO_SHOWN["$msg"]=1 | ||||||
| 
 | 
 | ||||||
|   [[ -n "${MSG_INFO_SHOWN["$id"]+x}" ]] && return |   spinner_guard | ||||||
|   MSG_INFO_SHOWN["$id"]=1 |   SPINNER_ACTIVE=1 | ||||||
|   SPINNER_MSGS["$id"]="$msg" |   start_spinner "$msg" | ||||||
| 
 |  | ||||||
|   local frames=(⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏) |  | ||||||
|   local interval=0.1 |  | ||||||
|   local spin_i=0 |  | ||||||
| 
 |  | ||||||
|   { |  | ||||||
|     while true; do |  | ||||||
|       printf "\r\e[2K%s %b" "${frames[spin_i]}" "${YW}${msg}${CL}" >&2 |  | ||||||
|       spin_i=$(((spin_i + 1) % ${#frames[@]})) |  | ||||||
|       sleep "$interval" |  | ||||||
|     done |  | ||||||
|   } & |  | ||||||
| 
 |  | ||||||
|   SPINNER_PIDS["$id"]=$! |  | ||||||
|   disown "${SPINNER_PIDS["$id"]}" |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| msg_ok() { | msg_ok() { | ||||||
|   local msg="$1" |   local msg="$1" | ||||||
|   local id |   stop_spinner | ||||||
|   id=$(msg_hash "$msg") |  | ||||||
| 
 |  | ||||||
|   if [[ -n "${SPINNER_PIDS["$id"]}" ]] && ps -p "${SPINNER_PIDS["$id"]}" >/dev/null 2>&1; then |  | ||||||
|     kill "${SPINNER_PIDS["$id"]}" 2>/dev/null |  | ||||||
|     wait "${SPINNER_PIDS["$id"]}" 2>/dev/null || true |  | ||||||
|   fi |  | ||||||
| 
 |  | ||||||
|   printf "\r\e[2K%s %b\n" "${CM}" "${GN}${msg}${CL}" >&2 |   printf "\r\e[2K%s %b\n" "${CM}" "${GN}${msg}${CL}" >&2 | ||||||
|   unset SPINNER_PIDS["$id"] |   unset MSG_INFO_SHOWN["$msg"] | ||||||
|   unset SPINNER_MSGS["$id"] |  | ||||||
|   unset MSG_INFO_SHOWN["$id"] |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| msg_error() { | msg_error() { | ||||||
|  |   stop_spinner | ||||||
|   local msg="$1" |   local msg="$1" | ||||||
|   local id |  | ||||||
|   id=$(msg_hash "$msg") |  | ||||||
| 
 |  | ||||||
|   if [[ -n "${SPINNER_PIDS["$id"]}" ]] && ps -p "${SPINNER_PIDS["$id"]}" >/dev/null 2>&1; then |  | ||||||
|     kill "${SPINNER_PIDS["$id"]}" 2>/dev/null |  | ||||||
|     wait "${SPINNER_PIDS["$id"]}" 2>/dev/null || true |  | ||||||
|   fi |  | ||||||
| 
 |  | ||||||
|   printf "\r\e[2K%s %b\n" "${CROSS}" "${RD}${msg}${CL}" >&2 |   printf "\r\e[2K%s %b\n" "${CROSS}" "${RD}${msg}${CL}" >&2 | ||||||
|   unset SPINNER_PIDS["$id"] |   #log_message "ERROR" "$msg" | ||||||
|   unset SPINNER_MSGS["$id"] |  | ||||||
|   unset MSG_INFO_SHOWN["$id"] |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| # log_message() { | # log_message() { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 CanbiZ
						CanbiZ