···4444}
45454646// FromFile reads a settings file in json format and returns the Settings struct
4747-func FromFile(path string) (*Settings, error) {
4747+func FromFile(path string) (map[string]Settings, error) {
4848 data, err := ioutil.ReadFile(path)
4949 if err != nil {
5050 return nil, err
5151 }
52525353- var s Settings
5353+ s := make(map[string]Settings)
5454 err = json.Unmarshal(data, &s)
5555 if err != nil {
5656 return nil, err
5757 }
5858- s.AbsolutePaths(filepath.Dir(path))
5959- return &s, nil
5858+ for i := range s {
5959+ set := s[i]
6060+ set.AbsolutePaths(filepath.Dir(path))
6161+ s[i] = set
6262+ }
6363+ return s, nil
6064}
61656266// AbsolutePaths makes all paths in settings absolute using the given