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 in b08c2c7).

Amend: b08c2c745f
Close: #5954
This commit is contained in:
Henrik Lissner 2024-09-01 16:47:21 -04:00
parent 308444d612
commit 682f151176
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
2 changed files with 14 additions and 2 deletions

View file

@ -45,6 +45,20 @@
(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
;; Sometimes I forget `git-timemachine' is enabled in a buffer, so instead of
;; showing revision details in the minibuffer, show them in