diff options
Diffstat (limited to 'commands/compose')
-rw-r--r-- | commands/compose/compose.go | 16 | ||||
-rw-r--r-- | commands/compose/next-field.go | 30 |
2 files changed, 46 insertions, 0 deletions
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 +} |