diff --git a/yazi-actor/src/input/close.rs b/yazi-actor/src/input/close.rs index f5529726..d45f643a 100644 --- a/yazi-actor/src/input/close.rs +++ b/yazi-actor/src/input/close.rs @@ -21,7 +21,9 @@ impl Actor for Close { if let Some(tx) = input.tx.take() { let value = input.snap().value.clone(); if form.submit { - yazi_widgets::input::INPUT_HISTORY.lock().unwrap().push(value.clone()); + if !input.obscure { + yazi_widgets::input::INPUT_HISTORY.lock().unwrap().push(value.clone()); + } _ = tx.send(InputEvent::Submit(value)); } else { _ = tx.send(InputEvent::Cancel(value)); diff --git a/yazi-widgets/src/input/actor/history.rs b/yazi-widgets/src/input/actor/history.rs index 7c985eb3..c982e521 100644 --- a/yazi-widgets/src/input/actor/history.rs +++ b/yazi-widgets/src/input/actor/history.rs @@ -6,7 +6,7 @@ use crate::input::{INPUT_HISTORY, Input, InputOp, parser::HistoryOpt}; impl Input { pub fn history(&mut self, opt: HistoryOpt) -> Result { - if self.snap().op != InputOp::None { + if self.snap().op != InputOp::None || self.obscure { succ!(); }