~sircmpwn/aerc

cb7d7a043892e9911491c3acc32a36b61d891ea7 — Drew DeVault 1 year, 2 months ago 3ba69ed
Add some defaults for template options
3 files changed, 15 insertions(+), 5 deletions(-)

M config/config.go
M lib/templates/template.go
M widgets/compose.go
M config/config.go => config/config.go +9 -1
@@ 319,7 319,9 @@ func (config *AercConfig) LoadConfig(file *ini.File) error {
			return err
		}
		templateDirs := templatesSec.Key("template-dirs").String()
		config.Templates.TemplateDirs = strings.Split(templateDirs, ":")
		if templateDirs != "" {
			config.Templates.TemplateDirs = strings.Split(templateDirs, ":")
		}
		for key, val := range templatesSec.KeysHash() {
			if key == "template-dirs" {
				continue


@@ 404,6 406,12 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
				{"Subject"},
			},
		},

		Templates: TemplateConfig{
			TemplateDirs: []string{path.Join(sharedir, "templates")},
			QuotedReply:  "quoted_reply",
			Forwards:     "forward_as_body",
		},
	}
	// These bindings are not configurable
	config.Bindings.AccountWizard.ExKey = KeyStroke{

M lib/templates/template.go => lib/templates/template.go +2 -2
@@ 132,8 132,8 @@ func ParseTemplateFromFile(templateName string, templateDirs []string, data inte
	if err != nil {
		return nil, err
	}
	emailTemplate, err :=
		template.New(templateName).Funcs(templateFuncs).ParseFiles(templateFile)
	emailTemplate, err := template.New(templateName).
		Funcs(templateFuncs).ParseFiles(templateFile)
	if err != nil {
		return nil, err
	}

M widgets/compose.go => widgets/compose.go +4 -2
@@ 54,7 54,8 @@ type Composer struct {
}

func NewComposer(aerc *Aerc, conf *config.AercConfig,
	acct *config.AccountConfig, worker *types.Worker, template string, defaults map[string]string) (*Composer, error) {
	acct *config.AccountConfig, worker *types.Worker, template string,
	defaults map[string]string) (*Composer, error) {

	if defaults == nil {
		defaults = make(map[string]string)


@@ 173,7 174,8 @@ func (c *Composer) AddTemplate(template string, data interface{}) error {
		return nil
	}

	templateText, err := templates.ParseTemplateFromFile(template, c.config.Templates.TemplateDirs, data)
	templateText, err := templates.ParseTemplateFromFile(
		template, c.config.Templates.TemplateDirs, data)
	if err != nil {
		return err
	}