From c343494093132a38a4147a3b21af0d608d13e99e Mon Sep 17 00:00:00 2001 From: sxyazi Date: Tue, 16 Jan 2024 08:13:43 +0800 Subject: [PATCH] fix: renaming may cause a crash when encountering Unicode characters --- yazi-core/src/manager/commands/rename.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/yazi-core/src/manager/commands/rename.rs b/yazi-core/src/manager/commands/rename.rs index fd517127..41ede85a 100644 --- a/yazi-core/src/manager/commands/rename.rs +++ b/yazi-core/src/manager/commands/rename.rs @@ -64,7 +64,12 @@ impl Manager { let name = Self::empty_url_part(&hovered, opt.empty); let cursor = match opt.cursor { "start" => Some(0), - "before_ext" => name.rfind('.').filter(|&n| n != 0), + "before_ext" => name + .chars() + .rev() + .position(|c| c == '.') + .map(|i| name.chars().count() - i - 1) + .filter(|&i| i != 0), _ => None, };