Files
posh/pkg/exec/run.go
Kevin Franklin Kim 53dced22e3 feat: add exec package
2026-05-08 15:26:02 +02:00

20 lines
309 B
Go

package exec
import (
"context"
"os/exec"
"slices"
)
func Run(ctx context.Context, cmd *exec.Cmd, middlewares ...Middleware) error {
run := func(_ context.Context, cmd *exec.Cmd) error {
return cmd.Run()
}
for _, v := range slices.Backward(middlewares) {
run = v(run)
}
return run(ctx, cmd)
}