summaryrefslogtreecommitdiff
path: root/emacs/notmuch-show.el
diff options
context:
space:
mode:
authorDavid Edmondson <dme@dme.org>2010-02-17 10:51:51 +0000
committerCarl Worth <cworth@cworth.org>2010-04-07 12:10:36 -0700
commitc44ce805de8ca01a5ceaa8db94a347e7236f17ce (patch)
treeb88ea6ccc99c3719cb68f139db64137bb68ec773 /emacs/notmuch-show.el
parente95dac86f578f8c4da224409bab1bd2ba7c910f5 (diff)
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>
Diffstat (limited to 'emacs/notmuch-show.el')
-rw-r--r--emacs/notmuch-show.el35
1 files changed, 24 insertions, 11 deletions
diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 589a737..a2383eb 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -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.")
(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
-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 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-end-regexp "\fmessage}")
@@ -680,16 +690,19 @@ is what to put on the button."
(cite-end (match-end 0))
(cite-lines (count-lines cite-start cite-end)))
(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)
(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))