use cli argument to initialize config file

This commit is contained in:
2026-03-02 16:09:12 +01:00
parent 4a4229d67b
commit 83a4796ff8

View File

@@ -54,24 +54,25 @@ func defaultConfig() Config {
func LoadConfig(configPath string) Config { func LoadConfig(configPath string) Config {
f, err := os.ReadFile(configPath) f, err := os.ReadFile(configPath)
var cfg Config
configFileNotExist := false
if err != nil { if err != nil {
if errors.Is(err, os.ErrNotExist) { if errors.Is(err, os.ErrNotExist) {
return initConfig(configPath) cfg = defaultConfig()
} configFileNotExist = true
} else {
log.Fatal(err) log.Fatal(err)
} }
var cfg Config } else {
err = toml.Unmarshal(f, &cfg) err = toml.Unmarshal(f, &cfg)
if err != nil { if err != nil {
panic(err) panic(err)
} }
}
kong.Parse(&cfg, kong.Configuration(kongtoml.Loader, configPath)) kong.Parse(&cfg, kong.Configuration(kongtoml.Loader, configPath))
return cfg if configFileNotExist {
}
func initConfig(configPath string) Config {
cfg := defaultConfig()
b, err := toml.Marshal(cfg) b, err := toml.Marshal(cfg)
if err != nil { if err != nil {
panic(err) panic(err)
@@ -80,5 +81,7 @@ func initConfig(configPath string) Config {
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
}
return cfg return cfg
} }