feat: print header

This commit is contained in:
2024-09-09 22:23:43 +02:00
parent bfd0e1fd0b
commit b64ae0490f
2 changed files with 23 additions and 7 deletions

View File

@@ -100,7 +100,7 @@ pub fn printTable(file: CsvFile) !void {
defer alloc.free(col_sizes); defer alloc.free(col_sizes);
for (0..col_nums) |i| { for (0..col_nums) |i| {
col_sizes[i] = 0; col_sizes[i] = file.header.items[i].len;
} }
for (file.entries.items) |entry| { for (file.entries.items) |entry| {
for (0..col_nums) |i| { for (0..col_nums) |i| {
@@ -113,12 +113,31 @@ pub fn printTable(file: CsvFile) !void {
_ = dimensions; _ = dimensions;
std.debug.print("{any}\n", .{col_sizes});
var complete_length = col_nums + 1; var complete_length = col_nums + 1;
for (col_sizes) |col_size| { for (col_sizes) |col_size| {
complete_length += 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) |_| { for (0..complete_length) |_| {
try stdout.print("-", .{}); try stdout.print("-", .{});
} }

View File

@@ -24,11 +24,8 @@ pub fn main() !void {
var file = try csv.loadFile(filepath); var file = try csv.loadFile(filepath);
const valid = file.isValid(); const valid = file.isValid();
if (valid) { if (!valid) return;
_ = try stdout.write("Csv is valid\n");
} else {
_ = try stdout.write("Csv is not valid\n");
}
_ = try bw.flush(); _ = try bw.flush();
try csv.printTable(file); try csv.printTable(file);