Extend backend-agnostic vc functionality

this commit adds a default keybinding for the vc-gutter hydra (leader-g
.) if both vc-gutter and hydra are enabled. It ensures that the various
vc-*-log-view-modes open up in emacs state, and it adds hg, svn and bzr
to the list of vc backends handled by git-gutter
This commit is contained in:
Sebastian Sturm 2020-02-29 13:55:45 +01:00
parent ac87afe34b
commit 2ce58c6df3
4 changed files with 31 additions and 8 deletions

View file

@ -3,18 +3,31 @@
(when IS-WINDOWS
(setenv "GIT_ASKPASS" "git-gui--askpass"))
(after! log-view
(set-evil-initial-state!
'(log-view-mode
vc-git-log-view-mode
vc-hg-log-view-mode
vc-bzr-log-view-mode
vc-svn-log-view-mode)
'emacs)
(evil-define-key* '(emacs) log-view-mode-map (kbd doom-leader-key) 'doom/leader)
(map! :mode log-view-mode
"j" #'log-view-msg-next
"k" #'log-view-msg-prev))
(after! vc-annotate
(set-popup-rules!
'(("^\\vc-d" :select nil) ; *vc-diff*
("^\\vc-c" :select t))) ; *vc-change-log*
'(("^\\*vc-diff" :select nil) ; *vc-diff*
("^\\*vc-change" :select t))) ; *vc-change-log*
(set-evil-initial-state!
'(vc-annotate-mode vc-git-log-view-mode)
'(vc-annotate-mode)
'normal)
;; Clean up after itself
(define-key vc-annotate-mode-map [remap quit-window] #'kill-current-buffer))
(after! vc-dir (set-evil-initial-state! '(vc-dir-mode) 'emacs))
(after! git-timemachine
;; Sometimes I forget `git-timemachine' is enabled in a buffer, so instead of