C++ Utilities  5.0.0
Useful C++ classes and routines such as argument parser, IO and conversion utilities
ansiescapecodes.cpp
Go to the documentation of this file.
1 #include "./ansiescapecodes.h"
2 
3 namespace CppUtilities {
4 
8 namespace EscapeCodes {
9 
22 bool enabled =
23 #ifdef CPP_UTILITIES_ESCAPE_CODES_ENABLED_BY_DEFAULT
24  true
25 #else
26  false
27 #endif
28  ;
29 
33 std::ostream &operator<<(std::ostream &stream, Phrases phrase)
34 {
35  switch (phrase) {
36  case Phrases::Error:
38  stream << "Error: ";
41  break;
42  case Phrases::Warning:
44  stream << "Warning: ";
47  break;
48  case Phrases::End:
50  stream << '\n';
51  break;
53  stream << " ";
56  break;
59  stream << "==> ";
62  break;
65  stream << " -> ";
68  break;
71  stream << "==> ERROR: ";
74  break;
77  stream << "==> WARNING: ";
80  break;
81  case Phrases::EndFlush:
83  stream << std::endl;
84  break;
85  case Phrases::Info:
87  stream << "Info: ";
90  break;
91  case Phrases::Override:
92  eraseLine(stream);
93  stream << '\r';
94  break;
95  case Phrases::SubError:
97  stream << " -> ERROR: ";
100  break;
101  case Phrases::SubWarning:
103  stream << " -> WARNING: ";
105  setStyle(stream, TextAttribute::Bold);
106  break;
107  }
108  return stream;
109 }
110 
111 } // namespace EscapeCodes
112 
113 } // namespace CppUtilities
CppUtilities::EscapeCodes::Color::Red
CppUtilities::EscapeCodes::TextAttribute::Bold
CppUtilities::EscapeCodes::eraseLine
void eraseLine(std::ostream &stream)
Definition: ansiescapecodes.h:99
CppUtilities::EscapeCodes::Phrases
Phrases
The Phrases enum contains standard phrases which can be printed to any std::ostream.
Definition: ansiescapecodes.h:136
CppUtilities::EscapeCodes::Color::Green
CppUtilities::EscapeCodes::Phrases::Override
CppUtilities::EscapeCodes::Phrases::SubMessage
CppUtilities::EscapeCodes::Phrases::Warning
CppUtilities::EscapeCodes::Phrases::End
CppUtilities::EscapeCodes::operator<<
std::ostream & operator<<(std::ostream &stream, TextAttribute displayAttribute)
Definition: ansiescapecodes.h:106
CppUtilities::EscapeCodes::Color::Yellow
CppUtilities::EscapeCodes::Phrases::Error
CppUtilities::EscapeCodes::Phrases::EndFlush
CppUtilities::EscapeCodes::Phrases::SubError
ansiescapecodes.h
CppUtilities::EscapeCodes::Phrases::ErrorMessage
CppUtilities
Contains all utilities provides by the c++utilities library.
Definition: argumentparser.h:17
CppUtilities::EscapeCodes::Phrases::PlainMessage
CppUtilities::EscapeCodes::Phrases::Info
CppUtilities::EscapeCodes::Phrases::SuccessMessage
CppUtilities::EscapeCodes::Phrases::WarningMessage
CppUtilities::EscapeCodes::Phrases::SubWarning
CppUtilities::EscapeCodes::setStyle
void setStyle(std::ostream &stream, TextAttribute displayAttribute=TextAttribute::Reset)
Definition: ansiescapecodes.h:33
CppUtilities::EscapeCodes::ColorContext::Foreground
CppUtilities::EscapeCodes::Color::Blue
CppUtilities::EscapeCodes::TextAttribute::Reset
CppUtilities::EscapeCodes::enabled
CPP_UTILITIES_EXPORT bool enabled
Controls whether the functions inside the EscapeCodes namespace actually make use of escape codes.
Definition: ansiescapecodes.cpp:22