Ver Fonte

Merge pull request #32597 from albers/completion-service-logs

Bash completion treats `docker service logs` as stable
Brian Goff há 8 anos atrás
pai
commit
b7794ac46f
1 ficheiros alterados com 12 adições e 2 exclusões
  1. 12 2
      contrib/completion/bash/docker

+ 12 - 2
contrib/completion/bash/docker

@@ -463,6 +463,16 @@ __docker_complete_services() {
 	COMPREPLY=( $(compgen -W "$(__docker_services "$@")" -- "$current") )
 	COMPREPLY=( $(compgen -W "$(__docker_services "$@")" -- "$current") )
 }
 }
 
 
+# __docker_tasks returns a list of all task IDs.
+__docker_tasks() {
+	__docker_q service ps --format '{{.ID}}' ""
+}
+
+# __docker_complete_services_and_tasks applies completion of services and task IDs.
+__docker_complete_services_and_tasks() {
+	COMPREPLY=( $(compgen -W "$(__docker_services "$@") $(__docker_tasks)" -- "$cur") )
+}
+
 # __docker_append_to_completions appends the word passed as an argument to every
 # __docker_append_to_completions appends the word passed as an argument to every
 # word in `$COMPREPLY`.
 # word in `$COMPREPLY`.
 # Normally you do this with `compgen -S` while generating the completions.
 # Normally you do this with `compgen -S` while generating the completions.
@@ -2830,13 +2840,13 @@ _docker_service() {
 	local subcommands="
 	local subcommands="
 		create
 		create
 		inspect
 		inspect
+		logs
 		ls
 		ls
 		rm
 		rm
 		scale
 		scale
 		ps
 		ps
 		update
 		update
 	"
 	"
-	__docker_daemon_is_experimental && subcommands+="logs"
 
 
 	local aliases="
 	local aliases="
 		list
 		list
@@ -2888,7 +2898,7 @@ _docker_service_logs() {
 		*)
 		*)
 			local counter=$(__docker_pos_first_nonflag '--since|--tail')
 			local counter=$(__docker_pos_first_nonflag '--since|--tail')
 			if [ $cword -eq $counter ]; then
 			if [ $cword -eq $counter ]; then
-				__docker_complete_services
+				__docker_complete_services_and_tasks
 			fi
 			fi
 			;;
 			;;
 	esac
 	esac