~sircmpwn/aerc

72204d1f24d4082acc750b73dcda6981edd21a38 — Daniel Bridges 5 months ago 5493af8
Add optional body argument to compose command
2 files changed, 15 insertions(+), 4 deletions(-)

M commands/account/compose.go
M doc/aerc.1.scd
M commands/account/compose.go => commands/account/compose.go +14 -3
@@ 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
}

M doc/aerc.1.scd => doc/aerc.1.scd +1 -1
@@ 139,7 139,7 @@ message list, the message in the message viewer, etc).
*cf* <folder>
	Change the folder shown in the message list.

*compose* [-H]
*compose* [-H] [<body>]
	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).