feat(vc): integrate smerge-mode
Activates smerge-mode if the file contains merge conflict markers. Also turns binds the localleader to `smerge-mode-map` when it's active. Also removes an unused leader binding (which will never be set because :ui hydra was removed inb08c2c7
). Amend:b08c2c745f
Close: #5954
This commit is contained in:
parent
308444d612
commit
682f151176
2 changed files with 14 additions and 2 deletions
|
@ -510,8 +510,6 @@
|
||||||
:desc "Copy link to remote" "y" #'+vc/browse-at-remote-kill
|
:desc "Copy link to remote" "y" #'+vc/browse-at-remote-kill
|
||||||
:desc "Copy link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage
|
:desc "Copy link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage
|
||||||
:desc "Git time machine" "t" #'git-timemachine-toggle
|
:desc "Git time machine" "t" #'git-timemachine-toggle
|
||||||
(:when (modulep! :ui hydra)
|
|
||||||
:desc "SMerge" "m" #'+vc/smerge-hydra/body)
|
|
||||||
(:when (modulep! :ui vc-gutter)
|
(:when (modulep! :ui vc-gutter)
|
||||||
:desc "Revert hunk at point" "r" #'+vc-gutter/revert-hunk
|
:desc "Revert hunk at point" "r" #'+vc-gutter/revert-hunk
|
||||||
:desc "stage hunk at point" "s" #'+vc-gutter/stage-hunk
|
:desc "stage hunk at point" "s" #'+vc-gutter/stage-hunk
|
||||||
|
|
|
@ -45,6 +45,20 @@
|
||||||
(set-evil-initial-state! 'vc-dir-mode 'emacs))
|
(set-evil-initial-state! 'vc-dir-mode 'emacs))
|
||||||
|
|
||||||
|
|
||||||
|
(use-package! smerge-mode
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
|
(add-hook! 'find-file-hook
|
||||||
|
(defun +vc-init-smerge-mode-h ()
|
||||||
|
(unless (bound-and-true-p smerge-mode)
|
||||||
|
(save-excursion
|
||||||
|
(goto-char (point-min))
|
||||||
|
(when (re-search-forward "^<<<<<<< " nil t)
|
||||||
|
(smerge-mode 1))))))
|
||||||
|
:config
|
||||||
|
(define-key smerge-mode-map (kbd doom-localleader-key) smerge-basic-map))
|
||||||
|
|
||||||
|
|
||||||
(after! git-timemachine
|
(after! git-timemachine
|
||||||
;; Sometimes I forget `git-timemachine' is enabled in a buffer, so instead of
|
;; Sometimes I forget `git-timemachine' is enabled in a buffer, so instead of
|
||||||
;; showing revision details in the minibuffer, show them in
|
;; showing revision details in the minibuffer, show them in
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue