@@ -976,16 +976,15 @@ impl EditorView {
976976 doc.set_selection(view_id, Selection::point(pos));
977977 }
978978
979− editor.tree.focus = view_id;
979+ editor.focus(view_id);
980980
981981 return EventResult::Consumed(None);
982982 }
983983
984984 if let Some((coords, view_id)) = gutter_coords_and_view(editor, row, column) {
985− editor.tree.focus = view_id;
985+ editor.focus(view_id);
986986
987− let view = editor.tree.get(view_id);
988− let doc = editor.documents.get_mut(&view.doc).unwrap();
987+ let (view, doc) = current!(cxt.editor);
989988
990989 let path = match doc.path() {
991990 Some(path) => path.clone(),
@@ -1064,10 +1063,9 @@ impl EditorView {
10641063
10651064 MouseEventKind::Up(MouseButton::Right) => {
10661065 if let Some((coords, view_id)) = gutter_coords_and_view(cxt.editor, row, column) {
1067− cxt.editor.tree.focus = view_id;
1066+ cxt.editor.focus(view_id);
10681067
1069− let view = cxt.editor.tree.get(view_id);
1070− let doc = cxt.editor.documents.get_mut(&view.doc).unwrap();
1068+ let (view, doc) = current!(cxt.editor);
10711069 let line = coords.row + view.offset.row;
10721070 if let Ok(pos) = doc.text().try_line_to_char(line) {
10731071 doc.set_selection(view_id, Selection::point(pos));
@@ -1100,7 +1098,7 @@ impl EditorView {
11001098 if let Some((pos, view_id)) = pos_and_view(editor, row, column) {
11011099 let doc = editor.document_mut(editor.tree.get(view_id).doc).unwrap();
11021100 doc.set_selection(view_id, Selection::point(pos));
1103− editor.tree.focus = view_id;
1101+ cxt.editor.focus(view_id);
11041102 commands::MappableCommand::paste_primary_clipboard_before.execute(cxt);
11051103
11061104 return EventResult::Consumed(None);