func glob()

in lint/lint_glob.go [32:61]


func glob(dir string, g G) ([]string, error) {
	var files []string

	err := filepath.WalkDir(dir, func(path string, d fs.DirEntry, err error) error {
		if err != nil {
			return err
		}

		if d.IsDir() {
			// skip dir
			if g.DirFilter != nil && !g.DirFilter(path) {
				return filepath.SkipDir
			}
			return nil
		}

		// collect files
		if g.FileFilter != nil && g.FileFilter(path) {
			files = append(files, path)
		}

		return nil
	})

	if err != nil {
		return nil, err
	}

	return files, nil
}