this repo has no description

feat: add -r/--reverse to reverse sort order

Suggested-by: @steeltormentor@mastodon.social

rockorager.dev 3b2ea6d0 1cad11d9

verified
+16
+1
README.md
··· 34 34 --hyperlinks=WHEN When to use OSC 8 hyperlinks (always, auto, never) 35 35 --icons=WHEN When to display icons (always, auto, never) 36 36 -l, --long Display extended file metadata 37 + -r, --reverse Reverse the sort order 37 38 -t, --time Sort the entries by modification time, most recent first 38 39 39 40 ```
+3
docs/lsr.1.scd
··· 45 45 *-l*, *--long* 46 46 Display extended file metadata 47 47 48 + *-r*, *--reverse* 49 + Reverse the sort order 50 + 48 51 *-t*, *--time* 49 52 Sort the entries by modification time, most recent first 50 53
+12
src/main.zig
··· 23 23 \\ --hyperlinks=WHEN When to use OSC 8 hyperlinks (always, auto, never) 24 24 \\ --icons=WHEN When to display icons (always, auto, never) 25 25 \\ -l, --long Display extended file metadata 26 + \\ -r, --reverse Reverse the sort order 26 27 \\ -t, --time Sort the entries by modification time, most recent first 27 28 \\ 28 29 ; ··· 39 40 icons: When = .auto, 40 41 long: bool = false, 41 42 sort_by_mod_time: bool = false, 43 + reverse_sort: bool = false, 42 44 43 45 directory: [:0]const u8 = ".", 44 46 ··· 164 166 'C' => cmd.opts.shortview = .columns, 165 167 'a' => cmd.opts.all = true, 166 168 'l' => cmd.opts.long = true, 169 + 'r' => cmd.opts.reverse_sort = true, 167 170 't' => cmd.opts.sort_by_mod_time = true, 168 171 else => { 169 172 try stderr.print("Invalid opt: '{c}'", .{b}); ··· 228 231 try stderr.print("Invalid boolean: '{s}'", .{val}); 229 232 std.process.exit(1); 230 233 }; 234 + } else if (eql(opt, "reverse")) { 235 + cmd.opts.reverse_sort = parseArgBool(val) orelse { 236 + try stderr.print("Invalid boolean: '{s}'", .{val}); 237 + std.process.exit(1); 238 + }; 231 239 } else if (eql(opt, "help")) { 232 240 return stderr.writeAll(usage); 233 241 } else if (eql(opt, "version")) { ··· 282 290 283 291 if (cmd.opts.sort_by_mod_time) { 284 292 std.sort.pdq(Entry, cmd.entries, cmd.opts, Entry.lessThan); 293 + } 294 + 295 + if (cmd.opts.reverse_sort) { 296 + std.mem.reverse(Entry, cmd.entries); 285 297 } 286 298 287 299 if (cmd.opts.long) {