blob: 8ea527fcce9510a021f6c87ad443b7f3c69c20ed [file] [log] [blame]
/*
* Copyright 2017, Data61, CSIRO (ABN 41 687 119 230)
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#ifndef ENABLE_ANSI_ESC_SEQENCES
#define ENABLE_ANSI_ESC_SEQENCES true
#endif
#if ENABLE_ANSI_ESC_SEQENCES
#include <utils/ansi_color.h>
/* just set the background color */
#define ANSI_BG_COLOR(backcolor) \
COLOR_PREFIX \
COLOR_BACKGROUND COLOR_##backcolor \
COLOR_SUFFIX
#define A_ERASE COLOR_PREFIX "K"
#define A_CLEAR COLOR_PREFIX "2J"
#define A_BG_RESET COLOR_PREFIX "49" COLOR_SUFFIX
#define A_FG_RESET COLOR_PREFIX "39" COLOR_SUFFIX
#else
/* undefine everything to disable ansi escape sequences */
#define ANSI_BG_COLOR(x)
#define A_ERASE
#define A_CLEAR
#define COLOR_RESET
#define COLOR_BOLD
#define COLOR_ITALIC
#define COLOR_UNDERLINE
#define COLOR_BLINK
#define COLOR_SUFFIX
#define ANSI_COLOR(x)
#define ANSI_COLOR2(x)
#define COLORIZE(...)
#define COLORIZE2(...)
#define A_BG_RESET
#define A_FG_RESET
#endif /* ENABLE_ANSI_ESC_SEQUENCES */
#define A_RESET COLOR_RESET
#define A_BOLD COLOR_PREFIX COLOR_BOLD COLOR_SUFFIX
#define A_ITALIC COLOR_PREFIX COLOR_ITALIC COLOR_SUFFIX
#define A_UDSCORE COLOR_PREFIX COLOR_UNDERLINE COLOR_SUFFIX
#define A_BLINK COLOR_PREFIX COLOR_BLINK COLOR_SUFFIX
/* foreground colors */
#define A_FG_K ANSI_COLOR(BLACK)
#define A_FG_R ANSI_COLOR(RED)
#define A_FG_G ANSI_COLOR(GREEN)
#define A_FG_Y ANSI_COLOR(YELLOW)
#define A_FG_B ANSI_COLOR(BLUE)
#define A_FG_M ANSI_COLOR(MAGENTA)
#define A_FG_C ANSI_COLOR(CYAN)
#define A_FG_W ANSI_COLOR(WHITE)
/* background colors */
#define A_BG_K ANSI_BG_COLOR(BLACK)
#define A_BG_R ANSI_BG_COLOR(RED)
#define A_BG_G ANSI_BG_COLOR(GREEN)
#define A_BG_Y ANSI_BG_COLOR(YELLOW)
#define A_BG_B ANSI_BG_COLOR(BLUE)
#define A_BG_M ANSI_BG_COLOR(MAGENTA)
#define A_BG_C ANSI_BG_COLOR(CYAN)
#define A_BG_W ANSI_BG_COLOR(WHITE)