summary refs log tree commit diff stats
path: root/commands/msgview
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
parent3650b72ca64b9fb6a7e7b058ad6ef67894c2866d (diff)
downloadaerc-507c90537c66289633af4b26abddcfd50a2a29d0.tar.gz
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')
-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 {