Skip to content

Commit 3ae9dee

Browse files
cli: board details use feedback result structs
1 parent cbe3b0d commit 3ae9dee

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

internal/cli/board/details.go

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/arduino/arduino-cli/commands/board"
2424
"github.com/arduino/arduino-cli/internal/cli/arguments"
2525
"github.com/arduino/arduino-cli/internal/cli/feedback"
26+
fResult "github.com/arduino/arduino-cli/internal/cli/feedback/result"
2627
"github.com/arduino/arduino-cli/internal/cli/instance"
2728
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
2829
"github.com/arduino/arduino-cli/table"
@@ -74,7 +75,7 @@ func runDetailsCommand(fqbn string, showFullDetails, listProgrammers bool, showP
7475
}
7576

7677
feedback.PrintResult(detailsResult{
77-
details: res,
78+
details: fResult.NewBoardDetailsResponse(res),
7879
listProgrammers: listProgrammers,
7980
showFullDetails: showFullDetails,
8081
showProperties: showPropertiesMode != arguments.ShowPropertiesDisabled,
@@ -84,7 +85,7 @@ func runDetailsCommand(fqbn string, showFullDetails, listProgrammers bool, showP
8485
// output from this command requires special formatting, let's create a dedicated
8586
// feedback.Result implementation
8687
type detailsResult struct {
87-
details *rpc.BoardDetailsResponse
88+
details *fResult.BoardDetailsResponse
8889
listProgrammers bool
8990
showFullDetails bool
9091
showProperties bool
@@ -99,7 +100,7 @@ func (dr detailsResult) String() string {
99100

100101
if dr.showProperties {
101102
res := ""
102-
for _, prop := range details.GetBuildProperties() {
103+
for _, prop := range details.BuildProperties {
103104
res += fmt.Sprintln(prop)
104105
}
105106
return res
@@ -109,7 +110,10 @@ func (dr detailsResult) String() string {
109110
t := table.New()
110111
t.AddRow(tr("Id"), tr("Programmer name"))
111112
for _, programmer := range details.Programmers {
112-
t.AddRow(programmer.GetId(), programmer.GetName())
113+
if programmer == nil {
114+
continue
115+
}
116+
t.AddRow(programmer.Id, programmer.Name)
113117
}
114118
return t.Render()
115119
}
@@ -138,7 +142,7 @@ func (dr detailsResult) String() string {
138142
t.AddRow(tr("Board name:"), details.Name)
139143
t.AddRow(tr("FQBN:"), details.Fqbn)
140144
addIfNotEmpty(tr("Board version:"), details.Version)
141-
if details.GetDebuggingSupported() {
145+
if details.DebuggingSupported {
142146
t.AddRow(tr("Debugging supported:"), table.NewCell("✔", color.New(color.FgGreen)))
143147
}
144148

@@ -148,11 +152,15 @@ func (dr detailsResult) String() string {
148152
table.NewCell("✔", color.New(color.FgGreen)))
149153
}
150154

151-
for _, idp := range details.GetIdentificationProperties() {
155+
for _, idp := range details.IdentificationProperties {
156+
if idp == nil || idp.Properties == nil {
157+
continue
158+
}
152159
t.AddRow() // get some space from above
153160
header := tr("Identification properties:")
154-
for k, v := range idp.GetProperties() {
155-
t.AddRow(header, k+"="+v)
161+
keys := idp.Properties.Keys()
162+
for _, k := range keys {
163+
t.AddRow(header, k+"="+idp.Properties.Get(k))
156164
header = ""
157165
}
158166
}
@@ -213,7 +221,10 @@ func (dr detailsResult) String() string {
213221

214222
tab.AddRow(tr("Programmers:"), tr("ID"), tr("Name"))
215223
for _, programmer := range details.Programmers {
216-
tab.AddRow("", programmer.GetId(), programmer.GetName())
224+
if programmer == nil {
225+
continue
226+
}
227+
tab.AddRow("", programmer.Id, programmer.Name)
217228
}
218229

219230
return t.Render() + tab.Render()

0 commit comments

Comments
 (0)