From ac2ea800ce267b9ed3da5f743085f0afe8460473 Mon Sep 17 00:00:00 2001 From: AntonioLucibello <65395340+AntonioLucibello@users.noreply.github.com> Date: Mon, 2 May 2022 16:45:20 +0200 Subject: [PATCH] Add undo checkpoint command (#2115) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * added undo checkpoint command * changed add_undo_checkpoint to commit_undo_checkpoint * mapped commit_undo_checkpoint to Alt-u * Update default.rs Co-authored-by: Blaž Hrastnik --- helix-term/src/commands.rs | 6 ++++++ helix-term/src/keymap/default.rs | 1 + 2 files changed, 7 insertions(+) diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index 54dcc98f..e2d10d21 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -318,6 +318,7 @@ impl MappableCommand { redo, "Redo change", earlier, "Move backward in history", later, "Move forward in history", + commit_undo_checkpoint, "Commit changes to a new checkpoint", yank, "Yank selection", yank_joined_to_clipboard, "Join and yank selections to clipboard", yank_main_selection_to_clipboard, "Yank main selection to clipboard", @@ -3001,6 +3002,11 @@ 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); +} + // Yank / Paste fn yank(cx: &mut Context) { diff --git a/helix-term/src/keymap/default.rs b/helix-term/src/keymap/default.rs index db24e97a..a8ff8be9 100644 --- a/helix-term/src/keymap/default.rs +++ b/helix-term/src/keymap/default.rs @@ -326,6 +326,7 @@ pub fn default() -> HashMap { "C-w" => delete_word_backward, "A-backspace" => delete_word_backward, "A-d" => delete_word_forward, + "C-s" => commit_undo_checkpoint, "left" => move_char_left, "C-b" => move_char_left,