From 72204d1f24d4082acc750b73dcda6981edd21a38 Mon Sep 17 00:00:00 2001 From: Daniel Bridges Date: Mon, 12 Aug 2019 06:15:45 -0700 Subject: Add optional body argument to compose command --- commands/account/compose.go | 17 ++++++++++++++--- doc/aerc.1.scd | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/commands/account/compose.go b/commands/account/compose.go index fa673f0..a4836b7 100644 --- a/commands/account/compose.go +++ b/commands/account/compose.go @@ -1,6 +1,7 @@ package account import ( + "errors" "regexp" "strings" @@ -22,7 +23,6 @@ func (_ Compose) Complete(aerc *widgets.Aerc, args []string) []string { return nil } -// TODO: Accept arguments for message body func (_ Compose) Execute(aerc *widgets.Aerc, args []string) error { body, err := buildBody(args) if err != nil { @@ -46,7 +46,7 @@ func (_ Compose) Execute(aerc *widgets.Aerc, args []string) error { func buildBody(args []string) (string, error) { var body, headers string - opts, _, err := getopt.Getopts(args, "H:") + opts, optind, err := getopt.Getopts(args, "H:") if err != nil { return "", err } @@ -62,8 +62,19 @@ func buildBody(args []string) (string, error) { } } } + posargs := args[optind:] + if len(posargs) > 1 { + return "", errors.New("Usage: compose [-H] [body]") + } + if len(posargs) == 1 { + body = posargs[0] + } if headers != "" { - body = headers + "\n\n" + if len(body) > 0 { + body = headers + "\n" + body + } else { + body = headers + "\n\n" + } } return body, nil } diff --git a/doc/aerc.1.scd b/doc/aerc.1.scd index 67bfba2..5f2f83b 100644 --- a/doc/aerc.1.scd +++ b/doc/aerc.1.scd @@ -139,7 +139,7 @@ message list, the message in the message viewer, etc). *cf* Change the folder shown in the message list. -*compose* [-H] +*compose* [-H] [] Open the compose window to send a new email. The new email will be sent with the current account's outgoing transport configuration. For details on configuring outgoing mail delivery consult *aerc-config*(5). -- cgit v1.2.3