(configPath string)
| 305 | } |
| 306 | |
| 307 | func loadYAMLConfig(configPath string) (*Flags, error) { |
| 308 | absPath, err := util.GetAbsolutePath(configPath) |
| 309 | if err != nil { |
| 310 | return nil, fmt.Errorf(i18n.T("invalid_config_path"), err) |
| 311 | } |
| 312 | |
| 313 | data, err := os.ReadFile(absPath) |
| 314 | if err != nil { |
| 315 | if os.IsNotExist(err) { |
| 316 | return nil, fmt.Errorf(i18n.T("config_file_not_found"), absPath) |
| 317 | } |
| 318 | return nil, fmt.Errorf(i18n.T("error_reading_config_file"), err) |
| 319 | } |
| 320 | |
| 321 | // Use the existing Flags struct for YAML unmarshal |
| 322 | config := &Flags{} |
| 323 | if err := yaml.Unmarshal(data, config); err != nil { |
| 324 | return nil, fmt.Errorf(i18n.T("error_parsing_config_file"), err) |
| 325 | } |
| 326 | |
| 327 | debuglog.Debug(debuglog.Detailed, "Config: %v\n", config) |
| 328 | |
| 329 | return config, nil |
| 330 | } |
| 331 | |
| 332 | // readStdin reads from stdin and returns the input as a string or an error |
| 333 | func readStdin() (ret string, err error) { |
no test coverage detected