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);
|
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("-", .{});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user