Skip to content

Commit 0e37dd4

Browse files
committed
cmd/docker: registerCompletionFuncForGlobalFlags: take store.Store as argument
Update this function to accept a smaller interface, as it doesn't need all of "CLI". Also return errors encountered during its operation (although the caller currently has no error return on its own). Signed-off-by: Sebastiaan van Stijn <[email protected]>
1 parent c825db8 commit 0e37dd4

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

cmd/docker/completions.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,34 @@
11
package main
22

33
import (
4-
"github.com/docker/cli/cli/command"
54
"github.com/docker/cli/cli/context/store"
65
"github.com/spf13/cobra"
76
)
87

9-
func registerCompletionFuncForGlobalFlags(dockerCli *command.DockerCli, cmd *cobra.Command) {
10-
cmd.RegisterFlagCompletionFunc(
8+
func registerCompletionFuncForGlobalFlags(contextStore store.Store, cmd *cobra.Command) error {
9+
err := cmd.RegisterFlagCompletionFunc(
1110
"context",
1211
func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
13-
names, err := store.Names(dockerCli.ContextStore())
12+
names, err := store.Names(contextStore)
1413
if err != nil {
1514
return nil, cobra.ShellCompDirectiveError
1615
}
1716
return names, cobra.ShellCompDirectiveNoFileComp
1817
},
1918
)
20-
cmd.RegisterFlagCompletionFunc(
19+
if err != nil {
20+
return err
21+
}
22+
err = cmd.RegisterFlagCompletionFunc(
2123
"log-level",
2224
func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
2325
values := []string{"debug", "info", "warn", "error", "fatal"}
2426
return values, cobra.ShellCompDirectiveNoFileComp
2527
},
2628
)
29+
if err != nil {
30+
return err
31+
}
32+
33+
return nil
2734
}

cmd/docker/docker.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func newDockerCommand(dockerCli *command.DockerCli) *cli.TopLevelCommand {
5959
cmd.SetErr(dockerCli.Err())
6060

6161
opts, helpCmd = cli.SetupRootCommand(cmd)
62-
registerCompletionFuncForGlobalFlags(dockerCli, cmd)
62+
_ = registerCompletionFuncForGlobalFlags(dockerCli.ContextStore(), cmd)
6363
cmd.Flags().BoolP("version", "v", false, "Print version information and quit")
6464
setFlagErrorFunc(dockerCli, cmd)
6565

0 commit comments

Comments
 (0)