on master help sign in
Add undo checkpoint command (#2115)
ac2ea80AntonioLucibello
helix-term/src/commands.rs+6
@@ -318,6 +318,7 @@ impl MappableCommand {
318 redo, "Redo change",
318 redo, "Redo change",
319 earlier, "Move backward in history",
319 earlier, "Move backward in history",
320 later, "Move forward in history",
320 later, "Move forward in history",
321+ commit_undo_checkpoint, "Commit changes to a new checkpoint",
321 yank, "Yank selection",
322 yank, "Yank selection",
322 yank_joined_to_clipboard, "Join and yank selections to clipboard",
323 yank_joined_to_clipboard, "Join and yank selections to clipboard",
323 yank_main_selection_to_clipboard, "Yank main selection to clipboard",
324 yank_main_selection_to_clipboard, "Yank main selection to clipboard",
@@ -3001,6 +3002,11 @@ fn later(cx: &mut Context) {
3001 }
3002 }
3002}
3003}
3003
3004
3005+fn commit_undo_checkpoint(cx: &mut Context) {
3006+ let (view, doc) = current!(cx.editor);
3007+ doc.append_changes_to_history(view.id);
3008+}
3009+
3004// Yank / Paste
3010// Yank / Paste
3005
3011
3006fn yank(cx: &mut Context) {
3012fn yank(cx: &mut Context) {
helix-term/src/keymap/default.rs+1
@@ -326,6 +326,7 @@ pub fn default() -> HashMap<Mode, Keymap> {
326 "C-w" => delete_word_backward,
326 "C-w" => delete_word_backward,
327 "A-backspace" => delete_word_backward,
327 "A-backspace" => delete_word_backward,
328 "A-d" => delete_word_forward,
328 "A-d" => delete_word_forward,
329+ "C-s" => commit_undo_checkpoint,
329
330
330 "left" => move_char_left,
331 "left" => move_char_left,
331 "C-b" => move_char_left,
332 "C-b" => move_char_left,