From: Mark Walters Date: Sat, 22 Mar 2014 11:51:07 +0000 (+0000) Subject: emacs: tag split customise option for format-tags into a widget X-Git-Tag: 0.18_rc0~79 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b9a777e0a3983a5b2062e927c5b426ca669da644;p=notmuch.git emacs: tag split customise option for format-tags into a widget We will re-use the customize option for format-tags for formattting deleted tags to added tags in the next patch so split it into a widget. There should be no functional change. --- diff --git a/emacs/notmuch-tag.el b/emacs/notmuch-tag.el index 42c425ed..a4dea39d 100644 --- a/emacs/notmuch-tag.el +++ b/emacs/notmuch-tag.el @@ -28,6 +28,34 @@ (require 'crm) (require 'notmuch-lib) +(define-widget 'notmuch-tag-format-type 'lazy + "Customize widget for notmuch-tag-format and friends" + :type '(alist :key-type (regexp :tag "Tag") + :extra-offset -3 + :value-type + (radio :format "%v" + (const :tag "Hidden" nil) + (set :tag "Modified" + (string :tag "Display as") + (list :tag "Face" :extra-offset -4 + (const :format "" :inline t + (propertize tag 'face)) + (list :format "%v" + (const :format "" quote) + custom-face-edit)) + (list :format "%v" :extra-offset -4 + (const :format "" :inline t + (notmuch-tag-format-image-data tag)) + (choice :tag "Image" + (const :tag "Star" + (notmuch-tag-star-icon)) + (const :tag "Empty star" + (notmuch-tag-star-empty-icon)) + (const :tag "Tag" + (notmuch-tag-tag-icon)) + (string :tag "Custom"))) + (sexp :tag "Custom"))))) + (defcustom notmuch-tag-formats '(("unread" (propertize tag 'face '(:foreground "red"))) ("flagged" (propertize tag 'face '(:foreground "blue")) @@ -57,34 +85,9 @@ of a tag to red, use the expression See also `notmuch-tag-format-image', which can help replace tags with images." - :group 'notmuch-search :group 'notmuch-show - :type '(alist :key-type (regexp :tag "Tag") - :extra-offset -3 - :value-type - (radio :format "%v" - (const :tag "Hidden" nil) - (set :tag "Modified" - (string :tag "Display as") - (list :tag "Face" :extra-offset -4 - (const :format "" :inline t - (propertize tag 'face)) - (list :format "%v" - (const :format "" quote) - custom-face-edit)) - (list :format "%v" :extra-offset -4 - (const :format "" :inline t - (notmuch-tag-format-image-data tag)) - (choice :tag "Image" - (const :tag "Star" - (notmuch-tag-star-icon)) - (const :tag "Empty star" - (notmuch-tag-star-empty-icon)) - (const :tag "Tag" - (notmuch-tag-tag-icon)) - (string :tag "Custom"))) - (sexp :tag "Custom"))))) + :type 'notmuch-tag-format-type) (defun notmuch-tag-format-image-data (tag data) "Replace TAG with image DATA, if available.