@@ -469,34 +469,41 @@ impl<T: Item> Picker<T> {
470 self.matches.sort_unstable();
470 self.matches.sort_unstable();
472− let query = FuzzyQuery::new(pattern);
472+ self.force_score();
473− self.matches.clear();
474− self.matches.extend(
478− .filter_map(|(index, option)| {
479− let text = option.filter_text(&self.editor_data);
482− .fuzzy_match(&text, &self.matcher)
483− .map(|score| PickerMatch {
486− len: text.chars().count(),
490− self.matches.sort_unstable();
493 log::debug!("picker score {:?}", Instant::now().duration_since(now));
475 log::debug!("picker score {:?}", Instant::now().duration_since(now));
495 // reset cursor position
477 // reset cursor position
496 self.cursor = 0;
478 self.cursor = 0;
479+ let pattern = self.prompt.line();
497 self.previous_pattern.clone_from(pattern);
480 self.previous_pattern.clone_from(pattern);
483+ pub fn force_score(&mut self) {
484+ let pattern = self.prompt.line();
486+ let query = FuzzyQuery::new(pattern);
487+ self.matches.clear();
488+ self.matches.extend(
492+ .filter_map(|(index, option)| {
493+ let text = option.filter_text(&self.editor_data);
496+ .fuzzy_match(&text, &self.matcher)
497+ .map(|score| PickerMatch {
500+ len: text.chars().count(),
504+ self.matches.sort_unstable();
500 /// Move the cursor by a number of lines, either down (`Forward`) or up (`Backward`)
507 /// Move the cursor by a number of lines, either down (`Forward`) or up (`Backward`)
501 pub fn move_by(&mut self, amount: usize, direction: Direction) {
508 pub fn move_by(&mut self, amount: usize, direction: Direction) {
502 let len = self.matches.len();
509 let len = self.matches.len();