Skip to content

Commit e2b5dde

Browse files
committed
remove cobra v2 completion for plugins
Signed-off-by: CrazyMax <[email protected]>
1 parent f5d698a commit e2b5dde

2 files changed

Lines changed: 14 additions & 13 deletions

File tree

cmd/docker/docker.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -133,13 +133,20 @@ func tryRunPluginHelp(dockerCli command.Cli, ccmd *cobra.Command, cargs []string
133133
func setHelpFunc(dockerCli command.Cli, cmd *cobra.Command) {
134134
defaultHelpFunc := cmd.HelpFunc()
135135
cmd.SetHelpFunc(func(ccmd *cobra.Command, args []string) {
136-
if pluginmanager.IsPluginCommand(ccmd) {
136+
if err := pluginmanager.AddPluginCommandStubs(dockerCli, ccmd.Root()); err != nil {
137+
ccmd.Println(err)
138+
return
139+
}
140+
141+
if len(args) >= 1 {
137142
err := tryRunPluginHelp(dockerCli, ccmd, args)
143+
if err == nil {
144+
return
145+
}
138146
if !pluginmanager.IsNotFound(err) {
139147
ccmd.Println(err)
148+
return
140149
}
141-
cmd.PrintErrf("unknown help topic: %v\n", ccmd.Name())
142-
return
143150
}
144151

145152
if err := isSupported(ccmd, dockerCli); err != nil {
@@ -227,14 +234,8 @@ func runDocker(dockerCli *command.DockerCli) error {
227234
return err
228235
}
229236

230-
err = pluginmanager.AddPluginCommandStubs(dockerCli, cmd)
231-
if err != nil {
232-
return err
233-
}
234-
235237
if len(args) > 0 {
236-
ccmd, _, err := cmd.Find(args)
237-
if err != nil || pluginmanager.IsPluginCommand(ccmd) {
238+
if _, _, err := cmd.Find(args); err != nil {
238239
err := tryPluginRun(dockerCli, cmd, args[0], envs)
239240
if !pluginmanager.IsNotFound(err) {
240241
return err

e2e/cli-plugins/run_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func TestHelpBad(t *testing.T) {
8383

8484
res := icmd.RunCmd(run("help", "badmeta"))
8585
res.Assert(t, icmd.Expected{
86-
ExitCode: 0,
86+
ExitCode: 1,
8787
Out: icmd.None,
8888
})
8989
golden.Assert(t, res.Stderr(), "docker-help-badmeta-err.golden")
@@ -110,8 +110,8 @@ func TestBadHelp(t *testing.T) {
110110
res.Assert(t, icmd.Expected{
111111
ExitCode: 0,
112112
// This should be identical to the --help case above
113-
Out: usage,
114-
Err: shortHFlagDeprecated,
113+
Out: shortHFlagDeprecated + usage,
114+
Err: icmd.None,
115115
})
116116
}
117117

0 commit comments

Comments
 (0)