C++ Utilities
4.17.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
6
namespace
EscapeCodes
{
7
20
bool
enabled
=
21
#ifdef CPP_UTILITIES_ESCAPE_CODES_ENABLED_BY_DEFAULT
22
true
23
#else
24
false
25
#endif
26
;
27
31
std::ostream &
operator<<
(std::ostream &stream,
Phrases
phrase)
32
{
33
switch
(phrase) {
34
case
Phrases::Error
:
35
setStyle
(stream,
Color::Red
,
ColorContext::Foreground
,
TextAttribute::Bold
);
36
stream <<
"Error: "
;
37
setStyle
(stream,
TextAttribute::Reset
);
38
setStyle
(stream,
TextAttribute::Bold
);
39
break
;
40
case
Phrases::Warning
:
41
setStyle
(stream,
Color::Yellow
,
ColorContext::Foreground
,
TextAttribute::Bold
);
42
stream <<
"Warning: "
;
43
setStyle
(stream,
TextAttribute::Reset
);
44
setStyle
(stream,
TextAttribute::Bold
);
45
break
;
46
case
Phrases::End
:
47
setStyle
(stream,
TextAttribute::Reset
);
48
stream <<
'\n'
;
49
break
;
50
case
Phrases::PlainMessage
:
51
stream <<
" "
;
52
setStyle
(stream,
TextAttribute::Reset
);
53
setStyle
(stream,
TextAttribute::Bold
);
54
break
;
55
case
Phrases::SuccessMessage
:
56
setStyle
(stream,
Color::Green
,
ColorContext::Foreground
,
TextAttribute::Bold
);
57
stream <<
"==> "
;
58
setStyle
(stream,
TextAttribute::Reset
);
59
setStyle
(stream,
TextAttribute::Bold
);
60
break
;
61
case
Phrases::SubMessage
:
62
setStyle
(stream,
Color::Green
,
ColorContext::Foreground
,
TextAttribute::Bold
);
63
stream <<
" -> "
;
64
setStyle
(stream,
TextAttribute::Reset
);
65
setStyle
(stream,
TextAttribute::Bold
);
66
break
;
67
case
Phrases::ErrorMessage
:
68
setStyle
(stream,
Color::Red
,
ColorContext::Foreground
,
TextAttribute::Bold
);
69
stream <<
"==> ERROR: "
;
70
setStyle
(stream,
TextAttribute::Reset
);
71
setStyle
(stream,
TextAttribute::Bold
);
72
break
;
73
case
Phrases::WarningMessage
:
74
setStyle
(stream,
Color::Yellow
,
ColorContext::Foreground
,
TextAttribute::Bold
);
75
stream <<
"==> WARNING: "
;
76
setStyle
(stream,
TextAttribute::Reset
);
77
setStyle
(stream,
TextAttribute::Bold
);
78
break
;
79
case
Phrases::EndFlush
:
80
setStyle
(stream,
TextAttribute::Reset
);
81
stream << std::endl;
82
break
;
83
case
Phrases::Info
:
84
setStyle
(stream,
Color::Blue
,
ColorContext::Foreground
,
TextAttribute::Bold
);
85
stream <<
"Info: "
;
86
setStyle
(stream,
TextAttribute::Reset
);
87
setStyle
(stream,
TextAttribute::Bold
);
88
break
;
89
case
Phrases::Override
:
90
eraseLine
(stream);
91
stream <<
'\r'
;
92
break
;
93
case
Phrases::SubError
:
94
setStyle
(stream,
Color::Red
,
ColorContext::Foreground
,
TextAttribute::Bold
);
95
stream <<
" -> ERROR: "
;
96
setStyle
(stream,
TextAttribute::Reset
);
97
setStyle
(stream,
TextAttribute::Bold
);
98
break
;
99
case
Phrases::SubWarning
:
100
setStyle
(stream,
Color::Yellow
,
ColorContext::Foreground
,
TextAttribute::Bold
);
101
stream <<
" -> WARNING: "
;
102
setStyle
(stream,
TextAttribute::Reset
);
103
setStyle
(stream,
TextAttribute::Bold
);
104
break
;
105
}
106
return
stream;
107
}
108
109
}
// namespace EscapeCodes
EscapeCodes::Phrases::SubWarning
EscapeCodes
Encapsulates functions for formatted terminal output using ANSI escape codes.
Definition:
ansiescapecodes.h:10
EscapeCodes::Phrases
Phrases
The Phrases enum contains standard phrases which can be printed to any std::ostream.
Definition:
ansiescapecodes.h:135
ansiescapecodes.h
EscapeCodes::setStyle
void setStyle(std::ostream &stream, TextAttribute displayAttribute=TextAttribute::Reset)
Definition:
ansiescapecodes.h:32
EscapeCodes::Phrases::EndFlush
EscapeCodes::Phrases::SubError
EscapeCodes::TextAttribute::Reset
EscapeCodes::Phrases::Info
EscapeCodes::Phrases::Error
EscapeCodes::Phrases::SuccessMessage
EscapeCodes::Phrases::Override
EscapeCodes::Color::Blue
EscapeCodes::enabled
CPP_UTILITIES_EXPORT bool enabled
Controls whether the functions inside the EscapeCodes namespace actually make use of escape codes.
Definition:
ansiescapecodes.cpp:20
EscapeCodes::Phrases::ErrorMessage
EscapeCodes::Phrases::End
EscapeCodes::Color::Yellow
EscapeCodes::ColorContext::Foreground
EscapeCodes::Color::Red
EscapeCodes::eraseLine
void eraseLine(std::ostream &stream)
Definition:
ansiescapecodes.h:98
EscapeCodes::Phrases::Warning
EscapeCodes::TextAttribute::Bold
EscapeCodes::Phrases::PlainMessage
EscapeCodes::Phrases::SubMessage
EscapeCodes::Phrases::WarningMessage
EscapeCodes::Color::Green
EscapeCodes::operator<<
std::ostream & operator<<(std::ostream &stream, TextAttribute displayAttribute)
Definition:
ansiescapecodes.h:105
Generated on Thu Mar 14 2019 01:23:12 for C++ Utilities by
1.8.15