contrib: pick: archive message updated

Update pick's archive message to respect notmuch-archive-tags. Also
split archive message into an archiving part and a separate
"then-next" part, to move more inline with show. Update the keybinding
so default behaviour is unchanged.
This commit is contained in:
Mark Walters 2012-12-08 12:41:34 +00:00 committed by David Bremner
parent d0ebd6cb53
commit 780a98d14e

View file

@ -173,7 +173,7 @@
(define-key map "q" 'notmuch-pick-quit) (define-key map "q" 'notmuch-pick-quit)
(define-key map "x" 'notmuch-pick-quit) (define-key map "x" 'notmuch-pick-quit)
(define-key map "?" 'notmuch-help) (define-key map "?" 'notmuch-help)
(define-key map "a" 'notmuch-pick-archive-message) (define-key map "a" 'notmuch-pick-archive-message-then-next)
(define-key map "=" 'notmuch-pick-refresh-view) (define-key map "=" 'notmuch-pick-refresh-view)
(define-key map "s" 'notmuch-search) (define-key map "s" 'notmuch-search)
(define-key map "z" 'notmuch-pick) (define-key map "z" 'notmuch-pick)
@ -393,10 +393,23 @@ Does NOT change the database."
(kill-buffer notmuch-pick-message-buffer)) (kill-buffer notmuch-pick-message-buffer))
t)) t))
(defun notmuch-pick-archive-message () (defun notmuch-pick-archive-message (&optional unarchive)
"Archive the current message.
Archive the current message by applying the tag changes in
`notmuch-archive-tags' to it (remove the \"inbox\" tag by
default). If a prefix argument is given, the message will be
\"unarchived\", i.e. the tag changes in `notmuch-archive-tags'
will be reversed."
(interactive "P")
(when notmuch-archive-tags
(apply 'notmuch-pick-tag
(notmuch-tag-change-list notmuch-archive-tags unarchive))))
(defun notmuch-pick-archive-message-then-next (&optional unarchive)
"Archive the current message and move to next matching message." "Archive the current message and move to next matching message."
(interactive) (interactive "P")
(notmuch-pick-tag "-inbox") (notmuch-pick-archive-message unarchive)
(notmuch-pick-next-matching-message)) (notmuch-pick-next-matching-message))
(defun notmuch-pick-next-message () (defun notmuch-pick-next-message ()