]> git.eshelyaron.com Git - emacs.git/commitdiff
Highlight error messages from diff in diff-mode
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 21 Aug 2020 13:58:32 +0000 (15:58 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 21 Aug 2020 13:58:32 +0000 (15:58 +0200)
* lisp/vc/diff-mode.el (diff-error): New face (bug#2739).
(diff-font-lock-keywords): Use it to highlight lines like "diff: "
which are error messages from diff (for instance, when a file
doesn't exist).

etc/NEWS
lisp/vc/diff-mode.el

index 717439a6ddbc16fb30b3f58c99c735dc3c06093d..0a6a7dec5cde9c0a28942735573b70c1048b8aae 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -820,6 +820,10 @@ window after starting).  This variable defaults to nil.
 
 ** Miscellaneous
 
+---
+*** New 'diff-mode' font locking face 'diff-error'.
+This face is used for error messages from diff.
+
 ---
 *** 'hs-minor-mode' now heeds 'hs-special-modes-alist' for derived modes.
 The settings in 'hs-special-modes-alist' now also affect modes derived
index aff20b6e6e997fcbb4a6c6a3864d24706cdfbe3d..9c41d508b6b6a2ecdee05d12ec791a98013022c5 100644 (file)
@@ -392,6 +392,12 @@ well."
   '((t :inherit diff-file-header))
   "`diff-mode' face used to highlight nonexistent files in recursive diffs.")
 
+(defface diff-error
+  '((((class color))
+     :foreground "red" :background "black" :weight bold)
+    (t :weight bold))
+  "`diff-mode' face for error messages from diff.")
+
 (defconst diff-yank-handler '(diff-yank-function))
 (defun diff-yank-function (text)
   ;; FIXME: the yank-handler is now called separately on each piece of text
@@ -472,6 +478,7 @@ and the face `diff-added' for added lines.")
     ("^\\(#\\)\\(.*\\)"
      (1 font-lock-comment-delimiter-face)
      (2 font-lock-comment-face))
+    ("^diff: .*" (0 'diff-error))
     ("^[^-=+*!<>#].*\n" (0 'diff-context))
     (,#'diff--font-lock-syntax)
     (,#'diff--font-lock-prettify)