feat(config): warn_on_delete, warn_on_overwrite, display_art toggles in config
This commit is contained in:
parent
62c770dbf3
commit
6efa9863fe
5 changed files with 43 additions and 19 deletions
|
|
@ -10,11 +10,23 @@ import (
|
|||
)
|
||||
|
||||
type Config struct {
|
||||
DefaultDB string `toml:"default_db"`
|
||||
DefaultDB string `toml:"default_db"`
|
||||
DisplayArt bool `toml:"display_art"`
|
||||
WarnOnDelete bool `toml:"warn_on_delete"`
|
||||
WarnOnOverwrite bool `toml:"warn_on_overwrite"`
|
||||
}
|
||||
|
||||
var (
|
||||
config Config
|
||||
config Config
|
||||
asciiArt string = ` ▄▄
|
||||
██
|
||||
██▄███▄ ▄███▄██ ▄█████▄
|
||||
██▀ ▀██ ██▀ ▀██ ▀ ▄▄▄██
|
||||
██ ██ ██ ██ ▄██▀▀▀██
|
||||
███▄▄██▀ ▀██▄▄███ ██▄▄▄███
|
||||
██ ▀▀▀ ▀▀▀ ▀▀ ▀▀▀▀ ▀▀
|
||||
██ (c) 2025 Lewis Wynne
|
||||
`
|
||||
configErr error
|
||||
)
|
||||
|
||||
|
|
@ -24,7 +36,10 @@ func init() {
|
|||
|
||||
func defaultConfig() Config {
|
||||
return Config{
|
||||
DefaultDB: "default",
|
||||
DefaultDB: "default",
|
||||
DisplayArt: false,
|
||||
WarnOnOverwrite: true,
|
||||
WarnOnDelete: true,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -43,14 +58,27 @@ func loadConfig() (Config, error) {
|
|||
return cfg, err
|
||||
}
|
||||
|
||||
if _, err := toml.DecodeFile(path, &cfg); err != nil {
|
||||
md, err := toml.DecodeFile(path, &cfg)
|
||||
if err != nil {
|
||||
return cfg, fmt.Errorf("parse %s: %w", path, err)
|
||||
}
|
||||
|
||||
if cfg.DefaultDB == "" {
|
||||
if !md.IsDefined("default_db") || cfg.DefaultDB == "" {
|
||||
cfg.DefaultDB = defaultConfig().DefaultDB
|
||||
}
|
||||
|
||||
if !md.IsDefined("display_art") {
|
||||
cfg.DisplayArt = defaultConfig().DisplayArt
|
||||
}
|
||||
|
||||
if !md.IsDefined("warn_on_delete") {
|
||||
cfg.WarnOnDelete = defaultConfig().WarnOnDelete
|
||||
}
|
||||
|
||||
if !md.IsDefined("warn_on_overwrite") {
|
||||
cfg.WarnOnOverwrite = defaultConfig().WarnOnOverwrite
|
||||
}
|
||||
|
||||
return cfg, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue