fix: don't check if has a hovered file in advance, only do so when --hovered is explicitly specified (#2105)

This commit is contained in:
三咲雅 · Misaki Masa 2024-12-28 00:58:54 +08:00 committed by GitHub
parent 94128b45fc
commit 2770e0259c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 9 deletions

View file

@ -28,17 +28,16 @@ impl Manager {
if !self.active_mut().try_escape_visual() {
return;
}
let Some(hovered) = self.hovered().map(|h| &h.url) else {
return;
};
opt.targets = if opt.hovered {
vec![hovered.clone()]
self.hovered().map_or(vec![], |h| vec![h.url.clone()])
} else {
self.selected_or_hovered(true).cloned().collect()
};
if opt.force {
if opt.targets.is_empty() {
return;
} else if opt.force {
return self.remove_do(opt, tasks);
}

View file

@ -33,15 +33,14 @@ impl Manager {
pub fn rename(&mut self, opt: Opt) {
if !self.active_mut().try_escape_visual() {
return;
} else if !opt.hovered && !self.active().selected.is_empty() {
return self.bulk_rename();
}
let Some(hovered) = self.hovered().map(|h| h.url_owned()) else {
return;
};
if !opt.hovered && !self.active().selected.is_empty() {
return self.bulk_rename();
}
let name = Self::empty_url_part(&hovered, &opt.empty);
let cursor = match opt.cursor.as_ref() {
"start" => Some(0),