unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] notmuch.el: Allow citation suffixes to be shown as well as prefixes.
@ 2010-02-17 10:51 David Edmondson
  2010-04-06  7:38 ` Sebastian Spaeth
  0 siblings, 1 reply; 5+ messages in thread
From: David Edmondson @ 2010-02-17 10:51 UTC (permalink / raw
  To: notmuch

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.

Modify the face used for the citation button to distinguish it from
the surrounding citation.
---
 notmuch.el |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/notmuch.el b/notmuch.el
index 20e5144..ab71b5e 100644
--- a/notmuch.el
+++ b/notmuch.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-command "notmuch"
   "Command to run the notmuch binary.")
@@ -643,7 +653,7 @@ which this thread was originally shown."
 (define-button-type 'notmuch-button-invisibility-toggle-type
   'action 'notmuch-toggle-invisible-action
   'follow-link t
-  'face 'font-lock-comment-face)
+  'face 'font-lock-comment-delimiter-face)
 (define-button-type 'notmuch-button-citation-toggle-type 'help-echo "mouse-1, RET: Show citation"
   :supertype 'notmuch-button-invisibility-toggle-type)
 (define-button-type 'notmuch-button-signature-toggle-type 'help-echo "mouse-1, RET: Show signature"
@@ -711,16 +721,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))
-- 
1.6.6.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] notmuch.el: Allow citation suffixes to be shown as well as prefixes.
  2010-02-17 10:51 [PATCH] notmuch.el: Allow citation suffixes to be shown as well as prefixes David Edmondson
@ 2010-04-06  7:38 ` Sebastian Spaeth
  2010-04-06  7:39   ` [PATCH 1/2] " Sebastian Spaeth
  0 siblings, 1 reply; 5+ messages in thread
From: Sebastian Spaeth @ 2010-04-06  7:38 UTC (permalink / raw
  To: David Edmondson, notmuch

On Wed, 17 Feb 2010 10:51:51 +0000, David Edmondson <dme@dme.org> wrote:
> 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.
> 
> Modify the face used for the citation button to distinguish it from
> the surrounding citation.

I've been using this patch and don't want to lose it. However, as it
does not apply anymore due to the file moving, I'll reply with 2 updated
patches that produce nicer citations.

Sebastian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] notmuch.el: Allow citation suffixes to be shown as well as prefixes.
  2010-04-06  7:38 ` Sebastian Spaeth
@ 2010-04-06  7:39   ` Sebastian Spaeth
  2010-04-06  7:39     ` [PATCH 2/2] notmuch.el: Colour cited regions and signatures with message-cited-text-face Sebastian Spaeth
  2010-04-07 19:46     ` [PATCH 1/2] notmuch.el: Allow citation suffixes to be shown as well as prefixes Carl Worth
  0 siblings, 2 replies; 5+ messages in thread
From: Sebastian Spaeth @ 2010-04-06  7:39 UTC (permalink / raw
  To: notmuch

From: David Edmondson <dme@dme.org>

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.

Modify the face used for the citation button to distinguish it from
the surrounding citation.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
---
 emacs/notmuch-show.el |   36 +++++++++++++++++++++++++-----------
 1 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index cc1f905..f172f6b 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}")
@@ -679,16 +689,20 @@ is what to put on the button."
       (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))
-- 
1.6.3.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] notmuch.el: Colour cited regions and signatures with message-cited-text-face
  2010-04-06  7:39   ` [PATCH 1/2] " Sebastian Spaeth
@ 2010-04-06  7:39     ` Sebastian Spaeth
  2010-04-07 19:46     ` [PATCH 1/2] notmuch.el: Allow citation suffixes to be shown as well as prefixes Carl Worth
  1 sibling, 0 replies; 5+ messages in thread
From: Sebastian Spaeth @ 2010-04-06  7:39 UTC (permalink / raw
  To: notmuch

From: David Edmondson <dme@dme.org>

Patch from mail id:1266226909-19360-1-git-send-email-dme@dme.org with a fix in id:873a12hl3f.fsf@aw.hh.sledj.net

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
---
 emacs/notmuch-show.el |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index f172f6b..353b57d 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -708,14 +708,16 @@ is what to put on the button."
 	(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)
-	       ))))))
+    (if (<= sig-lines notmuch-show-signature-lines-max)
+      (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)
-- 
1.6.3.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] notmuch.el: Allow citation suffixes to be shown as well as prefixes.
  2010-04-06  7:39   ` [PATCH 1/2] " Sebastian Spaeth
  2010-04-06  7:39     ` [PATCH 2/2] notmuch.el: Colour cited regions and signatures with message-cited-text-face Sebastian Spaeth
@ 2010-04-07 19:46     ` Carl Worth
  1 sibling, 0 replies; 5+ messages in thread
From: Carl Worth @ 2010-04-07 19:46 UTC (permalink / raw
  To: Sebastian Spaeth, notmuch

[-- Attachment #1: Type: text/plain, Size: 1364 bytes --]

On Tue,  6 Apr 2010 09:39:19 +0200, Sebastian Spaeth <Sebastian@SSpaeth.de> wrote:
> From: David Edmondson <dme@dme.org>
> 
> 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.

Thanks, David! (and Sebastian).

I've pushed out this change, (along with a followup that actually
enables this functionality by default), and I absolutely love it
already.

> Modify the face used for the citation button to distinguish it from
> the surrounding citation.

This piece looks totally independent, so I separated it out.

I was going to push it out separately, but I didn't actually find that
it did anything by default. (For me, font-lock-comment-delimiter-face
inherits from font-lock-comment-face with no changes.)

And actually, that makes me realize that we should be defining our own
notmuch face names for all the faces we use. Instead of just using
font-lock (or even message-mode) face names, we should use our own, (but
make them inherit liberally from other modes where that makes sense.

With that, plus changing a bunch of our current defvar calls into
defcustom calls, and I think we'd have a fairly reasonable customize
interface where people could tweak the appearance of notmuch without
having to write any emacs lisp.

-Carl

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-04-07 19:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-17 10:51 [PATCH] notmuch.el: Allow citation suffixes to be shown as well as prefixes David Edmondson
2010-04-06  7:38 ` Sebastian Spaeth
2010-04-06  7:39   ` [PATCH 1/2] " Sebastian Spaeth
2010-04-06  7:39     ` [PATCH 2/2] notmuch.el: Colour cited regions and signatures with message-cited-text-face Sebastian Spaeth
2010-04-07 19:46     ` [PATCH 1/2] notmuch.el: Allow citation suffixes to be shown as well as prefixes Carl Worth

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).