mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2024-12-02 02:56:32 +02:00
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
This commit is contained in:
parent
ca5e294ad6
commit
daa157b5f9
10
CHANGELOG.md
10
CHANGELOG.md
@ -1,3 +1,13 @@
|
||||
14.0.3 (2023-11-28)
|
||||
===================
|
||||
This is a patch release with a bug fix for the `--sortr` flag.
|
||||
|
||||
Bug fixes:
|
||||
|
||||
* [BUG #2664](https://github.com/BurntSushi/ripgrep/issues/2664):
|
||||
Fix `--sortr=path`. I left a `todo!()` in the source. Oof.
|
||||
|
||||
|
||||
14.0.2 (2023-11-27)
|
||||
===================
|
||||
This is a patch release with a few small bug fixes.
|
||||
|
@ -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()
|
||||
}
|
||||
|
@ -356,6 +356,17 @@ rgtest!(f263_sort_files, |dir: Dir, mut cmd: TestCommand| {
|
||||
eqnice!(expected, cmd.arg("--sort-files").arg("test").stdout());
|
||||
});
|
||||
|
||||
// See: https://github.com/BurntSushi/ripgrep/issues/263
|
||||
rgtest!(f263_sort_files_reverse, |dir: Dir, mut cmd: TestCommand| {
|
||||
dir.create("foo", "test");
|
||||
dir.create("abc", "test");
|
||||
dir.create("zoo", "test");
|
||||
dir.create("bar", "test");
|
||||
|
||||
let expected = "zoo:test\nfoo:test\nbar:test\nabc:test\n";
|
||||
eqnice!(expected, cmd.arg("--sortr=path").arg("test").stdout());
|
||||
});
|
||||
|
||||
// See: https://github.com/BurntSushi/ripgrep/issues/275
|
||||
rgtest!(f275_pathsep, |dir: Dir, mut cmd: TestCommand| {
|
||||
dir.create_dir("foo");
|
||||
|
Loading…
Reference in New Issue
Block a user