aboutsummaryrefslogtreecommitdiffstats
path: root/commands/msg/invite.go
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2023-07-05 23:10:39 +0200
committerRobin Jarry <robin@jarry.cc>2023-07-17 10:24:17 +0200
commit4c514ce4d15fd14cad528cf426bc3f853efe7f64 (patch)
treefa52247b470a6af233a6e242962ed20e4831a555 /commands/msg/invite.go
parent11e5390fa0acbcc609ca177777548dd2d725afbc (diff)
downloadaerc-4c514ce4d15fd14cad528cf426bc3f853efe7f64.tar.gz
compose: allow changing edit-headers on the fly
Add -e|-E flags to all compose commands to allow switching between edit-headers = true/false without restarting aerc. Signed-off-by: Robin Jarry <robin@jarry.cc> Tested-by: Bence Ferdinandy <bence@ferdinandy.com> Tested-by: Koni Marti <koni.marti@gmail.com>
Diffstat (limited to 'commands/msg/invite.go')
-rw-r--r--commands/msg/invite.go21
1 files changed, 20 insertions, 1 deletions
diff --git a/commands/msg/invite.go b/commands/msg/invite.go
index 6273d520..309fe643 100644
--- a/commands/msg/invite.go
+++ b/commands/msg/invite.go
@@ -12,6 +12,7 @@ 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"
)
@@ -48,6 +49,23 @@ 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
+ }
+ }
+
subject := trimLocalizedRe(msg.Envelope.Subject, acct.AccountConfig().LocalizedRe)
switch args[0] {
case "accept":
@@ -138,7 +156,8 @@ func (invite) Execute(aerc *widgets.Aerc, args []string) error {
addTab := func(cr *calendar.Reply) error {
composer, err := widgets.NewComposer(aerc, acct,
- acct.AccountConfig(), acct.Worker(), "", h, &original, cr.PlainText)
+ acct.AccountConfig(), acct.Worker(), editHeaders,
+ "", h, &original, cr.PlainText)
if err != nil {
aerc.PushError("Error: " + err.Error())
return err