Skip to content

Commit

Permalink
setup limit parameter for ImageNames
Browse files Browse the repository at this point in the history
Signed-off-by: Mohammed Aminu Futa <[email protected]>
  • Loading branch information
mohammedfuta2000 committed Feb 11, 2025
1 parent 0a783fa commit 5ca9994
Show file tree
Hide file tree
Showing 10 changed files with 12 additions and 15 deletions.
9 changes: 3 additions & 6 deletions cli/command/completion/functions.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,10 @@ type APIClientProvider interface {
}

// ImageNames offers completion for images present within the local store
func ImageNames(dockerCLI APIClientProvider) ValidArgsFn {
func ImageNames(dockerCLI APIClientProvider, limit int) ValidArgsFn {
return func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
switch cmd.Name() {
case "run", "history", "push", "tag":
if len(args) > 0 {
return nil, cobra.ShellCompDirectiveNoFileComp
}
if limit > 0 && len(args) >= limit {
return nil, cobra.ShellCompDirectiveNoFileComp
}
list, err := dockerCLI.Client().ImageList(cmd.Context(), image.ListOptions{})
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion cli/command/completion/functions_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ func TestCompleteImageNames(t *testing.T) {
}
return tc.images, nil
},
}})
}}, -1)

volumes, directives := comp(&cobra.Command{}, nil, "")
assert.Check(t, is.Equal(directives&tc.expDirective, tc.expDirective))
Expand Down
2 changes: 1 addition & 1 deletion cli/command/container/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ func NewCreateCommand(dockerCli command.Cli) *cobra.Command {
Annotations: map[string]string{
"aliases": "docker container create, docker create",
},
ValidArgsFunction: completion.ImageNames(dockerCli),
ValidArgsFunction: completion.ImageNames(dockerCli, -1),
}

flags := cmd.Flags()
Expand Down
2 changes: 1 addition & 1 deletion cli/command/container/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func NewRunCommand(dockerCli command.Cli) *cobra.Command {
}
return runRun(cmd.Context(), dockerCli, cmd.Flags(), &options, copts)
},
ValidArgsFunction: completion.ImageNames(dockerCli),
ValidArgsFunction: completion.ImageNames(dockerCli, 1),
Annotations: map[string]string{
"category-top": "1",
"aliases": "docker container run, docker run",
Expand Down
2 changes: 1 addition & 1 deletion cli/command/image/history.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func NewHistoryCommand(dockerCli command.Cli) *cobra.Command {
opts.image = args[0]
return runHistory(cmd.Context(), dockerCli, opts)
},
ValidArgsFunction: completion.ImageNames(dockerCli),
ValidArgsFunction: completion.ImageNames(dockerCli, 1),
Annotations: map[string]string{
"aliases": "docker image history, docker history",
},
Expand Down
2 changes: 1 addition & 1 deletion cli/command/image/inspect.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func newInspectCommand(dockerCli command.Cli) *cobra.Command {
opts.refs = args
return runInspect(cmd.Context(), dockerCli, opts)
},
ValidArgsFunction: completion.ImageNames(dockerCli),
ValidArgsFunction: completion.ImageNames(dockerCli, -1),
}

flags := cmd.Flags()
Expand Down
2 changes: 1 addition & 1 deletion cli/command/image/push.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func NewPushCommand(dockerCli command.Cli) *cobra.Command {
"category-top": "6",
"aliases": "docker image push, docker push",
},
ValidArgsFunction: completion.ImageNames(dockerCli),
ValidArgsFunction: completion.ImageNames(dockerCli, 1),
}

flags := cmd.Flags()
Expand Down
2 changes: 1 addition & 1 deletion cli/command/image/remove.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func NewRemoveCommand(dockerCli command.Cli) *cobra.Command {
RunE: func(cmd *cobra.Command, args []string) error {
return runRemove(cmd.Context(), dockerCli, opts, args)
},
ValidArgsFunction: completion.ImageNames(dockerCli),
ValidArgsFunction: completion.ImageNames(dockerCli, -1),
Annotations: map[string]string{
"aliases": "docker image rm, docker image remove, docker rmi",
},
Expand Down
2 changes: 1 addition & 1 deletion cli/command/image/save.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func NewSaveCommand(dockerCli command.Cli) *cobra.Command {
Annotations: map[string]string{
"aliases": "docker image save, docker save",
},
ValidArgsFunction: completion.ImageNames(dockerCli),
ValidArgsFunction: completion.ImageNames(dockerCli, -1),
}

flags := cmd.Flags()
Expand Down
2 changes: 1 addition & 1 deletion cli/command/image/tag.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func NewTagCommand(dockerCli command.Cli) *cobra.Command {
Annotations: map[string]string{
"aliases": "docker image tag, docker tag",
},
ValidArgsFunction: completion.ImageNames(dockerCli),
ValidArgsFunction: completion.ImageNames(dockerCli, 2),
}

flags := cmd.Flags()
Expand Down

0 comments on commit 5ca9994

Please sign in to comment.