|
@@ -14,52 +14,6 @@ namespace AK {
|
|
|
class String;
|
|
|
class StringView;
|
|
|
|
|
|
-class TStyle {
|
|
|
-public:
|
|
|
- enum NoneTag { None };
|
|
|
-
|
|
|
- enum Color {
|
|
|
- Black = 0,
|
|
|
- Red,
|
|
|
- Green,
|
|
|
- Brown,
|
|
|
- Blue,
|
|
|
- Magenta,
|
|
|
- Cyan,
|
|
|
- LightGray,
|
|
|
- DarkGray,
|
|
|
- BrightRed,
|
|
|
- BrightGreen,
|
|
|
- Yellow,
|
|
|
- BrightBlue,
|
|
|
- BrightMagenta,
|
|
|
- BrightCyan,
|
|
|
- White,
|
|
|
- NoColor = 255,
|
|
|
- };
|
|
|
- enum Attribute {
|
|
|
- NoAttribute = 0,
|
|
|
- Bold = 1,
|
|
|
- };
|
|
|
-
|
|
|
- TStyle() {}
|
|
|
- TStyle(NoneTag) {}
|
|
|
- TStyle(Color color, unsigned attributes = NoAttribute)
|
|
|
- : m_color(color)
|
|
|
- , m_attributes(attributes)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
- ~TStyle() {}
|
|
|
-
|
|
|
- Color color() const { return m_color; }
|
|
|
- unsigned attributes() const { return m_attributes; }
|
|
|
-
|
|
|
-private:
|
|
|
- Color m_color { NoColor };
|
|
|
- unsigned m_attributes { NoAttribute };
|
|
|
-};
|
|
|
-
|
|
|
class LogStream {
|
|
|
public:
|
|
|
LogStream()
|
|
@@ -72,10 +26,6 @@ public:
|
|
|
|
|
|
virtual void write(const char*, int) const = 0;
|
|
|
|
|
|
-protected:
|
|
|
- friend const LogStream& operator<<(const LogStream&, const TStyle&);
|
|
|
- mutable bool m_needs_style_reset { false };
|
|
|
-
|
|
|
private:
|
|
|
#ifdef USERLAND
|
|
|
ScopedValueRollback<int> m_errno_restorer;
|
|
@@ -87,8 +37,6 @@ public:
|
|
|
DebugLogStream() {}
|
|
|
virtual ~DebugLogStream() override
|
|
|
{
|
|
|
- if (m_needs_style_reset)
|
|
|
- write("\033[0m", 4);
|
|
|
char newline = '\n';
|
|
|
write(&newline, 1);
|
|
|
}
|
|
@@ -114,7 +62,6 @@ const LogStream& operator<<(const LogStream&, const StringView&);
|
|
|
const LogStream& operator<<(const LogStream&, int);
|
|
|
const LogStream& operator<<(const LogStream&, unsigned);
|
|
|
const LogStream& operator<<(const LogStream&, const void*);
|
|
|
-const LogStream& operator<<(const LogStream& stream, const TStyle&);
|
|
|
|
|
|
inline const LogStream& operator<<(const LogStream& stream, char value)
|
|
|
{
|
|
@@ -133,4 +80,3 @@ DebugLogStream dbg();
|
|
|
|
|
|
using AK::dbg;
|
|
|
using AK::LogStream;
|
|
|
-using AK::TStyle;
|