package lib import ( "bytes" "os" "os/exec" "strings" ) func SelectWithFzf(items []string) (string, error) { cmd := exec.Command("fzf", "--ansi") var input bytes.Buffer for _, item := range items { input.WriteString(item + "\n") } cmd.Stdin = &input var output bytes.Buffer cmd.Stdout = &output cmd.Stderr = os.Stderr err := cmd.Run() if err != nil { return "", err } selected := strings.TrimSpace(output.String()) return selected, nil }