From 053426a489041cec1d270175402de0701117d82a Mon Sep 17 00:00:00 2001 From: darcy Date: Wed, 8 Jan 2025 13:32:15 +1100 Subject: [PATCH] fix: panic replacing character in empty input --- yazi-core/src/input/commands/replace.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/yazi-core/src/input/commands/replace.rs b/yazi-core/src/input/commands/replace.rs index 20bc708a..d5e2c6c3 100644 --- a/yazi-core/src/input/commands/replace.rs +++ b/yazi-core/src/input/commands/replace.rs @@ -17,8 +17,14 @@ impl Input { pub fn replace_str(&mut self, s: &str) { let snap = self.snap_mut(); + if snap.value.is_empty() { + snap.mode = InputMode::Normal; + render!(); + return; + } + let start = snap.idx(snap.cursor).unwrap(); - let end = snap.idx(snap.cursor + 1).unwrap(); // FIXME: panic if the input is empty while in replace mode + let end = snap.idx(snap.cursor + 1).unwrap(); snap.mode = InputMode::Normal; snap.value.replace_range(start..end, s);