on master help sign in
feat(view): re-use align_view function (#4390)
e25af1fMatouš Dzivjak
helix-view/src/editor.rs+3−8
@@ -1,4 +1,5 @@
1use crate::{
1use crate::{
2+ align_view,
2 clipboard::{get_clipboard_provider, ClipboardProvider},
3 clipboard::{get_clipboard_provider, ClipboardProvider},
3 document::{DocumentSavedEventFuture, DocumentSavedEventResult, Mode},
4 document::{DocumentSavedEventFuture, DocumentSavedEventResult, Mode},
4 graphics::{CursorKind, Rect},
5 graphics::{CursorKind, Rect},
@@ -6,7 +7,7 @@ use crate::{
6 input::KeyEvent,
7 input::KeyEvent,
7 theme::{self, Theme},
8 theme::{self, Theme},
8 tree::{self, Tree},
9 tree::{self, Tree},
9− Document, DocumentId, View, ViewId,
10+ Align, Document, DocumentId, View, ViewId,
10};
11};
11
12
12use futures_util::stream::select_all::SelectAll;
13use futures_util::stream::select_all::SelectAll;
@@ -957,13 +958,7 @@ impl Editor {
957 let doc = doc_mut!(self, &doc_id);
958 let doc = doc_mut!(self, &doc_id);
958 doc.ensure_view_init(view.id);
959 doc.ensure_view_init(view.id);
959
960
960− // TODO: reuse align_view
961+ align_view(doc, view, Align::Center);
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);
967 }
962 }
968
963
969 pub fn switch(&mut self, id: DocumentId, action: Action) {
964 pub fn switch(&mut self, id: DocumentId, action: Action) {