diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2022-07-10 14:12:03 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2022-07-11 18:37:33 -0700 |
commit | 649e2ec44d7dec312f322393526218c04bad3793 (patch) | |
tree | ffdee2e353331960fcc031ab30715fe2f5e6cda8 | |
parent | 7653e6b00c8556869499d85e5f877110eb9b2c65 (diff) | |
download | dotfiles-649e2ec44d7dec312f322393526218c04bad3793.tar.gz |
show a reflog diff after finishing certain Magit git rebases
This is like my 'rld' shell alias.
-rw-r--r-- | .emacs.d/init.el | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 75a1f070..ae9a2e03 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -3182,10 +3182,24 @@ mutt's review view, after exiting EDITOR." ;;;; Assorted packages +(defun spw/magit-rebase-show-diff (&rest _ignore) + (add-hook 'magit-post-refresh-hook #'spw/magit-rebase-show-diff-1)) + +(defun spw/magit-rebase-show-diff-1 () + (unless (magit-rebase-in-progress-p) + (remove-hook 'magit-post-refresh-hook #'spw/magit-rebase-show-diff-1) + (save-selected-window + (magit-diff-range "@{1}..@{0}") + (magit-set-header-line-format "Changes made by rebase")))) + (spw/when-library-available magit ;; Ensure we add magit to project-prefix-map and project-switch-commands as ;; soon as a project.el command is invoked. - (eval-after-load 'project '(require 'magit))) + (eval-after-load 'project '(require 'magit)) + + (dolist (f '(magit-rebase-interactive magit-rebase-edit-commit + magit-rebase-remove-commit magit-rebase-autosquash)) + (advice-add f :before #'spw/magit-rebase-show-diff))) (global-set-key "\C-cgg" #'magit-file-dispatch) |