Browse code

Add zsh completion for docker log options 'max-buffer-size|mode'

Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>

Steve Durrheimer authored on 2017/02/13 05:05:22
Showing 1 changed files
... ...
@@ -221,17 +221,18 @@ __docker_get_log_options() {
221 221
 
222 222
     integer ret=1
223 223
     local log_driver=${opt_args[--log-driver]:-"all"}
224
-    local -a awslogs_options fluentd_options gelf_options journald_options json_file_options logentries_options syslog_options splunk_options
225
-
226
-    awslogs_options=("awslogs-region" "awslogs-group" "awslogs-stream" "awslogs-create-group")
227
-    fluentd_options=("env" "fluentd-address" "fluentd-async-connect" "fluentd-buffer-limit" "fluentd-retry-wait" "fluentd-max-retries" "labels" "tag")
228
-    gcplogs_options=("env" "gcp-log-cmd" "gcp-project" "labels")
229
-    gelf_options=("env" "gelf-address" "gelf-compression-level" "gelf-compression-type" "labels" "tag")
230
-    journald_options=("env" "labels" "tag")
231
-    json_file_options=("env" "labels" "max-file" "max-size")
232
-    logentries_options=("logentries-token")
233
-    syslog_options=("env" "labels" "syslog-address" "syslog-facility" "syslog-format" "syslog-tls-ca-cert" "syslog-tls-cert" "syslog-tls-key" "syslog-tls-skip-verify" "tag")
234
-    splunk_options=("env" "labels" "splunk-caname" "splunk-capath" "splunk-format" "splunk-gzip" "splunk-gzip-level" "splunk-index" "splunk-insecureskipverify" "splunk-source" "splunk-sourcetype" "splunk-token" "splunk-url" "splunk-verify-connection" "tag")
224
+    local -a common_options awslogs_options fluentd_options gelf_options journald_options json_file_options logentries_options syslog_options splunk_options
225
+
226
+    common_options=("max-buffer-size" "mode")
227
+    awslogs_options=($common_options "awslogs-region" "awslogs-group" "awslogs-stream" "awslogs-create-group")
228
+    fluentd_options=($common_options "env" "fluentd-address" "fluentd-async-connect" "fluentd-buffer-limit" "fluentd-retry-wait" "fluentd-max-retries" "labels" "tag")
229
+    gcplogs_options=($common_options "env" "gcp-log-cmd" "gcp-project" "labels")
230
+    gelf_options=($common_options "env" "gelf-address" "gelf-compression-level" "gelf-compression-type" "labels" "tag")
231
+    journald_options=($common_options "env" "labels" "tag")
232
+    json_file_options=($common_options "env" "labels" "max-file" "max-size")
233
+    logentries_options=($common_options "logentries-token")
234
+    syslog_options=($common_options "env" "labels" "syslog-address" "syslog-facility" "syslog-format" "syslog-tls-ca-cert" "syslog-tls-cert" "syslog-tls-key" "syslog-tls-skip-verify" "tag")
235
+    splunk_options=($common_options "env" "labels" "splunk-caname" "splunk-capath" "splunk-format" "splunk-gzip" "splunk-gzip-level" "splunk-index" "splunk-insecureskipverify" "splunk-source" "splunk-sourcetype" "splunk-token" "splunk-url" "splunk-verify-connection" "tag")
235 236
 
236 237
     [[ $log_driver = (awslogs|all) ]] && _describe -t awslogs-options "awslogs options" awslogs_options "$@" && ret=0
237 238
     [[ $log_driver = (fluentd|all) ]] && _describe -t fluentd-options "fluentd options" fluentd_options "$@" && ret=0
... ...
@@ -261,8 +262,12 @@ __docker_complete_log_options() {
261 261
     if compset -P '*='; then
262 262
         case "${${words[-1]%=*}#*=}" in
263 263
             (syslog-format)
264
-                syslog_format_opts=('rfc3164' 'rfc5424' 'rfc5424micro')
265
-                _describe -t syslog-format-opts "Syslog format Options" syslog_format_opts && ret=0
264
+                local opts=('rfc3164' 'rfc5424' 'rfc5424micro')
265
+                _describe -t syslog-format-opts "syslog format options" opts && ret=0
266
+                ;;
267
+            (mode)
268
+                local opts=('blocking' 'non-blocking')
269
+                _describe -t mode-opts "mode options" opts && ret=0
266 270
                 ;;
267 271
             *)
268 272
                 _message 'value' && ret=0