feat(editor): replace undo-tree with undo-fu and vundo

Also replace undohist with undo-fu-session.

Overall this seems to yield a more reliable undo history, as undo-fu and
vundo supposedly operate with vanilla emacs undo history state, while
undo-tree supposedly does some custom tweaks to the undo state.
This commit is contained in:
2022-04-26 23:39:48 +01:00
parent c84bf1dea6
commit 177f075853
4 changed files with 66 additions and 2 deletions

View File

@@ -39,9 +39,10 @@
(require 'siren-rainbow)
(require 'siren-recentf)
(require 'siren-savehist)
(require 'siren-undo-tree)
(require 'siren-undohist)
(require 'siren-undo-fu)
(require 'siren-undo-fu-session)
(require 'siren-uniquify)
(require 'siren-vundo)
(require 'siren-which-key)
(require 'siren-whitespace)

View File

@@ -0,0 +1,23 @@
;;; siren-undo-fu-session.el --- jimeh's Emacs Siren: undo-fu-session configuration.
;;; Commentary:
;; Basic configuration for undo-fu-session.
;;; Code:
(use-package undo-fu-session
:demand
:custom
(undo-fu-session-directory (siren-cache-dir "undo-fu-session"))
(undo-fu-session-linear nil)
(undo-fu-session-compression 'gz)
(undo-fu-session-file-limit nil)
(undo-fu-session-incompatible-files '("/COMMIT_EDITMSG\\'"
"/git-rebase-todo\\'"))
:config
(global-undo-fu-session-mode))
(provide 'siren-undo-fu-session)
;;; siren-undo-fu-session.el ends here

View File

@@ -0,0 +1,22 @@
;;; siren-undo-fu.el --- jimeh's Emacs Siren: undo-fu configuration.
;;; Commentary:
;; Basic configuration for undo-fu.
;;; Code:
(use-package undo-fu
:demand
:general
("M--" 'undo-fu-only-undo)
("M-_" 'undo-fu-only-redo)
("s-z" 'undo-fu-only-undo)
("s-Z" 'undo-fu-only-redo)
:custom
(undo-fu-allow-undo-in-region nil)
(undo-fu-ignore-keyboard-quit t))
(provide 'siren-undo-fu)
;;; siren-undo-fu.el ends here

View File

@@ -0,0 +1,18 @@
;;; siren-vundo.el --- jimeh's Emacs Siren: vundo configuration.
;;; Commentary:
;; Basic configuration for vundo.
;;; Code:
(use-package vundo
:demand
:general
("C-x u" 'vundo)
:custom
(vundo-glyph-alist vundo-unicode-symbols))
(provide 'siren-vundo)
;;; siren-vundo.el ends here