diff options
| author | Ravi R Kiran <aine.marina@gmail.com> | 2014-02-12 05:49:32 (GMT) |
|---|---|---|
| committer | Ravikiran Rajagopal <aine.marina@gmail.com> | 2014-02-12 05:49:32 (GMT) |
| commit | 58e0233e5b00a837dbfe8e9e3824367c732c6549 (patch) | |
| tree | 21c5ea51488ec1e44fbf0927385b76a587b10e24 | |
| parent | d3ad2b86be2deef9da2280f2452605fbe639bd11 (diff) | |
| download | dotemacs-58e0233e5b00a837dbfe8e9e3824367c732c6549.zip dotemacs-58e0233e5b00a837dbfe8e9e3824367c732c6549.tar.gz dotemacs-58e0233e5b00a837dbfe8e9e3824367c732c6549.tar.bz2 | |
Tame ediff
| -rw-r--r-- | ravi-init-vc.el | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/ravi-init-vc.el b/ravi-init-vc.el index 15335ee..406e05b 100644 --- a/ravi-init-vc.el +++ b/ravi-init-vc.el @@ -140,5 +140,37 @@ :bind ("C-x v p" . git-messenger:popup-message) ) +;; Stolen almost entirely from Fuco (Matus Goljer) +(use-package ediff + :config + (progn + (defvar my-ediff-before-config nil "Window configuration before ediff.") + (defvar my-ediff-after-config nil "Window configuration after ediff.") + + (defun my-ediff-before-setup () + "Function to be called before any buffers or window setup for + ediff." + (setq my-ediff-before-config (current-window-configuration)) + (set-register ?b (list my-ediff-before-config (point-marker)))) + + (defun my-ediff-after-setup () + "Function to be called after buffers and window setup for ediff." + (setq my-ediff-after-config (current-window-configuration)) + (set-register ?e (list my-ediff-after-config (point-marker)))) + + (defun my-ediff-quit () + "Function to be called when ediff quits." + (when my-ediff-before-config + (set-window-configuration my-ediff-before-config)) + ;; clean up ediff bullshit + (->> (buffer-list) + (-map 'buffer-name) + (--select (string-match-p "\\*[Ee]diff" it)) + (-map 'kill-buffer))) + + (add-hook 'ediff-before-setup-hook 'my-ediff-before-setup) + (add-hook 'ediff-after-setup-windows-hook 'my-ediff-after-setup 'append) + (add-hook 'ediff-quit-hook 'my-ediff-quit))) + (provide 'ravi-init-vc) ;;; ravi-init-vc.el ends here |
