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.
@@ -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
