summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
071fb57)
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.
(defun notmuch-search-insert-field (field format-string result)
(pcase field
(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)))
("date"
(insert (propertize (format format-string (plist-get result :date_relative))
'face 'notmuch-search-date)))