@@ -1,4 +1,5 @@
11use crate::{
2+ align_view,
23 clipboard::{get_clipboard_provider, ClipboardProvider},
34 document::{DocumentSavedEventFuture, DocumentSavedEventResult, Mode},
45 graphics::{CursorKind, Rect},
@@ -6,7 +7,7 @@ use crate::{
67 input::KeyEvent,
78 theme::{self, Theme},
89 tree::{self, Tree},
9− Document, DocumentId, View, ViewId,
10+ Align, Document, DocumentId, View, ViewId,
1011};
1112
1213use futures_util::stream::select_all::SelectAll;
@@ -957,13 +958,7 @@ impl Editor {
957958 let doc = doc_mut!(self, &doc_id);
958959 doc.ensure_view_init(view.id);
959960
960− // TODO: reuse align_view
961− let pos = doc
962− .selection(view.id)
963− .primary()
964− .cursor(doc.text().slice(..));
965− let line = doc.text().char_to_line(pos);
966− view.offset.row = line.saturating_sub(view.inner_area().height as usize / 2);
961+ align_view(doc, view, Align::Center);
967962 }
968963
969964 pub fn switch(&mut self, id: DocumentId, action: Action) {