diff options
Diffstat (limited to 'completions/bash/podman-remote')
-rw-r--r-- | completions/bash/podman-remote | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/completions/bash/podman-remote b/completions/bash/podman-remote index 7bd10abb2..b5150e208 100644 --- a/completions/bash/podman-remote +++ b/completions/bash/podman-remote @@ -116,13 +116,42 @@ __podman-remote_process_completion_results() { _filedir -d fi else - __podman-remote_handle_standard_completion_case + __podman-remote_handle_completion_types fi __podman-remote_handle_special_char "$cur" : __podman-remote_handle_special_char "$cur" = } +__podman-remote_handle_completion_types() { + __podman-remote_debug "__podman-remote_handle_completion_types: COMP_TYPE is $COMP_TYPE" + + case $COMP_TYPE in + 37|42) + # Type: menu-complete/menu-complete-backward and insert-completions + # If the user requested inserting one completion at a time, or all + # completions at once on the command-line we must remove the descriptions. + # https://github.com/spf13/cobra/issues/1508 + local tab comp + tab=$(printf '\t') + while IFS='' read -r comp; do + # Strip any description + comp=${comp%%$tab*} + # Only consider the completions that match + comp=$(compgen -W "$comp" -- "$cur") + if [ -n "$comp" ]; then + COMPREPLY+=("$comp") + fi + done < <(printf "%s\n" "${out[@]}") + ;; + + *) + # Type: complete (normal completion) + __podman-remote_handle_standard_completion_case + ;; + esac +} + __podman-remote_handle_standard_completion_case() { local tab comp tab=$(printf '\t') |