New emacs/ediff module

Ediff config was moved out of core. Also includes evil compatibility
(mvoed out of feature/evil) & wconf save/restore.
This commit is contained in:
Henrik Lissner 2018-05-27 12:40:13 +02:00
parent e2d055a40b
commit bdee28609a
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
5 changed files with 31 additions and 9 deletions

View file

@ -0,0 +1,25 @@
;;; 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! '(ediff-quit-hook ediff-suspend-hook) #'+ediff|restore-wconf 'append)
;;
;; Plugins
;;
(def-package! evil-ediff
:when (featurep! :feature evil)
:after ediff)

View file

@ -0,0 +1,5 @@
;; -*- no-byte-compile: t; -*-
;;; emacs/ediff/packages.el
(when (featurep! :feature evil)
(package! evil-ediff))