back interdiff of round #1 and #0

Add toggle to hide file mode, owner and group information #11

open
opened by abeestrada.com targeting main from abeestrada.com/lsr: hide-mode-user-group
files
src
REVERTED
src/main.zig
··· 23 \\ --hyperlinks=WHEN When to use OSC 8 hyperlinks (always, auto, never) 24 \\ --icons=WHEN When to display icons (always, auto, never) 25 \\ -l, --long Display extended file metadata 26 - \\ --mode=WHEN When to display mode (always, auto, never) 27 - \\ --user=WHEN When to display user (always, auto, never) 28 - \\ --group=WHEN When to display group (always, auto, never) 29 \\ -r, --reverse Reverse the sort order 30 \\ -t, --time Sort the entries by modification time, most recent first 31 \\ ··· 41 @"group-directories-first": bool = true, 42 hyperlinks: When = .auto, 43 icons: When = .auto, 44 - mode: When = .auto, 45 - user: When = .auto, 46 - group: When = .auto, 47 long: bool = false, 48 sort_by_mod_time: bool = false, 49 reverse_sort: bool = false, ··· 114 } 115 } 116 117 - fn showMode(self: Options) bool { 118 - switch (self.mode) { 119 - .never => return false, 120 - .always => return true, 121 - .auto => return self.isatty(), 122 - } 123 - } 124 - 125 - fn showUser(self: Options) bool { 126 - switch (self.user) { 127 - .never => return false, 128 - .always => return true, 129 - .auto => return self.isatty(), 130 - } 131 - } 132 - 133 - fn showGroup(self: Options) bool { 134 - switch (self.group) { 135 - .never => return false, 136 - .always => return true, 137 - .auto => return self.isatty(), 138 - } 139 - } 140 - 141 fn useHyperlinks(self: Options) bool { 142 switch (self.hyperlinks) { 143 .never => return false, ··· 242 }; 243 } else if (eql(opt, "icons")) { 244 cmd.opts.icons = std.meta.stringToEnum(Options.When, val) orelse { 245 - try stderr.print("Invalid icons option: '{s}'", .{val}); 246 - std.process.exit(1); 247 - }; 248 - } else if (eql(opt, "mode")) { 249 - cmd.opts.mode = std.meta.stringToEnum(Options.When, val) orelse { 250 - try stderr.print("Invalid mode option: '{s}'", .{val}); 251 - std.process.exit(1); 252 - }; 253 - } else if (eql(opt, "user")) { 254 - cmd.opts.user = std.meta.stringToEnum(Options.When, val) orelse { 255 - try stderr.print("Invalid user option: '{s}'", .{val}); 256 - std.process.exit(1); 257 - }; 258 - } else if (eql(opt, "group")) { 259 - cmd.opts.group = std.meta.stringToEnum(Options.When, val) orelse { 260 - try stderr.print("Invalid group option: '{s}'", .{val}); 261 std.process.exit(1); 262 }; 263 } else if (eql(opt, "columns")) { ··· 549 550 const mode = entry.modeStr(); 551 552 - if (cmd.opts.showMode()) { 553 - try writer.writeAll(&mode); 554 - try writer.writeByte(' '); 555 - } 556 - if (cmd.opts.showUser()) { 557 - try writer.writeAll(user.name); 558 - try writer.writeByteNTimes(' ', longest_user - user.name.len); 559 - try writer.writeByte(' '); 560 - } 561 - if (cmd.opts.showGroup()) { 562 - try writer.writeAll(group.name); 563 - try writer.writeByteNTimes(' ', longest_group - group.name.len); 564 - try writer.writeByte(' '); 565 - } 566 567 var size_buf: [16]u8 = undefined; 568 const size = try entry.humanReadableSize(&size_buf);
··· 23 \\ --hyperlinks=WHEN When to use OSC 8 hyperlinks (always, auto, never) 24 \\ --icons=WHEN When to display icons (always, auto, never) 25 \\ -l, --long Display extended file metadata 26 \\ -r, --reverse Reverse the sort order 27 \\ -t, --time Sort the entries by modification time, most recent first 28 \\ ··· 38 @"group-directories-first": bool = true, 39 hyperlinks: When = .auto, 40 icons: When = .auto, 41 long: bool = false, 42 sort_by_mod_time: bool = false, 43 reverse_sort: bool = false, ··· 108 } 109 } 110 111 fn useHyperlinks(self: Options) bool { 112 switch (self.hyperlinks) { 113 .never => return false, ··· 212 }; 213 } else if (eql(opt, "icons")) { 214 cmd.opts.icons = std.meta.stringToEnum(Options.When, val) orelse { 215 + try stderr.print("Invalid color option: '{s}'", .{val}); 216 std.process.exit(1); 217 }; 218 } else if (eql(opt, "columns")) { ··· 504 505 const mode = entry.modeStr(); 506 507 + try writer.writeAll(&mode); 508 + try writer.writeByte(' '); 509 + try writer.writeAll(user.name); 510 + try writer.writeByteNTimes(' ', longest_user - user.name.len); 511 + try writer.writeByte(' '); 512 + try writer.writeAll(group.name); 513 + try writer.writeByteNTimes(' ', longest_group - group.name.len); 514 + try writer.writeByte(' '); 515 516 var size_buf: [16]u8 = undefined; 517 const size = try entry.humanReadableSize(&size_buf);