From 7c934855fced340b8ff78c5a2c2bf18120daa5f7 Mon Sep 17 00:00:00 2001 From: Peter Retzlaff Date: Tue, 8 Jul 2025 15:51:31 +0200 Subject: [PATCH] Revert "Add filter_format field for Column in pickers" This reverts commit 9206f0a876dff1316f2f77f8b026c90b55608281. --- helix-term/src/commands/lsp.rs | 10 ---------- helix-term/src/ui/picker.rs | 15 +++------------ 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/helix-term/src/commands/lsp.rs b/helix-term/src/commands/lsp.rs index 214629323..ac9dd6e27 100644 --- a/helix-term/src/commands/lsp.rs +++ b/helix-term/src/commands/lsp.rs @@ -281,16 +281,6 @@ fn diag_picker( } else { Default::default() } - }) - .with_filter_format(|item: &PickerDiagnostic, _| { - if let Some(path) = item.location.uri.as_path() { - path::get_relative_path(path) - .to_string_lossy() - .to_string() - .into() - } else { - Default::default() - } }), ); primary_column += 1; diff --git a/helix-term/src/ui/picker.rs b/helix-term/src/ui/picker.rs index ed968a1fa..3f3aaba2b 100644 --- a/helix-term/src/ui/picker.rs +++ b/helix-term/src/ui/picker.rs @@ -137,7 +137,7 @@ fn inject_nucleo_item( ) { injector.push(item, |item, dst| { for (column, text) in columns.iter().filter(|column| column.filter).zip(dst) { - *text = column.format_filter_text(item, editor_data).into() + *text = column.format_text(item, editor_data).into() } }); } @@ -189,7 +189,6 @@ type ColumnFormatFn = for<'a> fn(&'a T, &'a D) -> Cell<'a>; pub struct Column { name: Arc, format: ColumnFormatFn, - filter_format: ColumnFormatFn, /// Whether the column should be passed to nucleo for matching and filtering. /// `DynamicPicker` uses this so that the dynamic column (for example regex in /// global search) is not used for filtering twice. @@ -202,7 +201,6 @@ impl Column { Self { name: name.into(), format, - filter_format: format, filter: true, hidden: false, } @@ -215,7 +213,6 @@ impl Column { Self { name: name.into(), format, - filter_format: format, filter: false, hidden: true, } @@ -226,18 +223,12 @@ impl Column { self } - pub fn with_filter_format(mut self, format_fn: ColumnFormatFn) -> Self { - self.filter_format = format_fn; - self - } - fn format<'a>(&self, item: &'a T, data: &'a D) -> Cell<'a> { (self.format)(item, data) } - fn format_filter_text<'a>(&self, item: &'a T, data: &'a D) -> Cow<'a, str> { - let cell = (self.filter_format)(item, data); - let text: String = cell.content.into(); + fn format_text<'a>(&self, item: &'a T, data: &'a D) -> Cow<'a, str> { + let text: String = self.format(item, data).content.into(); text.into() } }