Add a function and key-binding to toggle the collapsing of citations within the current message. --- emacs/notmuch-show.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 10fc872..e4b56c7 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -1036,6 +1036,22 @@ useful for quoting in replies)." "Content is not indented.")) (notmuch-show-refresh-view)) +(defun notmuch-show-toggle-citation-visibility () + "Toggle the visibility of the citations in the current message." + (interactive) + (let ((beg (notmuch-show-message-top)) + (end (notmuch-show-message-bottom)) + button) + (save-excursion + (goto-char beg) + (while (and (setq button (next-button (point))) + (< (goto-char (button-start button)) + end)) + (let ((overlay (button-get button 'overlay))) + (when (and overlay + (string= (overlay-get overlay 'type) "citation")) + (push-button (point)))))))) + (defun notmuch-show-insert-tree (tree depth) "Insert the message tree TREE at depth DEPTH in the current thread." (let ((msg (car tree)) @@ -1311,6 +1327,7 @@ reset based on the original query." (define-key map "!" 'notmuch-show-toggle-elide-non-matching) (define-key map "$" 'notmuch-show-toggle-process-crypto) (define-key map "<" 'notmuch-show-toggle-thread-indentation) + (define-key map ">" 'notmuch-show-toggle-citation-visibility) (define-key map "t" 'toggle-truncate-lines) (define-key map "." 'notmuch-show-part-map) map) -- 2.0.0.rc0