feat: don't emit an error if stdout is closed early

This commit is contained in:
CJ van den Berg 2024-02-21 16:49:45 +01:00
parent 01984d21fe
commit edaf3f3cc6

View file

@ -71,13 +71,19 @@ pub fn main() !void {
defer file.close(); defer file.close();
const content = try file.readToEndAlloc(a, std.math.maxInt(u32)); const content = try file.readToEndAlloc(a, std.math.maxInt(u32));
defer a.free(content); defer a.free(content);
try render_file(a, writer, content, arg, &theme, res.args.@"show-language" != 0); render_file(a, writer, content, arg, &theme, res.args.@"show-language" != 0) catch |e| switch (e) {
error.Stop => return,
else => return e,
};
try bw.flush(); try bw.flush();
} }
} else { } else {
const content = try std.io.getStdIn().readToEndAlloc(a, std.math.maxInt(u32)); const content = try std.io.getStdIn().readToEndAlloc(a, std.math.maxInt(u32));
defer a.free(content); defer a.free(content);
try render_file(a, writer, content, "-", &theme, res.args.@"show-language" != 0); render_file(a, writer, content, "-", &theme, res.args.@"show-language" != 0) catch |e| switch (e) {
error.Stop => return,
else => return e,
};
} }
try bw.flush(); try bw.flush();
} }