]> git.ipfire.org Git - thirdparty/git.git/commitdiff
completion: bash: add correct suffix in variables
authorFelipe Contreras <felipe.contreras@gmail.com>
Mon, 16 Aug 2021 09:10:25 +0000 (04:10 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 18 Aug 2021 18:17:26 +0000 (11:17 -0700)
__gitcomp automatically adds a suffix, but __gitcomp_nl and others
don't, we need to specify a space by default.

Can be tested with:

  git config branch.autoSetupMe<tab>

This fix only works for versions of bash greater than 4.0, before that
"local sfx" creates an empty string, therefore the unset expansion
doesn't work. The same happens in zsh.

Therefore we don't add the test for that for now.

The correct fix for all shells requires semantic changes in __gitcomp,
but that can be done later.

Cc: SZEDER Gábor <szeder.dev@gmail.com>
Tested-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash

index 1feb2ee1081a4e1ae292e19ec3a213bf9631b81c..c72b5465f9ba14fed061e798f24e9e9397b5a980 100644 (file)
@@ -2652,7 +2652,7 @@ __git_complete_config_variable_name ()
                local pfx="${cur_%.*}."
                cur_="${cur_#*.}"
                __gitcomp_direct "$(__git_heads "$pfx" "$cur_" ".")"
-               __gitcomp_nl_append $'autoSetupMerge\nautoSetupRebase\n' "$pfx" "$cur_" "$sfx"
+               __gitcomp_nl_append $'autoSetupMerge\nautoSetupRebase\n' "$pfx" "$cur_" "${sfx- }"
                return
                ;;
        guitool.*.*)
@@ -2686,7 +2686,7 @@ __git_complete_config_variable_name ()
                local pfx="${cur_%.*}."
                cur_="${cur_#*.}"
                __git_compute_all_commands
-               __gitcomp_nl "$__git_all_commands" "$pfx" "$cur_" "$sfx"
+               __gitcomp_nl "$__git_all_commands" "$pfx" "$cur_" "${sfx- }"
                return
                ;;
        remote.*.*)
@@ -2702,7 +2702,7 @@ __git_complete_config_variable_name ()
                local pfx="${cur_%.*}."
                cur_="${cur_#*.}"
                __gitcomp_nl "$(__git_remotes)" "$pfx" "$cur_" "."
-               __gitcomp_nl_append "pushDefault" "$pfx" "$cur_" "$sfx"
+               __gitcomp_nl_append "pushDefault" "$pfx" "$cur_" "${sfx- }"
                return
                ;;
        url.*.*)