|
|
|
@ -3,42 +3,43 @@ |
|
|
|
|
|
|
|
# constants |
|
|
|
|
|
|
|
MIAOU_DEBUG=${MIAOU_DEBUG:-false} |
|
|
|
MIAOU_ERROR_REGEX='^(.*): line ([0-9]+): miaou_error:' |
|
|
|
|
|
|
|
declare -A ANSI |
|
|
|
ANSI[RESET]=0 |
|
|
|
|
|
|
|
ANSI[STYLE_ITALIC]=3 |
|
|
|
ANSI[STYLE_BOLD]=1 |
|
|
|
ANSI[STYLE_UNDERLINE]=4 |
|
|
|
ANSI[STYLE_STRIKETHROUGH]=9 |
|
|
|
|
|
|
|
ANSI[FG_BLACK]=30 |
|
|
|
ANSI[FG_RED]=31 |
|
|
|
ANSI[FG_GREEN]=32 |
|
|
|
ANSI[FG_YELLOW]=33 |
|
|
|
ANSI[FG_BLUE]=34 |
|
|
|
ANSI[FG_PURPLE]=35 |
|
|
|
ANSI[FG_CYAN]=36 |
|
|
|
ANSI[FG_WHITE]=37 |
|
|
|
ANSI[FG_GRAY]=90 |
|
|
|
ANSI[FG_LIGHTBLUE]=94 |
|
|
|
ANSI[FG_MAGENTA]=95 |
|
|
|
|
|
|
|
ANSI[BG_BLACK]=40 |
|
|
|
ANSI[BG_RED]=41 |
|
|
|
ANSI[BG_GREEN]=42 |
|
|
|
ANSI[BG_YELLOW]=43 |
|
|
|
ANSI[BG_BLUE]=44 |
|
|
|
ANSI[BG_PURPLE]=45 |
|
|
|
ANSI[BG_CYAN]=46 |
|
|
|
ANSI[BG_WHITE]=47 |
|
|
|
ANSI[BG_GRAY]=90 |
|
|
|
ANSI[BG_MAGENTA]=95 |
|
|
|
|
|
|
|
readonly MIAOU_DEBUG MIAOU_ERROR_REGEX ANSI |
|
|
|
|
|
|
|
if [[ ! -v MIAOU_BASH_LOADED_ONCE ]]; then |
|
|
|
readonly MIAOU_BASH_LOADED_ONCE=true |
|
|
|
readonly MIAOU_DEBUG=${MIAOU_DEBUG:-false} |
|
|
|
readonly MIAOU_ERROR_REGEX='^(.*): line ([0-9]+): miaou_error:' |
|
|
|
|
|
|
|
declare -A ANSI |
|
|
|
ANSI[RESET]=0 |
|
|
|
|
|
|
|
ANSI[STYLE_ITALIC]=3 |
|
|
|
ANSI[STYLE_BOLD]=1 |
|
|
|
ANSI[STYLE_UNDERLINE]=4 |
|
|
|
ANSI[STYLE_STRIKETHROUGH]=9 |
|
|
|
|
|
|
|
ANSI[FG_BLACK]=30 |
|
|
|
ANSI[FG_RED]=31 |
|
|
|
ANSI[FG_GREEN]=32 |
|
|
|
ANSI[FG_YELLOW]=33 |
|
|
|
ANSI[FG_BLUE]=34 |
|
|
|
ANSI[FG_PURPLE]=35 |
|
|
|
ANSI[FG_CYAN]=36 |
|
|
|
ANSI[FG_WHITE]=37 |
|
|
|
ANSI[FG_GRAY]=90 |
|
|
|
ANSI[FG_LIGHTBLUE]=94 |
|
|
|
ANSI[FG_MAGENTA]=95 |
|
|
|
|
|
|
|
ANSI[BG_BLACK]=40 |
|
|
|
ANSI[BG_RED]=41 |
|
|
|
ANSI[BG_GREEN]=42 |
|
|
|
ANSI[BG_YELLOW]=43 |
|
|
|
ANSI[BG_BLUE]=44 |
|
|
|
ANSI[BG_PURPLE]=45 |
|
|
|
ANSI[BG_CYAN]=46 |
|
|
|
ANSI[BG_WHITE]=47 |
|
|
|
ANSI[BG_GRAY]=90 |
|
|
|
ANSI[BG_MAGENTA]=95 |
|
|
|
readonly ANSI |
|
|
|
fi |
|
|
|
## functions |
|
|
|
|
|
|
|
function is_true { |
|
|
|
|