From 1d15fd96c537a7e507c2271a274ee9e8e045aa40 Mon Sep 17 00:00:00 2001 From: Mika Vilpas Date: Wed, 17 Apr 2024 02:14:48 +0300 Subject: [PATCH] feat: allow opening interactively with the `--chosen-file` flag (#920) Co-authored-by: sxyazi --- yazi-core/src/manager/commands/open.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/yazi-core/src/manager/commands/open.rs b/yazi-core/src/manager/commands/open.rs index 79c31abb..1f1de96e 100644 --- a/yazi-core/src/manager/commands/open.rs +++ b/yazi-core/src/manager/commands/open.rs @@ -9,6 +9,7 @@ use yazi_shared::{emit, event::{Cmd, EventQuit}, fs::{File, Url}, MIME_DIR}; use crate::{folder::Folder, manager::Manager, tasks::Tasks}; +#[derive(Clone, Copy)] pub struct Opt { interactive: bool, hovered: bool, @@ -36,7 +37,7 @@ impl Manager { let selected = if opt.hovered { vec![&hovered] } else { self.selected_or_hovered(true).collect() }; - if Self::quit_with_selected(&selected) { + if Self::quit_with_selected(opt, &selected) { return; } @@ -122,8 +123,8 @@ impl Manager { || find(self.active().history.get(&p)) } - fn quit_with_selected(selected: &[&Url]) -> bool { - if ARGS.chooser_file.is_none() { + fn quit_with_selected(opt: Opt, selected: &[&Url]) -> bool { + if opt.interactive || ARGS.chooser_file.is_none() { return false; }