feat(emacs): Configure Ediff

- Restore window configuration on quit.
- Very simple, half-broken helper for resolving Syncthing conflicts.
  - Doesn't automatically delete the conflict file after resolve. }:\
This commit is contained in:
Madeleine Sydney
2025-02-15 16:26:19 -07:00
parent a564b7a1ea
commit b9912390cb
3 changed files with 62 additions and 1 deletions

View File

@@ -0,0 +1,19 @@
;;; syd-ediff.el -*- lexical-binding: t; -*-
(require 'syd-prelude)
(with-eval-after-load 'ediff
(setq ediff-diff-options "-w" ; Ignore whitespace
ediff-window-setup-function #'ediff-setup-windows-plain)
(defvar syd--ediff-saved-wconf nil)
;; Restore window config after quitting Ediff.
(syd-add-hook 'ediff-before-setup-hook
(defun syd--ediff-save-wconf-h ()
(setq syd--ediff-saved-wconf (current-window-configuration))))
(syd-add-hook '(ediff-quit-hook ediff-suspend-hook)
(defun syd--ediff-restore-wconf-h ()
(when (window-configuration-p syd--ediff-saved-wconf)
(set-window-configuration syd--ediff-saved-wconf)))))
(provide 'syd-ediff)