Unnamed repository; edit this file 'description' to name the repository.
Make buffer picker default to last file (#14176)
| -rw-r--r-- | helix-term/src/commands.rs | 2 | ||||
| -rw-r--r-- | helix-term/src/ui/picker.rs | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 0d8c2550..18f24a63 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -3199,9 +3199,11 @@ fn buffer_picker(cx: &mut Context) { .into() }), ]; + let initial_cursor = if items.len() <= 1 { 0 } else { 1 }; let picker = Picker::new(columns, 2, items, (), |cx, meta, action| { cx.editor.switch(meta.id, action); }) + .with_initial_cursor(initial_cursor) .with_preview(|editor, meta| { let doc = &editor.documents.get(&meta.id)?; let lines = doc.selections().values().next().map(|selection| { diff --git a/helix-term/src/ui/picker.rs b/helix-term/src/ui/picker.rs index a6a0e17c..74b7873e 100644 --- a/helix-term/src/ui/picker.rs +++ b/helix-term/src/ui/picker.rs @@ -426,6 +426,11 @@ impl<T: 'static + Send + Sync, D: 'static + Send + Sync> Picker<T, D> { self } + pub fn with_initial_cursor(mut self, cursor: u32) -> Self { + self.cursor = cursor; + self + } + pub fn with_dynamic_query( mut self, callback: DynQueryCallback<T, D>, |