make config parent directies if they don't already exist

This commit is contained in:
andrzej 2024-11-04 16:42:53 +01:00
parent 0c50f6fa72
commit a4b75bb90d
1 changed files with 15 additions and 3 deletions

View File

@ -36,8 +36,8 @@ func (config *Config) load() error {
return err return err
} }
configPath := homeDir + "/.config/gopaper/config.jsonc" configDir := homeDir + "/.config/gopaper/"
configRaw, err := os.ReadFile(configPath) configRaw, err := os.ReadFile(configDir)
if err != nil { if err != nil {
if !os.IsExist(err) { if !os.IsExist(err) {
defaultConfig := makeDefaultConfig() defaultConfig := makeDefaultConfig()
@ -46,7 +46,19 @@ func (config *Config) load() error {
log.Println("could not encode default config!") log.Println("could not encode default config!")
return err 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() defer file.Close()
if err != nil { if err != nil {
log.Println("could not create config file!") log.Println("could not create config file!")