diff options
author | Reto Brunner <reto@labrat.space> | 2019-08-28 06:39:07 +0200 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-08-29 08:44:10 +0900 |
commit | 94b9d557dee0fd13853b1883cc2730c5cbdbcd3f (patch) | |
tree | 8a0040b60df9ab4fa3d7f9d137d126a04fd5943b /commands/account/search.go | |
parent | ac99d9ed62644cf0259bdd79481b28c3fbcef650 (diff) |
extract search criteria parsing into the backends
Diffstat (limited to 'commands/account/search.go')
-rw-r--r-- | commands/account/search.go | 27 |
1 files changed, 1 insertions, 26 deletions
diff --git a/commands/account/search.go b/commands/account/search.go index da7ab03..ca51917 100644 --- a/commands/account/search.go +++ b/commands/account/search.go @@ -3,9 +3,6 @@ package account import ( "errors" - "git.sr.ht/~sircmpwn/getopt" - "github.com/emersion/go-imap" - "git.sr.ht/~sircmpwn/aerc/widgets" ) @@ -24,28 +21,6 @@ func (_ SearchFilter) Complete(aerc *widgets.Aerc, args []string) []string { } func (_ SearchFilter) Execute(aerc *widgets.Aerc, args []string) error { - var ( - criteria *imap.SearchCriteria = imap.NewSearchCriteria() - ) - - opts, optind, err := getopt.Getopts(args, "ruH:") - if err != nil { - return err - } - for _, opt := range opts { - switch opt.Option { - case 'r': - criteria.WithFlags = append(criteria.WithFlags, imap.SeenFlag) - case 'u': - criteria.WithoutFlags = append(criteria.WithoutFlags, imap.SeenFlag) - case 'H': - // TODO - } - } - for _, arg := range args[optind:] { - criteria.Header.Add("Subject", arg) - } - acct := aerc.SelectedAccount() if acct == nil { return errors.New("No account selected") @@ -73,6 +48,6 @@ func (_ SearchFilter) Execute(aerc *widgets.Aerc, args []string) error { acct.Messages().Scroll() } } - store.Search(criteria, cb) + store.Search(args, cb) return nil } |