diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index 5095cf489..3d3caa0ab 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -381,22 +381,13 @@ impl Application { self.editor.refresh_config(); // reset view position in case softwrap was enabled/disabled - let mut view_position_resets = Vec::new(); let scrolloff = self.editor.config().scrolloff; for (view, _) in self.editor.tree.views() { - let doc = &self.editor.documents[&view.doc]; - + let doc = doc_mut!(self.editor, &view.doc); if let Some(offset) = view.offset_coords_to_in_view_center::(doc, scrolloff) { - view_position_resets.push((offset, view.id, view.doc)); + doc.view_data_mut(view.id).view_position = offset } } - for (offset, view_id, doc_id) in view_position_resets { - self.editor - .document_mut(doc_id) - .unwrap() - .view_data_mut(view_id) - .view_position = offset; - } } /// refresh language config after config change diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs index 78498cd4d..653402769 100644 --- a/helix-view/src/editor.rs +++ b/helix-view/src/editor.rs @@ -1827,8 +1827,8 @@ impl Editor { pub fn ensure_cursor_in_view(&mut self, id: ViewId) { let config = self.config(); - let view = self.tree.get(id).clone(); - let doc = self.document_mut(view.doc).unwrap(); + let view = self.tree.get(id); + let doc = doc_mut!(self, &view.doc); view.ensure_cursor_in_view(doc, config.scrolloff) }