aboutsummaryrefslogtreecommitdiff
path: root/commands/msg/invite.go
diff options
context:
space:
mode:
Diffstat (limited to 'commands/msg/invite.go')
-rw-r--r--commands/msg/invite.go25
1 files changed, 6 insertions, 19 deletions
diff --git a/commands/msg/invite.go b/commands/msg/invite.go
index 309fe643..5b3f7fbe 100644
--- a/commands/msg/invite.go
+++ b/commands/msg/invite.go
@@ -12,11 +12,13 @@ import (
"git.sr.ht/~rjarry/aerc/log"
"git.sr.ht/~rjarry/aerc/models"
"git.sr.ht/~rjarry/aerc/widgets"
- "git.sr.ht/~sircmpwn/getopt"
"github.com/emersion/go-message/mail"
)
-type invite struct{}
+type invite struct {
+ Edit bool `opt:"-e"`
+ NoEdit bool `opt:"-E"`
+}
func init() {
register(invite{})
@@ -30,7 +32,7 @@ func (invite) Complete(aerc *widgets.Aerc, args []string) []string {
return nil
}
-func (invite) Execute(aerc *widgets.Aerc, args []string) error {
+func (i invite) Execute(aerc *widgets.Aerc, args []string) error {
acct := aerc.SelectedAccount()
if acct == nil {
return errors.New("no account selected")
@@ -49,22 +51,7 @@ func (invite) Execute(aerc *widgets.Aerc, args []string) error {
return fmt.Errorf("no invitation found (missing text/calendar)")
}
- editHeaders := config.Compose.EditHeaders
- opts, optind, err := getopt.Getopts(args, "eE")
- if err != nil {
- return err
- }
- if len(args) != optind {
- return errors.New("Usage: accept|accept-tentative|decline [-e|-E]")
- }
- for _, opt := range opts {
- switch opt.Option {
- case 'e':
- editHeaders = true
- case 'E':
- editHeaders = false
- }
- }
+ editHeaders := (config.Compose.EditHeaders || i.Edit) && !i.NoEdit
subject := trimLocalizedRe(msg.Envelope.Subject, acct.AccountConfig().LocalizedRe)
switch args[0] {