forked from OSchip/llvm-project
Factor out common condition into an easier to understand helper function (NFC).
llvm-svn: 324935
This commit is contained in:
parent
a6716d9d81
commit
baf9c20b02
|
@ -20,9 +20,17 @@ static cl::opt<cl::boolOrDefault>
|
|||
cl::desc("use colored syntax highlighting (default=autodetect)"),
|
||||
cl::init(cl::BOU_UNSET));
|
||||
|
||||
bool WithColor::colorsEnabled(raw_ostream &OS) {
|
||||
switch (UseColor) {
|
||||
case cl::BOU_UNSET: return OS.has_colors();
|
||||
case cl::BOU_TRUE: return true;
|
||||
case cl::BOU_FALSE: return false;
|
||||
}
|
||||
}
|
||||
|
||||
WithColor::WithColor(raw_ostream &OS, enum HighlightColor Type) : OS(OS) {
|
||||
// Detect color from terminal type unless the user passed the --color option.
|
||||
if (UseColor == cl::BOU_UNSET ? OS.has_colors() : UseColor == cl::BOU_TRUE) {
|
||||
if (colorsEnabled(OS)) {
|
||||
switch (Type) {
|
||||
case Address: OS.changeColor(raw_ostream::YELLOW); break;
|
||||
case String: OS.changeColor(raw_ostream::GREEN); break;
|
||||
|
@ -38,6 +46,6 @@ WithColor::WithColor(raw_ostream &OS, enum HighlightColor Type) : OS(OS) {
|
|||
}
|
||||
|
||||
WithColor::~WithColor() {
|
||||
if (UseColor == cl::BOU_UNSET ? OS.has_colors() : UseColor == cl::BOU_TRUE)
|
||||
if (colorsEnabled(OS))
|
||||
OS.resetColor();
|
||||
}
|
||||
|
|
|
@ -34,6 +34,8 @@ enum HighlightColor {
|
|||
/// specific color.
|
||||
class WithColor {
|
||||
raw_ostream &OS;
|
||||
/// Determine whether colors should be displayed.
|
||||
bool colorsEnabled(raw_ostream &OS);
|
||||
|
||||
public:
|
||||
/// To be used like this: WithColor(OS, syntax::String) << "text";
|
||||
|
|
Loading…
Reference in New Issue