aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src
diff options
context:
space:
mode:
authorMichael Davis2022-11-27 18:47:26 +0000
committerBlaž Hrastnik2022-11-29 16:15:20 +0000
commit9a9e462183cb60bff6450f17173e6b18eadbbfb2 (patch)
tree888a8211b6c13ba38e32d00a334eedb7d2a826f1 /helix-term/src
parent2709ce33324cf6d4612c61609f336cf5937b6cac (diff)
Call View::apply within Document::append_changes_to_history
Diffstat (limited to 'helix-term/src')
-rw-r--r--helix-term/src/commands.rs8
-rw-r--r--helix-term/src/commands/lsp.rs5
-rw-r--r--helix-term/src/commands/typed.rs8
-rw-r--r--helix-term/src/ui/editor.rs4
4 files changed, 13 insertions, 12 deletions
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);
}
}