mirror of
https://github.com/go-task/task.git
synced 2025-11-27 22:38:20 +02:00
execext: Small refactor
This commit is contained in:
@@ -48,14 +48,7 @@ func RunCommand(ctx context.Context, opts *RunCommandOptions) error {
|
|||||||
r, err := interp.New(
|
r, err := interp.New(
|
||||||
interp.Dir(opts.Dir),
|
interp.Dir(opts.Dir),
|
||||||
interp.Env(expand.ListEnviron(environ...)),
|
interp.Env(expand.ListEnviron(environ...)),
|
||||||
|
interp.OpenHandler(openHandler),
|
||||||
interp.OpenHandler(func(ctx context.Context, path string, flag int, perm os.FileMode) (io.ReadWriteCloser, error) {
|
|
||||||
if path == "/dev/null" {
|
|
||||||
return devNull{}, nil
|
|
||||||
}
|
|
||||||
return interp.DefaultOpenHandler()(ctx, path, flag, perm)
|
|
||||||
}),
|
|
||||||
|
|
||||||
interp.StdIO(opts.Stdin, opts.Stdout, opts.Stderr),
|
interp.StdIO(opts.Stdin, opts.Stdout, opts.Stderr),
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -86,3 +79,10 @@ func Expand(s string) (string, error) {
|
|||||||
}
|
}
|
||||||
return "", nil
|
return "", nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func openHandler(ctx context.Context, path string, flag int, perm os.FileMode) (io.ReadWriteCloser, error) {
|
||||||
|
if path == "/dev/null" {
|
||||||
|
return devNull{}, nil
|
||||||
|
}
|
||||||
|
return interp.DefaultOpenHandler()(ctx, path, flag, perm)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user