aboutsummaryrefslogtreecommitdiff
path: root/helix-term
diff options
context:
space:
mode:
authorAntonioLucibello2022-05-02 14:45:20 +0000
committerGitHub2022-05-02 14:45:20 +0000
commitac2ea800ce267b9ed3da5f743085f0afe8460473 (patch)
treee32b8030383a8056bba25da84d46966e9aef2e83 /helix-term
parent77ff8d355051ef567c7998b226e28ba436c2e230 (diff)
Add undo checkpoint command (#2115)
* 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 <blaz@mxxn.io>
Diffstat (limited to 'helix-term')
-rw-r--r--helix-term/src/commands.rs6
-rw-r--r--helix-term/src/keymap/default.rs1
2 files changed, 7 insertions, 0 deletions
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<Mode, Keymap> {
"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,