aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorPhilippe Blain <levraiphilippeblain@gmail.com>2024-02-10 18:32:21 +0000
committerJunio C Hamano <gitster@pobox.com>2024-02-12 09:43:42 -0800
commitb1d0cc68d1921f8d26a947fe662697e42dffb730 (patch)
treeaf7e8da91ad6a97085da240fb6ced70256f86dec /contrib
parent30bd55f901c97c310e674c051f00920f38a66ee0 (diff)
downloadgit-b1d0cc68d1921f8d26a947fe662697e42dffb730.tar.gz
completion: complete 'submodule.*' config variables
In the Bash completion script, function __git_complete_config_variable_name completes config variables and has special logic to deal with config variables involving user-defined names, like branch.<name>.* and remote.<name>.*. This special logic is missing for submodule-related config variables. Add the appropriate branches to the case statement, making use of the in-tree '.gitmodules' to list relevant submodules. Add corresponding tests in t9902-completion.sh, making sure we complete both first level submodule config variables as well as second level variables involving submodule names. Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib')
-rw-r--r--contrib/completion/git-completion.bash13
1 files changed, 13 insertions, 0 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 159a4fd8ad..8af9bc3f4e 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2803,6 +2803,19 @@ __git_complete_config_variable_name ()
__gitcomp_nl_append "pushDefault" "$pfx" "$cur_" "${sfx:- }"
return
;;
+ submodule.*.*)
+ local pfx="${cur_%.*}."
+ cur_="${cur_##*.}"
+ __gitcomp "url update branch fetchRecurseSubmodules ignore active" "$pfx" "$cur_" "$sfx"
+ return
+ ;;
+ submodule.*)
+ local pfx="${cur_%.*}."
+ cur_="${cur_#*.}"
+ __gitcomp_nl "$(__git config -f "$(__git rev-parse --show-toplevel)/.gitmodules" --get-regexp 'submodule.*.path' | awk -F. '{print $2}')" "$pfx" "$cur_" "."
+ __gitcomp_nl_append $'alternateErrorStrategy\nfetchJobs\nactive\nalternateLocation\nrecurse\npropagateBranches' "$pfx" "$cur_" "${sfx:- }"
+ return
+ ;;
url.*.*)
local pfx="${cur_%.*}."
cur_="${cur_##*.}"