package runner import ( "bytes" "os/exec" ) // FdListFiles runs fd to find files/dirs matching pattern under path. // extraArgs are passed directly to fd (e.g. "--type", "f"). func FdListFiles(pattern, path string, extraArgs ...string) ([]string, error) { args := append([]string{pattern, path}, extraArgs...) cmd := exec.Command("fd", args...) var out bytes.Buffer cmd.Stdout = &out if err := cmd.Run(); err != nil { if cmd.ProcessState != nil && cmd.ProcessState.ExitCode() == 1 { return nil, nil } return nil, err } return splitLines(out.String()), nil }