mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-23 01:44:52 +01:00
emacs: hello: add a customize for saved-searches
Make the defcustom for notmuch-saved-searches use the new plist format. It should still work with oldstyle saved-searches but will write the newstyle form.
This commit is contained in:
parent
5e26d14536
commit
79c262be66
2 changed files with 43 additions and 5 deletions
|
@ -323,7 +323,7 @@ return that."
|
|||
;; Add the new one.
|
||||
(customize-save-variable 'notmuch-saved-searches
|
||||
(add-to-list 'notmuch-saved-searches
|
||||
(cons name search) t))
|
||||
(list :name name :query search) t))
|
||||
(message "Saved '%s' as '%s'." search name)
|
||||
(notmuch-hello-update)))
|
||||
|
||||
|
|
|
@ -107,10 +107,48 @@ Note that the recommended way of achieving the same is using
|
|||
(defvar notmuch-search-history nil
|
||||
"Variable to store notmuch searches history.")
|
||||
|
||||
(defcustom notmuch-saved-searches '(("inbox" . "tag:inbox")
|
||||
("unread" . "tag:unread"))
|
||||
"A list of saved searches to display."
|
||||
:type '(alist :key-type string :value-type string)
|
||||
(defun notmuch--saved-searches-to-plist (symbol)
|
||||
"Extract a saved-search variable into plist form.
|
||||
|
||||
The new style saved search is just a plist, but for backwards
|
||||
compatatibility we use this function to extract old style saved
|
||||
searches so they still work in customize."
|
||||
(let ((saved-searches (default-value symbol)))
|
||||
(mapcar #'notmuch-hello-saved-search-to-plist saved-searches)))
|
||||
|
||||
(define-widget 'notmuch-saved-search-plist 'list
|
||||
"A single saved search property list."
|
||||
:tag "Saved Search"
|
||||
:args '((list :inline t
|
||||
:format "%v"
|
||||
(group :format "%v" :inline t (const :format " Name: " :name) (string :format "%v"))
|
||||
(group :format "%v" :inline t (const :format " Query: " :query) (string :format "%v")))
|
||||
(checklist :inline t
|
||||
:format "%v"
|
||||
(group :format "%v" :inline t (const :format "Count-Query: " :count-query) (string :format "%v")))))
|
||||
|
||||
(defcustom notmuch-saved-searches '((:name "inbox" :query "tag:inbox")
|
||||
(:name "unread" :query "tag:unread"))
|
||||
"A list of saved searches to display.
|
||||
|
||||
The saved search can be given in 3 forms. The preferred way is as
|
||||
a plist. Supported properties are
|
||||
|
||||
:name Name of the search (required).
|
||||
:query Search to run (required).
|
||||
:count-query Optional extra query to generate the count
|
||||
shown. If not present then the :query property
|
||||
is used.
|
||||
|
||||
Other accepted forms are a cons cell of the form (NAME . QUERY)
|
||||
or a list of the form (NAME QUERY COUNT-QUERY)."
|
||||
;; The saved-search format is also used by the all-tags notmuch-hello
|
||||
;; section. This section generates its own saved-search list in one of
|
||||
;; the latter two forms.
|
||||
|
||||
:get 'notmuch--saved-searches-to-plist
|
||||
:type '(repeat notmuch-saved-search-plist)
|
||||
:tag "List of Saved Searches"
|
||||
:group 'notmuch-hello)
|
||||
|
||||
(defcustom notmuch-archive-tags '("-inbox")
|
||||
|
|
Loading…
Reference in a new issue