From 9a9e462183cb60bff6450f17173e6b18eadbbfb2 Mon Sep 17 00:00:00 2001 From: Michael Davis Date: Sun, 27 Nov 2022 12:47:26 -0600 Subject: Call View::apply within Document::append_changes_to_history --- helix-term/src/commands.rs | 8 ++++---- helix-term/src/commands/lsp.rs | 5 +++-- helix-term/src/commands/typed.rs | 8 ++++---- helix-term/src/ui/editor.rs | 4 ++-- 4 files changed, 13 insertions(+), 12 deletions(-) (limited to 'helix-term/src') diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 0817ca73..a6f88362 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -2564,7 +2564,7 @@ async fn make_format_callback( if let Ok(format) = format { if doc.version() == doc_version { apply_transaction(&format, doc, view); - doc.append_changes_to_history(view.id); + doc.append_changes_to_history(view); doc.detect_indent_and_line_ending(); view.ensure_cursor_in_view(doc, scrolloff); } else { @@ -3365,7 +3365,7 @@ fn later(cx: &mut Context) { fn commit_undo_checkpoint(cx: &mut Context) { let (view, doc) = current!(cx.editor); - doc.append_changes_to_history(view.id); + doc.append_changes_to_history(view); } // Yank / Paste @@ -3677,7 +3677,7 @@ fn replace_selections_with_clipboard_impl( }); apply_transaction(&transaction, doc, view); - doc.append_changes_to_history(view.id); + doc.append_changes_to_history(view); } Err(e) => return Err(e.context("Couldn't get system clipboard contents")), } @@ -4884,7 +4884,7 @@ fn shell(cx: &mut compositor::Context, cmd: &str, behavior: &ShellBehavior) { let transaction = Transaction::change(doc.text(), changes.into_iter()) .with_selection(Selection::new(ranges, selection.primary_index())); apply_transaction(&transaction, doc, view); - doc.append_changes_to_history(view.id); + doc.append_changes_to_history(view); } // after replace cursor may be out of bounds, do this to diff --git a/helix-term/src/commands/lsp.rs b/helix-term/src/commands/lsp.rs index 8faf1d08..1f80de5f 100644 --- a/helix-term/src/commands/lsp.rs +++ b/helix-term/src/commands/lsp.rs @@ -760,8 +760,9 @@ pub fn apply_workspace_edit( text_edits, offset_encoding, ); - apply_transaction(&transaction, doc, view_mut!(editor, view_id)); - doc.append_changes_to_history(view_id); + let view = view_mut!(editor, view_id); + apply_transaction(&transaction, doc, view); + doc.append_changes_to_history(view); }; if let Some(ref changes) = workspace_edit.changes { diff --git a/helix-term/src/commands/typed.rs b/helix-term/src/commands/typed.rs index 89c310fa..2fa903a7 100644 --- a/helix-term/src/commands/typed.rs +++ b/helix-term/src/commands/typed.rs @@ -464,7 +464,7 @@ fn set_line_ending( }), ); apply_transaction(&transaction, doc, view); - doc.append_changes_to_history(view.id); + doc.append_changes_to_history(view); Ok(()) } @@ -909,7 +909,7 @@ fn replace_selections_with_clipboard_impl( }); apply_transaction(&transaction, doc, view); - doc.append_changes_to_history(view.id); + doc.append_changes_to_history(view); Ok(()) } Err(e) => Err(e.context("Couldn't get system clipboard contents")), @@ -1573,7 +1573,7 @@ fn sort_impl( ); apply_transaction(&transaction, doc, view); - doc.append_changes_to_history(view.id); + doc.append_changes_to_history(view); Ok(()) } @@ -1617,7 +1617,7 @@ fn reflow( }); apply_transaction(&transaction, doc, view); - doc.append_changes_to_history(view.id); + doc.append_changes_to_history(view); view.ensure_cursor_in_view(doc, scrolloff); Ok(()) diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 6c8ee2d9..7bda74d2 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -1319,7 +1319,7 @@ impl Component for EditorView { // Store a history state if not in insert mode. Otherwise wait till we exit insert // to include any edits to the paste in the history state. if mode != Mode::Insert { - doc.append_changes_to_history(view.id); + doc.append_changes_to_history(view); } EventResult::Consumed(None) @@ -1418,7 +1418,7 @@ impl Component for EditorView { // Store a history state if not in insert mode. This also takes care of // committing changes when leaving insert mode. if mode != Mode::Insert { - doc.append_changes_to_history(view.id); + doc.append_changes_to_history(view); } } -- cgit v1.2.3-70-g09d2