summaryrefslogtreecommitdiff
path: root/commands/msgview/next.go
diff options
context:
space:
mode:
authorJelle Besseling <jelle@pingiun.com>2019-08-04 16:09:48 +0200
committerDrew DeVault <sir@cmpwn.com>2019-08-07 15:10:24 +0900
commit507c90537c66289633af4b26abddcfd50a2a29d0 (patch)
tree10ac19bd89b0911ade88c6999d3c37544e6058a3 /commands/msgview/next.go
parent3650b72ca64b9fb6a7e7b058ad6ef67894c2866d (diff)
downloadaerc-507c90537c66289633af4b26abddcfd50a2a29d0.zip
Implement next-message in msgview using account
This makes sure that the next-message command accepts the same arguments in the account view and the msgview
Diffstat (limited to 'commands/msgview/next.go')
-rw-r--r--commands/msgview/next.go17
1 files changed, 8 insertions, 9 deletions
diff --git a/commands/msgview/next.go b/commands/msgview/next.go
index 82fb12f..647aafb 100644
--- a/commands/msgview/next.go
+++ b/commands/msgview/next.go
@@ -1,8 +1,7 @@
package msgview
import (
- "errors"
-
+ "git.sr.ht/~sircmpwn/aerc/commands/account"
"git.sr.ht/~sircmpwn/aerc/widgets"
)
@@ -21,16 +20,16 @@ func (_ NextPrevMsg) Complete(aerc *widgets.Aerc, args []string) []string {
}
func (_ NextPrevMsg) Execute(aerc *widgets.Aerc, args []string) error {
+ err, n, pct := account.ParseNextPrevMessage(args)
+ if err != nil {
+ return err
+ }
mv, _ := aerc.SelectedTab().(*widgets.MessageViewer)
acct := mv.SelectedAccount()
store := mv.Store()
- if acct == nil {
- return errors.New("No account selected")
- }
- if args[0] == "prev-message" || args[0] == "prev" {
- store.Prev()
- } else {
- store.Next()
+ err = account.ExecuteNextPrevMessage(args, acct, pct, n)
+ if err != nil {
+ return err
}
nextMsg := store.Selected()
if nextMsg == nil {