mirror of https://github.com/docker/cli.git
cli/command/completion: add FileNames utility
This is just a convenience function to allow defining completion to use the default (complete with filenames and directories). Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
eed0e5b02a
commit
9207ff1046
|
@ -105,6 +105,13 @@ func NetworkNames(dockerCLI APIClientProvider) ValidArgsFn {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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 FileNames(_ *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective) {
|
||||||
|
return nil, cobra.ShellCompDirectiveDefault
|
||||||
|
}
|
||||||
|
|
||||||
// NoComplete is used for commands where there's no relevant completion
|
// NoComplete is used for commands where there's no relevant completion
|
||||||
func NoComplete(_ *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective) {
|
func NoComplete(_ *cobra.Command, _ []string, _ string) ([]string, cobra.ShellCompDirective) {
|
||||||
return nil, cobra.ShellCompDirectiveNoFileComp
|
return nil, cobra.ShellCompDirectiveNoFileComp
|
||||||
|
|
|
@ -81,9 +81,7 @@ func NewExecCommand(dockerCli command.Cli) *cobra.Command {
|
||||||
_ = cmd.RegisterFlagCompletionFunc("env", func(*cobra.Command, []string, string) ([]string, cobra.ShellCompDirective) {
|
_ = cmd.RegisterFlagCompletionFunc("env", func(*cobra.Command, []string, string) ([]string, cobra.ShellCompDirective) {
|
||||||
return os.Environ(), cobra.ShellCompDirectiveNoFileComp
|
return os.Environ(), cobra.ShellCompDirectiveNoFileComp
|
||||||
})
|
})
|
||||||
_ = cmd.RegisterFlagCompletionFunc("env-file", func(*cobra.Command, []string, string) ([]string, cobra.ShellCompDirective) {
|
_ = cmd.RegisterFlagCompletionFunc("env-file", completion.FileNames)
|
||||||
return nil, cobra.ShellCompDirectiveDefault // _filedir
|
|
||||||
})
|
|
||||||
|
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,9 +73,7 @@ func NewRunCommand(dockerCli command.Cli) *cobra.Command {
|
||||||
_ = cmd.RegisterFlagCompletionFunc("env", func(*cobra.Command, []string, string) ([]string, cobra.ShellCompDirective) {
|
_ = cmd.RegisterFlagCompletionFunc("env", func(*cobra.Command, []string, string) ([]string, cobra.ShellCompDirective) {
|
||||||
return os.Environ(), cobra.ShellCompDirectiveNoFileComp
|
return os.Environ(), cobra.ShellCompDirectiveNoFileComp
|
||||||
})
|
})
|
||||||
_ = cmd.RegisterFlagCompletionFunc("env-file", func(*cobra.Command, []string, string) ([]string, cobra.ShellCompDirective) {
|
_ = cmd.RegisterFlagCompletionFunc("env-file", completion.FileNames)
|
||||||
return nil, cobra.ShellCompDirectiveDefault
|
|
||||||
})
|
|
||||||
_ = cmd.RegisterFlagCompletionFunc("network", completion.NetworkNames(dockerCli))
|
_ = cmd.RegisterFlagCompletionFunc("network", completion.NetworkNames(dockerCli))
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue