#!/bin/bash -eu # This file is meant to be source'd by shell scripts # shellcheck disable=SC2034 RST="\033[0m" # shellcheck disable=SC2034 RED="\033[31m" # shellcheck disable=SC2034 BRIGHTRED="\033[31;1m" # shellcheck disable=SC2034 GREEN="\033[32m" # shellcheck disable=SC2034 BRIGHTGREEN="\033[32;1m" # shellcheck disable=SC2034 BROWN="\033[33m" # shellcheck disable=SC2034 YELLOW="\033[33;1m" # shellcheck disable=SC2034 NAVY="\033[34m" # shellcheck disable=SC2034 BLUE="\033[34;1m" # shellcheck disable=SC2034 MAGENTA="\033[35m" # shellcheck disable=SC2034 BRIGHTMAGENTA="\033[35;1m" # shellcheck disable=SC2034 DARKCYAN="\033[36m" # shellcheck disable=SC2034 CYAN="\033[36;1m" # shellcheck disable=SC2034 BLACK="\033[30m" # shellcheck disable=SC2034 DARKGRAY="\033[30;1m" # shellcheck disable=SC2034 GRAY="\033[37m" # shellcheck disable=SC2034 WHITE="\033[37;1m" log() { local level="${1^^}" message="${*:2}" case "${level}" in ERROR) COLOR="${RED}" ;; WARN) COLOR="${YELLOW}" ;; DEBUG) COLOR="${BLUE}" ;; INFO) COLOR="${WHITE}" ;; SUCCESS) COLOR="${BRIGHTGREEN}" ;; *) COLOR="${RST}" ;; esac echo -en "${COLOR}" [ "${level}" == "ERROR" ] && echo -en "${level}:" echo -e "${message}${RST}" } quiet() { "$@" >/dev/null 2>&1 }