mirror of
https://github.com/moparisthebest/pacman
synced 2024-08-13 17:03:46 -04:00
scripts: Add color to library/output_format.sh
Use the same colors as makepkg in messages. Add in the 'plain' function as well. To use the colors, you need to include the term_colors.sh file, or add definitions for the colors explicitly. Signed-off-by: William Giokas <1007380@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
e292b1b5a2
commit
65650f2cdb
@ -2,9 +2,9 @@ This folder contains code snippets that can be reused by multiple
|
|||||||
scripts. A brief description of each file follows.
|
scripts. A brief description of each file follows.
|
||||||
|
|
||||||
output_format.sh:
|
output_format.sh:
|
||||||
Provides basic output formatting functions with levels 'msg', 'msg2',
|
Provides basic output formatting functions with levels 'plain', 'msg',
|
||||||
'warning' and 'error'. The 'msg' amd 'msg2' functions print to stdout
|
'msg2', 'warning' and 'error'. The 'msg' amd 'msg2' functions print to
|
||||||
and can be silenced by defining 'QUIET'. The 'warning' and 'error'
|
stdout and can be silenced by defining 'QUIET'. The 'warning' and 'error'
|
||||||
functions print to stderr with the appropriate prefix added to the
|
functions print to stderr with the appropriate prefix added to the
|
||||||
message.
|
message.
|
||||||
|
|
||||||
@ -39,3 +39,6 @@ as mawk or busybox awk.
|
|||||||
size_to_human.sh:
|
size_to_human.sh:
|
||||||
The reverse of human_to_size, this function takes an integer byte size and
|
The reverse of human_to_size, this function takes an integer byte size and
|
||||||
prints its in human readable format, with SI prefixes (e.g. MiB, TiB).
|
prints its in human readable format, with SI prefixes (e.g. MiB, TiB).
|
||||||
|
|
||||||
|
term_colors.sh:
|
||||||
|
Contains some common color settings for output_format.sh.
|
||||||
|
@ -1,21 +1,27 @@
|
|||||||
|
plain() {
|
||||||
|
(( QUIET )) && return
|
||||||
|
local mesg=$1; shift
|
||||||
|
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
||||||
|
}
|
||||||
|
|
||||||
msg() {
|
msg() {
|
||||||
(( QUIET )) && return
|
(( QUIET )) && return
|
||||||
local mesg=$1; shift
|
local mesg=$1; shift
|
||||||
printf "==> ${mesg}\n" "$@" >&1
|
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
||||||
}
|
}
|
||||||
|
|
||||||
msg2() {
|
msg2() {
|
||||||
(( QUIET )) && return
|
(( QUIET )) && return
|
||||||
local mesg=$1; shift
|
local mesg=$1; shift
|
||||||
printf " -> ${mesg}\n" "$@" >&1
|
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
||||||
}
|
}
|
||||||
|
|
||||||
warning() {
|
warning() {
|
||||||
local mesg=$1; shift
|
local mesg=$1; shift
|
||||||
printf "==> $(gettext "WARNING:") ${mesg}\n" "$@" >&2
|
printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
error() {
|
error() {
|
||||||
local mesg=$1; shift
|
local mesg=$1; shift
|
||||||
printf "==> $(gettext "ERROR:") ${mesg}\n" "$@" >&2
|
printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
||||||
}
|
}
|
21
scripts/library/term_colors.sh
Normal file
21
scripts/library/term_colors.sh
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# check if messages are to be printed using color
|
||||||
|
unset ALL_OFF BOLD BLUE GREEN RED YELLOW
|
||||||
|
if [[ -t 2 && ! $USE_COLOR = "n" ]]; then
|
||||||
|
# prefer terminal safe colored and bold text when tput is supported
|
||||||
|
if tput setaf 0 &>/dev/null; then
|
||||||
|
ALL_OFF="$(tput sgr0)"
|
||||||
|
BOLD="$(tput bold)"
|
||||||
|
BLUE="${BOLD}$(tput setaf 4)"
|
||||||
|
GREEN="${BOLD}$(tput setaf 2)"
|
||||||
|
RED="${BOLD}$(tput setaf 1)"
|
||||||
|
YELLOW="${BOLD}$(tput setaf 3)"
|
||||||
|
else
|
||||||
|
ALL_OFF="\e[1;0m"
|
||||||
|
BOLD="\e[1;1m"
|
||||||
|
BLUE="${BOLD}\e[1;34m"
|
||||||
|
GREEN="${BOLD}\e[1;32m"
|
||||||
|
RED="${BOLD}\e[1;31m"
|
||||||
|
YELLOW="${BOLD}\e[1;33m"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
|
Loading…
Reference in New Issue
Block a user