|
1 |
| -#ifndef LLDB_UTILITY_ANSITERMINAL_H |
2 |
| - |
3 |
| -#define LLDB_UTILITY_ANSITERMINAL_H |
4 |
| - |
5 | 1 | //===---------------------AnsiTerminal.h ------------------------*- C++ -*-===//
|
6 | 2 | //
|
7 | 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
10 | 6 | //
|
11 | 7 | //===----------------------------------------------------------------------===//
|
12 | 8 |
|
| 9 | +#ifndef LLDB_UTILITY_ANSITERMINAL_H |
| 10 | +#define LLDB_UTILITY_ANSITERMINAL_H |
| 11 | + |
13 | 12 | #define ANSI_FG_COLOR_BLACK 30
|
14 | 13 | #define ANSI_FG_COLOR_RED 31
|
15 | 14 | #define ANSI_FG_COLOR_GREEN 32
|
|
19 | 18 | #define ANSI_FG_COLOR_CYAN 36
|
20 | 19 | #define ANSI_FG_COLOR_WHITE 37
|
21 | 20 |
|
| 21 | +#define ANSI_FG_COLOR_BRIGHT_BLACK 90 |
| 22 | +#define ANSI_FG_COLOR_BRIGHT_RED 91 |
| 23 | +#define ANSI_FG_COLOR_BRIGHT_GREEN 92 |
| 24 | +#define ANSI_FG_COLOR_BRIGHT_YELLOW 93 |
| 25 | +#define ANSI_FG_COLOR_BRIGHT_BLUE 94 |
| 26 | +#define ANSI_FG_COLOR_BRIGHT_PURPLE 95 |
| 27 | +#define ANSI_FG_COLOR_BRIGHT_CYAN 96 |
| 28 | +#define ANSI_FG_COLOR_BRIGHT_WHITE 97 |
| 29 | + |
22 | 30 | #define ANSI_BG_COLOR_BLACK 40
|
23 | 31 | #define ANSI_BG_COLOR_RED 41
|
24 | 32 | #define ANSI_BG_COLOR_GREEN 42
|
|
28 | 36 | #define ANSI_BG_COLOR_CYAN 46
|
29 | 37 | #define ANSI_BG_COLOR_WHITE 47
|
30 | 38 |
|
| 39 | +#define ANSI_BG_COLOR_BRIGHT_BLACK 100 |
| 40 | +#define ANSI_BG_COLOR_BRIGHT_RED 101 |
| 41 | +#define ANSI_BG_COLOR_BRIGHT_GREEN 102 |
| 42 | +#define ANSI_BG_COLOR_BRIGHT_YELLOW 103 |
| 43 | +#define ANSI_BG_COLOR_BRIGHT_BLUE 104 |
| 44 | +#define ANSI_BG_COLOR_BRIGHT_PURPLE 105 |
| 45 | +#define ANSI_BG_COLOR_BRIGHT_CYAN 106 |
| 46 | +#define ANSI_BG_COLOR_BRIGHT_WHITE 107 |
| 47 | + |
31 | 48 | #define ANSI_SPECIAL_FRAMED 51
|
32 | 49 | #define ANSI_SPECIAL_ENCIRCLED 52
|
33 | 50 |
|
@@ -67,45 +84,59 @@ inline std::string FormatAnsiTerminalCodes(llvm::StringRef format,
|
67 | 84 | bool do_color = true) {
|
68 | 85 | // Convert "${ansi.XXX}" tokens to ansi values or clear them if do_color is
|
69 | 86 | // false.
|
| 87 | + // clang-format off |
70 | 88 | static const struct {
|
71 | 89 | const char *name;
|
72 | 90 | const char *value;
|
73 | 91 | } g_color_tokens[] = {
|
74 | 92 | #define _TO_STR2(_val) #_val
|
75 | 93 | #define _TO_STR(_val) _TO_STR2(_val)
|
76 |
| - {"fg.black}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BLACK) ANSI_ESC_END}, |
77 |
| - {"fg.red}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_RED) ANSI_ESC_END}, |
78 |
| - {"fg.green}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_GREEN) ANSI_ESC_END}, |
79 |
| - {"fg.yellow}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_YELLOW) ANSI_ESC_END}, |
80 |
| - {"fg.blue}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BLUE) ANSI_ESC_END}, |
81 |
| - {"fg.purple}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_PURPLE) ANSI_ESC_END}, |
82 |
| - {"fg.cyan}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_CYAN) ANSI_ESC_END}, |
83 |
| - {"fg.white}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_WHITE) ANSI_ESC_END}, |
84 |
| - {"bg.black}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BLACK) ANSI_ESC_END}, |
85 |
| - {"bg.red}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_RED) ANSI_ESC_END}, |
86 |
| - {"bg.green}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_GREEN) ANSI_ESC_END}, |
87 |
| - {"bg.yellow}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_YELLOW) ANSI_ESC_END}, |
88 |
| - {"bg.blue}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BLUE) ANSI_ESC_END}, |
89 |
| - {"bg.purple}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_PURPLE) ANSI_ESC_END}, |
90 |
| - {"bg.cyan}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_CYAN) ANSI_ESC_END}, |
91 |
| - {"bg.white}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_WHITE) ANSI_ESC_END}, |
92 |
| - {"normal}", ANSI_ESC_START _TO_STR(ANSI_CTRL_NORMAL) ANSI_ESC_END}, |
93 |
| - {"bold}", ANSI_ESC_START _TO_STR(ANSI_CTRL_BOLD) ANSI_ESC_END}, |
94 |
| - {"faint}", ANSI_ESC_START _TO_STR(ANSI_CTRL_FAINT) ANSI_ESC_END}, |
95 |
| - {"italic}", ANSI_ESC_START _TO_STR(ANSI_CTRL_ITALIC) ANSI_ESC_END}, |
96 |
| - {"underline}", ANSI_ESC_START _TO_STR(ANSI_CTRL_UNDERLINE) ANSI_ESC_END}, |
97 |
| - {"slow-blink}", |
98 |
| - ANSI_ESC_START _TO_STR(ANSI_CTRL_SLOW_BLINK) ANSI_ESC_END}, |
99 |
| - {"fast-blink}", |
100 |
| - ANSI_ESC_START _TO_STR(ANSI_CTRL_FAST_BLINK) ANSI_ESC_END}, |
101 |
| - {"negative}", |
102 |
| - ANSI_ESC_START _TO_STR(ANSI_CTRL_IMAGE_NEGATIVE) ANSI_ESC_END}, |
103 |
| - {"conceal}", ANSI_ESC_START _TO_STR(ANSI_CTRL_CONCEAL) ANSI_ESC_END}, |
104 |
| - {"crossed-out}", |
105 |
| - ANSI_ESC_START _TO_STR(ANSI_CTRL_CROSSED_OUT) ANSI_ESC_END}, |
| 94 | + {"fg.black}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BLACK) ANSI_ESC_END}, |
| 95 | + {"fg.red}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_RED) ANSI_ESC_END}, |
| 96 | + {"fg.green}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_GREEN) ANSI_ESC_END}, |
| 97 | + {"fg.yellow}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_YELLOW) ANSI_ESC_END}, |
| 98 | + {"fg.blue}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BLUE) ANSI_ESC_END}, |
| 99 | + {"fg.purple}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_PURPLE) ANSI_ESC_END}, |
| 100 | + {"fg.cyan}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_CYAN) ANSI_ESC_END}, |
| 101 | + {"fg.white}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_WHITE) ANSI_ESC_END}, |
| 102 | + {"fg.bright.black}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BRIGHT_BLACK) ANSI_ESC_END}, |
| 103 | + {"fg.bright.red}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BRIGHT_RED) ANSI_ESC_END}, |
| 104 | + {"fg.bright.green}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BRIGHT_GREEN) ANSI_ESC_END}, |
| 105 | + {"fg.bright.yellow}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BRIGHT_YELLOW) ANSI_ESC_END}, |
| 106 | + {"fg.bright.blue}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BRIGHT_BLUE) ANSI_ESC_END}, |
| 107 | + {"fg.bright.purple}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BRIGHT_PURPLE) ANSI_ESC_END}, |
| 108 | + {"fg.bright.cyan}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BRIGHT_CYAN) ANSI_ESC_END}, |
| 109 | + {"fg.bright.white}", ANSI_ESC_START _TO_STR(ANSI_FG_COLOR_BRIGHT_WHITE) ANSI_ESC_END}, |
| 110 | + {"bg.black}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BLACK) ANSI_ESC_END}, |
| 111 | + {"bg.red}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_RED) ANSI_ESC_END}, |
| 112 | + {"bg.green}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_GREEN) ANSI_ESC_END}, |
| 113 | + {"bg.yellow}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_YELLOW) ANSI_ESC_END}, |
| 114 | + {"bg.blue}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BLUE) ANSI_ESC_END}, |
| 115 | + {"bg.purple}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_PURPLE) ANSI_ESC_END}, |
| 116 | + {"bg.cyan}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_CYAN) ANSI_ESC_END}, |
| 117 | + {"bg.white}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_WHITE) ANSI_ESC_END}, |
| 118 | + {"bg.bright.black}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BRIGHT_BLACK) ANSI_ESC_END}, |
| 119 | + {"bg.bright.red}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BRIGHT_RED) ANSI_ESC_END}, |
| 120 | + {"bg.bright.green}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BRIGHT_GREEN) ANSI_ESC_END}, |
| 121 | + {"bg.bright.yellow}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BRIGHT_YELLOW) ANSI_ESC_END}, |
| 122 | + {"bg.bright.blue}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BRIGHT_BLUE) ANSI_ESC_END}, |
| 123 | + {"bg.bright.purple}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BRIGHT_PURPLE) ANSI_ESC_END}, |
| 124 | + {"bg.bright.cyan}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BRIGHT_CYAN) ANSI_ESC_END}, |
| 125 | + {"bg.bright.white}", ANSI_ESC_START _TO_STR(ANSI_BG_COLOR_BRIGHT_WHITE) ANSI_ESC_END}, |
| 126 | + {"normal}", ANSI_ESC_START _TO_STR(ANSI_CTRL_NORMAL) ANSI_ESC_END}, |
| 127 | + {"bold}", ANSI_ESC_START _TO_STR(ANSI_CTRL_BOLD) ANSI_ESC_END}, |
| 128 | + {"faint}", ANSI_ESC_START _TO_STR(ANSI_CTRL_FAINT) ANSI_ESC_END}, |
| 129 | + {"italic}", ANSI_ESC_START _TO_STR(ANSI_CTRL_ITALIC) ANSI_ESC_END}, |
| 130 | + {"underline}", ANSI_ESC_START _TO_STR(ANSI_CTRL_UNDERLINE) ANSI_ESC_END}, |
| 131 | + {"slow-blink}", ANSI_ESC_START _TO_STR(ANSI_CTRL_SLOW_BLINK) ANSI_ESC_END}, |
| 132 | + {"fast-blink}", ANSI_ESC_START _TO_STR(ANSI_CTRL_FAST_BLINK) ANSI_ESC_END}, |
| 133 | + {"negative}", ANSI_ESC_START _TO_STR(ANSI_CTRL_IMAGE_NEGATIVE) ANSI_ESC_END}, |
| 134 | + {"conceal}", ANSI_ESC_START _TO_STR(ANSI_CTRL_CONCEAL) ANSI_ESC_END}, |
| 135 | + {"crossed-out}", ANSI_ESC_START _TO_STR(ANSI_CTRL_CROSSED_OUT) ANSI_ESC_END}, |
106 | 136 | #undef _TO_STR
|
107 | 137 | #undef _TO_STR2
|
108 | 138 | };
|
| 139 | + // clang-format on |
109 | 140 | auto codes = llvm::makeArrayRef(g_color_tokens);
|
110 | 141 |
|
111 | 142 | static const char tok_hdr[] = "${ansi.";
|
|
0 commit comments