Skip to content

Commit

Permalink
fix: Remove empty scratch buffer from jumplists when removing it
Browse files Browse the repository at this point in the history
Fixes #1238
  • Loading branch information
archseer committed May 29, 2022
1 parent 710c4a8 commit 5ed6223
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion helix-view/src/editor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -671,11 +671,18 @@ impl Editor {
.any(|(_, v)| v.doc == doc.id && v.id != view.id);

let (view, doc) = current!(self);
let view_id = view.id;

if remove_empty_scratch {
// Copy `doc.id` into a variable before calling `self.documents.remove`, which requires a mutable
// borrow, invalidating direct access to `doc.id`.
let id = doc.id;
self.documents.remove(&id);

// Remove the scratch buffer from any jumplists
for (view, _) in self.tree.views_mut() {
view.jumps.remove(&id)
}
} else {
let jump = (view.doc, doc.selection(view.id).clone());
view.jumps.push(jump);
Expand All @@ -691,7 +698,6 @@ impl Editor {
}
}

let view_id = view.id;
self.replace_document_in_view(view_id, id);

return;
Expand Down

0 comments on commit 5ed6223

Please sign in to comment.