diff --git a/yazi-core/src/completion/commands/show.rs b/yazi-core/src/completion/commands/show.rs index b5b61c1f..0ba8a25d 100644 --- a/yazi-core/src/completion/commands/show.rs +++ b/yazi-core/src/completion/commands/show.rs @@ -26,10 +26,12 @@ impl From for Opt { impl Completion { fn match_candidates(word: &str, cache: &[String]) -> Vec { + let smart = word.chars().all(|c| c.is_lowercase()); + let flow = cache.iter().try_fold( (Vec::with_capacity(LIMIT), Vec::with_capacity(LIMIT)), |(mut prefixed, mut fuzzy), s| { - if s.starts_with(word) { + if (smart && s.to_lowercase().starts_with(word)) || (!smart && s.starts_with(word)) { if s != word { prefixed.push(s); if prefixed.len() >= LIMIT {