X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch.el;h=4b2936a9645b980b8654ec71788e010c17ab3c0b;hp=706e9f3299f60e57b33b630f5f65fd73f7d180ed;hb=5d0a01dceb67e9bdcb95bcb2328baef5e7ea7d52;hpb=83a2ed3c2f301bf63a37cc091431db20321704e1 diff --git a/notmuch.el b/notmuch.el index 706e9f32..4b2936a9 100644 --- a/notmuch.el +++ b/notmuch.el @@ -71,17 +71,20 @@ pattern can still test against the entire line).") (defvar notmuch-show-signature-lines-max 12 "Maximum length of signature that will be hidden by default.") -(set 'notmuch-show-message-begin-regexp " message{") -(set 'notmuch-show-message-end-regexp " message}") -(set 'notmuch-show-header-begin-regexp " header{") -(set 'notmuch-show-header-end-regexp " header}") -(set 'notmuch-show-body-begin-regexp " body{") -(set 'notmuch-show-body-end-regexp " body}") -(set 'notmuch-show-attachment-begin-regexp " attachment{") -(set 'notmuch-show-attachment-end-regexp " attachment}") -(set 'notmuch-show-part-begin-regexp " part{") -(set 'notmuch-show-part-end-regexp " part}") -(set 'notmuch-show-marker-regexp " \\(message\\|header\\|body\\|attachment\\|part\\)[{}].*$") +(defvar notmuch-command "notmuch" + "Command to run the notmuch binary.") + +(set 'notmuch-show-message-begin-regexp "\fmessage{") +(set 'notmuch-show-message-end-regexp "\fmessage}") +(set 'notmuch-show-header-begin-regexp "\fheader{") +(set 'notmuch-show-header-end-regexp "\fheader}") +(set 'notmuch-show-body-begin-regexp "\fbody{") +(set 'notmuch-show-body-end-regexp "\fbody}") +(set 'notmuch-show-attachment-begin-regexp "\fattachment{") +(set 'notmuch-show-attachment-end-regexp "\fattachment}") +(set 'notmuch-show-part-begin-regexp "\fpart{") +(set 'notmuch-show-part-end-regexp "\fpart}") +(set 'notmuch-show-marker-regexp "\f\\(message\\|header\\|body\\|attachment\\|part\\)[{}].*$") (set 'notmuch-show-id-regexp "\\(id:[^ ]*\\)") (set 'notmuch-show-depth-regexp " depth:\\([0-9]*\\) ") @@ -251,7 +254,7 @@ buffer." (defun notmuch-reply (query-string) (switch-to-buffer (generate-new-buffer "notmuch-draft")) - (call-process "notmuch" nil t nil "reply" query-string) + (call-process notmuch-command nil t nil "reply" query-string) (goto-char (point-min)) (if (re-search-forward "^$" nil t) (progn @@ -654,6 +657,12 @@ view, (remove the \"inbox\" tag from each), with :options '(goto-address) :group 'notmuch) +(defcustom notmuch-search-hook nil + "List of functions to call when notmuch displays the search results." + :type 'hook + :options '(hl-line-mode) + :group 'notmuch) + ; Make show mode a bit prettier, highlighting URLs and using word wrap (defun notmuch-show-pretty-hook () @@ -661,6 +670,9 @@ view, (remove the \"inbox\" tag from each), with (visual-line-mode)) (add-hook 'notmuch-show-hook 'notmuch-show-pretty-hook) +(add-hook 'notmuch-search-hook + (lambda() + (hl-line-mode 1) )) (defun notmuch-show (thread-id &optional parent-buffer) "Run \"notmuch show\" with the given thread ID and display results. @@ -681,7 +693,7 @@ thread from that buffer can be show when done with this one)." (erase-buffer) (goto-char (point-min)) (save-excursion - (call-process "notmuch" nil t nil "show" thread-id) + (call-process notmuch-command nil t nil "show" thread-id) (notmuch-show-markup-messages) ) (run-hooks 'notmuch-show-hook) @@ -842,7 +854,7 @@ and will also appear in a buffer named \"*Notmuch errors*\"." (let ((error-buffer (get-buffer-create "*Notmuch errors*"))) (with-current-buffer error-buffer (erase-buffer)) - (if (eq (apply 'call-process "notmuch" nil error-buffer nil args) 0) + (if (eq (apply 'call-process notmuch-command nil error-buffer nil args) 0) (point) (progn (with-current-buffer error-buffer @@ -908,10 +920,11 @@ This function advances point to the next line when finished." (goto-char (point-min)) (save-excursion (if oldest-first - (call-process "notmuch" nil t nil "search" "--sort=oldest-first" query) - (call-process "notmuch" nil t nil "search" "--sort=newest-first" query)) + (call-process notmuch-command nil t nil "search" "--sort=oldest-first" query) + (call-process notmuch-command nil t nil "search" "--sort=newest-first" query)) (notmuch-search-markup-thread-ids) - )))) + )) + (run-hooks 'notmuch-search-hook))) (defun notmuch-search-refresh-view () "Refresh the current view.