diff options
Diffstat (limited to 'internal/askcli/command_info_add.go')
| -rw-r--r-- | internal/askcli/command_info_add.go | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/internal/askcli/command_info_add.go b/internal/askcli/command_info_add.go index 2680163..025b104 100644 --- a/internal/askcli/command_info_add.go +++ b/internal/askcli/command_info_add.go @@ -3,6 +3,8 @@ package askcli import ( "bytes" "context" + "encoding/json" + "fmt" "io" "strings" ) @@ -27,7 +29,17 @@ func (d Dispatcher) handleInfo(ctx context.Context, args []string, stdout, stder io.WriteString(stderr, "error: task not found\n") return 1, nil } - io.WriteString(stdout, FormatTaskInfo(tasks[0])) + if d.jsonOutput { + data, err := json.Marshal(tasks) + if err != nil { + fmt.Fprintf(stderr, "error: failed to marshal JSON: %v\n", err) + return 1, nil + } + stdout.Write(data) + io.WriteString(stdout, "\n") + } else { + io.WriteString(stdout, FormatTaskInfo(tasks[0])) + } return 0, nil } |
