Implement :{next,prev}-field in compose view

This commit is contained in:
Drew DeVault 2019-05-12 11:21:28 -04:00
parent 2a4dd5cb87
commit f37508a539
6 changed files with 70 additions and 5 deletions
commands/compose

View file

@ -0,0 +1,16 @@
package compose
import (
"git.sr.ht/~sircmpwn/aerc2/commands"
)
var (
ComposeCommands *commands.Commands
)
func register(name string, cmd commands.AercCommand) {
if ComposeCommands == nil {
ComposeCommands = commands.NewCommands()
}
ComposeCommands.Register(name, cmd)
}

View file

@ -0,0 +1,30 @@
package compose
import (
"errors"
"fmt"
"git.sr.ht/~sircmpwn/aerc2/widgets"
)
func init() {
register("next-field", NextPrevField)
register("prev-field", NextPrevField)
}
func nextPrevFieldUsage(cmd string) error {
return errors.New(fmt.Sprintf("Usage: %s", cmd))
}
func NextPrevField(aerc *widgets.Aerc, args []string) error {
if len(args) > 2 {
return nextPrevFieldUsage(args[0])
}
composer, _ := aerc.SelectedTab().(*widgets.Composer)
if args[0] == "prev-field" {
composer.PrevField()
} else {
composer.NextField()
}
return nil
}