aboutsummaryrefslogtreecommitdiffstats
path: root/oni-ediff.el
diff options
context:
space:
mode:
authorGravatar Tom Willemse2019-02-26 01:32:19 -0800
committerGravatar Tom Willemse2019-02-26 01:32:19 -0800
commit7a2be12e94a2b7e7d6feb89f0d508cce91d89bb1 (patch)
tree0c861b25f1c6aed6976115b29a1be0f46ee83218 /oni-ediff.el
parent4f8d20cf3885b7344d9eee169fcc90c89ac825d4 (diff)
downloademacs-config-7a2be12e94a2b7e7d6feb89f0d508cce91d89bb1.tar.gz
emacs-config-7a2be12e94a2b7e7d6feb89f0d508cce91d89bb1.zip
Add oni-ediff
Diffstat (limited to 'oni-ediff.el')
-rw-r--r--oni-ediff.el53
1 files changed, 53 insertions, 0 deletions
diff --git a/oni-ediff.el b/oni-ediff.el
new file mode 100644
index 0000000..bac7ff1
--- /dev/null
+++ b/oni-ediff.el
@@ -0,0 +1,53 @@
+;;; oni-ediff.el --- Ediff configuration -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2019 Tom Willemse
+
+;; Author: Tom Willemse <tom@ryuslash.org>
+;; Keywords: local
+;; Version: 20190226012954
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Ediff configuration.
+
+;;; Code:
+
+(require 'ediff)
+
+(defun oni-ediff--turn-on-fullscreen ()
+ "Turn on fullscreen for the current frame."
+ (unless (memq (frame-parameter nil 'fullscreen)
+ '(fullscreen fullboth))
+ (set-frame-parameter nil 'fullscreen 'fullboth)))
+
+(defun oni-ediff--turn-off-fullscreen ()
+ "Turn off fullscreen for the current frame."
+ (when (memq (frame-parameter nil 'fullscreen)
+ '(fullscreen fullboth))
+ (set-frame-parameter nil 'fullscreen nil)))
+
+(setq ediff-window-setup-function 'ediff-setup-windows-plain)
+(setq ediff-split-window-function 'split-window-horizontally)
+
+(setq ediff-diff-options "-w")
+
+(add-hook 'ediff-mode-hook #'oni-ediff--turn-on-fullscreen)
+(add-hook 'ediff-cleanup-hook #'oni-ediff--turn-off-fullscreen)
+
+;;;###autoload(with-eval-after-load 'ediff (require 'oni-ediff))
+
+(provide 'oni-ediff)
+;;; oni-ediff.el ends here