From 47615c9b9bfc947a2b244317188db54aa29c716e Mon Sep 17 00:00:00 2001 From: Harald Albers Date: Thu, 13 Apr 2017 09:58:28 +0200 Subject: [PATCH] Bash completion treats `service logs` as stable Implements the following new CLI features: - service logs is no longer experimental - service logs also accepts task IDs Signed-off-by: Harald Albers --- contrib/completion/bash/docker | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/contrib/completion/bash/docker b/contrib/completion/bash/docker index c5cbe1b4d2..d9d089346e 100644 --- a/contrib/completion/bash/docker +++ b/contrib/completion/bash/docker @@ -463,6 +463,16 @@ __docker_complete_services() { 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 # word in `$COMPREPLY`. # Normally you do this with `compgen -S` while generating the completions. @@ -2830,13 +2840,13 @@ _docker_service() { local subcommands=" create inspect + logs ls rm scale ps update " - __docker_daemon_is_experimental && subcommands+="logs" local aliases=" list @@ -2888,7 +2898,7 @@ _docker_service_logs() { *) local counter=$(__docker_pos_first_nonflag '--since|--tail') if [ $cword -eq $counter ]; then - __docker_complete_services + __docker_complete_services_and_tasks fi ;; esac