Add transient state for smerge mode
This commit is contained in:
parent
6212795523
commit
b00096e9ef
|
@ -9,6 +9,7 @@
|
|||
- [[#differences-between-margin-programs][Differences between margin programs]]
|
||||
- [[#key-bindings][Key Bindings]]
|
||||
- [[#version-control-transient-state][Version Control Transient-state]]
|
||||
- [[#smerge-mode-transient-state][Smerge Mode Transient-state]]
|
||||
|
||||
* Description
|
||||
This layers adds general configuration for [[http://www.gnu.org/software/emacs/manual/html_node/emacs/Version-Control.html][Emacs VC]].
|
||||
|
@ -69,6 +70,7 @@ one over the other:
|
|||
| Key Binding | Description |
|
||||
|-------------+---------------------------------|
|
||||
| ~SPC g .~ | version control transient-state |
|
||||
| ~SPC g r~ | smerge mode transient-state |
|
||||
| ~SPC T d~ | toggle diff margins |
|
||||
| ~SPC T C-d~ | toggle diff margins globally |
|
||||
|
||||
|
@ -93,3 +95,23 @@ one over the other:
|
|||
| ~SPC g . f~ | Fetch for repo with popup |
|
||||
| ~SPC g . F~ | Pull repo with popup |
|
||||
| ~SPC g . l~ | Show repo log |
|
||||
|
||||
|
||||
** Smerge Mode Transient-state
|
||||
|
||||
| Key Binding | Description |
|
||||
|-------------+--------------------------|
|
||||
| ~SPC g r n~ | Next hunk |
|
||||
| ~SPC g r N~ | Previous hunk |
|
||||
| ~SPC g r p~ | Previous hunk |
|
||||
| ~SPC g r j~ | Go to next line |
|
||||
| ~SPC g r k~ | Go to previous line |
|
||||
| ~SPC g r b~ | Smerge keep base |
|
||||
| ~SPC g r m~ | Smerge keep mine |
|
||||
| ~SPC g r a~ | Smerge keep all |
|
||||
| ~SPC g r o~ | Smerge keep other |
|
||||
| ~SPC g r c~ | Smerge keep current |
|
||||
| ~SPC g r C~ | Smerge combine with next |
|
||||
| ~SPC g r u~ | Undo |
|
||||
| ~SPC g r r~ | Smerge refine |
|
||||
| ~SPC g r q~ | Quit transient state |
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
git-gutter+
|
||||
git-gutter-fringe
|
||||
git-gutter-fringe+
|
||||
(smerge-mode :location built-in)
|
||||
))
|
||||
|
||||
(defun version-control/init-diff-mode ()
|
||||
|
@ -169,3 +170,41 @@
|
|||
".XXX..."
|
||||
"..X...."
|
||||
))))
|
||||
|
||||
|
||||
(defun version-control/init-smerge-mode ()
|
||||
(use-package smerge-mode
|
||||
:defer t
|
||||
:diminish smerge-mode
|
||||
:commands spacemacs/smerge-transient-state/body
|
||||
:init
|
||||
(spacemacs/set-leader-keys
|
||||
"gr" 'spacemacs/smerge-transient-state/body)
|
||||
:config
|
||||
(progn
|
||||
(spacemacs|define-transient-state smerge
|
||||
:title "smerge transient state"
|
||||
:doc "
|
||||
movement^^^^ merge action^^ other
|
||||
---------------------^^^^ -------------------^^ -----------
|
||||
[_n_]^^ next hunk [_b_] keep base [_u_] undo
|
||||
[_N_/_p_] prev hunk [_m_] keep mine [_r_] refine
|
||||
[_j_/_k_] move up/down [_a_] keep all [_q_] quit
|
||||
^^^^ [_o_] keep other
|
||||
^^^^ [_c_] keep current
|
||||
^^^^ [_C_] combine with next"
|
||||
:bindings
|
||||
("n" smerge-next)
|
||||
("p" smerge-prev)
|
||||
("N" smerge-prev)
|
||||
("j" evil-next-line)
|
||||
("k" evil-previous-line)
|
||||
("a" smerge-keep-all)
|
||||
("b" smerge-keep-base)
|
||||
("m" smerge-keep-mine)
|
||||
("o" smerge-keep-other)
|
||||
("c" smerge-keep-current)
|
||||
("C" smerge-combine-with-next)
|
||||
("r" smerge-refine)
|
||||
("u" undo-tree-undo)
|
||||
("q" nil :exit t)))))
|
||||
|
|
Loading…
Reference in New Issue