()
| 111 | } |
| 112 | |
| 113 | func Load() (*Config, error) { |
| 114 | cfg := &Config{} |
| 115 | if err := jsp.LoadAppConfig(ConfigDir, fname.CliConfig, &cfg); err != nil { |
| 116 | if !os.IsNotExist(err) { |
| 117 | return nil, fmt.Errorf("failed to load config: %v", err) |
| 118 | } |
| 119 | |
| 120 | // Use default config in case of error. |
| 121 | err = Save(&defaultConfig) |
| 122 | cfg := &defaultConfig |
| 123 | return cfg, err |
| 124 | } |
| 125 | |
| 126 | if err := cfg.validate(); err != nil { |
| 127 | return nil, err |
| 128 | } |
| 129 | return cfg, nil |
| 130 | } |
| 131 | |
| 132 | func Save(cfg *Config) error { |
| 133 | err := jsp.SaveAppConfig(ConfigDir, fname.CliConfig, cfg) |
no test coverage detected