init: pristine aerc 0.20.0 source
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"git.sr.ht/~rjarry/aerc/lib/log"
|
||||
)
|
||||
|
||||
type reloadStore struct {
|
||||
binds string
|
||||
conf string
|
||||
}
|
||||
|
||||
var rlst reloadStore
|
||||
|
||||
func SetBindsFilename(fn string) {
|
||||
log.Debugf("reloader: set binds file: %s", fn)
|
||||
rlst.binds = fn
|
||||
}
|
||||
|
||||
func SetConfFilename(fn string) {
|
||||
log.Debugf("reloader: set conf file: %s", fn)
|
||||
rlst.conf = fn
|
||||
}
|
||||
|
||||
func ReloadBinds() (string, error) {
|
||||
f := rlst.binds
|
||||
if !exists(f) {
|
||||
return f, os.ErrNotExist
|
||||
}
|
||||
log.Debugf("reload binds file: %s", f)
|
||||
Binds = defaultBindsConfig()
|
||||
return f, parseBindsFromFile(filepath.Dir(f), f)
|
||||
}
|
||||
|
||||
func ReloadConf() (string, error) {
|
||||
f := rlst.conf
|
||||
if !exists(f) {
|
||||
return f, os.ErrNotExist
|
||||
}
|
||||
log.Debugf("reload conf file: %s", f)
|
||||
|
||||
General = new(GeneralConfig)
|
||||
Filters = nil
|
||||
Compose = new(ComposeConfig)
|
||||
Converters = make(map[string]string)
|
||||
Viewer = new(ViewerConfig)
|
||||
Statusline = new(StatuslineConfig)
|
||||
Openers = nil
|
||||
Hooks = HooksConfig{}
|
||||
Ui = defaultUIConfig()
|
||||
Templates = new(TemplateConfig)
|
||||
|
||||
return f, parseConf(f)
|
||||
}
|
||||
|
||||
func ReloadAccounts() error {
|
||||
return errors.New("not implemented")
|
||||
}
|
||||
|
||||
func exists(fn string) bool {
|
||||
if _, err := os.Stat(fn); errors.Is(err, os.ErrNotExist) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
Reference in New Issue
Block a user