LLVM 19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::WithColor Class Reference

An RAII object that temporarily switches an output stream to a specific color. More...

#include "llvm/Support/WithColor.h"

Public Types

using AutoDetectFunctionType = bool(*)(const raw_ostream &OS)
 

Public Member Functions

LLVM_CTOR_NODISCARD WithColor (raw_ostream &OS, HighlightColor S, ColorMode Mode=ColorMode::Auto)
 To be used like this: WithColor(OS, HighlightColor::String) << "text";.
 
LLVM_CTOR_NODISCARD WithColor (raw_ostream &OS, raw_ostream::Colors Color=raw_ostream::SAVEDCOLOR, bool Bold=false, bool BG=false, ColorMode Mode=ColorMode::Auto)
 To be used like this: WithColor(OS, raw_ostream::BLACK) << "text";.
 
 ~WithColor ()
 
raw_ostreamget ()
 
 operator raw_ostream & ()
 
template<typename T >
WithColoroperator<< (T &O)
 
template<typename T >
WithColoroperator<< (const T &O)
 
bool colorsEnabled ()
 Determine whether colors are displayed.
 
WithColorchangeColor (raw_ostream::Colors Color, bool Bold=false, bool BG=false)
 Change the color of text that will be output from this point forward.
 
WithColorresetColor ()
 Reset the colors to terminal defaults.
 

Static Public Member Functions

static raw_ostreamerror ()
 Convenience method for printing "error: " to stderr.
 
static raw_ostreamwarning ()
 Convenience method for printing "warning: " to stderr.
 
static raw_ostreamnote ()
 Convenience method for printing "note: " to stderr.
 
static raw_ostreamremark ()
 Convenience method for printing "remark: " to stderr.
 
static raw_ostreamerror (raw_ostream &OS, StringRef Prefix="", bool DisableColors=false)
 Convenience method for printing "error: " to the given stream.
 
static raw_ostreamwarning (raw_ostream &OS, StringRef Prefix="", bool DisableColors=false)
 Convenience method for printing "warning: " to the given stream.
 
static raw_ostreamnote (raw_ostream &OS, StringRef Prefix="", bool DisableColors=false)
 Convenience method for printing "note: " to the given stream.
 
static raw_ostreamremark (raw_ostream &OS, StringRef Prefix="", bool DisableColors=false)
 Convenience method for printing "remark: " to the given stream.
 
static void defaultErrorHandler (Error Err)
 Implement default handling for Error.
 
static void defaultWarningHandler (Error Warning)
 Implement default handling for Warning.
 
static AutoDetectFunctionType defaultAutoDetectFunction ()
 Retrieve the default color auto detection function.
 
static void setAutoDetectFunction (AutoDetectFunctionType NewAutoDetectFunction)
 Change the global auto detection function.
 

Detailed Description

An RAII object that temporarily switches an output stream to a specific color.

Definition at line 54 of file WithColor.h.

Member Typedef Documentation

◆ AutoDetectFunctionType

Definition at line 56 of file WithColor.h.

Constructor & Destructor Documentation

◆ WithColor() [1/2]

WithColor::WithColor ( raw_ostream OS,
HighlightColor  S,
ColorMode  Mode = ColorMode::Auto 
)

To be used like this: WithColor(OS, HighlightColor::String) << "text";.

Parameters
OSThe output stream
SSymbolic name for syntax element to color
ModeEnable, disable or compute whether to use colors.

Definition at line 44 of file WithColor.cpp.

References llvm::Address, llvm::Attribute, llvm::raw_ostream::BLACK, llvm::raw_ostream::BLUE, llvm::raw_ostream::changeColor(), colorsEnabled(), llvm::raw_ostream::CYAN, llvm::Enumerator, llvm::Error, llvm::raw_ostream::GREEN, llvm::Macro, llvm::raw_ostream::MAGENTA, llvm::Note, OS, llvm::raw_ostream::RED, llvm::Remark, llvm::String, llvm::Tag, llvm::Warning, and llvm::raw_ostream::YELLOW.

◆ WithColor() [2/2]

LLVM_CTOR_NODISCARD llvm::WithColor::WithColor ( raw_ostream OS,
raw_ostream::Colors  Color = raw_ostream::SAVEDCOLOR,
bool  Bold = false,
bool  BG = false,
ColorMode  Mode = ColorMode::Auto 
)
inline

To be used like this: WithColor(OS, raw_ostream::BLACK) << "text";.

Parameters
OSThe output stream
ColorANSI color to use, the special SAVEDCOLOR can be used to change only the bold attribute, and keep colors untouched
BoldBold/brighter text, default false
BGIf true, change the background, default: change foreground
ModeEnable, disable or compute whether to use colors.

Definition at line 71 of file WithColor.h.

References changeColor(), and OS.

◆ ~WithColor()

WithColor::~WithColor ( )

Definition at line 156 of file WithColor.cpp.

References resetColor().

Member Function Documentation

◆ changeColor()

WithColor & 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.

Parameters
ColorANSI color to use, the special SAVEDCOLOR can be used to change only the bold attribute, and keep colors untouched
BoldBold/brighter text, default false
BGIf true, change the background, default: change foreground

Definition at line 143 of file WithColor.cpp.

References llvm::raw_ostream::changeColor(), and colorsEnabled().

Referenced by WithColor().

◆ colorsEnabled()

bool WithColor::colorsEnabled ( )

Determine whether colors are displayed.

Definition at line 131 of file WithColor.cpp.

References llvm::Auto, llvm::Disable, llvm::Enable, and llvm_unreachable.

Referenced by changeColor(), resetColor(), and WithColor().

◆ defaultAutoDetectFunction()

WithColor::AutoDetectFunctionType WithColor::defaultAutoDetectFunction ( )
static

Retrieve the default color auto detection function.

Definition at line 170 of file WithColor.cpp.

References DefaultAutoDetectFunction().

◆ defaultErrorHandler()

void WithColor::defaultErrorHandler ( Error  Err)
static

Implement default handling for Error.

Print "error: " to stderr.

Definition at line 158 of file WithColor.cpp.

References error(), llvm::handleAllErrors(), and Info.

Referenced by ThreadUnsafeDWARFContextState::getDWOContext().

◆ defaultWarningHandler()

void WithColor::defaultWarningHandler ( Error  Warning)
static

Implement default handling for Warning.

Print "warning: " to stderr.

Definition at line 164 of file WithColor.cpp.

References llvm::handleAllErrors(), Info, llvm::Warning, and warning().

Referenced by ThreadUnsafeDWARFContextState::getDWOContext(), and sectionOverflowErrorOrWarning().

◆ error() [1/2]

raw_ostream & WithColor::error ( )
static

◆ error() [2/2]

raw_ostream & WithColor::error ( raw_ostream OS,
StringRef  Prefix = "",
bool  DisableColors = false 
)
static

Convenience method for printing "error: " to the given stream.

Definition at line 91 of file WithColor.cpp.

References llvm::Auto, llvm::Disable, llvm::Error, get(), and OS.

◆ get()

raw_ostream & llvm::WithColor::get ( )
inline

◆ note() [1/2]

raw_ostream & WithColor::note ( )
static

Convenience method for printing "note: " to stderr.

Definition at line 87 of file WithColor.cpp.

References llvm::errs(), and note().

Referenced by llvm::mca::initializeUsedResources(), note(), llvm::SMDiagnostic::print(), and llvm::PrintNote().

◆ note() [2/2]

raw_ostream & WithColor::note ( raw_ostream OS,
StringRef  Prefix = "",
bool  DisableColors = false 
)
static

Convenience method for printing "note: " to the given stream.

Definition at line 111 of file WithColor.cpp.

References llvm::Auto, llvm::Disable, get(), llvm::Note, and OS.

◆ operator raw_ostream &()

llvm::WithColor::operator raw_ostream & ( )
inline

Definition at line 80 of file WithColor.h.

◆ operator<<() [1/2]

template<typename T >
WithColor & llvm::WithColor::operator<< ( const T O)
inline

Definition at line 85 of file WithColor.h.

◆ operator<<() [2/2]

template<typename T >
WithColor & llvm::WithColor::operator<< ( T O)
inline

Definition at line 81 of file WithColor.h.

◆ remark() [1/2]

raw_ostream & WithColor::remark ( )
static

Convenience method for printing "remark: " to stderr.

Definition at line 89 of file WithColor.cpp.

References llvm::errs(), and remark().

Referenced by llvm::SMDiagnostic::print(), and remark().

◆ remark() [2/2]

raw_ostream & WithColor::remark ( raw_ostream OS,
StringRef  Prefix = "",
bool  DisableColors = false 
)
static

Convenience method for printing "remark: " to the given stream.

Definition at line 121 of file WithColor.cpp.

References llvm::Auto, llvm::Disable, get(), OS, and llvm::Remark.

◆ resetColor()

WithColor & WithColor::resetColor ( )

Reset the colors to terminal defaults.

Call this when you are done outputting colored text, or before program exit.

Definition at line 150 of file WithColor.cpp.

References colorsEnabled(), and llvm::raw_ostream::resetColor().

Referenced by ~WithColor().

◆ setAutoDetectFunction()

void WithColor::setAutoDetectFunction ( AutoDetectFunctionType  NewAutoDetectFunction)
static

Change the global auto detection function.

Definition at line 174 of file WithColor.cpp.

◆ warning() [1/2]

raw_ostream & WithColor::warning ( )
static

◆ warning() [2/2]

raw_ostream & WithColor::warning ( raw_ostream OS,
StringRef  Prefix = "",
bool  DisableColors = false 
)
static

Convenience method for printing "warning: " to the given stream.

Definition at line 101 of file WithColor.cpp.

References llvm::Auto, llvm::Disable, get(), OS, and llvm::Warning.


The documentation for this class was generated from the following files: