From ac82162288878794d8d9b5e29e23690c3715f43e Mon Sep 17 00:00:00 2001 From: Toni Kangas Date: Thu, 23 Jun 2022 23:46:49 +0300 Subject: [PATCH] Use line-break as field separator in compgen words input This ensures that completions with whitespace are treated as single completion. Signed-off-by: Toni Kangas --- bash_completionsV2.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bash_completionsV2.go b/bash_completionsV2.go index 17ab31d16..58a1ec687 100644 --- a/bash_completionsV2.go +++ b/bash_completionsV2.go @@ -220,7 +220,8 @@ __%[1]s_handle_standard_completion_case() { # Short circuit to optimize if we don't have descriptions if [[ "${completions[*]}" != *$tab* ]]; then - IFS=$'\n' read -ra COMPREPLY -d '' < <(compgen -W "${completions[*]}" -- "$cur") + compgen_words=$(printf "%%s\n" "${completions[@]}") + IFS=$'\n' read -ra COMPREPLY -d '' < <(IFS=$'\n' compgen -W "${compgen_words}" -- "$cur") # If there is a single completion left, escape the completion if [ ${#COMPREPLY[*]} -eq 1 ]; then