@@ -24,6 +24,7 @@ import (
2424"github.com/arduino/arduino-app-cli/cmd/arduino-app-cli/internal/servicelocator"
2525"github.com/arduino/arduino-app-cli/cmd/feedback"
2626"github.com/arduino/arduino-app-cli/internal/orchestrator"
27+ "github.com/arduino/arduino-app-cli/internal/orchestrator/bricks"
2728"github.com/arduino/arduino-app-cli/internal/orchestrator/config"
2829)
2930
@@ -97,3 +98,24 @@ func ApplicationNamesWithFilterFunc(cfg config.Configuration, filter func(apps o
9798return res ,cobra .ShellCompDirectiveNoFileComp
9899}
99100}
101+
102+ func BrickIDs () cobra.CompletionFunc {
103+ return BrickIDsWithFilterFunc (func (_ bricks.BrickListItem )bool {return true })
104+ }
105+
106+ func BrickIDsWithFilterFunc (filter func (apps bricks.BrickListItem )bool ) cobra.CompletionFunc {
107+ return func (cmd * cobra.Command ,args []string ,toComplete string ) ([]string , cobra.ShellCompDirective ) {
108+ brickList ,err := servicelocator .GetBrickService ().List ()
109+ if err != nil {
110+ return nil ,cobra .ShellCompDirectiveError
111+ }
112+
113+ var res []string
114+ for _ ,brick := range brickList .Bricks {
115+ if filter (brick ) {
116+ res = append (res ,brick .ID )
117+ }
118+ }
119+ return res ,cobra .ShellCompDirectiveNoFileComp
120+ }
121+ }