From 6ba7430f6758700f5028db6ff94c7af579ba91a2 Mon Sep 17 00:00:00 2001 From: hankertrix <91734413+hankertrix@users.noreply.github.com> Date: Fri, 28 Jun 2024 00:49:23 +0800 Subject: [PATCH] Add hovered option to remove command --- yazi-core/src/manager/commands/remove.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/yazi-core/src/manager/commands/remove.rs b/yazi-core/src/manager/commands/remove.rs index 8be5b536..886bd476 100644 --- a/yazi-core/src/manager/commands/remove.rs +++ b/yazi-core/src/manager/commands/remove.rs @@ -7,6 +7,7 @@ use crate::{manager::Manager, tasks::Tasks}; pub struct Opt { force: bool, permanently: bool, + hovered: bool, targets: Vec, } @@ -15,6 +16,7 @@ impl From for Opt { Self { force: c.bool("force"), permanently: c.bool("permanently"), + hovered: c.bool("hovered"), targets: c.take_any("targets").unwrap_or_default(), } } @@ -27,7 +29,11 @@ impl Manager { } let mut opt = opt.into() as Opt; - opt.targets = self.selected_or_hovered(false).cloned().collect(); + opt.targets = if opt.hovered { + self.hovered().map(|h| vec![h.clone().url]).unwrap_or_default() + } else { + self.selected_or_hovered(false).cloned().collect() + }; if opt.force { return self.remove_do(opt, tasks);