Move the implementation of ColorWriter::operator() to format.cc
This commit is contained in:
10
format.cc
10
format.cc
@@ -82,6 +82,8 @@ inline int FMT_SNPRINTF(char *buffer, size_t size, const char *format, ...) {
|
||||
}
|
||||
|
||||
#endif // _MSC_VER
|
||||
|
||||
const char RESET_COLOR[] = "\x1b[0m";
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -663,7 +665,13 @@ void fmt::BasicFormatter<Char>::DoFormat() {
|
||||
writer.buffer_.append(start, s);
|
||||
}
|
||||
|
||||
const char fmt::ColorWriter::RESET[] = "\x1b[0m";
|
||||
void fmt::ColorWriter::operator()(const fmt::BasicWriter<char> &w) const {
|
||||
char escape[] = "\x1b[30m";
|
||||
escape[3] = '0' + color_;
|
||||
std::fputs(escape, stdout);
|
||||
std::fwrite(w.data(), 1, w.size(), stdout);
|
||||
std::fputs(RESET_COLOR, stdout);
|
||||
}
|
||||
|
||||
// Explicit instantiations for char.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user