aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src
diff options
context:
space:
mode:
Diffstat (limited to 'helix-term/src')
-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,