(defvar notmuch-show-signature-lines-max 12
"Maximum length of signature that will be hidden by default.")
-(defvar notmuch-show-citation-lines-prefix 4
- "Always show at least this many lines of a citation.
+(defvar notmuch-show-citation-lines-prefix 3
+ "Always show at least this many lines at the start of a citation.
-If there is one more line, show that, otherwise collapse
-remaining lines into a button.")
+If there is one more line than the sum of
+`notmuch-show-citation-lines-prefix' and
+`notmuch-show-citation-lines-suffix', show that, otherwise
+collapse remaining lines into a button.")
+
+(defvar notmuch-show-citation-lines-suffix 3
+ "Always show at least this many lines at the end of a citation.
+
+If there is one more line than the sum of
+`notmuch-show-citation-lines-prefix' and
+`notmuch-show-citation-lines-suffix', show that, otherwise
+collapse remaining lines into a button.")
(defvar notmuch-show-message-begin-regexp "\fmessage{")
(defvar notmuch-show-message-end-regexp "\fmessage}")
(let* ((cite-start (match-beginning 0))
(cite-end (match-end 0))
(cite-lines (count-lines cite-start cite-end)))
- (when (> cite-lines (1+ notmuch-show-citation-lines-prefix))
+ (overlay-put (make-overlay cite-start cite-end) 'face 'message-cited-text-face)
+ (when (> cite-lines (1+ (+ notmuch-show-citation-lines-prefix notmuch-show-citation-lines-suffix)))
(goto-char cite-start)
(forward-line notmuch-show-citation-lines-prefix)
- (notmuch-show-region-to-button
- (point) cite-end
- "citation"
- indent
- (format notmuch-show-citation-button-format
- (- cite-lines notmuch-show-citation-lines-prefix))
- ))))
+ (let ((hidden-start (point)))
+ (goto-char cite-end)
+ (forward-line (- notmuch-show-citation-lines-suffix))
+ (notmuch-show-region-to-button
+ hidden-start (point)
+ "citation"
+ indent
+ (format notmuch-show-citation-button-format
+ (- cite-lines notmuch-show-citation-lines-prefix notmuch-show-citation-lines-suffix))
+ )))))
(if (and (< (point) end)
(re-search-forward signature-regexp end t))
(let* ((sig-start (match-beginning 0))
(sig-end (match-end 0))
(sig-lines (1- (count-lines sig-start end))))
(if (<= sig-lines notmuch-show-signature-lines-max)
- (notmuch-show-region-to-button
- sig-start
- end
- "signature"
- indent
- (format notmuch-show-signature-button-format sig-lines)
- ))))))
+ (progn
+ (overlay-put (make-overlay sig-start end) 'face 'message-cited-text-face)
+ (notmuch-show-region-to-button
+ sig-start
+ end
+ "signature"
+ indent
+ (format notmuch-show-signature-button-format sig-lines)
+ )))))))
(defun notmuch-show-markup-part (beg end depth)
(if (re-search-forward notmuch-show-part-begin-regexp nil t)