summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRavi R Kiran <aine.marina@gmail.com>2021-04-27 03:17:50 (GMT)
committerRavi R Kiran <aine.marina@gmail.com>2021-04-27 03:17:50 (GMT)
commit2f0e64e06260da3dde0975cb08c8128b9ce69bbb (patch)
treeb4d4c6b1c02c10274d09b09a27f8745303724105
parent65b662288b9a24128c241fccae38cd979ff1c510 (diff)
downloaddotemacs-2f0e64e06260da3dde0975cb08c8128b9ce69bbb.zip
dotemacs-2f0e64e06260da3dde0975cb08c8128b9ce69bbb.tar.gz
dotemacs-2f0e64e06260da3dde0975cb08c8128b9ce69bbb.tar.bz2
Simplify usage of smerge mode
-rw-r--r--lisp/ravi-init-vc.el39
1 files changed, 39 insertions, 0 deletions
diff --git a/lisp/ravi-init-vc.el b/lisp/ravi-init-vc.el
index badb6a4..c480f05 100644
--- a/lisp/ravi-init-vc.el
+++ b/lisp/ravi-init-vc.el
@@ -130,5 +130,44 @@
(add-hook 'ediff-after-setup-windows-hook 'my-ediff-after-setup 'append)
(add-hook 'ediff-quit-hook 'my-ediff-quit)))
+(use-package smerge-mode
+ :config
+ (defhydra unpackaged/smerge-hydra
+ (:color pink :hint nil :post (smerge-auto-leave))
+ "
+^Move^ ^Keep^ ^Diff^ ^Other^
+^^-----------^^-------------------^^---------------------^^-------
+_n_ext _b_ase _<_: upper/base _C_ombine
+_p_rev _u_pper _=_: upper/lower _r_esolve
+^^ _l_ower _>_: base/lower _k_ill current
+^^ _a_ll _R_efine
+^^ _RET_: current _E_diff
+"
+ ("n" smerge-next)
+ ("p" smerge-prev)
+ ("b" smerge-keep-base)
+ ("u" smerge-keep-upper)
+ ("l" smerge-keep-lower)
+ ("a" smerge-keep-all)
+ ("RET" smerge-keep-current)
+ ("\C-m" smerge-keep-current)
+ ("<" smerge-diff-base-upper)
+ ("=" smerge-diff-upper-lower)
+ (">" smerge-diff-base-lower)
+ ("R" smerge-refine)
+ ("E" smerge-ediff)
+ ("C" smerge-combine-with-next)
+ ("r" smerge-resolve)
+ ("k" smerge-kill-current)
+ ("ZZ" (lambda ()
+ (interactive)
+ (save-buffer)
+ (bury-buffer))
+ "Save and bury buffer" :color blue)
+ ("q" nil "cancel" :color blue))
+ :hook (magit-diff-visit-file-hook . (lambda ()
+ (when smerge-mode
+ (unpackaged/smerge-hydra/body)))))
+
(provide 'ravi-init-vc)
;;; ravi-init-vc.el ends here