diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 3bd46abca..7613a0a2a 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -510,8 +510,6 @@ :desc "Copy link to remote" "y" #'+vc/browse-at-remote-kill :desc "Copy link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage :desc "Git time machine" "t" #'git-timemachine-toggle - (:when (modulep! :ui hydra) - :desc "SMerge" "m" #'+vc/smerge-hydra/body) (:when (modulep! :ui vc-gutter) :desc "Revert hunk at point" "r" #'+vc-gutter/revert-hunk :desc "stage hunk at point" "s" #'+vc-gutter/stage-hunk diff --git a/modules/emacs/vc/config.el b/modules/emacs/vc/config.el index dd2f47c7c..e8adb46dd 100644 --- a/modules/emacs/vc/config.el +++ b/modules/emacs/vc/config.el @@ -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