1
//go:build go1.16 && finder
20
func (f finder) Find(fsys fs.FS) (string, error) {
21
for _, searchPath := range f.paths {
22
for _, fileName := range f.fileNames {
23
for _, extension := range f.extensions {
24
filePath := path.Join(searchPath, fileName+"."+extension)
26
ok, err := fileExists(fsys, filePath)
36
if f.withoutExtension {
37
filePath := path.Join(searchPath, fileName)
39
ok, err := fileExists(fsys, filePath)
54
func fileExists(fsys fs.FS, filePath string) (bool, error) {
55
fileInfo, err := fs.Stat(fsys, filePath)
57
return !fileInfo.IsDir(), nil
60
if errors.Is(err, fs.ErrNotExist) {