readSettings reads settings from fname.
(fname string)
| 32 | |
| 33 | // readSettings reads settings from fname. |
| 34 | func readSettings(fname string) (*settings, error) { |
| 35 | data, err := os.ReadFile(fname) |
| 36 | if err != nil { |
| 37 | if os.IsNotExist(err) { |
| 38 | return &settings{}, nil |
| 39 | } |
| 40 | return nil, fmt.Errorf("could not read settings: %w", err) |
| 41 | } |
| 42 | settings := &settings{} |
| 43 | if err := json.Unmarshal(data, settings); err != nil { |
| 44 | return nil, fmt.Errorf("could not parse settings: %w", err) |
| 45 | } |
| 46 | for i := range settings.Configs { |
| 47 | settings.Configs[i].resetTransient() |
| 48 | } |
| 49 | return settings, nil |
| 50 | } |
| 51 | |
| 52 | // writeSettings saves settings to fname. |
| 53 | func writeSettings(fname string, settings *settings) error { |
searching dependent graphs…