]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch.el
Create a default notmuch-show-hook that highlights URLs and uses word-wrap
[notmuch] / notmuch.el
index 014d15bc85508edf392fe15171c5eec9a4004add..1934ddfc4febf36e625dd67fd0486ddcbf2b6910 100644 (file)
@@ -53,6 +53,7 @@
     (define-key map (kbd "DEL") 'notmuch-show-rewind)
     (define-key map " " 'notmuch-show-advance-marking-read-and-archiving)
     (define-key map "|" 'notmuch-show-pipe-message)
+    (define-key map "?" 'describe-mode)
     map)
   "Keymap for \"notmuch show\" buffers.")
 (fset 'notmuch-show-mode-map notmuch-show-mode-map)
@@ -638,6 +639,26 @@ view, (remove the \"inbox\" tag from each), with
        mode-name "notmuch-show")
   (setq buffer-read-only t))
 
+;;;###autoload
+
+(defgroup notmuch nil
+  "Notmuch mail reader for Emacs."
+  :group 'mail)
+
+(defcustom notmuch-show-hook nil
+  "List of functions to call when notmuch displays a message."
+  :type 'hook
+  :options '(goto-address)
+  :group 'notmuch)
+
+; Make show mode a bit prettier, highlighting URLs and using word wrap
+
+(defun notmuch-show-pretty-hook ()
+  (goto-address-mode 1)
+  (visual-line-mode))
+
+(add-hook 'notmuch-show-hook 'notmuch-show-pretty-hook)
+
 (defun notmuch-show (thread-id &optional parent-buffer)
   "Run \"notmuch show\" with the given thread ID and display results.
 
@@ -660,6 +681,7 @@ thread from that buffer can be show when done with this one)."
        (call-process "notmuch" nil t nil "show" thread-id)
        (notmuch-show-markup-messages)
        )
+      (run-hooks 'notmuch-show-hook)
       ; Move straight to the first unread message
       (if (not (notmuch-show-message-unread-p))
          (progn
@@ -698,6 +720,7 @@ thread from that buffer can be show when done with this one)."
     (define-key map "\M->" 'notmuch-search-goto-last-thread)
     (define-key map " " 'notmuch-search-scroll-up)
     (define-key map (kbd "<DEL>") 'notmuch-search-scroll-down)
+    (define-key map "?" 'describe-mode)
     map)
   "Keymap for \"notmuch search\" buffers.")
 (fset 'notmuch-search-mode-map notmuch-search-mode-map)
@@ -757,6 +780,7 @@ global search.
   (set (make-local-variable 'scroll-preserve-screen-position) t)
   (add-to-invisibility-spec 'notmuch-search)
   (use-local-map notmuch-search-mode-map)
+  (setq truncate-lines t)
   (setq major-mode 'notmuch-search-mode
        mode-name "notmuch-search")
   (setq buffer-read-only t))