mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-28 13:44:12 +01:00
notmuch.el: Allow citation suffixes to be shown as well as prefixes.
In many conversations the last few lines of a citation are more interesting than the first few lines, hence allow those to be shown if desired. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
parent
e95dac86f5
commit
c44ce805de
1 changed files with 24 additions and 11 deletions
|
@ -111,10 +111,20 @@ Can use up to one integer format parameter, i.e. %d")
|
||||||
"Maximum length of signature that will be hidden by default.")
|
"Maximum length of signature that will be hidden by default.")
|
||||||
|
|
||||||
(defvar notmuch-show-citation-lines-prefix 4
|
(defvar notmuch-show-citation-lines-prefix 4
|
||||||
"Always show at least this many lines of a citation.
|
"Always show at least this many lines at the start of a citation.
|
||||||
|
|
||||||
If there is one more line, show that, otherwise collapse
|
If there is one more line than the sum of
|
||||||
remaining lines into a button.")
|
`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 0
|
||||||
|
"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-begin-regexp "\fmessage{")
|
||||||
(defvar notmuch-show-message-end-regexp "\fmessage}")
|
(defvar notmuch-show-message-end-regexp "\fmessage}")
|
||||||
|
@ -680,16 +690,19 @@ is what to put on the button."
|
||||||
(cite-end (match-end 0))
|
(cite-end (match-end 0))
|
||||||
(cite-lines (count-lines cite-start cite-end)))
|
(cite-lines (count-lines cite-start cite-end)))
|
||||||
(overlay-put (make-overlay cite-start cite-end) 'face 'message-cited-text-face)
|
(overlay-put (make-overlay cite-start cite-end) 'face 'message-cited-text-face)
|
||||||
(when (> cite-lines (1+ notmuch-show-citation-lines-prefix))
|
(when (> cite-lines (1+ (+ notmuch-show-citation-lines-prefix notmuch-show-citation-lines-suffix)))
|
||||||
(goto-char cite-start)
|
(goto-char cite-start)
|
||||||
(forward-line notmuch-show-citation-lines-prefix)
|
(forward-line 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
|
(notmuch-show-region-to-button
|
||||||
(point) cite-end
|
hidden-start (point)
|
||||||
"citation"
|
"citation"
|
||||||
indent
|
indent
|
||||||
(format notmuch-show-citation-button-format
|
(format notmuch-show-citation-button-format
|
||||||
(- cite-lines notmuch-show-citation-lines-prefix))
|
(- cite-lines notmuch-show-citation-lines-prefix notmuch-show-citation-lines-suffix))
|
||||||
))))
|
)))))
|
||||||
(if (and (< (point) end)
|
(if (and (< (point) end)
|
||||||
(re-search-forward signature-regexp end t))
|
(re-search-forward signature-regexp end t))
|
||||||
(let* ((sig-start (match-beginning 0))
|
(let* ((sig-start (match-beginning 0))
|
||||||
|
|
Loading…
Reference in a new issue