1package account
2
3import (
4	"errors"
5	"git.sr.ht/~sircmpwn/aerc/widgets"
6)
7
8type Clear struct{}
9
10func init() {
11	register(Clear{})
12}
13
14func (Clear) Aliases() []string {
15	return []string{"clear"}
16}
17
18func (Clear) Complete(aerc *widgets.Aerc, args []string) []string {
19	return nil
20}
21
22func (Clear) Execute(aerc *widgets.Aerc, args []string) error {
23	acct := aerc.SelectedAccount()
24	if acct == nil {
25		return errors.New("No account selected")
26	}
27	store := acct.Store()
28	if store == nil {
29		return errors.New("Cannot perform action. Messages still loading")
30	}
31	store.ApplyClear()
32	aerc.SetStatus("Clear complete.")
33	return nil
34}
35