emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/marginalia 5373a26 076/241: add marginalia-modified fac


From: Stefan Monnier
Subject: [elpa] externals/marginalia 5373a26 076/241: add marginalia-modified face
Date: Fri, 28 May 2021 20:49:00 -0400 (EDT)

branch: externals/marginalia
commit 5373a2613c3fdee430b19df247617a8474d53b2e
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    add marginalia-modified face
---
 marginalia.el | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/marginalia.el b/marginalia.el
index b6d795d..4dabb30 100644
--- a/marginalia.el
+++ b/marginalia.el
@@ -99,6 +99,11 @@
   "Face used to highlight sizes in `marginalia-mode'."
   :group 'marginalia)
 
+(defface marginalia-modified
+  '((t :inherit font-lock-negation-char-face))
+  "Face used to highlight modification indicators in `marginalia-mode'."
+  :group 'marginalia)
+
 (defface marginalia-file-name
   '((t :inherit marginalia-documentation))
   "Face used to highlight file names in `marginalia-mode'."
@@ -303,18 +308,19 @@ This hash table is needed to speed up 
`marginalia-annotate-command-binding'.")
 
 (defun marginalia-annotate-symbol (cand)
   "Annotate symbol CAND with its documentation string."
-  (when-let ((sym (intern-soft cand)))
-    (marginalia--documentation
-     (cond
-      ((fboundp sym)
-       (when-let ((doc (ignore-errors (documentation sym))))
-         (if (string-match-p marginalia--advice-regexp doc)
-             (concat "*"
-                     (replace-regexp-in-string
-                      marginalia--advice-regexp "" doc))
-           (concat " " doc))))
-      ((facep sym) (documentation-property sym 'face-documentation))
-      (t (documentation-property sym 'variable-documentation))))))
+  (when-let* ((sym (intern-soft cand))
+              (doc (cond
+                    ((fboundp sym) (ignore-errors (documentation sym)))
+                    ((facep sym) (documentation-property sym 
'face-documentation))
+                    (t (documentation-property sym 'variable-documentation)))))
+    (marginalia--fields
+     ((if (and (fboundp sym) (string-match-p marginalia--advice-regexp doc))
+          "*" " ")
+      :face 'marginalia-modified)
+     ((if (fboundp sym)
+          (replace-regexp-in-string marginalia--advice-regexp "" doc)
+        doc)
+      :truncate marginalia-truncate-width :face 'marginalia-documentation))))
 
 (defun marginalia-annotate-variable (cand)
   "Annotate variable CAND with its documentation string."
@@ -391,7 +397,8 @@ This hash table is needed to speed up 
`marginalia-annotate-command-binding'.")
     (marginalia--fields
      ((concat
        (if (buffer-modified-p buffer) "*" " ")
-       (if (buffer-local-value 'buffer-read-only buffer) "%" " ")))
+       (if (buffer-local-value 'buffer-read-only buffer) "%" " "))
+      :face 'marginalia-modified)
      ((buffer-local-value 'major-mode buffer) :width 30 :face 'marginalia-mode)
      ((if-let (file (buffer-file-name buffer))
           (abbreviate-file-name file) "")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]