Преглед изворни кода

Merge pull request #14901 from albers/completion-log-opt-fixes

Fixes to bash completion for log driver options
David Calavera пре 10 година
родитељ
комит
2cf9fec111
1 измењених фајлова са 14 додато и 4 уклоњено
  1. 14 4
      contrib/completion/bash/docker

+ 14 - 4
contrib/completion/bash/docker

@@ -227,15 +227,22 @@ __docker_log_drivers() {
 
 __docker_log_driver_options() {
 	# see docs/reference/logging/index.md
+	local fluentd_options="fluentd-address fluentd-tag"
+	local gelf_options="gelf-address gelf-tag"
+	local syslog_options="syslog-address syslog-facility syslog-tag"
+
 	case $(__docker_value_of_option --log-driver) in
+		'')
+			COMPREPLY=( $( compgen -W "$fluentd_options $gelf_options $syslog_options" -S = -- "$cur" ) )
+			;;
 		fluentd)
-			COMPREPLY=( $( compgen -W "fluentd-address fluentd-tag" -S = -- "$cur" ) )
+			COMPREPLY=( $( compgen -W "$fluentd_options" -S = -- "$cur" ) )
 			;;
 		gelf)
-			COMPREPLY=( $( compgen -W "gelf-address gelf-tag" -S = -- "$cur" ) )
+			COMPREPLY=( $( compgen -W "$gelf_options" -S = -- "$cur" ) )
 			;;
 		syslog)
-			COMPREPLY=( $( compgen -W "syslog-address syslog-facility syslog-tag" -S = -- "$cur" ) )
+			COMPREPLY=( $( compgen -W "$syslog_options" -S = -- "$cur" ) )
 			;;
 		*)
 			return
@@ -359,7 +366,10 @@ _docker_docker() {
 			COMPREPLY=( $( compgen -W "$boolean_options $main_options_with_args" -- "$cur" ) )
 			;;
 		*)
-			COMPREPLY=( $( compgen -W "${commands[*]} help" -- "$cur" ) )
+			local counter="$(__docker_pos_first_nonflag $main_options_with_args_glob)"
+			if [ $cword -eq $counter ]; then
+				COMPREPLY=( $( compgen -W "${commands[*]} help" -- "$cur" ) )
+			fi
 			;;
 	esac
 }