[PATCH 14/21] completion: don't offer commands when 'git --opt' needs an argument
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Feb 25, 2016, 22:50 UTC
- Message-ID
- <1456440650-32623-15-git-send-email-szeder@ira.uka.de>
- In-Reply-To
- <1456440650-32623-1-git-send-email-szeder@ira.uka.de>
The main git options '--git-dir', '-c', '-C', '--worktree' and '--namespace' require an argument, but attempting completion right after them lists git commands.
Don't offer anything right after these options, thus let Bash fall back to filename completion, because
- the three options '--git-dir', '-C' and '--worktree' do actually
require a path argument, and - we don't complete the required argument of '-c' and '--namespace',
and in that case the "standard" behavior of completion scripts in
general is to not offer anything, but fall back to filename
completion.Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> --- contrib/completion/git-completion.bash | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 6932d2a276eb..6027733a4b46 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -2666,6 +2666,14 @@ __git_main () done if [ -z "$command" ]; then + case "$prev" in + --git-dir|-C|--work-tree) + return + ;; + -c|--namespace) + return + ;; + esac case "$cur" in --*) __gitcomp " --paginate
-- 2.7.2.410.g92cb358