diff options
Diffstat (limited to 'commands/msg/invite.go')
-rw-r--r-- | commands/msg/invite.go | 25 |
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] { |