C++ Utilities
5.6.0
Useful C++ classes and routines such as argument parser, IO and conversion utilities
io
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
:
37
setStyle
(stream,
Color::Red
,
ColorContext::Foreground
,
TextAttribute::Bold
);
38
stream <<
"Error: "
;
39
setStyle
(stream,
TextAttribute::Reset
);
40
setStyle
(stream,
TextAttribute::Bold
);
41
break
;
42
case
Phrases::Warning
:
43
setStyle
(stream,
Color::Yellow
,
ColorContext::Foreground
,
TextAttribute::Bold
);
44
stream <<
"Warning: "
;
45
setStyle
(stream,
TextAttribute::Reset
);
46
setStyle
(stream,
TextAttribute::Bold
);
47
break
;
48
case
Phrases::End
:
49
setStyle
(stream,
TextAttribute::Reset
);
50
stream <<
'\n'
;
51
break
;
52
case
Phrases::PlainMessage
:
53
stream <<
" "
;
54
setStyle
(stream,
TextAttribute::Reset
);
55
setStyle
(stream,
TextAttribute::Bold
);
56
break
;
57
case
Phrases::SuccessMessage
:
58
setStyle
(stream,
Color::Green
,
ColorContext::Foreground
,
TextAttribute::Bold
);
59
stream <<
"==> "
;
60
setStyle
(stream,
TextAttribute::Reset
);
61
setStyle
(stream,
TextAttribute::Bold
);
62
break
;
63
case
Phrases::SubMessage
:
64
setStyle
(stream,
Color::Green
,
ColorContext::Foreground
,
TextAttribute::Bold
);
65
stream <<
" -> "
;
66
setStyle
(stream,
TextAttribute::Reset
);
67
setStyle
(stream,
TextAttribute::Bold
);
68
break
;
69
case
Phrases::ErrorMessage
:
70
setStyle
(stream,
Color::Red
,
ColorContext::Foreground
,
TextAttribute::Bold
);
71
stream <<
"==> ERROR: "
;
72
setStyle
(stream,
TextAttribute::Reset
);
73
setStyle
(stream,
TextAttribute::Bold
);
74
break
;
75
case
Phrases::WarningMessage
:
76
setStyle
(stream,
Color::Yellow
,
ColorContext::Foreground
,
TextAttribute::Bold
);
77
stream <<
"==> WARNING: "
;
78
setStyle
(stream,
TextAttribute::Reset
);
79
setStyle
(stream,
TextAttribute::Bold
);
80
break
;
81
case
Phrases::EndFlush
:
82
setStyle
(stream,
TextAttribute::Reset
);
83
stream << std::endl;
84
break
;
85
case
Phrases::Info
:
86
setStyle
(stream,
Color::Blue
,
ColorContext::Foreground
,
TextAttribute::Bold
);
87
stream <<
"Info: "
;
88
setStyle
(stream,
TextAttribute::Reset
);
89
setStyle
(stream,
TextAttribute::Bold
);
90
break
;
91
case
Phrases::Override
:
92
eraseLine
(stream);
93
stream <<
'\r'
;
94
break
;
95
case
Phrases::SubError
:
96
setStyle
(stream,
Color::Red
,
ColorContext::Foreground
,
TextAttribute::Bold
);
97
stream <<
" -> ERROR: "
;
98
setStyle
(stream,
TextAttribute::Reset
);
99
setStyle
(stream,
TextAttribute::Bold
);
100
break
;
101
case
Phrases::SubWarning
:
102
setStyle
(stream,
Color::Yellow
,
ColorContext::Foreground
,
TextAttribute::Bold
);
103
stream <<
" -> WARNING: "
;
104
setStyle
(stream,
TextAttribute::Reset
);
105
setStyle
(stream,
TextAttribute::Bold
);
106
break
;
107
case
Phrases::InfoMessage
:
108
setStyle
(stream,
Color::White
,
ColorContext::Foreground
,
TextAttribute::Bold
);
109
stream <<
"==> "
;
110
setStyle
(stream,
TextAttribute::Reset
);
111
setStyle
(stream,
TextAttribute::Bold
);
112
break
;
113
}
114
return
stream;
115
}
116
117
std::string_view
phraseString
(
Phrases
phrase)
118
{
119
using namespace
std::string_view_literals;
120
switch
(phrase) {
121
case
Phrases::Error
:
122
return
"Error: "
sv;
123
case
Phrases::Warning
:
124
return
"Warning: "
sv;
125
case
Phrases::PlainMessage
:
126
return
" "
sv;
127
case
Phrases::SuccessMessage
:
128
return
"==> "
sv;
129
case
Phrases::SubMessage
:
130
return
" -> "
sv;
131
case
Phrases::ErrorMessage
:
132
return
"==> ERROR: "
sv;
133
case
Phrases::WarningMessage
:
134
return
"==> WARNING: "
;
135
case
Phrases::Info
:
136
return
"Info: "
sv;
137
case
Phrases::SubError
:
138
return
" -> ERROR: "
sv;
139
case
Phrases::SubWarning
:
140
return
" -> WARNING: "
sv;
141
case
Phrases::InfoMessage
:
142
return
"==> "
sv;
143
case
Phrases::End
:
144
case
Phrases::EndFlush
:
145
return
"\n"
;
146
default
:
147
return
std::string_view{};
148
}
149
}
150
151
}
// namespace EscapeCodes
152
153
}
// namespace CppUtilities
CppUtilities::EscapeCodes::Color::Red
@ Red
CppUtilities::EscapeCodes::TextAttribute::Bold
@ Bold
CppUtilities::EscapeCodes::eraseLine
void eraseLine(std::ostream &stream)
Definition:
ansiescapecodes.h:100
CppUtilities::EscapeCodes::Phrases
Phrases
The Phrases enum contains standard phrases which can be printed to any std::ostream.
Definition:
ansiescapecodes.h:137
CppUtilities::EscapeCodes::Color::Green
@ Green
CppUtilities::EscapeCodes::Phrases::Override
@ Override
CppUtilities::EscapeCodes::phraseString
CPP_UTILITIES_EXPORT std::string_view phraseString(Phrases phrase)
Definition:
ansiescapecodes.cpp:117
CppUtilities::EscapeCodes::Phrases::SubMessage
@ SubMessage
CppUtilities::EscapeCodes::Phrases::Warning
@ Warning
CppUtilities::EscapeCodes::Phrases::End
@ End
CppUtilities::EscapeCodes::operator<<
std::ostream & operator<<(std::ostream &stream, TextAttribute displayAttribute)
Definition:
ansiescapecodes.h:107
CppUtilities::EscapeCodes::Phrases::InfoMessage
@ InfoMessage
CppUtilities::EscapeCodes::Color::Yellow
@ Yellow
CppUtilities::EscapeCodes::Phrases::Error
@ Error
CppUtilities::EscapeCodes::Phrases::EndFlush
@ EndFlush
CppUtilities::EscapeCodes::Phrases::SubError
@ SubError
ansiescapecodes.h
CppUtilities::EscapeCodes::Phrases::ErrorMessage
@ ErrorMessage
CppUtilities
Contains all utilities provides by the c++utilities library.
Definition:
argumentparser.h:17
CppUtilities::EscapeCodes::Phrases::PlainMessage
@ PlainMessage
CppUtilities::EscapeCodes::Phrases::Info
@ Info
CppUtilities::EscapeCodes::Phrases::SuccessMessage
@ SuccessMessage
CppUtilities::EscapeCodes::Color::White
@ White
CppUtilities::EscapeCodes::Phrases::WarningMessage
@ WarningMessage
CppUtilities::EscapeCodes::Phrases::SubWarning
@ SubWarning
CppUtilities::EscapeCodes::setStyle
void setStyle(std::ostream &stream, TextAttribute displayAttribute=TextAttribute::Reset)
Definition:
ansiescapecodes.h:34
CppUtilities::EscapeCodes::ColorContext::Foreground
@ Foreground
CppUtilities::EscapeCodes::Color::Blue
@ Blue
CppUtilities::EscapeCodes::TextAttribute::Reset
@ 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
Generated on Tue Aug 11 2020 21:51:22 for C++ Utilities by
1.8.18