2023-12-21 16:14:14 +01:00
|
|
|
# ansi colors are pretty simple. In 256 color mode, for a given
|
|
|
|
# (r, g, b) tuple:
|
|
|
|
# \x1b[38;2;r;g;bm - foreground
|
|
|
|
# \x1b[48;2;r;g;bm - background
|
|
|
|
|
|
|
|
|
2017-06-12 16:22:05 +02:00
|
|
|
# ANSI COLOR ESCAPES
|
|
|
|
# CLEAR
|
2020-12-04 02:53:40 +01:00
|
|
|
CLEAR='\e[0m' # CLEAR
|
2017-06-12 16:22:05 +02:00
|
|
|
|
|
|
|
# Regular Colors
|
2020-12-04 02:53:40 +01:00
|
|
|
Black='\e[0;30m' # Black
|
|
|
|
Red='\e[0;31m' # Red
|
|
|
|
Green='\e[0;32m' # Green
|
|
|
|
Yellow='\e[0;33m' # Yellow
|
|
|
|
Blue='\e[0;34m' # Blue
|
|
|
|
Purple='\e[0;35m' # Purple
|
|
|
|
Cyan='\e[0;36m' # Cyan
|
|
|
|
White='\e[0;37m' # White
|
2017-06-12 16:22:05 +02:00
|
|
|
|
|
|
|
# Bold
|
2020-12-04 02:53:40 +01:00
|
|
|
BBlack='\e[1;30m' # Black
|
|
|
|
BRed='\e[1;31m' # Red
|
|
|
|
BGreen='\e[1;32m' # Green
|
|
|
|
BYellow='\e[1;33m' # Yellow
|
|
|
|
BBlue='\e[1;34m' # Blue
|
|
|
|
BPurple='\e[1;35m' # Purple
|
|
|
|
BCyan='\e[1;36m' # Cyan
|
|
|
|
BWhite='\e[1;37m' # White
|
2017-06-12 16:22:05 +02:00
|
|
|
|
|
|
|
# Underline
|
2022-03-26 15:51:57 +01:00
|
|
|
if command -v tput &>/dev/null; then
|
|
|
|
UNDERLINE="$(tput smul)"
|
|
|
|
fi
|
2020-12-04 02:53:40 +01:00
|
|
|
UBlack='\e[4;30m' # Black
|
|
|
|
URed='\e[4;31m' # Red
|
|
|
|
UGreen='\e[4;32m' # Green
|
|
|
|
UYellow='\e[4;33m' # Yellow
|
|
|
|
UBlue='\e[4;34m' # Blue
|
|
|
|
UPurple='\e[4;35m' # Purple
|
|
|
|
UCyan='\e[4;36m' # Cyan
|
|
|
|
UWhite='\e[4;37m' # White
|
2017-06-12 16:22:05 +02:00
|
|
|
|
|
|
|
# Background
|
2020-12-04 02:53:40 +01:00
|
|
|
On_Black='\e[40m' # Black
|
|
|
|
On_Red='\e[41m' # Red
|
|
|
|
On_Green='\e[42m' # Green
|
|
|
|
On_Yellow='\e[43m' # Yellow
|
|
|
|
On_Blue='\e[44m' # Blue
|
|
|
|
On_Purple='\e[45m' # Purple
|
|
|
|
On_Cyan='\e[46m' # Cyan
|
|
|
|
On_White='\e[47m' # White
|
2017-06-12 16:22:05 +02:00
|
|
|
|
|
|
|
# High Intensity
|
2020-12-04 02:53:40 +01:00
|
|
|
IBlack='\e[0;90m' # Black
|
|
|
|
IRed='\e[0;91m' # Red
|
|
|
|
IGreen='\e[0;92m' # Green
|
|
|
|
IYellow='\e[0;93m' # Yellow
|
|
|
|
IBlue='\e[0;94m' # Blue
|
|
|
|
IPurple='\e[0;95m' # Purple
|
|
|
|
ICyan='\e[0;96m' # Cyan
|
|
|
|
IWhite='\e[0;97m' # White
|
2017-06-12 16:22:05 +02:00
|
|
|
|
|
|
|
# Bold High Intensity
|
2020-12-04 02:53:40 +01:00
|
|
|
BIBlack='\e[1;90m' # Black
|
|
|
|
BIRed='\e[1;91m' # Red
|
|
|
|
BIGreen='\e[1;92m' # Green
|
|
|
|
BIYellow='\e[1;93m' # Yellow
|
|
|
|
BIBlue='\e[1;94m' # Blue
|
|
|
|
BIPurple='\e[1;95m' # Purple
|
|
|
|
BICyan='\e[1;96m' # Cyan
|
|
|
|
BIWhite='\e[1;97m' # White
|
2017-06-12 16:22:05 +02:00
|
|
|
|
|
|
|
# High Intensity backgrounds
|
2020-12-04 02:53:40 +01:00
|
|
|
On_IBlack='\e[0;100m' # Black
|
|
|
|
On_IRed='\e[0;101m' # Red
|
|
|
|
On_IGreen='\e[0;102m' # Green
|
|
|
|
On_IYellow='\e[0;103m' # Yellow
|
|
|
|
On_IBlue='\e[0;104m' # Blue
|
|
|
|
On_IPurple='\e[0;105m' # Purple
|
|
|
|
On_ICyan='\e[0;106m' # Cyan
|
|
|
|
On_IWhite='\e[0;107m' # White
|
2017-06-12 16:22:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
# ANSI COLOR ESCAPES 2
|
|
|
|
## Clear all previous sequences
|
|
|
|
# Bold text
|
2020-12-04 02:53:40 +01:00
|
|
|
BOLD="\e[1m"
|
2017-06-12 16:22:05 +02:00
|
|
|
# Colors: Black, Blue, Green, Cyan, Red, Purple, Brown, LightGray
|
2020-12-04 02:53:40 +01:00
|
|
|
BLACK="\e[30m"; BLUE="\033[34m"; GREEN="\033[32m"; CYAN="\033[36m";
|
|
|
|
RED="\e[31m"; PURPLE="\033[35m"; BROWN="\033[33m"; LIGHTGRAY="\033[37m";
|
|
|
|
DARKGRAY="\e[30m"; LIGHTBLUE="\033[34m"; LIGHTGREEN="\033[32m";
|
|
|
|
LIGHTCYAN="\e[36m"; LIGHTRED="\033[31m"; LIGHTPURPLE="\033[35m";
|
|
|
|
YELLOW="\e[33m"; WHITE="\033[37m"
|
|
|
|
BACKGROUND_BLACK="\e[40"; BACKGROUND_RED="\033[41";
|
|
|
|
BACKGROUND_GREEN="\e[42"; BACKGROUND_YELLOW="\033[43m"
|
2024-01-09 15:42:43 +01:00
|
|
|
|
|
|
|
|
|
|
|
## Color string with given color. Usage: `color $NAME "string"`, available colors below
|
|
|
|
function color
|
|
|
|
{
|
|
|
|
local color=$1
|
|
|
|
shift 1
|
|
|
|
echo -e "${color}$@${CLEAR}"
|
|
|
|
}
|
|
|
|
|
|
|
|
## These functions return a colored version of the input string. Usage: red "string"
|
|
|
|
function red
|
|
|
|
{
|
|
|
|
echo -e "$Red$@$CLEAR"
|
|
|
|
}
|
|
|
|
function green
|
|
|
|
{
|
|
|
|
echo -e "$Green$@$CLEAR"
|
|
|
|
}
|
|
|
|
function yellow
|
|
|
|
{
|
|
|
|
echo -e "$Yellow$@$CLEAR"
|
|
|
|
}
|
|
|
|
function blue
|
|
|
|
{
|
|
|
|
echo -e "$Blue$@$CLEAR"
|
|
|
|
}
|
|
|
|
function bold
|
|
|
|
{
|
|
|
|
echo -e "$BOLD$@$CLEAR"
|
|
|
|
}
|