#!/usr/bin/env bash
# ═══════════════════════════════════════════════════════════════
# Общие цвета и функции вывода
#
# Используется другими модулями:
# - check-root.sh
# - ensure-executable.sh
# - set-locale.sh
# - ask-yes-no.sh
# - ask-reboot.sh
#
# Подключение:
#
# source "${SCRIPT_DIR}/lib/common-colors.sh"
# ═══════════════════════════════════════════════════════════════
# ═══════════════════════════════════════════════════════════════
# Основные цвета
# ═══════════════════════════════════════════════════════════════
RD=$(echo "\033[01;31m")
YW=$(echo "\033[33m")
GN=$(echo "\033[1;92m")
BL=$(echo "\033[1;34m")
CL=$(echo "\033[m")
# ═══════════════════════════════════════════════════════════════
# Дополнительные цвета
# ═══════════════════════════════════════════════════════════════
GREEN="\e[32m"
RED="\e[31m"
YELLOW="\e[33m"
BLUE="\e[34m"
NC="\e[0m"
# ═══════════════════════════════════════════════════════════════
# Символы
# ═══════════════════════════════════════════════════════════════
BFR="\\r\\033[K"
HOLD="-"
CM="${GN}✓${CL}"
CROSS="${RD}✗${CL}"
ARROW="${BL}➜${CL}"
# ═══════════════════════════════════════════════════════════════
# Информационное сообщение
# ═══════════════════════════════════════════════════════════════
msg_info() {
local msg="$1"
echo -ne " ${HOLD} ${YW}${msg}..."
}
# ═══════════════════════════════════════════════════════════════
# Успешное выполнение
# ═══════════════════════════════════════════════════════════════
msg_ok() {
local msg="$1"
echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
}
# ═══════════════════════════════════════════════════════════════
# Ошибка
# ═══════════════════════════════════════════════════════════════
msg_error() {
local msg="$1"
echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
}
# ═══════════════════════════════════════════════════════════════
# Вывод шага
#
# Использование:
#
# MSG_STEP_TOTAL=5
# msg_step "1" "Проверка root"
#
# Или:
#
# msg_step "1" "Проверка root" 5
# ═══════════════════════════════════════════════════════════════
msg_step() {
local num="$1"
local msg="$2"
local total="${3:-${MSG_STEP_TOTAL:-}}"
if [ -n "$total" ]; then
echo -e "\n ${BL}[${num}/${total}]${CL} ${YW}${msg}${CL}"
else
echo -e "\n ${BL}[${num}]${CL} ${YW}${msg}${CL}"
fi
}
# ═══════════════════════════════════════════════════════════════
# Дополнительные сообщения
# ═══════════════════════════════════════════════════════════════
pass() {
echo -e " ${CM} ${GREEN}[ OK ]${NC} $1"
}
warn() {
echo -e " ${YW}!${CL} ${YELLOW}[WARN]${NC} $1"
}
fail() {
echo -e " ${CROSS} ${RED}[FAIL]${NC} $1"
}
info() {
echo -e " ${ARROW} ${BLUE}[INFO]${NC} $1"
}