mirror of
https://github.com/Tilo-K/csvu.git
synced 2026-01-09 16:11:02 +00:00
feat: print header
This commit is contained in:
23
src/csv.zig
23
src/csv.zig
@@ -100,7 +100,7 @@ pub fn printTable(file: CsvFile) !void {
|
||||
defer alloc.free(col_sizes);
|
||||
|
||||
for (0..col_nums) |i| {
|
||||
col_sizes[i] = 0;
|
||||
col_sizes[i] = file.header.items[i].len;
|
||||
}
|
||||
for (file.entries.items) |entry| {
|
||||
for (0..col_nums) |i| {
|
||||
@@ -113,12 +113,31 @@ pub fn printTable(file: CsvFile) !void {
|
||||
|
||||
_ = dimensions;
|
||||
|
||||
std.debug.print("{any}\n", .{col_sizes});
|
||||
var complete_length = col_nums + 1;
|
||||
for (col_sizes) |col_size| {
|
||||
complete_length += col_size;
|
||||
}
|
||||
|
||||
for (0..complete_length) |_| {
|
||||
try stdout.print("-", .{});
|
||||
}
|
||||
try stdout.print("\n|", .{});
|
||||
|
||||
for (0..col_nums) |i| {
|
||||
const out = file.header.items[i];
|
||||
const missing = col_sizes[i] - out.len;
|
||||
|
||||
_ = try stdout.writeAll(out);
|
||||
|
||||
for (0..missing) |_| {
|
||||
_ = try stdout.writeAll(" ");
|
||||
}
|
||||
_ = try stdout.writeAll("|");
|
||||
}
|
||||
|
||||
_ = try stdout.writeAll("\n");
|
||||
_ = try bw.flush();
|
||||
|
||||
for (0..complete_length) |_| {
|
||||
try stdout.print("-", .{});
|
||||
}
|
||||
|
||||
@@ -24,11 +24,8 @@ pub fn main() !void {
|
||||
|
||||
var file = try csv.loadFile(filepath);
|
||||
const valid = file.isValid();
|
||||
if (valid) {
|
||||
_ = try stdout.write("Csv is valid\n");
|
||||
} else {
|
||||
_ = try stdout.write("Csv is not valid\n");
|
||||
}
|
||||
if (!valid) return;
|
||||
|
||||
_ = try bw.flush();
|
||||
|
||||
try csv.printTable(file);
|
||||
|
||||
Reference in New Issue
Block a user