mirror of https://github.com/helix-editor/helix
ui: Be smarter about centering previews
Try centering the whole block. If the block is too big for the viewport, then make sure that the first line is within the preview.pull/691/head^2
parent
f871d318c0
commit
2ce87968cd
|
@ -124,9 +124,13 @@ impl<T: 'static> Component for FilePicker<T> {
|
|||
}) {
|
||||
// align to middle
|
||||
let first_line = line
|
||||
.map(|(start, _)| start)
|
||||
.unwrap_or(0)
|
||||
.saturating_sub(inner.height as usize / 2);
|
||||
.map(|(start, end)| {
|
||||
let height = end.saturating_sub(start) + 1;
|
||||
let middle = start + (height.saturating_sub(1) / 2);
|
||||
middle.saturating_sub(inner.height as usize / 2).min(start)
|
||||
})
|
||||
.unwrap_or(0);
|
||||
|
||||
let offset = Position::new(first_line, 0);
|
||||
|
||||
let highlights = EditorView::doc_syntax_highlights(
|
||||
|
|
Loading…
Reference in New Issue