cmd-zet/internal/fzf/fzf.go
Oliver Davies a3202aaff3 Refactor
Signed-off-by: Oliver Davies <oliver@oliverdavies.uk>
2025-10-04 00:36:00 +01:00

34 lines
469 B
Go

package fzf
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
}