better borrow checker wrangling with doc_mut!()

pull/10559/head
Ingrid 2 months ago
parent 26c35bc558
commit 6e03974650

@ -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::<false>(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

@ -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)
}

Loading…
Cancel
Save