Skip to content

Commit 8e9893a

Browse files
cli: monitor use feedback result structs
1 parent 4b8d365 commit 8e9893a

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

internal/cli/monitor/monitor.go

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
"github.com/arduino/arduino-cli/i18n"
3333
"github.com/arduino/arduino-cli/internal/cli/arguments"
3434
"github.com/arduino/arduino-cli/internal/cli/feedback"
35+
"github.com/arduino/arduino-cli/internal/cli/feedback/result"
3536
"github.com/arduino/arduino-cli/internal/cli/instance"
3637
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
3738
"github.com/arduino/arduino-cli/table"
@@ -154,7 +155,11 @@ func runMonitorCmd(
154155
feedback.Fatal(tr("Error getting port settings details: %s", err), feedback.ErrGeneric)
155156
}
156157
if describe {
157-
feedback.PrintResult(&detailsResult{Settings: enumerateResp.Settings})
158+
settings := make([]*result.MonitorPortSettingDescriptor, len(enumerateResp.Settings))
159+
for i, v := range enumerateResp.Settings {
160+
settings[i] = result.NewMonitorPortSettingDescriptor(v)
161+
}
162+
feedback.PrintResult(&detailsResult{Settings: settings})
158163
return
159164
}
160165

@@ -277,7 +282,7 @@ func (cd *charDetectorWriter) Write(buf []byte) (int, error) {
277282
}
278283

279284
type detailsResult struct {
280-
Settings []*rpc.MonitorPortSettingDescriptor `json:"settings"`
285+
Settings []*result.MonitorPortSettingDescriptor `json:"settings"`
281286
}
282287

283288
func (r *detailsResult) Data() interface{} {
@@ -286,8 +291,13 @@ func (r *detailsResult) Data() interface{} {
286291

287292
func (r *detailsResult) String() string {
288293
t := table.New()
289-
green := color.New(color.FgGreen)
290294
t.SetHeader(tr("ID"), tr("Setting"), tr("Default"), tr("Values"))
295+
296+
if len(r.Settings) == 0 {
297+
return t.Render()
298+
}
299+
300+
green := color.New(color.FgGreen)
291301
sort.Slice(r.Settings, func(i, j int) bool {
292302
return r.Settings[i].Label < r.Settings[j].Label
293303
})

0 commit comments

Comments
 (0)