diff options
author | Paul Holzinger <pholzing@redhat.com> | 2021-12-15 15:18:02 +0100 |
---|---|---|
committer | Paul Holzinger <pholzing@redhat.com> | 2021-12-16 15:28:39 +0100 |
commit | 03a3fc37fe82800113a1c9043448acb2afa539a6 (patch) | |
tree | 216aae69ad45e33c18bd5af8eb37d8a16dae4050 /completions | |
parent | d1c91c128ea32dae3e9c56c657ea57dfed9f6ad4 (diff) | |
download | podman-03a3fc37fe82800113a1c9043448acb2afa539a6.tar.gz podman-03a3fc37fe82800113a1c9043448acb2afa539a6.tar.bz2 podman-03a3fc37fe82800113a1c9043448acb2afa539a6.zip |
bump cobra to 1.3.0
This contains some fixes for the shell completion files.
[NO NEW TESTS NEEDED]
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Diffstat (limited to 'completions')
-rw-r--r-- | completions/bash/podman | 31 | ||||
-rw-r--r-- | completions/bash/podman-remote | 31 | ||||
-rw-r--r-- | completions/powershell/podman-remote.ps1 | 6 | ||||
-rw-r--r-- | completions/powershell/podman.ps1 | 6 | ||||
-rw-r--r-- | completions/zsh/_podman | 4 | ||||
-rw-r--r-- | completions/zsh/_podman-remote | 4 |
6 files changed, 70 insertions, 12 deletions
diff --git a/completions/bash/podman b/completions/bash/podman index dcac09db5..c7171a9cc 100644 --- a/completions/bash/podman +++ b/completions/bash/podman @@ -116,13 +116,42 @@ __podman_process_completion_results() { _filedir -d fi else - __podman_handle_standard_completion_case + __podman_handle_completion_types fi __podman_handle_special_char "$cur" : __podman_handle_special_char "$cur" = } +__podman_handle_completion_types() { + __podman_debug "__podman_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_handle_standard_completion_case + ;; + esac +} + __podman_handle_standard_completion_case() { local tab comp tab=$(printf '\t') 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') diff --git a/completions/powershell/podman-remote.ps1 b/completions/powershell/podman-remote.ps1 index e065d0426..2edc79ffb 100644 --- a/completions/powershell/podman-remote.ps1 +++ b/completions/powershell/podman-remote.ps1 @@ -33,7 +33,7 @@ Register-ArgumentCompleter -CommandName 'podman-remote' -ScriptBlock { if ($Command.Length -gt $CursorPosition) { $Command=$Command.Substring(0,$CursorPosition) } - __podman-remote_debug "Truncated command: $Command" + __podman-remote_debug "Truncated command: $Command" $ShellCompDirectiveError=1 $ShellCompDirectiveNoSpace=2 @@ -41,7 +41,7 @@ Register-ArgumentCompleter -CommandName 'podman-remote' -ScriptBlock { $ShellCompDirectiveFilterFileExt=8 $ShellCompDirectiveFilterDirs=16 - # Prepare the command to request completions for the program. + # Prepare the command to request completions for the program. # Split the command at the first space to separate the program and arguments. $Program,$Arguments = $Command.Split(" ",2) $RequestComp="$Program __complete $Arguments" @@ -216,7 +216,7 @@ Register-ArgumentCompleter -CommandName 'podman-remote' -ScriptBlock { Default { # Like MenuComplete but we don't want to add a space here because # the user need to press space anyway to get the completion. - # Description will not be shown because thats not possible with TabCompleteNext + # Description will not be shown because that's not possible with TabCompleteNext [System.Management.Automation.CompletionResult]::new($($comp.Name | __podman-remote_escapeStringWithSpecialChars), "$($comp.Name)", 'ParameterValue', "$($comp.Description)") } } diff --git a/completions/powershell/podman.ps1 b/completions/powershell/podman.ps1 index fa856eee4..1cd89d0a0 100644 --- a/completions/powershell/podman.ps1 +++ b/completions/powershell/podman.ps1 @@ -33,7 +33,7 @@ Register-ArgumentCompleter -CommandName 'podman' -ScriptBlock { if ($Command.Length -gt $CursorPosition) { $Command=$Command.Substring(0,$CursorPosition) } - __podman_debug "Truncated command: $Command" + __podman_debug "Truncated command: $Command" $ShellCompDirectiveError=1 $ShellCompDirectiveNoSpace=2 @@ -41,7 +41,7 @@ Register-ArgumentCompleter -CommandName 'podman' -ScriptBlock { $ShellCompDirectiveFilterFileExt=8 $ShellCompDirectiveFilterDirs=16 - # Prepare the command to request completions for the program. + # Prepare the command to request completions for the program. # Split the command at the first space to separate the program and arguments. $Program,$Arguments = $Command.Split(" ",2) $RequestComp="$Program __complete $Arguments" @@ -216,7 +216,7 @@ Register-ArgumentCompleter -CommandName 'podman' -ScriptBlock { Default { # Like MenuComplete but we don't want to add a space here because # the user need to press space anyway to get the completion. - # Description will not be shown because thats not possible with TabCompleteNext + # Description will not be shown because that's not possible with TabCompleteNext [System.Management.Automation.CompletionResult]::new($($comp.Name | __podman_escapeStringWithSpecialChars), "$($comp.Name)", 'ParameterValue', "$($comp.Description)") } } diff --git a/completions/zsh/_podman b/completions/zsh/_podman index 9bad56d9a..7c3d6faf3 100644 --- a/completions/zsh/_podman +++ b/completions/zsh/_podman @@ -125,7 +125,7 @@ _podman() _arguments '*:filename:'"$filteringCmd" elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then # File completion for directories only - local subDir + local subdir subdir="${completions[1]}" if [ -n "$subdir" ]; then __podman_debug "Listing directories in $subdir" @@ -173,7 +173,7 @@ _podman() # don't run the completion function when being source-ed or eval-ed if [ "$funcstack[1]" = "_podman" ]; then - _podman + _podman fi # This file is generated with "podman completion"; see: podman-completion(1) diff --git a/completions/zsh/_podman-remote b/completions/zsh/_podman-remote index 5132d0e53..a2d24af25 100644 --- a/completions/zsh/_podman-remote +++ b/completions/zsh/_podman-remote @@ -125,7 +125,7 @@ _podman-remote() _arguments '*:filename:'"$filteringCmd" elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then # File completion for directories only - local subDir + local subdir subdir="${completions[1]}" if [ -n "$subdir" ]; then __podman-remote_debug "Listing directories in $subdir" @@ -173,7 +173,7 @@ _podman-remote() # don't run the completion function when being source-ed or eval-ed if [ "$funcstack[1]" = "_podman-remote" ]; then - _podman-remote + _podman-remote fi # This file is generated with "podman-remote completion"; see: podman-completion(1) |