LLVM: lib/Support/WithColor.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
10
12
16
17using namespace llvm;
18
21 return ColorCategory;
22}
23namespace {
24struct CreateUseColor {
25 static void *call() {
28 cl::desc("Use colors in output (default=autodetect)"),
30 }
31};
32}
35
40
43
45 : OS(OS), Mode(Mode) {
46
48 switch (Color) {
51 break;
54 break;
57 break;
60 break;
63 break;
66 break;
69 break;
72 break;
75 break;
78 break;
79 }
80 }
81}
82
84
86
88
90
92 bool DisableColors) {
93 if (!Prefix.empty())
94 OS << Prefix << ": ";
97 .get()
98 << "error: ";
99}
100
102 bool DisableColors) {
103 if (!Prefix.empty())
104 OS << Prefix << ": ";
107 .get()
108 << "warning: ";
109}
110
112 bool DisableColors) {
113 if (!Prefix.empty())
114 OS << Prefix << ": ";
117 .get()
118 << "note: ";
119}
120
122 bool DisableColors) {
123 if (!Prefix.empty())
124 OS << Prefix << ": ";
127 .get()
128 << "remark: ";
129}
130
132 switch (Mode) {
134 return true;
136 return false;
138 return AutoDetectFunction(OS);
139 }
141}
142
144 bool BG) {
147 return *this;
148}
149
155
157
163
169
173
176 AutoDetectFunction = NewAutoDetectFunction;
177}
static bool DefaultAutoDetectFunction(const raw_ostream &OS)
Definition WithColor.cpp:36
static ManagedStatic< cl::opt< cl::boolOrDefault >, CreateUseColor > UseColor
Definition WithColor.cpp:33
Base class for error info classes.
Lightweight error class with error context and mandatory checking.
ManagedStatic - This transparently changes the behavior of global statics to be lazily constructed on...
StringRef - Represent a constant reference to a string, i.e.
LLVM_ABI WithColor & changeColor(raw_ostream::Colors Color, bool Bold=false, bool BG=false)
Change the color of text that will be output from this point forward.
Definition WithColor.cpp:143
static LLVM_ABI void defaultWarningHandler(Error Warning)
Implement default handling for Warning.
Definition WithColor.cpp:164
LLVM_CTOR_NODISCARD LLVM_ABI WithColor(raw_ostream &OS, HighlightColor S, ColorMode Mode=ColorMode::Auto)
To be used like this: WithColor(OS, HighlightColor::String) << "text";.
Definition WithColor.cpp:44
LLVM_ABI bool colorsEnabled()
Determine whether colors are displayed.
Definition WithColor.cpp:131
static LLVM_ABI raw_ostream & warning()
Convenience method for printing "warning: " to stderr.
Definition WithColor.cpp:85
LLVM_ABI ~WithColor()
Definition WithColor.cpp:156
static LLVM_ABI raw_ostream & error()
Convenience method for printing "error: " to stderr.
Definition WithColor.cpp:83
bool(*)(const raw_ostream &OS) AutoDetectFunctionType
LLVM_ABI WithColor & resetColor()
Reset the colors to terminal defaults.
Definition WithColor.cpp:150
static LLVM_ABI void defaultErrorHandler(Error Err)
Implement default handling for Error.
Definition WithColor.cpp:158
static LLVM_ABI raw_ostream & note()
Convenience method for printing "note: " to stderr.
Definition WithColor.cpp:87
static LLVM_ABI AutoDetectFunctionType defaultAutoDetectFunction()
Retrieve the default color auto detection function.
Definition WithColor.cpp:170
static LLVM_ABI void setAutoDetectFunction(AutoDetectFunctionType NewAutoDetectFunction)
Change the global auto detection function.
Definition WithColor.cpp:174
static LLVM_ABI raw_ostream & remark()
Convenience method for printing "remark: " to stderr.
Definition WithColor.cpp:89
This class implements an extremely fast bulk output stream that can only output to a stream.
static constexpr Colors BLACK
static constexpr Colors GREEN
static constexpr Colors BLUE
static constexpr Colors RED
static constexpr Colors MAGENTA
static constexpr Colors YELLOW
static constexpr Colors CYAN
virtual bool has_colors() const
This function determines if this stream is displayed and supports colors.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
initializer< Ty > init(const Ty &Val)
This is an optimization pass for GlobalISel generic memory operations.
void initWithColorOptions()
Definition WithColor.cpp:34
void handleAllErrors(Error E, HandlerTs &&... Handlers)
Behaves the same as handleErrors, except that by contract all errors must be handled by the given han...
LLVM_ABI cl::OptionCategory & getColorCategory()
Definition WithColor.cpp:19
LLVM_ABI raw_fd_ostream & errs()
This returns a reference to a raw_ostream for standard error.
@ Auto
Determine whether to use color based on the command line argument and the raw_ostream.