[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/undo-tree ff2fd6e 011/195: Implemented undo-tree-mode m
From: |
Stefan Monnier |
Subject: |
[elpa] externals/undo-tree ff2fd6e 011/195: Implemented undo-tree-mode minor mode. |
Date: |
Sat, 28 Nov 2020 13:41:10 -0500 (EST) |
branch: externals/undo-tree
commit ff2fd6ee93ed746f29254e40eb475374bbbae7f6
Author: tsc25 <tsc25@cantab.net>
Commit: tsc25 <tsc25@cantab.net>
Implemented undo-tree-mode minor mode.
---
undo-tree.el | 35 ++++++++++++++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/undo-tree.el b/undo-tree.el
index bdbe60d..ef1235e 100644
--- a/undo-tree.el
+++ b/undo-tree.el
@@ -23,6 +23,11 @@ Must be an odd integer."
:match (lambda (w n) (and (integerp n) (= (mod n 2) 1)))))
+(defvar undo-tree-map nil
+ "Keymap used in undo-tree-mode.")
+
+
+
(defface undo-tree-visualizer-default-face
'((((class color)) :foreground "gray"))
"*Face used to draw undo-tree in visualizer.")
@@ -53,6 +58,19 @@ in visualizer.")
;;; =================================================================
;;; Setup default keymaps
+(unless undo-tree-map
+ (setq undo-tree-map (make-sparse-keymap))
+ ;; remap `undo' to `undo-tree-undo'
+ (define-key undo-tree-map [remap undo] 'undo-tree-undo)
+ ;; redo doesn't exist normally, so define out own keybindings
+ (define-key undo-tree-map (kbd "C-?") 'undo-tree-redo)
+ (define-key undo-tree-map (kbd "C-+") 'undo-tree-redo)
+ ;; just in case something has defined it...
+ (define-key undo-tree-map [remap redo] 'undo-tree-redo)
+ ;; we use "C-x u" for the undo-tree visualizer
+ (define-key undo-tree-map (kbd "C-x u") 'undo-tree-visualize))
+
+
(unless undo-tree-visualizer-map
(setq undo-tree-visualizer-map (make-keymap))
;; vertical motion keys undo/redo
@@ -327,7 +345,22 @@ part of `buffer-undo-tree'."
;;; =====================================================================
-;;; Undo/redo commands
+;;; Undo-tree commands
+
+(define-minor-mode undo-tree-mode
+ "Toggle undo-tree mode.
+With no argument, this command toggles the mode.
+A positive prefix argument turns the mode on.
+A negative prefix argument turns it off.
+
+Undo-tree-mode replaces Emacs' standard undo feature with a more
+powerful yet easier to use version, that treats the undo history
+as what it is: a tree."
+ nil ; init value
+ " undo-tree" ; lighter
+ undo-tree-map) ; keymap
+
+
(defun undo-tree-undo (&optional arg)
"Undo changes. A numeric ARG serves as a repeat count."
- [elpa] branch externals/undo-tree created (now bf2e9ba), Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree eae16c8 009/195: Implemented visualizer major-mode and commands., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree a46761a 022/195: Added "canary" to detect and deal with undo history being discarded, Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 2fa1824 021/195: Implemented display of time-stamps in visualizer., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 2c18d4a 010/195: Implemented active branch highlighting in visualizer., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 9b14800 018/195: Rewrote undo-tree-compute-widths and undo-tree-clear-visualizer-data, Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree aa550da 025/195: Implemented undo history discarding so as to remain within memory usage limits, Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree ad38c6a 020/195: Reuse node markers in undo-tree-draw-tree and undo-tree-draw-subtree,, Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 486964c 014/195: Centre undo-tree in visualizer., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree ff2fd6e 011/195: Implemented undo-tree-mode minor mode.,
Stefan Monnier <=
- [elpa] externals/undo-tree 30dc485 013/195: Clear visualizer data when quitting visualizer., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree e0b8308 015/195: Implemented commands to set buffer state to any given undo-tree node., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 0368f0f 006/195: Implemented undo-tree visualisation., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 711dd60 003/195: Implemented undo-tree data structure and undo command., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree b15904c 023/195: Update timestamps when nodes are visited by undo/redo., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 21d3c89 004/195: Implemented redo command., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree f87f815 024/195: Added utility functions for use in discarding undo history., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree dcabd4f 002/195: Added .gitignore to ignore byte-compiled elisp files., Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree f370170 019/195: Rewrote undo-tree-draw-tree and undo-tree-draw-subtree, Stefan Monnier, 2020/11/28
- [elpa] externals/undo-tree 73c1d04 007/195: Lumped visualizer data into single undo-tree node entry,, Stefan Monnier, 2020/11/28