4 // Not ANSI but dirty trick to specify we don't want a \n
9 #define _BLUE_(s) "\x1b[34m" s AEND
10 #define _RED_(s) "\x1b[31m" s AEND
11 #define _GREEN_(s) "\x1b[32m" s AEND
12 #define _YELLOW_(s) "\x1b[33m" s AEND
13 #define _MAGENTA_(s) "\x1b[35m" s AEND
14 #define _CYAN_(s) "\x1b[36m" s AEND
15 #define _WHITE_(s) "\x1b[37m" s AEND
17 #define _CLEAR_ "\x1b[2J"
18 #define _TOP_ "\x1b[1;1f"
20 // https://wiki.hackzine.org/development/misc/readline-color-prompt.html
21 // Applications may indicate that the prompt contains
22 // characters that take up no physical screen space when displayed by
23 // bracketing a sequence of such characters with the special markers
24 // RL_PROMPT_START_IGNORE = '\001' and RL_PROMPT_END_IGNORE = '\002'
25 #define RL_ESC(a) "\001" a "\002"
27 #define _RL_RED_(s) RL_ESC("\x1b[31m") s RL_ESC(AEND)
28 #define _RL_GREEN_(s) RL_ESC("\x1b[32m") s RL_ESC(AEND)
29 #define _RL_BOLD_RED_(s) RL_ESC("\x1b[1;31m") s RL_ESC(AEND)
30 #define _RL_BOLD_GREEN_(s) RL_ESC("\x1b[1;32m") s RL_ESC(AEND)