From a4b75bb90d138114b14be6917fcd4b5266438bff Mon Sep 17 00:00:00 2001 From: andrzej Date: Mon, 4 Nov 2024 16:42:53 +0100 Subject: [PATCH] make config parent directies if they don't already exist --- config.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/config.go b/config.go index 4cdb35b..be0e7ec 100644 --- a/config.go +++ b/config.go @@ -36,8 +36,8 @@ func (config *Config) load() error { return err } - configPath := homeDir + "/.config/gopaper/config.jsonc" - configRaw, err := os.ReadFile(configPath) + configDir := homeDir + "/.config/gopaper/" + configRaw, err := os.ReadFile(configDir) if err != nil { if !os.IsExist(err) { defaultConfig := makeDefaultConfig() @@ -46,7 +46,19 @@ func (config *Config) load() error { log.Println("could not encode default config!") return err } - file, err := os.Create(configPath) + //TODO: make parent directories if they don't exist + err = os.Mkdir(homeDir+".config", 755) + if err != nil && !os.IsExist(err) { + log.Println("could not create .config directory") + return err + } + err = os.Mkdir(configDir, 755) + if err != nil && !os.IsExist(err) { + log.Println("could not create .config/gopaper directory") + return err + } + + file, err := os.Create(configDir + "config.jsonc") defer file.Close() if err != nil { log.Println("could not create config file!")