@@ -1144,6 +1144,7 @@ _docker_docker() {
11441144 * )
11451145 local counter=$( __docker_pos_first_nonflag " $( __docker_to_extglob " $global_options_with_args " ) " )
11461146 if [ " $cword " -eq " $counter " ]; then
1147+ __docker_client_is_experimental && commands+=(${experimental_client_commands[*]} )
11471148 __docker_server_is_experimental && commands+=(${experimental_server_commands[*]} )
11481149 COMPREPLY=( $( compgen -W " ${commands[*]} help" -- " $cur " ) )
11491150 fi
@@ -3833,6 +3834,109 @@ _docker_swarm_update() {
38333834 esac
38343835}
38353836
3837+ _docker_manifest () {
3838+ local subcommands="
3839+ annotate
3840+ create
3841+ inspect
3842+ push
3843+ "
3844+ __docker_subcommands " $subcommands " && return
3845+
3846+ case " $cur " in
3847+ -* )
3848+ COMPREPLY=( $( compgen -W " --help" -- " $cur " ) )
3849+ ;;
3850+ * )
3851+ COMPREPLY=( $( compgen -W " $subcommands " -- " $cur " ) )
3852+ ;;
3853+ esac
3854+ }
3855+
3856+ _docker_manifest_annotate () {
3857+ case " $prev " in
3858+ --arch)
3859+ COMPREPLY=( $( compgen -W "
3860+ 386
3861+ amd64
3862+ arm
3863+ arm64
3864+ mips64
3865+ mips64le
3866+ ppc64le
3867+ s390x" -- " $cur " ) )
3868+ return
3869+ ;;
3870+ --os)
3871+ COMPREPLY=( $( compgen -W "
3872+ darwin
3873+ dragonfly
3874+ freebsd
3875+ linux
3876+ netbsd
3877+ openbsd
3878+ plan9
3879+ solaris
3880+ windows" -- " $cur " ) )
3881+ return
3882+ ;;
3883+ --os-features|--variant)
3884+ return
3885+ ;;
3886+ esac
3887+
3888+ case " $cur " in
3889+ -* )
3890+ COMPREPLY=( $( compgen -W " --arch --help --os --os-features --variant" -- " $cur " ) )
3891+ ;;
3892+ * )
3893+ local counter=$( __docker_pos_first_nonflag " --arch|--os|--os-features|--variant" )
3894+ if [ " $cword " -eq " $counter " ] || [ " $cword " -eq " $(( counter + 1 )) " ]; then
3895+ __docker_complete_images --force-tag --id
3896+ fi
3897+ ;;
3898+ esac
3899+ }
3900+
3901+ _docker_manifest_create () {
3902+ case " $cur " in
3903+ -* )
3904+ COMPREPLY=( $( compgen -W " --amend -a --help --insecure" -- " $cur " ) )
3905+ ;;
3906+ * )
3907+ __docker_complete_images --force-tag --id
3908+ ;;
3909+ esac
3910+ }
3911+
3912+ _docker_manifest_inspect () {
3913+ case " $cur " in
3914+ -* )
3915+ COMPREPLY=( $( compgen -W " --help --insecure --verbose -v" -- " $cur " ) )
3916+ ;;
3917+ * )
3918+ local counter=$( __docker_pos_first_nonflag )
3919+ if [ " $cword " -eq " $counter " ] || [ " $cword " -eq " $(( counter + 1 )) " ]; then
3920+ __docker_complete_images --force-tag --id
3921+ fi
3922+ ;;
3923+ esac
3924+ }
3925+
3926+ _docker_manifest_push () {
3927+ case " $cur " in
3928+ -* )
3929+ COMPREPLY=( $( compgen -W " --help --insecure --purge -p" -- " $cur " ) )
3930+ ;;
3931+ * )
3932+ local counter=$( __docker_pos_first_nonflag )
3933+ if [ " $cword " -eq " $counter " ]; then
3934+ __docker_complete_images --force-tag --id
3935+ fi
3936+ ;;
3937+ esac
3938+ }
3939+
38363940_docker_node () {
38373941 local subcommands="
38383942 demote
@@ -5090,6 +5194,10 @@ _docker() {
50905194 wait
50915195 )
50925196
5197+ local experimental_client_commands=(
5198+ manifest
5199+ )
5200+
50935201 local experimental_server_commands=(
50945202 checkpoint
50955203 deploy
0 commit comments