unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob 9dc8d056146cd15cdbc179f82582206ae92d1b75 2737 bytes (raw)
name: emacs/notmuch-message.el 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
;;; notmuch-message.el --- message-mode functions specific to notmuch  -*- lexical-binding: t -*-
;;
;; Copyright © Jesse Rosenthal
;;
;; This file is part of Notmuch.
;;
;; Notmuch is free software: you can redistribute it and/or modify it
;; under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; Notmuch is distributed in the hope that it will be useful, but
;; WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;; General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with Notmuch.  If not, see <https://www.gnu.org/licenses/>.
;;
;; Authors: Jesse Rosenthal <jrosenthal@jhu.edu>

;;; Code:

(require 'message)
(require 'notmuch-tag)

(defcustom notmuch-message-replied-tags '("+replied")
  "List of tag changes to apply to a message when it has been replied to.

Tags starting with \"+\" (or not starting with either \"+\" or
\"-\") in the list will be added, and tags starting with \"-\"
will be removed from the message being replied to.

For example, if you wanted to add a \"replied\" tag and remove
the \"inbox\" and \"todo\" tags, you would set:
    (\"+replied\" \"-inbox\" \"-todo\")"
  :type '(repeat string)
  :group 'notmuch-send)

(defcustom notmuch-message-forwarded-tags '("+forwarded")
  "List of tag changes to apply to a message when it has been forwarded.

Tags starting with \"+\" (or not starting with either \"+\" or
\"-\") in the list will be added, and tags starting with \"-\"
will be removed from the message being forwarded.

For example, if you wanted to add a \"forwarded\" tag and remove
the \"inbox\" tag, you would set:
    (\"+forwarded\" \"-inbox\")"
  :type '(repeat string)
  :group 'notmuch-send)

(defvar-local notmuch-message-queued-tag-changes nil
  "List of tag changes to be applied when sending a message.

A list of queries and tag changes that are to be applied to them
when the message that was composed in the current buffer is being
send.  Each item in this list is a list of strings, where the
first is a notmuch query and the rest are the tag changes to be
applied to the matching messages.")

(defun notmuch-message-apply-queued-tag-changes ()
  ;; Apply the tag changes queued in the buffer-local variable
  ;; notmuch-message-queued-tag-changes.
  (dolist (query-and-tags notmuch-message-queued-tag-changes)
    (notmuch-tag (car query-and-tags)
		 (cdr query-and-tags))))

(add-hook 'message-send-hook 'notmuch-message-apply-queued-tag-changes)

(provide 'notmuch-message)

;;; notmuch-message.el ends here

debug log:

solving 9dc8d056 ...
found 9dc8d056 in https://yhetil.org/notmuch.git/

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

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).