1234567891011121314151617181920212223242526272829303132 |
- //go:build go1.16 && finder
- // +build go1.16,finder
- package viper
- import (
- "fmt"
- "github.com/spf13/afero"
- )
- // Search all configPaths for any config file.
- // Returns the first path that exists (and is a config file).
- func (v *Viper) findConfigFile() (string, error) {
- finder := finder{
- paths: v.configPaths,
- fileNames: []string{v.configName},
- extensions: SupportedExts,
- withoutExtension: v.configType != "",
- }
- file, err := finder.Find(afero.NewIOFS(v.fs))
- if err != nil {
- return "", err
- }
- if file == "" {
- return "", ConfigFileNotFoundError{v.configName, fmt.Sprintf("%s", v.configPaths)}
- }
- return file, nil
- }
|