cosmentic
This commit is contained in:
parent
b954338cf5
commit
27e3e5fab3
@ -1,8 +1,13 @@
|
|||||||
#include "tableprint.hpp"
|
#include "tableprint.hpp"
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#include <locale>
|
||||||
|
#include <cwchar>
|
||||||
|
|
||||||
tableprint::tableprint() {}
|
tableprint::tableprint() {
|
||||||
|
// Set locale for wide character support
|
||||||
|
std::setlocale(LC_ALL, "");
|
||||||
|
}
|
||||||
|
|
||||||
tableprint::~tableprint() {}
|
tableprint::~tableprint() {}
|
||||||
|
|
||||||
@ -21,33 +26,55 @@ void tableprint::print() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Print header
|
// Print top border
|
||||||
std::cout << "\033[1;36m"; // Cyan color for header
|
std::wcout << L"\033[37m"; // Light grey color for borders
|
||||||
|
std::wcout << L"┌";
|
||||||
for (size_t i = 0; i < rows[0].size(); ++i) {
|
for (size_t i = 0; i < rows[0].size(); ++i) {
|
||||||
std::cout << std::setw(col_widths[i] + 2) << std::left << rows[0][i];
|
std::wcout << std::wstring(col_widths[i] + 2, L'─');
|
||||||
|
if (i < rows[0].size() - 1) std::wcout << L"┬";
|
||||||
}
|
}
|
||||||
std::cout << "\033[0m" << std::endl; // Reset color
|
std::wcout << L"┐" << std::endl;
|
||||||
|
|
||||||
// Print separator
|
// Print header
|
||||||
|
std::wcout << L"│";
|
||||||
|
std::wcout << L"\033[1;36m"; // Cyan color for header
|
||||||
for (size_t i = 0; i < rows[0].size(); ++i) {
|
for (size_t i = 0; i < rows[0].size(); ++i) {
|
||||||
std::cout << std::string(col_widths[i] + 2, '-');
|
std::wcout << L" " << std::setw(col_widths[i]) << std::left << std::wstring(rows[0][i].begin(), rows[0][i].end()) << L" ";
|
||||||
|
std::wcout << L"\033[37m│"; // Reset to border color
|
||||||
}
|
}
|
||||||
std::cout << std::endl;
|
std::wcout << std::endl;
|
||||||
|
|
||||||
|
// Print header separator
|
||||||
|
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 rows
|
// Print rows
|
||||||
for (size_t row_idx = 1; row_idx < rows.size(); ++row_idx) {
|
for (size_t row_idx = 1; row_idx < rows.size(); ++row_idx) {
|
||||||
const auto& row = rows[row_idx];
|
const auto& row = rows[row_idx];
|
||||||
|
std::wcout << L"│";
|
||||||
for (size_t i = 0; i < row.size(); ++i) {
|
for (size_t i = 0; i < row.size(); ++i) {
|
||||||
std::string cell = row[i];
|
std::string cell = row[i];
|
||||||
// Replace :tick: and :cross: with colored symbols
|
// Replace :tick: and :cross: with colored symbols
|
||||||
if (cell == ":tick:") {
|
if (cell == ":tick:") {
|
||||||
std::cout << "\033[1;32m" << std::setw(col_widths[i] + 2) << std::left << "✓" << "\033[0m";
|
std::wcout << L" " << L"\033[1;32m" << std::setw(col_widths[i]) << std::left << L"✓" << L"\033[37m" << L" │";
|
||||||
} else if (cell == ":cross:") {
|
} else if (cell == ":cross:") {
|
||||||
std::cout << "\033[1;31m" << std::setw(col_widths[i] + 2) << std::left << "✗" << "\033[0m";
|
std::wcout << L" " << L"\033[1;31m" << std::setw(col_widths[i]) << std::left << L"✗" << L"\033[37m" << L" │";
|
||||||
} else {
|
} else {
|
||||||
std::cout << std::setw(col_widths[i] + 2) << std::left << cell;
|
std::wcout << L" " << std::setw(col_widths[i]) << std::left << std::wstring(cell.begin(), cell.end()) << L" │";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
std::cout << std::endl;
|
std::wcout << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Print bottom border
|
||||||
|
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"┘" << L"\033[0m" << std::endl; // Reset color
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user