summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.el4
-rw-r--r--lisp/km-diff.el9
2 files changed, 12 insertions, 1 deletions
diff --git a/init.el b/init.el
index 8c3cbc0..e7d7e99 100644
--- a/init.el
+++ b/init.el
@@ -1444,7 +1444,9 @@
(use-package km-diff
:defer t
:init
- (define-key km/external-map "o" #'km/ediff-with-other-window))
+ (define-key km/external-map "o" #'km/ediff-with-other-window)
+ (after 'diff-mode
+ (define-key diff-mode-map (kbd "C-c C-l") #'km/diff-lock-buffer)))
;;; Text modes
diff --git a/lisp/km-diff.el b/lisp/km-diff.el
index 371d1c9..05a8d0b 100644
--- a/lisp/km-diff.el
+++ b/lisp/km-diff.el
@@ -24,6 +24,15 @@
(require 'ediff)
;;;###autoload
+(defun km/diff-lock-buffer ()
+ "Rename current diff buffer to include new file name."
+ (interactive)
+ (rename-buffer
+ (format "*Diff: %s*"
+ (abbreviate-file-name
+ (substring-no-properties (diff-find-file-name))))))
+
+;;;###autoload
(defun km/ediff-with-other-window ()
"Run `ediff' on current window's file and other window's file."
(interactive)