diff options
author | Andrew Gallant <jamslam@gmail.com> | 2023-11-28 16:14:22 -0500 |
---|---|---|
committer | Andrew Gallant <jamslam@gmail.com> | 2023-11-28 16:17:14 -0500 |
commit | daa157b5f99c064eac7cd4593e4ec07bb8fd9bef (patch) | |
tree | f805306b2b6aaafd1c02fc37aebbf29f2cafca8a /crates | |
parent | ca5e294ad6b64b03c1d2fb4d9ed8c32b73e656ae (diff) |
core: actually implement --sortr=path
This is an embarrassing oversight. A `todo!()` actually made its way
into a release! Oof.
This was working in ripgrep 13, but I had redone some aspects of sorting
and this just got left undone.
Fixes #2664
Diffstat (limited to 'crates')
-rw-r--r-- | crates/core/flags/hiargs.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/crates/core/flags/hiargs.rs b/crates/core/flags/hiargs.rs index 59a178e4..e027a2c9 100644 --- a/crates/core/flags/hiargs.rs +++ b/crates/core/flags/hiargs.rs @@ -771,7 +771,13 @@ impl HiArgs { let Some(ref sort) = self.sort else { return Box::new(haystacks) }; let mut with_timestamps: Vec<_> = match sort.kind { SortModeKind::Path if !sort.reverse => return Box::new(haystacks), - SortModeKind::Path => todo!(), + SortModeKind::Path => { + let mut haystacks = haystacks.collect::<Vec<Haystack>>(); + haystacks.sort_by(|ref h1, ref h2| { + h1.path().cmp(h2.path()).reverse() + }); + return Box::new(haystacks.into_iter()); + } SortModeKind::LastModified => { attach_timestamps(haystacks, |md| md.modified()).collect() } |