emacs: add vc-ediff binding, winner-undo on ediff quit, horiz split
[~bandali/configs] / .emacs.d / init.el
index e1f1262..8d93b33 100644 (file)
@@ -93,7 +93,9 @@
 ;; Not necessary when using straight.el
 ;;   (C-h v straight-package-neutering-mode RET)
 
-(comment
+(when (and
+       (not (featurep 'straight))
+       (version< emacs-version "27"))
   (setq package-enable-at-startup nil)
   ;; (package-initialize)
   )
@@ -442,6 +444,14 @@ For disabling the behaviour for certain buffers and/or modes."
 ;; allow scrolling in Isearch
 (setq isearch-allow-scroll t)
 
+(use-feature vc
+  :bind ("C-x v C-=" . vc-ediff))
+
+(use-feature ediff
+  :config (add-hook 'ediff-after-quit-hook-internal 'winner-undo)
+  :custom ((ediff-window-setup-function 'ediff-setup-windows-plain)
+           (ediff-split-window-function 'split-window-horizontally)))
+
 \f
 ;;; General bindings
 
@@ -456,7 +466,7 @@ For disabling the behaviour for certain buffers and/or modes."
 
  ("C-c F m" . make-frame-command)
  ("C-c F d" . delete-frame)
- ("C-c F D" . delete-other-frames)
+ ("C-c F D" . server-edit)
 
  ("C-c o"   . other-window)
 
@@ -625,6 +635,7 @@ For disabling the behaviour for certain buffers and/or modes."
   (nconc magit-section-initial-visibility-alist
          '(([unpulled status] . show)
            ([unpushed status] . show)))
+  :custom (magit-display-buffer-function #'magit-display-buffer-fullframe-status-v1)
   :custom-face (magit-diff-file-heading ((t (:weight normal)))))
 
 ;; recently opened files
@@ -885,6 +896,7 @@ For disabling the behaviour for certain buffers and/or modes."
 
 ;; highlight uncommitted changes in the left fringe
 (use-package diff-hl
+  :defer 0.6
   :config
   (setq diff-hl-draw-borders nil)
   (global-diff-hl-mode)