From b135bed29cafdf2baad8660ad87d8518c6783bf8 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 21 Apr 2025 20:52:32 +1200 Subject: [PATCH] nice --- src/tableprint.cpp | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/tableprint.cpp b/src/tableprint.cpp index 47ce820..cb00d54 100644 --- a/src/tableprint.cpp +++ b/src/tableprint.cpp @@ -27,7 +27,7 @@ void tableprint::print() { } // Print top border - std::wcout << L"\033[37m"; // Light grey color for borders + std::wcout << L"\033[90m"; // Dark grey color for borders std::wcout << L"┌"; for (size_t i = 0; i < rows[0].size(); ++i) { std::wcout << std::wstring(col_widths[i] + 2, L'─'); @@ -41,9 +41,9 @@ void tableprint::print() { for (size_t i = 0; i < rows[0].size(); ++i) { std::wcout << L" " << std::setw(col_widths[i]) << std::left << std::wstring(rows[0][i].begin(), rows[0][i].end()) << L" "; if (i < rows[0].size() - 1) { - std::wcout << L"\033[37m│\033[1;36m"; // Border color then back to cyan + std::wcout << L"\033[90m│\033[1;36m"; // Border color then back to cyan } else { - std::wcout << L"\033[37m│"; // Just border color for last column + std::wcout << L"\033[90m│"; // Just border color for last column } } std::wcout << std::endl; @@ -64,14 +64,24 @@ void tableprint::print() { std::string cell = row[i]; // Replace :tick: and :cross: with colored symbols if (cell == ":tick:") { - std::wcout << L" " << L"\033[1;32m" << std::setw(col_widths[i]) << std::left << L"✓" << L"\033[37m" << L" │"; + std::wcout << L" " << L"\033[1;32m" << std::setw(col_widths[i]) << std::left << L"✓" << L"\033[90m" << L" │"; } else if (cell == ":cross:") { - std::wcout << L" " << L"\033[1;31m" << std::setw(col_widths[i]) << std::left << L"✗" << L"\033[37m" << L" │"; + std::wcout << L" " << L"\033[1;31m" << std::setw(col_widths[i]) << std::left << L"✗" << L"\033[90m" << L" │"; } else { - std::wcout << L" " << std::setw(col_widths[i]) << std::left << std::wstring(cell.begin(), cell.end()) << L" │"; + std::wcout << L" " << L"\033[37m" << std::setw(col_widths[i]) << std::left << std::wstring(cell.begin(), cell.end()) << L"\033[90m" << L" │"; } } std::wcout << std::endl; + + // Print row separator if not the last row + if (row_idx < rows.size() - 1) { + std::wcout << L"├"; + for (size_t i = 0; i < rows[0].size(); ++i) { + std::wcout << std::wstring(col_widths[i] + 2, L'─'); + if (i < rows[0].size() - 1) std::wcout << L"┼"; + } + std::wcout << L"┤" << std::endl; + } } // Print bottom border