瀏覽代碼

Complete all known driver options if no log driver was specified

Without this fix, `docker --log-opt ` would not complete anything
because the completions were driver specific.

Signed-off-by: Harald Albers <github@albersweb.de>
Harald Albers 10 年之前
父節點
當前提交
de40f3997a
共有 1 個文件被更改,包括 10 次插入3 次删除
  1. 10 3
      contrib/completion/bash/docker

+ 10 - 3
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