mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 23:47:42 +00:00
Massive fmtlib refactor
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
#define BOLD "\033[1m"
|
||||
#define NORMAL "\033[0m"
|
||||
#define PREV_LINE "\r\033[%dA"
|
||||
#define PREV_LINE "\r\033[{:d}A"
|
||||
#define HIDE_CURSOR "\033[?25l"
|
||||
#define SHOW_CURSOR "\033[?25h"
|
||||
|
||||
@@ -33,46 +33,46 @@ void MultiProgressPrinter::ThreadStat::print(const TermInfo& tinfo) const {
|
||||
|
||||
if (submessageLen) {
|
||||
if (messageLen > half - submessageLen - 1)
|
||||
hecl::Printf(_SYS_STR(" %.*s... %s "), half - submessageLen - 4, m_message.c_str(), m_submessage.c_str());
|
||||
fmt::print(fmt(_SYS_STR(" {:.{}}... {} ")), m_message, half - submessageLen - 4, m_submessage);
|
||||
else {
|
||||
hecl::Printf(_SYS_STR(" %s"), m_message.c_str());
|
||||
fmt::print(fmt(_SYS_STR(" {}")), m_message);
|
||||
for (int i = half - messageLen - submessageLen - 1; i >= 0; --i)
|
||||
hecl::Printf(_SYS_STR(" "));
|
||||
hecl::Printf(_SYS_STR("%s "), m_submessage.c_str());
|
||||
fmt::print(fmt(_SYS_STR(" ")));
|
||||
fmt::print(fmt(_SYS_STR("{} ")), m_submessage);
|
||||
}
|
||||
} else {
|
||||
if (messageLen > half)
|
||||
hecl::Printf(_SYS_STR(" %.*s... "), half - 3, m_message.c_str());
|
||||
fmt::print(fmt(_SYS_STR(" {:.{}}... ")), m_message, half - 3);
|
||||
else {
|
||||
hecl::Printf(_SYS_STR(" %s"), m_message.c_str());
|
||||
fmt::print(fmt(_SYS_STR(" {}")), m_message);
|
||||
for (int i = half - messageLen; i >= 0; --i)
|
||||
hecl::Printf(_SYS_STR(" "));
|
||||
fmt::print(fmt(_SYS_STR(" ")));
|
||||
}
|
||||
}
|
||||
|
||||
if (blocks) {
|
||||
int rightHalf = tinfo.width - half - 4;
|
||||
int blocks = rightHalf - 7;
|
||||
int filled = blocks * factor;
|
||||
int rem = blocks - filled;
|
||||
int nblocks = rightHalf - 7;
|
||||
int filled = nblocks * factor;
|
||||
int rem = nblocks - filled;
|
||||
|
||||
if (tinfo.xtermColor) {
|
||||
hecl::Printf(_SYS_STR("" BOLD "%3d%% ["), iFactor);
|
||||
fmt::print(fmt(_SYS_STR("" BOLD "{:3d}% [")), iFactor);
|
||||
for (int b = 0; b < filled; ++b)
|
||||
hecl::Printf(_SYS_STR("#"));
|
||||
fmt::print(fmt(_SYS_STR("#")));
|
||||
for (int b = 0; b < rem; ++b)
|
||||
hecl::Printf(_SYS_STR("-"));
|
||||
hecl::Printf(_SYS_STR("]" NORMAL ""));
|
||||
fmt::print(fmt(_SYS_STR("-")));
|
||||
fmt::print(fmt(_SYS_STR("]" NORMAL "")));
|
||||
} else {
|
||||
#if _WIN32
|
||||
SetConsoleTextAttribute(tinfo.console, FOREGROUND_INTENSITY | FOREGROUND_WHITE);
|
||||
#endif
|
||||
hecl::Printf(_SYS_STR("%3d%% ["), iFactor);
|
||||
fmt::print(fmt(_SYS_STR("{:3d}% [")), iFactor);
|
||||
for (int b = 0; b < filled; ++b)
|
||||
hecl::Printf(_SYS_STR("#"));
|
||||
fmt::print(fmt(_SYS_STR("#")));
|
||||
for (int b = 0; b < rem; ++b)
|
||||
hecl::Printf(_SYS_STR("-"));
|
||||
hecl::Printf(_SYS_STR("]"));
|
||||
fmt::print(fmt(_SYS_STR("-")));
|
||||
fmt::print(fmt(_SYS_STR("]")));
|
||||
#if _WIN32
|
||||
SetConsoleTextAttribute(tinfo.console, FOREGROUND_WHITE);
|
||||
#endif
|
||||
@@ -95,24 +95,24 @@ void MultiProgressPrinter::DrawIndeterminateBar() {
|
||||
int rem = blocks - pre - 1;
|
||||
|
||||
if (m_termInfo.xtermColor) {
|
||||
hecl::Printf(_SYS_STR("" BOLD " ["));
|
||||
fmt::print(fmt(_SYS_STR("" BOLD " [")));
|
||||
for (int b = 0; b < pre; ++b)
|
||||
hecl::Printf(_SYS_STR("-"));
|
||||
hecl::Printf(_SYS_STR("#"));
|
||||
fmt::print(fmt(_SYS_STR("-")));
|
||||
fmt::print(fmt(_SYS_STR("#")));
|
||||
for (int b = 0; b < rem; ++b)
|
||||
hecl::Printf(_SYS_STR("-"));
|
||||
hecl::Printf(_SYS_STR("]" NORMAL ""));
|
||||
fmt::print(fmt(_SYS_STR("-")));
|
||||
fmt::print(fmt(_SYS_STR("]" NORMAL "")));
|
||||
} else {
|
||||
#if _WIN32
|
||||
SetConsoleTextAttribute(m_termInfo.console, FOREGROUND_INTENSITY | FOREGROUND_WHITE);
|
||||
#endif
|
||||
hecl::Printf(_SYS_STR(" ["));
|
||||
fmt::print(fmt(_SYS_STR(" [")));
|
||||
for (int b = 0; b < pre; ++b)
|
||||
hecl::Printf(_SYS_STR("-"));
|
||||
hecl::Printf(_SYS_STR("#"));
|
||||
fmt::print(fmt(_SYS_STR("-")));
|
||||
fmt::print(fmt(_SYS_STR("#")));
|
||||
for (int b = 0; b < rem; ++b)
|
||||
hecl::Printf(_SYS_STR("-"));
|
||||
hecl::Printf(_SYS_STR("]"));
|
||||
fmt::print(fmt(_SYS_STR("-")));
|
||||
fmt::print(fmt(_SYS_STR("]")));
|
||||
#if _WIN32
|
||||
SetConsoleTextAttribute(m_termInfo.console, FOREGROUND_WHITE);
|
||||
#endif
|
||||
@@ -122,7 +122,7 @@ void MultiProgressPrinter::DrawIndeterminateBar() {
|
||||
void MultiProgressPrinter::MoveCursorUp(int n) {
|
||||
if (n) {
|
||||
if (m_termInfo.xtermColor) {
|
||||
hecl::Printf(_SYS_STR("" PREV_LINE ""), n);
|
||||
fmt::print(fmt(_SYS_STR("" PREV_LINE "")), n);
|
||||
}
|
||||
#if _WIN32
|
||||
else {
|
||||
@@ -134,7 +134,7 @@ void MultiProgressPrinter::MoveCursorUp(int n) {
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
hecl::Printf(_SYS_STR("\r"));
|
||||
fmt::print(fmt(_SYS_STR("\r")));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ void MultiProgressPrinter::DoPrint() {
|
||||
SetConsoleCursorInfo(m_termInfo.console, &cursorInfo);
|
||||
#endif
|
||||
if (m_termInfo.xtermColor)
|
||||
hecl::Printf(_SYS_STR("" HIDE_CURSOR ""));
|
||||
fmt::print(fmt(_SYS_STR("" HIDE_CURSOR "")));
|
||||
|
||||
if (m_dirty) {
|
||||
m_termInfo.width = (hecl::GuiMode ? 120 : std::max(80, hecl::ConsoleWidth(&m_termInfo.truncate)));
|
||||
@@ -163,7 +163,7 @@ void MultiProgressPrinter::DoPrint() {
|
||||
for (const ThreadStat& stat : m_threadStats) {
|
||||
if (stat.m_active) {
|
||||
stat.print(m_termInfo);
|
||||
hecl::Printf(_SYS_STR("\n"));
|
||||
fmt::print(fmt(_SYS_STR("\n")));
|
||||
++m_curThreadLines;
|
||||
}
|
||||
}
|
||||
@@ -174,7 +174,7 @@ void MultiProgressPrinter::DoPrint() {
|
||||
#endif
|
||||
) {
|
||||
DrawIndeterminateBar();
|
||||
hecl::Printf(_SYS_STR("\n"));
|
||||
fmt::print(fmt(_SYS_STR("\n")));
|
||||
++m_curProgLines;
|
||||
} else if (m_mainFactor >= 0.f) {
|
||||
float factor = std::max(0.0f, std::min(1.0f, m_mainFactor));
|
||||
@@ -186,34 +186,34 @@ void MultiProgressPrinter::DoPrint() {
|
||||
int rem = blocks - filled;
|
||||
|
||||
if (m_termInfo.xtermColor) {
|
||||
hecl::Printf(_SYS_STR("" BOLD " %3d%% ["), iFactor);
|
||||
fmt::print(fmt(_SYS_STR("" BOLD " {:3d}% [")), iFactor);
|
||||
for (int b = 0; b < filled; ++b)
|
||||
hecl::Printf(_SYS_STR("#"));
|
||||
fmt::print(fmt(_SYS_STR("#")));
|
||||
for (int b = 0; b < rem; ++b)
|
||||
hecl::Printf(_SYS_STR("-"));
|
||||
hecl::Printf(_SYS_STR("]" NORMAL ""));
|
||||
fmt::print(fmt(_SYS_STR("-")));
|
||||
fmt::print(fmt(_SYS_STR("]" NORMAL "")));
|
||||
} else {
|
||||
#if _WIN32
|
||||
SetConsoleTextAttribute(m_termInfo.console, FOREGROUND_INTENSITY | FOREGROUND_WHITE);
|
||||
#endif
|
||||
hecl::Printf(_SYS_STR(" %3d%% ["), iFactor);
|
||||
fmt::print(fmt(_SYS_STR(" {:3d}% [")), iFactor);
|
||||
for (int b = 0; b < filled; ++b)
|
||||
hecl::Printf(_SYS_STR("#"));
|
||||
fmt::print(fmt(_SYS_STR("#")));
|
||||
for (int b = 0; b < rem; ++b)
|
||||
hecl::Printf(_SYS_STR("-"));
|
||||
hecl::Printf(_SYS_STR("]"));
|
||||
fmt::print(fmt(_SYS_STR("-")));
|
||||
fmt::print(fmt(_SYS_STR("]")));
|
||||
#if _WIN32
|
||||
SetConsoleTextAttribute(m_termInfo.console, FOREGROUND_WHITE);
|
||||
#endif
|
||||
}
|
||||
|
||||
hecl::Printf(_SYS_STR("\n"));
|
||||
fmt::print(fmt(_SYS_STR("\n")));
|
||||
++m_curProgLines;
|
||||
}
|
||||
} else if (m_latestThread != -1) {
|
||||
const ThreadStat& stat = m_threadStats[m_latestThread];
|
||||
stat.print(m_termInfo);
|
||||
hecl::Printf(_SYS_STR("\r"));
|
||||
fmt::print(fmt(_SYS_STR("\r")));
|
||||
}
|
||||
m_dirty = false;
|
||||
} else if (m_mainIndeterminate
|
||||
@@ -225,12 +225,12 @@ void MultiProgressPrinter::DoPrint() {
|
||||
MoveCursorUp(m_curProgLines);
|
||||
m_curProgLines = 0;
|
||||
DrawIndeterminateBar();
|
||||
hecl::Printf(_SYS_STR("\n"));
|
||||
fmt::print(fmt(_SYS_STR("\n")));
|
||||
++m_curProgLines;
|
||||
}
|
||||
|
||||
if (m_termInfo.xtermColor)
|
||||
hecl::Printf(_SYS_STR("" SHOW_CURSOR ""));
|
||||
fmt::print(fmt(_SYS_STR("" SHOW_CURSOR "")));
|
||||
fflush(stdout);
|
||||
|
||||
#if _WIN32
|
||||
@@ -331,7 +331,7 @@ void MultiProgressPrinter::startNewLine() const {
|
||||
m_curThreadLines = 0;
|
||||
m_mainFactor = -1.f;
|
||||
auto logLk = logvisor::LockLog();
|
||||
hecl::Printf(_SYS_STR("\n"));
|
||||
fmt::print(fmt(_SYS_STR("\n")));
|
||||
}
|
||||
|
||||
void MultiProgressPrinter::flush() const {
|
||||
|
||||
Reference in New Issue
Block a user