feat: config auto-generation

`cheat` now attempts to auto-generate a config file if one cannot be
found on the filesystem.
This commit is contained in:
Chris Lane
2020-01-29 14:08:03 -05:00
parent ca91b25b02
commit 313b5ebd27
4 changed files with 92 additions and 37 deletions

24
internal/config/init.go Normal file
View File

@@ -0,0 +1,24 @@
package config
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
)
// Init initializes a config file
func Init(confpath string, configs string) error {
// assert that the config directory exists
if err := os.MkdirAll(filepath.Dir(confpath), 0755); err != nil {
return fmt.Errorf("failed to create directory: %v", err)
}
// write the config file
if err := ioutil.WriteFile(confpath, []byte(configs), 0644); err != nil {
return fmt.Errorf("failed to create file: %v", err)
}
return nil
}