diff options
author | Juri Linkov <juri@linkov.net> | 2018-12-18 01:11:15 +0200 |
---|---|---|
committer | Juri Linkov <juri@linkov.net> | 2018-12-18 01:11:15 +0200 |
commit | 6973b1489b24ca4190d24be9e5f887aef2cc9eff (patch) | |
tree | e3d85774e1b34de4f41103f84e511adcd5a3264d /lisp/vc/diff.el | |
parent | c5e02f2bce28f3b1f2006ce1f208f4a92ca05ed9 (diff) | |
download | emacs-6973b1489b24ca4190d24be9e5f887aef2cc9eff.tar.gz |
Syntactic fontification of diff hunks (bug#33567)
* lisp/vc/diff-mode.el (diff-font-lock-syntax): New defcustom.
(diff-default-directory): New buffer-local variable.
(diff-indicator-removed, diff-indicator-added)
(diff-indicator-changed): Set foreground to distinctive colors.
(diff-context): Remove colors to make room for syntax highlighting.
(diff-font-lock-keywords): Add diff--font-lock-syntax.
(diff--font-lock-cleanup): Remove diff-mode syntax overlays.
(diff--font-lock-syntax, diff--font-lock-syntax--refresh)
(diff-syntax-fontify-revisions, diff-syntax-fontify-hunk)
(diff-syntax-fontify-props): New functions.
* lisp/vc/diff.el (diff-no-select): Set diff-default-directory to
default-directory.
* doc/emacs/files.texi (Diff Mode): Document diff-font-lock-syntax.
Diffstat (limited to 'lisp/vc/diff.el')
-rw-r--r-- | lisp/vc/diff.el | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lisp/vc/diff.el b/lisp/vc/diff.el index ac94586cace..ed5b49d3bf4 100644 --- a/lisp/vc/diff.el +++ b/lisp/vc/diff.el @@ -121,6 +121,8 @@ Possible values are: nil -- no, it does not check -- try to probe whether it does") +(defvar diff-default-directory) + (defun diff-no-select (old new &optional switches no-async buf) ;; Noninteractive helper for creating and reverting diff buffers (unless (bufferp new) (setq new (expand-file-name new))) @@ -165,6 +167,7 @@ Possible values are: (lambda (_ignore-auto _noconfirm) (diff-no-select old new switches no-async (current-buffer)))) (setq default-directory thisdir) + (setq diff-default-directory default-directory) (let ((inhibit-read-only t)) (insert command "\n")) (if (and (not no-async) (fboundp 'make-process)) |