/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: ConsoleMessage.cpp Date: 2021-6-12 Author: Reece ***/ #include #include "ConsoleMessage.hpp" namespace Aurora::Console { static AuArray(EAnsiColor::eCount)> kAnsiCheats { "\033[0;31m", "\033[1;31m", "\033[0;32m", "\033[1;32m", "\033[0;33m", "\033[1;33m" "\033[0;34m", "\033[1;34m", "\033[0;35m", "\033[1;35m", "\033[0;36m", "\033[1;36m", "\033[0m", "\033[0m" }; AuString ConsoleMessage::StringifyTime(bool simple) const { std::tm localized; Aurora::Time::ToCivilTime(time, false).CopyTo(localized); if (simple) { return fmt::format("{:%H:%M:%S}", localized); } else { return fmt::format("{:%Y-%m-%d %H:%M:%S}", localized); } } AuString ConsoleMessage::GetWrappedTag() const { return "[" + prefix + "]"; } AuString ConsoleMessage::ToConsole() const { return fmt::format("{}[{}] {:<7} | {}{}", kAnsiCheats[static_cast(color)], StringifyTime(), GetWrappedTag(), line, kAnsiCheats[static_cast(EAnsiColor::eReset)]); } AuString ConsoleMessage::ToSimplified() const { return fmt::format("{:<9} {:<7} | {}", StringifyTime(true), GetWrappedTag(), line); } }