From 8e5ed2a161bf654888a8b48af2d9fdf6fbc0c7e0 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Sun, 31 Mar 2019 14:42:18 -0400 Subject: Implement header-regex-match filters --- widgets/msgviewer.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'widgets') diff --git a/widgets/msgviewer.go b/widgets/msgviewer.go index 67fd0cc..56c3897 100644 --- a/widgets/msgviewer.go +++ b/widgets/msgviewer.go @@ -117,8 +117,25 @@ func NewMessageViewer(conf *config.AercConfig, store *lib.MessageStore, case config.FILTER_MIMETYPE: if fnmatch.Match(f.Filter, mime, 0) { filter = exec.Command(cmd[0], cmd[1:]...) - fmt.Printf("Using filter for %s: %s\n", mime, f.Command) } + case config.FILTER_HEADER: + var header string + switch f.Header { + case "subject": + header = msg.Envelope.Subject + case "from": + header = formatAddresses(msg.Envelope.From) + case "to": + header = formatAddresses(msg.Envelope.To) + case "cc": + header = formatAddresses(msg.Envelope.Cc) + } + if f.Regex.Match([]byte(header)) { + filter = exec.Command(cmd[0], cmd[1:]...) + } + } + if filter != nil { + break } } if filter != nil { -- cgit v1.2.3