@@ -31,18 +31,42 @@ enum COLOR
31
31
, _COLOR_MAX
32
32
};
33
33
34
- static const char * colors [ _COLOR_MAX ] =
34
+ enum COLORSET
35
35
{
36
- [COLOR_RED ] = "\x1B[31m"
37
- , [COLOR_GREEN ] = "\x1B[32m"
38
- , [COLOR_YELLOW ] = "\x1B[33m"
39
- , [COLOR_BLUE ] = "\x1B[34m"
40
- , [COLOR_MAGENTA ] = "\x1B[35m"
41
- , [COLOR_CYAN ] = "\x1B[36m"
42
- , [COLOR_BOLD ] = "\x1B[1m"
43
- , [COLOR_NONE ] = "\x1B[0m"
36
+ _COLORSET_FIRST = 0
37
+ , COLORSET_DEFAULT = _COLORSET_FIRST
38
+ , COLORSET_NONE
39
+ , _COLORSET_MAX
44
40
};
45
41
42
+ static const char * colorset [_COLORSET_MAX ][_COLOR_MAX ] =
43
+ {
44
+ [COLORSET_NONE ] =
45
+ {
46
+ [COLOR_RED ] = ""
47
+ , [COLOR_GREEN ] = ""
48
+ , [COLOR_YELLOW ] = ""
49
+ , [COLOR_BLUE ] = ""
50
+ , [COLOR_MAGENTA ] = ""
51
+ , [COLOR_CYAN ] = ""
52
+ , [COLOR_BOLD ] = ""
53
+ , [COLOR_NONE ] = ""
54
+ }
55
+ , [COLORSET_DEFAULT ] =
56
+ {
57
+ [COLOR_RED ] = "\x1B[31m"
58
+ , [COLOR_GREEN ] = "\x1B[32m"
59
+ , [COLOR_YELLOW ] = "\x1B[33m"
60
+ , [COLOR_BLUE ] = "\x1B[34m"
61
+ , [COLOR_MAGENTA ] = "\x1B[35m"
62
+ , [COLOR_CYAN ] = "\x1B[36m"
63
+ , [COLOR_BOLD ] = "\x1B[1m"
64
+ , [COLOR_NONE ] = "\x1B[0m"
65
+ }
66
+ };
67
+
68
+ static const char * * colors = colorset [COLORSET_DEFAULT ];
69
+
46
70
struct field
47
71
{
48
72
char * string ;
@@ -628,3 +652,12 @@ output_fmt_add_dev(
628
652
return rc ;
629
653
}
630
654
655
+ void
656
+ output_fmt_enable_colors (
657
+ bool enable
658
+ )
659
+ {
660
+ enum COLORSET cs = enable ? COLORSET_DEFAULT : COLORSET_NONE ;
661
+ colors = colorset [cs ];
662
+ }
663
+
0 commit comments