package completion

import "github.com/docker/cli/cli/command/completion"

Index

Functions

func ContainerNames

func ContainerNames(dockerCLI APIClientProvider, all bool, filters ...func(container.Summary) bool) cobra.CompletionFunc

ContainerNames offers completion for container names and IDs By default, only names are returned. Set DOCKER_COMPLETION_SHOW_CONTAINER_IDS=yes to also complete IDs.

func EnvVarNames

func EnvVarNames(_ *cobra.Command, _ []string, _ string) (names []string, _ cobra.ShellCompDirective)

EnvVarNames offers completion for environment-variable names. This completion can be used for "--env" and "--build-arg" flags, which allow obtaining the value of the given environment-variable if present in the local environment, so we only should complete the names of the environment variables, and not their value. This also prevents the completion script from printing values of environment variables containing sensitive values.

For example;

export MY_VAR=hello
docker run --rm --env MY_VAR alpine printenv MY_VAR
hello

func FileNames

func FileNames(_ *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective)

FileNames is a convenience function to use cobra.ShellCompDirectiveDefault, which indicates to let the shell perform its default behavior after completions have been provided.

func FromList

func FromList(options ...string) cobra.CompletionFunc

FromList offers completion for the given list of options.

func ImageNames

func ImageNames(dockerCLI APIClientProvider, limit int) cobra.CompletionFunc

ImageNames offers completion for images present within the local store

func NetworkNames

func NetworkNames(dockerCLI APIClientProvider) cobra.CompletionFunc

NetworkNames offers completion for networks

func NoComplete

func NoComplete(_ *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective)

NoComplete is used for commands where there's no relevant completion

func Platforms

func Platforms(_ *cobra.Command, _ []string, _ string) (platforms []string, _ cobra.ShellCompDirective)

Platforms offers completion for platform-strings. It provides a non-exhaustive list of platforms to be used for completion. Platform-strings are based on runtime.GOOS and runtime.GOARCH, but with (optional) variants added. A list of recognised os/arch combinations from the Go runtime can be obtained through "go tool dist list".

Some noteworthy exclusions from this list:

func VolumeNames

func VolumeNames(dockerCLI APIClientProvider) cobra.CompletionFunc

VolumeNames offers completion for volumes

Types

type APIClientProvider

type APIClientProvider interface {
	Client() client.APIClient
}

APIClientProvider provides a method to get an client.APIClient, initializing it if needed.

It's a smaller interface than [command.Cli], and used in situations where an APIClient is needed, but we want to postpone initializing the client until it's used.

type ValidArgsFn

type ValidArgsFn = cobra.CompletionFunc

ValidArgsFn a function to be used by cobra command as `ValidArgsFunction` to offer command line completion.

Deprecated: use cobra.CompletionFunc.

Source Files

functions.go

Version
v28.3.2+incompatible
Published
Jul 9, 2025
Platform
js/wasm
Imports
9 packages
Last checked
8 minutes ago

Tools for package owners.