authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2022-03-07 21:21:33 -08:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2022-03-07 21:21:33 -08:00
log1d25308c800ca833ecc9e96fa22df601464dcb4e
tree4b2a6c533fde57e71777b68a49e0d756ef8b33ff
parent2722fd1f247a5db7f6371dbaa778fa0d59510b9b

cmd/license- make it not print ansi codes on 'dumb' terminals


1 files changed, 19 insertions(+), 9 deletions(-)

src/cmd/license.zig+19-9
......@@ -59,32 +59,42 @@ pub fn execute(args: [][]u8) !void {
5959 try tracking_list.append(item);
6060 }
6161
62 const stdout = std.io.getStdOut();
63 const istty = stdout.isTty();
64 const writer = stdout.writer();
65 const Bold = if (!istty) "" else style.Bold;
66 const Faint = if (!istty) "" else style.Faint;
67 const ResetIntensity = if (!istty) "" else style.ResetIntensity;
68
6269 var first = true;
6370 var iter = map.iterator();
6471 while (iter.next()) |entry| {
6572 if (!first) std.debug.print("\n", .{});
6673 first = false;
67 std.debug.print(style.Bold ++ "{s}:\n", .{entry.key_ptr.*});
74 try writer.writeAll(Bold);
75 try writer.print("{s}:\n", .{entry.key_ptr.*});
6876 if (u.list_contains(licenses.spdx, entry.key_ptr.*)) {
69 std.debug.print(style.Faint ++ "= {s}{s}\n", .{ "https://spdx.org/licenses/", entry.key_ptr.* });
77 try writer.writeAll(Faint);
78 try writer.print("= {s}{s}\n", .{ "https://spdx.org/licenses/", entry.key_ptr.* });
7079 }
71 std.debug.print(style.ResetIntensity, .{});
80 try writer.writeAll(ResetIntensity);
7281 for (entry.value_ptr.*.items) |item| {
7382 if (std.mem.eql(u8, item.clean_path, "../..")) {
74 std.debug.print("- This\n", .{});
83 try writer.print("- This\n", .{});
7584 } else {
76 std.debug.print("- {s} {s}\n", .{ @tagName(item.dep.?.type), item.dep.?.path });
85 try writer.print("- {s} {s}\n", .{ @tagName(item.dep.?.type), item.dep.?.path });
7786 }
7887 }
7988 }
8089 if (unspecified_list.items.len > 0) {
81 std.debug.print(style.Bold ++ "Unspecified:\n", .{});
82 std.debug.print(style.ResetIntensity, .{});
90 try writer.writeAll(Bold);
91 try writer.print("Unspecified:\n", .{});
92 try writer.writeAll(ResetIntensity);
8393 for (unspecified_list.items) |item| {
8494 if (std.mem.eql(u8, item.clean_path, "../..")) {
85 std.debug.print("- This\n", .{});
95 try writer.print("- This\n", .{});
8696 } else {
87 std.debug.print("- {s} {s}\n", .{ @tagName(item.dep.?.type), item.dep.?.path });
97 try writer.print("- {s} {s}\n", .{ @tagName(item.dep.?.type), item.dep.?.path });
8898 }
8999 }
90100 }