aboutsummaryrefslogtreecommitdiff
path: root/commands/next-tab.go
diff options
context:
space:
mode:
Diffstat (limited to 'commands/next-tab.go')
-rw-r--r--commands/next-tab.go28
1 files changed, 5 insertions, 23 deletions
diff --git a/commands/next-tab.go b/commands/next-tab.go
index 854353f8..6fef4b12 100644
--- a/commands/next-tab.go
+++ b/commands/next-tab.go
@@ -1,13 +1,12 @@
package commands
import (
- "fmt"
- "strconv"
-
"git.sr.ht/~rjarry/aerc/widgets"
)
-type NextPrevTab struct{}
+type NextPrevTab struct {
+ Offset int `opt:"N" default:"1"`
+}
func init() {
register(NextPrevTab{})
@@ -21,21 +20,8 @@ func (NextPrevTab) Complete(aerc *widgets.Aerc, args []string) []string {
return nil
}
-func (NextPrevTab) Execute(aerc *widgets.Aerc, args []string) error {
- if len(args) > 2 {
- return nextPrevTabUsage(args[0])
- }
- var (
- n int = 1
- err error
- )
- if len(args) > 1 {
- n, err = strconv.Atoi(args[1])
- if err != nil {
- return nextPrevTabUsage(args[0])
- }
- }
- for ; n > 0; n-- {
+func (np NextPrevTab) Execute(aerc *widgets.Aerc, args []string) error {
+ for n := 0; n < np.Offset; n++ {
if args[0] == "prev-tab" {
aerc.PrevTab()
} else {
@@ -45,7 +31,3 @@ func (NextPrevTab) Execute(aerc *widgets.Aerc, args []string) error {
aerc.UpdateStatus()
return nil
}
-
-func nextPrevTabUsage(cmd string) error {
- return fmt.Errorf("Usage: %s [n]", cmd)
-}