notmuch.el: Hide thread IDs in notmuch-search mode.
authorCarl Worth <cworth@cworth.org>
Tue, 3 Nov 2009 00:02:32 +0000 (16:02 -0800)
committerCarl Worth <cworth@cworth.org>
Tue, 3 Nov 2009 00:02:32 +0000 (16:02 -0800)
One more baby step toward something that's pleasant to use.

TODO
notmuch.el

diff --git a/TODO b/TODO
index b94d055bfa7ef7c2527d84c362727fc796c4c88b..50daa2c76a67e2cc97ac1350a2e14601643bac43 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,7 +1,5 @@
 Add support to format a reply buffer for a particular message.
 
-Hide thread IDs in notmuch-search mode in notmuch.el.
-
 Selectively hide headers and bodies in notmuch-show mode in
 notmuch.el, (for example, for read messages).
 
index 73f0296349ee0b695a32fcb683bb54a8b15e98e8..d0c7f3208147383cc0d3781d8edf8f8a58f277ca 100644 (file)
       (re-search-forward "[a-fA-F0-9]*")
       (filter-buffer-substring beg (point)))))
 
+(defun notmuch-search-markup-this-thread-id ()
+  (beginning-of-line)
+  (let ((beg (point)))
+    (re-search-forward "[a-fA-F0-9]*")
+    (forward-char)
+    (overlay-put (make-overlay beg (point)) 'invisible 'notmuch-search)))
+
+(defun notmuch-search-markup-thread-ids ()
+  (save-excursion
+    (beginning-of-buffer)
+    (while (not (eobp))
+      (notmuch-search-markup-this-thread-id)
+      (next-line))))
+
+(defun notmuch-search-hide-thread-ids ()
+  (interactive)
+  (add-to-invisibility-spec 'notmuch-search))
+
+(defun notmuch-search-show-thread-ids ()
+  (interactive)
+  (remove-from-invisibility-spec 'notmuch-search))
+
 (defun notmuch-search-show-thread ()
   (interactive)
   (notmuch-show (notmuch-search-find-thread-id)))
       (save-excursion
        (call-process "notmuch" nil t nil "search" query)
        )
+      (notmuch-search-markup-thread-ids)
       )))
 
 (defun notmuch ()