Merge pull request #23455 from sdurrheimer/zsh-completion-events-filter-values
Add zsh completion for 'docker events --filter' values
This commit is contained in:
commit
b133737cb7
1 changed files with 55 additions and 1 deletions
|
@ -387,6 +387,60 @@ __docker_complete_images_filters() {
|
|||
return ret
|
||||
}
|
||||
|
||||
__docker_complete_events_filter() {
|
||||
[[ $PREFIX = -* ]] && return 1
|
||||
integer ret=1
|
||||
declare -a opts
|
||||
|
||||
opts=('container' 'daemon' 'event' 'image' 'label' 'network' 'type' 'volume')
|
||||
|
||||
if compset -P '*='; then
|
||||
case "${${words[-1]%=*}#*=}" in
|
||||
(container)
|
||||
__docker_containers && ret=0
|
||||
;;
|
||||
(daemon)
|
||||
emulate -L zsh
|
||||
setopt extendedglob
|
||||
local -a daemon_opts
|
||||
daemon_opts=(
|
||||
${(f)${${"$(_call_program commands docker $docker_options info)"##*$'\n'Name: }%%$'\n'^ *}}
|
||||
${${(f)${${"$(_call_program commands docker $docker_options info)"##*$'\n'ID: }%%$'\n'^ *}}//:/\\:}
|
||||
)
|
||||
_describe -t daemon-filter-opts "daemon filter options" daemon_opts && ret=0
|
||||
;;
|
||||
(event)
|
||||
local -a event_opts
|
||||
event_opts=('attach' 'commit' 'connect' 'copy' 'create' 'delete' 'destroy' 'detach' 'die' 'disconnect' 'exec_create' 'exec_detach'
|
||||
'exec_start' 'export' 'import' 'kill' 'mount' 'oom' 'pause' 'pull' 'push' 'reload' 'rename' 'resize' 'restart' 'start' 'stop' 'tag'
|
||||
'top' 'unmount' 'unpause' 'untag' 'update')
|
||||
_describe -t event-filter-opts "event filter options" event_opts && ret=0
|
||||
;;
|
||||
(image)
|
||||
__docker_images && ret=0
|
||||
;;
|
||||
(network)
|
||||
__docker_networks && ret=0
|
||||
;;
|
||||
(type)
|
||||
local -a type_opts
|
||||
type_opts=('container' 'daemon' 'image' 'network' 'volume')
|
||||
_describe -t type-filter-opts "type filter options" type_opts && ret=0
|
||||
;;
|
||||
(volume)
|
||||
__docker_volumes && ret=0
|
||||
;;
|
||||
*)
|
||||
_message 'value' && ret=0
|
||||
;;
|
||||
esac
|
||||
else
|
||||
_describe -t filter-opts "filter options" opts -qS "=" && ret=0
|
||||
fi
|
||||
|
||||
return ret
|
||||
}
|
||||
|
||||
__docker_network_complete_ls_filters() {
|
||||
[[ $PREFIX = -* ]] && return 1
|
||||
integer ret=1
|
||||
|
@ -961,7 +1015,7 @@ __docker_subcommand() {
|
|||
(events)
|
||||
_arguments $(__docker_arguments) \
|
||||
$opts_help \
|
||||
"($help)*"{-f=,--filter=}"[Filter values]:filter: " \
|
||||
"($help)*"{-f=,--filter=}"[Filter values]:filter:__docker_complete_events_filter" \
|
||||
"($help)--since=[Events created since this timestamp]:timestamp: " \
|
||||
"($help)--until=[Events created until this timestamp]:timestamp: " && ret=0
|
||||
;;
|
||||
|
|
Loading…
Reference in a new issue