init: pristine aerc 0.20.0 source
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"git.sr.ht/~rjarry/aerc/lib/log"
|
||||
"github.com/go-ini/ini"
|
||||
)
|
||||
|
||||
type StatuslineConfig struct {
|
||||
StatusColumns []*ColumnDef `ini:"status-columns" parse:"ParseColumns" default:"left<*,center>=,right>*"`
|
||||
ColumnSeparator string `ini:"column-separator" default:" "`
|
||||
Separator string `ini:"separator" default:" | "`
|
||||
DisplayMode string `ini:"display-mode" default:"text"`
|
||||
}
|
||||
|
||||
var Statusline = new(StatuslineConfig)
|
||||
|
||||
func parseStatusline(file *ini.File) error {
|
||||
statusline := file.Section("statusline")
|
||||
if err := MapToStruct(statusline, Statusline, true); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
log.Debugf("aerc.conf: [statusline] %#v", Statusline)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *StatuslineConfig) ParseColumns(sec *ini.Section, key *ini.Key) ([]*ColumnDef, error) {
|
||||
if !sec.HasKey("column-left") {
|
||||
_, _ = sec.NewKey("column-left", "[{{.Account}}] {{.StatusInfo}}")
|
||||
}
|
||||
if !sec.HasKey("column-center") {
|
||||
_, _ = sec.NewKey("column-center", "{{.PendingKeys}}")
|
||||
}
|
||||
if !sec.HasKey("column-right") {
|
||||
_, _ = sec.NewKey("column-right", "{{.TrayInfo}} | {{cwd}}")
|
||||
}
|
||||
return ParseColumnDefs(key, sec)
|
||||
}
|
||||
Reference in New Issue
Block a user