X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch-wash.el;h=065af16fb071baeb9cd53e1b43ffec85f2beca86;hb=6cf6469e91938afafd22c34773168436a63ca47c;hp=184440004a3fb860ec01dc61bfb8c9d6eaef1160;hpb=092b159be7984ec32e06bae9fcdee2f6bcf54394;p=notmuch diff --git a/emacs/notmuch-wash.el b/emacs/notmuch-wash.el index 18444000..065af16f 100644 --- a/emacs/notmuch-wash.el +++ b/emacs/notmuch-wash.el @@ -1,4 +1,4 @@ -;; notmuch-wash.el --- cleaning up message bodies +;;; notmuch-wash.el --- cleaning up message bodies ;; ;; Copyright © Carl Worth ;; Copyright © David Edmondson @@ -21,6 +21,8 @@ ;; Authors: Carl Worth ;; David Edmondson +;;; Code: + (require 'coolj) (declare-function notmuch-show-insert-bodypart "notmuch-show" (msg part depth &optional hide)) @@ -31,73 +33,99 @@ "Cleaning up messages for display." :group 'notmuch) -(defvar notmuch-wash-signature-regexp - "^\\(-- ?\\|_+\\)$" - "Pattern to match a line that separates content from signature.") +(defcustom notmuch-wash-signature-regexp "^\\(-- ?\\|_+\\)$" + "Pattern to match a line that separates content from signature." + :type 'regexp + :group 'notmuch-wash) -(defvar notmuch-wash-citation-regexp - "\\(^[[:space:]]*>.*\n\\)+" - "Pattern to match citation lines.") +(defcustom notmuch-wash-citation-regexp "\\(^[[:space:]]*>.*\n\\)+" + "Pattern to match citation lines." + :type 'regexp + :group 'notmuch-wash) -(defvar notmuch-wash-original-regexp "^\\(--+\s?[oO]riginal [mM]essage\s?--+\\)$" - "Pattern to match a line that separates original message from reply in top-posted message.") +(defcustom notmuch-wash-original-regexp "^\\(--+\s?[oO]riginal [mM]essage\s?--+\\)$" + "Pattern to match a line that separates original message from +reply in top-posted message." + :type 'regexp + :group 'notmuch-wash) -(defvar notmuch-wash-button-signature-hidden-format +(defcustom notmuch-wash-button-signature-hidden-format "[ %d-line signature. Click/Enter to show. ]" "String used to construct button text for hidden signatures. -Can use up to one integer format parameter, i.e. %d") +Can use up to one integer format parameter, i.e. %d." + :type 'string + :group 'notmuch-wash) -(defvar notmuch-wash-button-signature-visible-format +(defcustom notmuch-wash-button-signature-visible-format "[ %d-line signature. Click/Enter to hide. ]" "String used to construct button text for visible signatures. -Can use up to one integer format parameter, i.e. %d") +Can use up to one integer format parameter, i.e. %d." + :type 'string + :group 'notmuch-wash) -(defvar notmuch-wash-button-citation-hidden-format +(defcustom notmuch-wash-button-citation-hidden-format "[ %d more citation lines. Click/Enter to show. ]" "String used to construct button text for hidden citations. -Can use up to one integer format parameter, i.e. %d") +Can use up to one integer format parameter, i.e. %d." + :type 'string + :group 'notmuch-wash) -(defvar notmuch-wash-button-citation-visible-format +(defcustom notmuch-wash-button-citation-visible-format "[ %d more citation lines. Click/Enter to hide. ]" "String used to construct button text for visible citations. -Can use up to one integer format parameter, i.e. %d") +Can use up to one integer format parameter, i.e. %d." + :type 'string + :group 'notmuch-wash) -(defvar notmuch-wash-button-original-hidden-format +(defcustom notmuch-wash-button-original-hidden-format "[ %d-line hidden original message. Click/Enter to show. ]" "String used to construct button text for hidden citations. -Can use up to one integer format parameter, i.e. %d") +Can use up to one integer format parameter, i.e. %d." + :type 'string + :group 'notmuch-wash) -(defvar notmuch-wash-button-original-visible-format +(defcustom notmuch-wash-button-original-visible-format "[ %d-line original message. Click/Enter to hide. ]" "String used to construct button text for visible citations. -Can use up to one integer format parameter, i.e. %d") +Can use up to one integer format parameter, i.e. %d." + :type 'string + :group 'notmuch-wash) -(defvar notmuch-wash-signature-lines-max 12 - "Maximum length of signature that will be hidden by default.") +(defcustom notmuch-wash-signature-lines-max 12 + "Maximum length of signature that will be hidden by default." + :type 'integer + :group 'notmuch-wash) -(defvar notmuch-wash-citation-lines-prefix 3 +(defcustom notmuch-wash-citation-lines-prefix 3 "Always show at least this many lines from the start of a citation. If there is one more line than the sum of `notmuch-wash-citation-lines-prefix' and `notmuch-wash-citation-lines-suffix', show that, otherwise -collapse the remaining lines into a button.") +collapse the remaining lines into a button." + :type 'integer + :group 'notmuch-wash) -(defvar notmuch-wash-citation-lines-suffix 3 +(defcustom notmuch-wash-citation-lines-suffix 3 "Always show at least this many lines from the end of a citation. If there is one more line than the sum of `notmuch-wash-citation-lines-prefix' and `notmuch-wash-citation-lines-suffix', show that, otherwise -collapse the remaining lines into a button.") +collapse the remaining lines into a button." + :type 'integer + :group 'notmuch-wash) -(defvar notmuch-wash-wrap-lines-length nil +(defcustom notmuch-wash-wrap-lines-length nil "Wrap line after at most this many characters. If this is nil, lines in messages will be wrapped to fit in the current window. If this is a number, lines will be wrapped after this many characters or at the window width (whichever one is -lower).") +lower)." + :type '(choice (const :tag "window width" nil) + (integer :tag "number of characters")) + :group 'notmuch-wash) (defface notmuch-wash-toggle-button '((t (:inherit font-lock-comment-face))) @@ -397,3 +425,5 @@ for error." ;; (provide 'notmuch-wash) + +;;; notmuch-wash.el ends here