utils/lib.sh: colorize messages
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
1e3d2f6800
commit
56a93ee770
3 changed files with 68 additions and 30 deletions
|
@ -287,7 +287,7 @@ remove_user() {
|
|||
}
|
||||
|
||||
interactive_shell(){
|
||||
echo "// exit with CTRL-D"
|
||||
echo "// exit with ${_BCyan}CTRL-D${_creset}"
|
||||
sudo -H -u ${SERVICE_USER} -i
|
||||
}
|
||||
|
||||
|
@ -397,7 +397,9 @@ EOF
|
|||
echo
|
||||
systemctl --no-pager -l status filtron.service
|
||||
echo
|
||||
read -r -s -n1 -t 2 -p "// use CTRL-C to stop monitoring the log"
|
||||
# shellcheck disable=SC2059
|
||||
printf "// use ${_BCyan}CTRL-C${_creset} to stop monitoring the log"
|
||||
read -r -s -n1 -t 2
|
||||
echo
|
||||
while true; do
|
||||
trap break 2
|
||||
|
|
82
utils/lib.sh
82
utils/lib.sh
|
@ -75,19 +75,36 @@ required_commands() {
|
|||
return $exit_val
|
||||
}
|
||||
|
||||
rst_title() {
|
||||
# usage: rst_title <header-text> [part|chapter|section]
|
||||
# colors
|
||||
# ------
|
||||
|
||||
case ${2-chapter} in
|
||||
part) printf "\n${1//?/=}\n$1\n${1//?/=}\n";;
|
||||
chapter) printf "\n${1}\n${1//?/=}\n";;
|
||||
section) printf "\n${1}\n${1//?/-}\n";;
|
||||
*)
|
||||
err_msg "invalid argument '${2}' in line $(caller)"
|
||||
return 42
|
||||
;;
|
||||
esac
|
||||
# shellcheck disable=SC2034
|
||||
set_terminal_colors() {
|
||||
_colors=8
|
||||
_creset='\e[0m' # reset all attributes
|
||||
|
||||
_Black='\e[0;30m'
|
||||
_White='\e[1;37m'
|
||||
_Red='\e[0;31m'
|
||||
_Green='\e[0;32m'
|
||||
_Yellow='\e[0;33m'
|
||||
_Blue='\e[0;34m'
|
||||
_Violet='\e[0;35m'
|
||||
_Cyan='\e[0;36m'
|
||||
|
||||
_BBlack='\e[1;30m'
|
||||
_BWhite='\e[1;37m'
|
||||
_BRed='\e[1;31m'
|
||||
_BGreen='\e[1;32m'
|
||||
_BYellow='\e[1;33m'
|
||||
_BBlue='\e[1;34m'
|
||||
_BPurple='\e[1;35m'
|
||||
_BCyan='\e[1;36m'
|
||||
}
|
||||
set_terminal_colors
|
||||
|
||||
# reST
|
||||
# ----
|
||||
|
||||
if command -v fmt >/dev/null; then
|
||||
export FMT="fmt -u"
|
||||
|
@ -95,6 +112,20 @@ else
|
|||
export FMT="cat"
|
||||
fi
|
||||
|
||||
rst_title() {
|
||||
# usage: rst_title <header-text> [part|chapter|section]
|
||||
|
||||
case ${2-chapter} in
|
||||
part) printf "\n${_BGreen}${1//?/=}\n$1\n${1//?/=}${_creset}\n";;
|
||||
chapter) printf "\n${_BGreen}${1}\n${1//?/=}${_creset}\n";;
|
||||
section) printf "\n${_BGreen}${1}\n${1//?/-}${_creset}\n";;
|
||||
*)
|
||||
err_msg "invalid argument '${2}' in line $(caller)"
|
||||
return 42
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
rst_para() {
|
||||
# usage: RST_INDENT=1 rst_para "lorem ipsum ..."
|
||||
local prefix=''
|
||||
|
@ -106,9 +137,9 @@ rst_para() {
|
|||
fi
|
||||
}
|
||||
|
||||
err_msg() { echo -e "ERROR: $*" >&2; }
|
||||
warn_msg() { echo -e "WARN: $*" >&2; }
|
||||
info_msg() { echo -e "INFO: $*"; }
|
||||
err_msg() { echo -e "${_BRed}ERROR:${_creset} $*" >&2; }
|
||||
warn_msg() { echo -e "${_BBlue}WARN:${_creset} $*" >&2; }
|
||||
info_msg() { echo -e "${_BYellow}INFO:${_creset} $*" >&2; }
|
||||
|
||||
clean_stdin() {
|
||||
if [[ $(uname -s) != 'Darwin' ]]; then
|
||||
|
@ -121,11 +152,14 @@ wait_key(){
|
|||
|
||||
clean_stdin
|
||||
local _t=$1
|
||||
local msg="${MSG:-** press any [KEY] to continue **}"
|
||||
local msg="${MSG}"
|
||||
[[ -z "$msg" ]] && msg="${_Green}** press any [${_BCyan}KEY${_Green}] to continue **${_creset}"
|
||||
|
||||
[[ ! -z $FORCE_TIMEOUT ]] && _t=$FORCE_TIMEOUT
|
||||
[[ ! -z $_t ]] && _t="-t $_t"
|
||||
printf "$msg"
|
||||
# shellcheck disable=SC2086
|
||||
read -r -s -n1 $_t -p "$msg"
|
||||
read -r -s -n1 $_t
|
||||
echo
|
||||
clean_stdin
|
||||
}
|
||||
|
@ -142,12 +176,12 @@ ask_yn() {
|
|||
case "${2}" in
|
||||
Yn)
|
||||
local exit_val=${EXIT_YES}
|
||||
local choice="[YES/no]"
|
||||
local choice="[${_BGreen}YES${_creset}/no]"
|
||||
local default="Yes"
|
||||
;;
|
||||
*)
|
||||
local exit_val=${EXIT_NO}
|
||||
local choice="[NO/yes]"
|
||||
local choice="[${_BGreen}NO${_creset}/yes]"
|
||||
local default="No"
|
||||
;;
|
||||
esac
|
||||
|
@ -201,7 +235,7 @@ prefix_stdout () {
|
|||
|
||||
local prefix=" | "
|
||||
|
||||
if [[ ! -z $1 ]] ; then prefix="$1"; fi
|
||||
if [[ ! -z $1 ]] ; then prefix="${_BYellow}$1${_creset}"; fi
|
||||
|
||||
# shellcheck disable=SC2162
|
||||
(while IFS= read line; do
|
||||
|
@ -270,17 +304,17 @@ choose_one() {
|
|||
[[ ! -z $_t ]] && _t="-t $_t"
|
||||
|
||||
list=("$@")
|
||||
echo -e "Menu::"
|
||||
echo -e "${_BGreen}Menu::${_creset}"
|
||||
for ((i=1; i<= $((max -1)); i++)); do
|
||||
if [[ "$i" == "$default" ]]; then
|
||||
echo -e " $i.) ${list[$i]} [default]"
|
||||
echo -e " ${_BGreen}$i.${_creset}) ${list[$i]} [default]"
|
||||
else
|
||||
echo -e " $i.) ${list[$i]}"
|
||||
fi
|
||||
done
|
||||
while true; do
|
||||
clean_stdin
|
||||
printf "$1 [$default] "
|
||||
printf "$1 [${_BGreen}$default${_creset}] "
|
||||
|
||||
if (( 10 > max )); then
|
||||
# shellcheck disable=SC2086
|
||||
|
@ -403,11 +437,11 @@ install_template() {
|
|||
;;
|
||||
"interactiv shell")
|
||||
echo "// edit ${dst} to your needs"
|
||||
echo "// exit with CTRL-D"
|
||||
echo "// exit with ${_BCyan}CTRL-D${_creset}"
|
||||
sudo -H -u "${owner}" -i
|
||||
$DIFF_CMD "${dst}" "${template_file}"
|
||||
echo
|
||||
echo "did you edit file ..."
|
||||
echo "${_BBlack}did you edit file ...${_creset}"
|
||||
printf " ${template_file}"
|
||||
if ask_yn "... to your needs?"; then
|
||||
break
|
||||
|
|
|
@ -445,9 +445,9 @@ deactivate_service() {
|
|||
uWSGI_restart
|
||||
}
|
||||
|
||||
interactive_shell() {
|
||||
echo "// exit with CTRL-D"
|
||||
sudo -H -u "${SERVICE_USER}" -i
|
||||
interactive_shell(){
|
||||
echo "// exit with ${_BCyan}CTRL-D${_creset}"
|
||||
sudo -H -u ${SERVICE_USER} -i
|
||||
}
|
||||
|
||||
git_diff() {
|
||||
|
@ -534,7 +534,9 @@ EOF
|
|||
echo
|
||||
systemctl --no-pager -l status uwsgi.service
|
||||
echo
|
||||
read -r -s -n1 -t 2 -p "// use CTRL-C to stop monitoring the log"
|
||||
# shellcheck disable=SC2059
|
||||
printf "// use ${_BCyan}CTRL-C${_creset} to stop monitoring the log"
|
||||
read -r -s -n1 -t 2
|
||||
echo
|
||||
while true; do
|
||||
trap break 2
|
||||
|
|
Loading…
Reference in a new issue