If the car of an element in notmuch-search-result-format is a function, insert the result of calling the function into the buffer.
This allows a user to generate custom fields in the output of a search result. For example, with: (defun -notmuch-result-flags (format-string result) (let ((tags-to-letters '(("flagged" . "!") ("unread" . "u") ("mine" . "m") ("sent" . "s") ("replied" . "r"))) (tags (plist-get result :tags))) (format format-string (mapconcat (lambda (t2l) (if (member (car t2l) tags) (cdr t2l) " ")) tags-to-letters "")))) (setq notmuch-search-result-format '((-notmuch-result-flags . "%s ") ("date" . "%12s ") ("count" . "%9s ") ("authors" . "%-30s ") ("subject" . "%s ") ("tags" . "(%s)"))) The first few characters on each line of the search result are used to show information about some significant tags associated with the thread. --- emacs/notmuch.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/emacs/notmuch.el b/emacs/notmuch.el index b9cee19c..6ba535d1 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -831,6 +831,8 @@ non-authors is found, assume that all of the authors match." (defun notmuch-search-insert-field (field format-string result) (pcase field + ((pred functionp) + (insert (funcall field format-string result))) ("date" (insert (propertize (format format-string (plist-get result :date_relative)) 'face 'notmuch-search-date))) -- 2.30.0 _______________________________________________ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org