Fix blank buffer picker preview on doc with no views

Reproduction:

* `hx`
* Open any file in a split (`<space>f` and choose anything with `<C-v>`)
* Close the split with `<C-w>q`
* Open up the buffer picker and look the file you opened previously

Previously the preview was empty in this case because the Document's
`selections` hashmap was empty and we returned early, giving `None`
instead of a FileLocation. Instead when the Document is not currently
open in any view we can show the document but with no range highlighted.
This commit is contained in:
Michael Davis 2025-01-07 14:59:44 -05:00
parent a0bd39d40e
commit 917174e546
No known key found for this signature in database

View file

@ -3044,12 +3044,11 @@ fn buffer_picker(cx: &mut Context) {
}) })
.with_preview(|editor, meta| { .with_preview(|editor, meta| {
let doc = &editor.documents.get(&meta.id)?; let doc = &editor.documents.get(&meta.id)?;
let &view_id = doc.selections().keys().next()?; let lines = doc.selections().values().next().map(|selection| {
let line = doc let cursor_line = selection.primary().cursor_line(doc.text().slice(..));
.selection(view_id) (cursor_line, cursor_line)
.primary() });
.cursor_line(doc.text().slice(..)); Some((meta.id.into(), lines))
Some((meta.id.into(), Some((line, line))))
}); });
cx.push_layer(Box::new(overlaid(picker))); cx.push_layer(Box::new(overlaid(picker)));
} }