mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-28 05:34:11 +01:00
emacs: Allow control over faces for search mode columns.
Add face declarations for the date, count, matching author and subject columns in search mode and apply those faces when building the search mode display. Approved-by: Jameson Rollins <jrollins@finestructure.net>
This commit is contained in:
parent
965b3e6a8b
commit
55cef18f95
1 changed files with 44 additions and 17 deletions
|
@ -285,16 +285,24 @@ For a mouse binding, return nil."
|
||||||
"Face for the single-line message summary in notmuch-show-mode."
|
"Face for the single-line message summary in notmuch-show-mode."
|
||||||
:group 'notmuch)
|
:group 'notmuch)
|
||||||
|
|
||||||
(defface notmuch-tag-face
|
(defface notmuch-search-date
|
||||||
'((((class color)
|
'((t :inherit default))
|
||||||
(background dark))
|
"Face used in search mode for dates."
|
||||||
(:foreground "OliveDrab1"))
|
:group 'notmuch)
|
||||||
(((class color)
|
|
||||||
(background light))
|
(defface notmuch-search-count
|
||||||
(:foreground "navy blue" :bold t))
|
'((t :inherit default))
|
||||||
(t
|
"Face used in search mode for the count matching the query."
|
||||||
(:bold t)))
|
:group 'notmuch)
|
||||||
"Notmuch search mode face used to highligh tags."
|
|
||||||
|
(defface notmuch-search-subject
|
||||||
|
'((t :inherit default))
|
||||||
|
"Face used in search mode for subjects."
|
||||||
|
:group 'notmuch)
|
||||||
|
|
||||||
|
(defface notmuch-search-matching-authors
|
||||||
|
'((t :inherit default))
|
||||||
|
"Face used in search mode for authors matching the query."
|
||||||
:group 'notmuch)
|
:group 'notmuch)
|
||||||
|
|
||||||
(defface notmuch-search-non-matching-authors
|
(defface notmuch-search-non-matching-authors
|
||||||
|
@ -304,10 +312,23 @@ For a mouse binding, return nil."
|
||||||
(((class color)
|
(((class color)
|
||||||
(background light))
|
(background light))
|
||||||
(:foreground "grey60"))
|
(:foreground "grey60"))
|
||||||
(t (:italic t)))
|
(t
|
||||||
|
(:italic t)))
|
||||||
"Face used in search mode for authors not matching the query."
|
"Face used in search mode for authors not matching the query."
|
||||||
:group 'notmuch)
|
:group 'notmuch)
|
||||||
|
|
||||||
|
(defface notmuch-tag-face
|
||||||
|
'((((class color)
|
||||||
|
(background dark))
|
||||||
|
(:foreground "OliveDrab1"))
|
||||||
|
(((class color)
|
||||||
|
(background light))
|
||||||
|
(:foreground "navy blue" :bold t))
|
||||||
|
(t
|
||||||
|
(:bold t)))
|
||||||
|
"Face used in search mode face for tags."
|
||||||
|
:group 'notmuch)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun notmuch-search-mode ()
|
(defun notmuch-search-mode ()
|
||||||
"Major mode displaying results of a notmuch search.
|
"Major mode displaying results of a notmuch search.
|
||||||
|
@ -599,21 +620,27 @@ matching will be applied."
|
||||||
;; `notmuch-search-process-filter'.
|
;; `notmuch-search-process-filter'.
|
||||||
(save-match-data
|
(save-match-data
|
||||||
(if (string-match "\\(.*\\)|\\(..*\\)" truncated-string)
|
(if (string-match "\\(.*\\)|\\(..*\\)" truncated-string)
|
||||||
(concat (match-string 1 truncated-string) ","
|
(concat (propertize (concat (match-string 1 truncated-string) ",")
|
||||||
|
'face 'notmuch-search-matching-authors)
|
||||||
(propertize (match-string 2 truncated-string)
|
(propertize (match-string 2 truncated-string)
|
||||||
'face 'notmuch-search-non-matching-authors))
|
'face 'notmuch-search-non-matching-authors))
|
||||||
truncated-string)))))
|
(propertize truncated-string 'face 'notmuch-search-matching-authors))))))
|
||||||
|
|
||||||
(defun notmuch-search-insert-field (field date count authors subject tags)
|
(defun notmuch-search-insert-field (field date count authors subject tags)
|
||||||
(cond
|
(cond
|
||||||
((string-equal field "date")
|
((string-equal field "date")
|
||||||
(insert (format (cdr (assoc field notmuch-search-result-format)) date)))
|
(insert (propertize (format (cdr (assoc field notmuch-search-result-format)) date)
|
||||||
|
'face 'notmuch-search-date)))
|
||||||
((string-equal field "count")
|
((string-equal field "count")
|
||||||
(insert (format (cdr (assoc field notmuch-search-result-format)) count)))
|
(insert (propertize (format (cdr (assoc field notmuch-search-result-format)) count)
|
||||||
|
'face 'notmuch-search-count)))
|
||||||
|
((string-equal field "subject")
|
||||||
|
(insert (propertize (format (cdr (assoc field notmuch-search-result-format)) subject)
|
||||||
|
'face 'notmuch-search-subject)))
|
||||||
|
|
||||||
((string-equal field "authors")
|
((string-equal field "authors")
|
||||||
(notmuch-search-insert-authors (cdr (assoc field notmuch-search-result-format)) authors))
|
(notmuch-search-insert-authors (cdr (assoc field notmuch-search-result-format)) authors))
|
||||||
((string-equal field "subject")
|
|
||||||
(insert (format (cdr (assoc field notmuch-search-result-format)) subject)))
|
|
||||||
((string-equal field "tags")
|
((string-equal field "tags")
|
||||||
(insert (concat "(" (propertize tags 'font-lock-face 'notmuch-tag-face) ")")))))
|
(insert (concat "(" (propertize tags 'font-lock-face 'notmuch-tag-face) ")")))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue