remove filterting with C-space from picker

pull/4192/head
Pascal Kuthe 2 years ago committed by Blaž Hrastnik
parent 7af599e0af
commit 1a87cbd508

@ -391,7 +391,6 @@ Keys to use within picker. Remapping currently not supported.
| `PageDown`, `Ctrl-d` | Page down | | `PageDown`, `Ctrl-d` | Page down |
| `Home` | Go to first entry | | `Home` | Go to first entry |
| `End` | Go to last entry | | `End` | Go to last entry |
| `Ctrl-space` | Filter options |
| `Enter` | Open selected | | `Enter` | Open selected |
| `Ctrl-s` | Open horizontally | | `Ctrl-s` | Open horizontally |
| `Ctrl-v` | Open vertically | | `Ctrl-v` | Open vertically |

@ -310,8 +310,6 @@ pub struct Picker<T: Item> {
matcher: Box<Matcher>, matcher: Box<Matcher>,
/// (index, score) /// (index, score)
matches: Vec<(usize, i64)>, matches: Vec<(usize, i64)>,
/// Filter over original options.
filters: Vec<usize>, // could be optimized into bit but not worth it now
/// Current height of the completions box /// Current height of the completions box
completion_height: u16, completion_height: u16,
@ -346,7 +344,6 @@ impl<T: Item> Picker<T> {
editor_data, editor_data,
matcher: Box::new(Matcher::default()), matcher: Box::new(Matcher::default()),
matches: Vec::new(), matches: Vec::new(),
filters: Vec::new(),
cursor: 0, cursor: 0,
prompt, prompt,
previous_pattern: String::new(), previous_pattern: String::new(),
@ -415,13 +412,6 @@ impl<T: Item> Picker<T> {
.iter() .iter()
.enumerate() .enumerate()
.filter_map(|(index, option)| { .filter_map(|(index, option)| {
// filter options first before matching
if !self.filters.is_empty() {
// TODO: this filters functionality seems inefficient,
// instead store and operate on filters if any
self.filters.binary_search(&index).ok()?;
}
let text = option.filter_text(&self.editor_data); let text = option.filter_text(&self.editor_data);
query query
@ -485,14 +475,6 @@ impl<T: Item> Picker<T> {
.map(|(index, _score)| &self.options[*index]) .map(|(index, _score)| &self.options[*index])
} }
pub fn save_filter(&mut self, cx: &Context) {
self.filters.clear();
self.filters
.extend(self.matches.iter().map(|(index, _)| *index));
self.filters.sort_unstable(); // used for binary search later
self.prompt.clear(cx.editor);
}
pub fn toggle_preview(&mut self) { pub fn toggle_preview(&mut self) {
self.show_preview = !self.show_preview; self.show_preview = !self.show_preview;
} }
@ -573,9 +555,6 @@ impl<T: Item + 'static> Component for Picker<T> {
} }
return close_fn; return close_fn;
} }
ctrl!(' ') => {
self.save_filter(cx);
}
ctrl!('t') => { ctrl!('t') => {
self.toggle_preview(); self.toggle_preview();
} }

Loading…
Cancel
Save