aboutsummaryrefslogtreecommitdiffstats
path: root/config/triggers.go
diff options
context:
space:
mode:
Diffstat (limited to 'config/triggers.go')
-rw-r--r--config/triggers.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/config/triggers.go b/config/triggers.go
index edaea45f..af400501 100644
--- a/config/triggers.go
+++ b/config/triggers.go
@@ -4,6 +4,7 @@ import (
"errors"
"fmt"
+ "github.com/go-ini/ini"
"github.com/google/shlex"
"git.sr.ht/~rjarry/aerc/lib/format"
@@ -11,6 +12,24 @@ import (
"git.sr.ht/~rjarry/aerc/models"
)
+type TriggersConfig struct {
+ NewEmail string `ini:"new-email"`
+ ExecuteCommand func(command []string) error
+}
+
+func (config *AercConfig) parseTriggers(file *ini.File) error {
+ triggers, err := file.GetSection("triggers")
+ if err != nil {
+ goto out
+ }
+ if err := triggers.MapTo(&config.Triggers); err != nil {
+ return err
+ }
+out:
+ logging.Debugf("aerc.conf: [triggers] %#v", config.Triggers)
+ return nil
+}
+
func (trig *TriggersConfig) ExecTrigger(triggerCmd string,
triggerFmt func(string) (string, error),
) error {