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