summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/init-git.el29
1 files changed, 29 insertions, 0 deletions
diff --git a/lisp/init-git.el b/lisp/init-git.el
index 9987fd3..9c4e0c9 100644
--- a/lisp/init-git.el
+++ b/lisp/init-git.el
@@ -498,4 +498,33 @@ function."
(setq magit-annex-all-action-arguments
(delete "--auto" magit-annex-all-action-arguments)))
+
+;;; Other git
+
+(define-key km/git-map "m"
+ (defhydra hydra-smerge (:hint nil)
+ "
+_b_ keep base _d_ diff _n_ next
+_m_ keep mine _e_ ediff _p_ previous
+_o_ keep other _h_ refine
+_a_ keep all
+\n"
+ ("b" smerge-keep-base)
+ ("m" smerge-keep-mine)
+ ("o" smerge-keep-other)
+ ("a" smerge-keep-all)
+ ("n" smerge-next)
+ ("p" smerge-prev)
+ ("h" smerge-refine)
+ ("e" smerge-ediff :color blue)
+ ("d" (call-interactively
+ (pcase (read-char-choice
+ "< base-mine, > base-other, = mine-other"
+ (list ?< ?> ?=))
+ (?< #'smerge-diff-base-mine)
+ (?> #'smerge-diff-base-other)
+ (?= #'smerge-diff-mine-other))))
+ ("l" recenter-top-bottom "recenter")
+ ("u" undo "undo")))
+
(provide 'init-git)