diff --git a/crates/service/src/helpers.rs b/crates/service/src/helpers.rs index 0e55483..e57f2c3 100644 --- a/crates/service/src/helpers.rs +++ b/crates/service/src/helpers.rs @@ -49,9 +49,15 @@ pub fn fuzzy_search(haystack: impl IntoIterator, needle: &str) -> O where S: AsRef, { - use fuzzy_matcher::{FuzzyMatcher, skim::SkimMatcherV2}; + use fuzzy_matcher::{ + FuzzyMatcher, + skim::{SkimMatcherV2, SkimScoreConfig}, + }; - let matcher = SkimMatcherV2::default(); + let matcher = SkimMatcherV2::default().score_config(SkimScoreConfig { + bonus_head: -12, + ..Default::default() + }); haystack .into_iter() .filter_map(|name| { @@ -59,7 +65,7 @@ where .fuzzy_match(name.as_ref(), needle) .map(|score| (score, name)) }) - .max_by_key(|(score, _)| *score) + .min_by_key(|(score, _)| *score) .map(|(_, guess)| guess) }