From f37508a53980f38c530780650338797e81fe1e3c Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Sun, 12 May 2019 11:21:28 -0400 Subject: Implement :{next,prev}-field in compose view --- commands/compose/compose.go | 16 ++++++++++++++++ commands/compose/next-field.go | 30 ++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 commands/compose/compose.go create mode 100644 commands/compose/next-field.go (limited to 'commands/compose') diff --git a/commands/compose/compose.go b/commands/compose/compose.go new file mode 100644 index 0000000..ea53316 --- /dev/null +++ b/commands/compose/compose.go @@ -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) +} diff --git a/commands/compose/next-field.go b/commands/compose/next-field.go new file mode 100644 index 0000000..2c3b414 --- /dev/null +++ b/commands/compose/next-field.go @@ -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 +} -- cgit v1.2.3