@@ -32,6 +32,7 @@ import (
32
32
"github.com/arduino/arduino-cli/i18n"
33
33
"github.com/arduino/arduino-cli/internal/cli/arguments"
34
34
"github.com/arduino/arduino-cli/internal/cli/feedback"
35
+ "github.com/arduino/arduino-cli/internal/cli/feedback/result"
35
36
"github.com/arduino/arduino-cli/internal/cli/instance"
36
37
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
37
38
"github.com/arduino/arduino-cli/table"
@@ -154,7 +155,11 @@ func runMonitorCmd(
154
155
feedback .Fatal (tr ("Error getting port settings details: %s" , err ), feedback .ErrGeneric )
155
156
}
156
157
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 })
158
163
return
159
164
}
160
165
@@ -277,7 +282,7 @@ func (cd *charDetectorWriter) Write(buf []byte) (int, error) {
277
282
}
278
283
279
284
type detailsResult struct {
280
- Settings []* rpc .MonitorPortSettingDescriptor `json:"settings"`
285
+ Settings []* result .MonitorPortSettingDescriptor `json:"settings"`
281
286
}
282
287
283
288
func (r * detailsResult ) Data () interface {} {
@@ -286,8 +291,13 @@ func (r *detailsResult) Data() interface{} {
286
291
287
292
func (r * detailsResult ) String () string {
288
293
t := table .New ()
289
- green := color .New (color .FgGreen )
290
294
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 )
291
301
sort .Slice (r .Settings , func (i , j int ) bool {
292
302
return r .Settings [i ].Label < r .Settings [j ].Label
293
303
})
0 commit comments