Change config file lookup

- Look for both local and global config file
- Directly generate the global config file with make install
This commit is contained in:
r 2022-01-02 10:52:15 +00:00
parent 21ef7a6610
commit 003233d60d
6 changed files with 40 additions and 35 deletions

View file

@ -108,21 +108,30 @@ func Parse(r io.Reader) (c *config, err error) {
return
}
func ParseFile(file string) (c *config, err error) {
f, err := os.Open(file)
if err != nil {
return
func ParseFiles(files []string) (c *config, err error) {
var lastErr error
for _, file := range files {
f, err := os.Open(file)
if err != nil {
lastErr = err
if os.IsNotExist(err) {
continue
}
return nil, err
}
defer f.Close()
info, err := f.Stat()
if err != nil {
lastErr = err
return nil, err
}
if info.IsDir() {
continue
}
return Parse(f)
}
defer f.Close()
info, err := f.Stat()
if err != nil {
return
if lastErr == nil {
lastErr = errors.New("invalid config file")
}
if info.IsDir() {
return nil, errors.New("invalid config file")
}
return Parse(f)
return nil, lastErr
}