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 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'commands') 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 } -- cgit v1.2.3