| /* | |
| * 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) |