aboutsummaryrefslogblamecommitdiffstats
path: root/config/openers.go
blob: d41c5455367ec44e7f49cb8dffd8031f7f7e194a (plain) (tree)




























                                                                  
package config

import (
	"strings"

	"git.sr.ht/~rjarry/aerc/logging"
	"github.com/go-ini/ini"
	"github.com/google/shlex"
)

func (config *AercConfig) parseOpeners(file *ini.File) error {
	openers, err := file.GetSection("openers")
	if err != nil {
		goto out
	}

	for mimeType, command := range openers.KeysHash() {
		mimeType = strings.ToLower(mimeType)
		if args, err := shlex.Split(command); err != nil {
			return err
		} else {
			config.Openers[mimeType] = args
		}
	}

out:
	logging.Debugf("aerc.conf: [openers] %#v", config.Openers)
	return nil
}