1
0
mirror of https://github.com/go-task/task.git synced 2025-11-23 22:24:45 +02:00

Task: Add interactive parameter

Add the task parameter "interactive" to force interleaved output in order
to make interactive CLI apps work.

Feature request in #217

TODO:
* Update documentation

Signed-off-by: Marcello Sylvester Bauer <sylv@sylv.io>
This commit is contained in:
Marcello Sylvester Bauer
2021-09-01 18:28:38 +02:00
parent 50e5813222
commit 2dc181c75e
3 changed files with 10 additions and 0 deletions

View File

@@ -417,6 +417,12 @@ func (e *Executor) runCommand(ctx context.Context, t *taskfile.Task, call taskfi
stdOut := e.Output.WrapWriter(e.Stdout, t.Prefix)
stdErr := e.Output.WrapWriter(e.Stderr, t.Prefix)
if t.Interactive {
stdOut = output.Interleaved{}.WrapWriter(e.Stdout, t.Prefix)
stdErr = output.Interleaved{}.WrapWriter(e.Stderr, t.Prefix)
}
defer func() {
if _, ok := stdOut.(*os.File); !ok {
if closer, ok := stdOut.(io.Closer); ok {