@@ -23,6 +23,7 @@ import (
23
23
24
24
"github.com/arduino/arduino-cli/commands/board"
25
25
"github.com/arduino/arduino-cli/internal/cli/feedback"
26
+ fResult "github.com/arduino/arduino-cli/internal/cli/feedback/result"
26
27
"github.com/arduino/arduino-cli/internal/cli/instance"
27
28
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
28
29
"github.com/arduino/arduino-cli/table"
@@ -63,32 +64,40 @@ func runListAllCommand(cmd *cobra.Command, args []string) {
63
64
feedback .Fatal (tr ("Error listing boards: %v" , err ), feedback .ErrGeneric )
64
65
}
65
66
66
- feedback .PrintResult (resultAll {list })
67
+ feedback .PrintResult (resultAll {fResult . NewBoardListAllResponse ( list ) })
67
68
}
68
69
69
70
// output from this command requires special formatting, let's create a dedicated
70
71
// feedback.Result implementation
71
72
type resultAll struct {
72
- list * rpc .BoardListAllResponse
73
+ list * fResult .BoardListAllResponse
73
74
}
74
75
75
76
func (dr resultAll ) Data () interface {} {
76
77
return dr .list
77
78
}
78
79
79
80
func (dr resultAll ) String () string {
81
+ t := table .New ()
82
+ t .SetHeader (tr ("Board Name" ), tr ("FQBN" ), "" )
83
+
84
+ if dr .list == nil || len (dr .list .Boards ) == 0 {
85
+ return t .Render ()
86
+ }
87
+
80
88
sort .Slice (dr .list .Boards , func (i , j int ) bool {
81
- return dr .list .Boards [i ].GetName () < dr .list .Boards [j ].GetName ()
89
+ return dr .list .Boards [i ].Name < dr .list .Boards [j ].Name
82
90
})
83
91
84
- t := table .New ()
85
- t .SetHeader (tr ("Board Name" ), tr ("FQBN" ), "" )
86
- for _ , item := range dr .list .GetBoards () {
92
+ for _ , item := range dr .list .Boards {
93
+ if item == nil {
94
+ continue
95
+ }
87
96
hidden := ""
88
97
if item .IsHidden {
89
98
hidden = tr ("(hidden)" )
90
99
}
91
- t .AddRow (item .GetName () , item .GetFqbn () , hidden )
100
+ t .AddRow (item .Name , item .Fqbn , hidden )
92
101
}
93
102
return t .Render ()
94
103
}
0 commit comments