home

Code Library

function ansi.constants() {
# ANSI Color Codes

# Foreground Colors
export BLACK_FG=$'\e[30m'
export RED_FG=$'\e[31m'
export GREEN_FG=$'\e[32m'
export YELLOW_FG=$'\e[33m'
export BLUE_FG=$'\e[34m'
export MAGENTA_FG=$'\e[35m'
export CYAN_FG=$'\e[36m'
export WHITE_FG=$'\e[37m'
export DEFAULT_FG=$'\e[39m' # Resets to default

# Bright Foreground Colors
export BRIGHT_BLACK_FG=$'\e[90m'
export BRIGHT_RED_FG=$'\e[91m'
export BRIGHT_GREEN_FG=$'\e[92m'
export BRIGHT_YELLOW_FG=$'\e[93m'
export BRIGHT_BLUE_FG=$'\e[94m'
export BRIGHT_MAGENTA_FG=$'\e[95m'
export BRIGHT_CYAN_FG=$'\e[96m'
export BRIGHT_WHITE_FG=$'\e[97m'

# Background Colors
export BLACK_BG=$'\e[40m'
export RED_BG=$'\e[41m'
export GREEN_BG=$'\e[42m'
export YELLOW_BG=$'\e[43m'
export BLUE_BG=$'\e[44m'
export MAGENTA_BG=$'\e[45m'
export CYAN_BG=$'\e[46m'
export WHITE_BG=$'\e[47m'
export DEFAULT_BG=$'\e[49m' # Resets to default

# Bright Background Colors
export BRIGHT_BLACK_BG=$'\e[100m'
export BRIGHT_RED_BG=$'\e[101m'
export BRIGHT_GREEN_BG=$'\e[102m'
export BRIGHT_YELLOW_BG=$'\e[103m'
export BRIGHT_BLUE_BG=$'\e[104m'
export BRIGHT_MAGENTA_BG=$'\e[105m'
export BRIGHT_CYAN_BG=$'\e[106m'
export BRIGHT_WHITE_BG=$'\e[107m'

# Text Effects
export RESET=$'\e[0m'    # Reset all styles
export BOLD=$'\e[1m'     # Bold/Bright
export DIM=$'\e[2m'      # Dim
export ITALIC=$'\e[3m'   # Italic
export UNDERLINE=$'\e[4m'# Underline
export BLINK=$'\e[5m'     # Blink
export RAPID_BLINK=$'\e[6m' # Rapid Blink
export REVERSE=$'\e[7m'   # Reverse video (swap foreground and background)
export HIDDEN=$'\e[8m'    # Hidden
export STRIKETHROUGH=$'\e[9m' # Strikethrough

# Example usage (within a script):
# echo -e "${RED_FG}This is red text${RESET} and this is normal."
# echo -e "${GREEN_FG}${BOLD}This is bold green text${RESET}"
# echo -e "${BLUE_BG}${WHITE_FG}Blue background with white text${RESET}"
# echo -e "${YELLOW_FG}${UNDERLINE}Yellow underlined text${RESET}"
# printf "${MAGENTA_FG}Magenta text, no newline"
# printf "  ${CYAN_BG}${BLACK_FG}on cyan background${RESET}\n"

# Note:  The $'' quoting allows the escape sequences to be interpreted.
#        Using "" would require double escapes (e.g., \\e).

}