diff --git a/bash_completionsV2.go b/bash_completionsV2.go index 24127f264..934e88d5f 100644 --- a/bash_completionsV2.go +++ b/bash_completionsV2.go @@ -199,6 +199,22 @@ __%[1]s_perform_completion() COMPREPLY+=("$comp") fi fi + + __%[1]s_handle_special_char "$cur" : + __%[1]s_handle_special_char "$cur" = +} + +__%[1]s_handle_special_char() +{ + local comp="$1" + local char=$2 + if [[ "$comp" == *${char}* && "$COMP_WORDBREAKS" == *${char}* ]]; then + local word=${comp%%"${comp##*${char}}"} + local idx=${#COMPREPLY[*]} + while [[ $((--idx)) -ge 0 ]]; do + COMPREPLY[$idx]=${COMPREPLY[$idx]#"$word"} + done + fi } __start_%[1]s() @@ -206,7 +222,7 @@ __start_%[1]s() local cur prev words cword COMPREPLY=() - _get_comp_words_by_ref -n = cur prev words cword + _get_comp_words_by_ref -n "=:" cur prev words cword __%[1]s_perform_completion }