diff --git a/core/core-ui.el b/core/core-ui.el index 9eca1a770..d0fe3ba96 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -162,7 +162,25 @@ behavior). Do not set this directly, this is let-bound in `doom|init-theme'.") ;; ;; Built-in packages -(def-package! hl-line ; built-in +(def-package! ediff + :defer t + :init + (setq ediff-diff-options "-w" ; turn off whitespace checking + ediff-split-window-function #'split-window-horizontally + ediff-window-setup-function #'ediff-setup-windows-plain) + :config + ;; Restore window config after quitting ediff + (defun doom|ediff-save-wconf () + (setq +ediff--saved-wconf (current-window-configuration))) + (add-hook 'ediff-before-setup-hook #'doom|ediff-save-wconf) + + (defun doom|ediff-restore-wconf () + (set-window-configuration +ediff--saved-wconf)) + (add-hook 'ediff-quit-hook #'doom|ediff-restore-wconf 'append) + (add-hook 'ediff-suspend-hook #'doom|ediff-restore-wconf 'append)) + + +(def-package! hl-line ;; Highlights the current line :hook ((prog-mode text-mode conf-mode) . hl-line-mode) :config diff --git a/init.example.el b/init.example.el index 8789117f9..7d6afa03f 100644 --- a/init.example.el +++ b/init.example.el @@ -54,7 +54,6 @@ ;;+ranger ; bringing the goodness of ranger to dired ;;+icons ; colorful icons for dired-mode ) - ediff ; comparing files in Emacs electric ; smarter, keyword-based electric-indent ;;eshell ; a consistent, cross-platform shell (WIP) hideshow ; basic code-folding support diff --git a/modules/emacs/ediff/config.el b/modules/emacs/ediff/config.el deleted file mode 100644 index cc9130e27..000000000 --- a/modules/emacs/ediff/config.el +++ /dev/null @@ -1,17 +0,0 @@ -;;; emacs/ediff/config.el -*- lexical-binding: t; -*- - -;; `ediff' -(setq ediff-diff-options "-w" ; turn off whitespace checking - ediff-split-window-function #'split-window-horizontally - ediff-window-setup-function #'ediff-setup-windows-plain) - -;; Restore window config after quitting ediff -(defvar +ediff--saved-wconf nil) - -(defun +ediff|save-wconf () - (setq +ediff--saved-wconf (current-window-configuration))) -(defun +ediff|restore-wconf () - (set-window-configuration +ediff--saved-wconf)) - -(add-hook 'ediff-before-setup-hook #'+ediff|save-wconf) -(add-hook! :append '(ediff-quit-hook ediff-suspend-hook) #'+ediff|restore-wconf)