in main.go [165:191]
func walk(p, ext, license string, headerBytes []byte, exclude []string, dry bool, out io.Writer) error {
var err error
filepath.WalkDir(p, func(path string, info fs.DirEntry, walkErr error) error {
if walkErr != nil {
err = &Error{err: walkErr, code: exitFailedToWalkPath}
return walkErr
}
var currentPath = cleanPathPrefixes(
strings.TrimLeft(path, p),
[]string{string(os.PathSeparator)},
)
var excludedDir = info.IsDir() && stringInSlice(info.Name(), defaultExludedDirs)
if needsExclusion(currentPath, exclude) || excludedDir {
return filepath.SkipDir
}
if e := addOrCheckLicense(path, ext, license, headerBytes, info, dry, out); e != nil {
err = e
}
return nil
})
return err
}