@@ -124,9 +124,13 @@ impl<T: 'static> Component for FilePicker<T> {
125 // align to middle
125 // align to middle
126 let first_line = line
126 let first_line = line
127− .map(|(start, _)| start)
127+ .map(|(start, end)| {
128− .unwrap_or(0)
128+ let height = end.saturating_sub(start) + 1;
129+ let middle = start + (height.saturating_sub(1) / 2);
129− .saturating_sub(inner.height as usize / 2);
130+ middle.saturating_sub(inner.height as usize / 2).min(start)
130 let offset = Position::new(first_line, 0);
134 let offset = Position::new(first_line, 0);
132 let highlights = EditorView::doc_syntax_highlights(
136 let highlights = EditorView::doc_syntax_highlights(