Hide plumbing/transport commands from bash completion.
Users generally are not going to need to invoke plumbing-level commands from within one line shell commands. If they are invoking these commands then it is likely that they are glueing them together into a shell script to perform an action, in which case bash completion for these commands is of relatively little use. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
4ad91321ee
commit
f2bb9f8880
@ -125,6 +125,58 @@ __git_complete_file ()
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__git_commands ()
|
||||||
|
{
|
||||||
|
local i IFS=" "$'\n'
|
||||||
|
for i in $(git help -a|egrep '^ ')
|
||||||
|
do
|
||||||
|
case $i in
|
||||||
|
check-ref-format) : plumbing;;
|
||||||
|
commit-tree) : plumbing;;
|
||||||
|
convert-objects) : plumbing;;
|
||||||
|
cvsserver) : daemon;;
|
||||||
|
daemon) : daemon;;
|
||||||
|
fetch-pack) : plumbing;;
|
||||||
|
hash-object) : plumbing;;
|
||||||
|
http-*) : transport;;
|
||||||
|
index-pack) : plumbing;;
|
||||||
|
local-fetch) : plumbing;;
|
||||||
|
mailinfo) : plumbing;;
|
||||||
|
mailsplit) : plumbing;;
|
||||||
|
merge-*) : plumbing;;
|
||||||
|
mktree) : plumbing;;
|
||||||
|
mktag) : plumbing;;
|
||||||
|
pack-objects) : plumbing;;
|
||||||
|
pack-redundant) : plumbing;;
|
||||||
|
pack-refs) : plumbing;;
|
||||||
|
parse-remote) : plumbing;;
|
||||||
|
patch-id) : plumbing;;
|
||||||
|
peek-remote) : plumbing;;
|
||||||
|
read-tree) : plumbing;;
|
||||||
|
receive-pack) : plumbing;;
|
||||||
|
rerere) : plumbing;;
|
||||||
|
rev-list) : plumbing;;
|
||||||
|
rev-parse) : plumbing;;
|
||||||
|
runstatus) : plumbing;;
|
||||||
|
sh-setup) : internal;;
|
||||||
|
shell) : daemon;;
|
||||||
|
send-pack) : plumbing;;
|
||||||
|
show-index) : plumbing;;
|
||||||
|
ssh-*) : transport;;
|
||||||
|
stripspace) : plumbing;;
|
||||||
|
symbolic-ref) : plumbing;;
|
||||||
|
unpack-file) : plumbing;;
|
||||||
|
unpack-objects) : plumbing;;
|
||||||
|
update-ref) : plumbing;;
|
||||||
|
update-server-info) : daemon;;
|
||||||
|
upload-archive) : plumbing;;
|
||||||
|
upload-pack) : plumbing;;
|
||||||
|
write-tree) : plumbing;;
|
||||||
|
*) echo $i;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
__git_aliases ()
|
__git_aliases ()
|
||||||
{
|
{
|
||||||
local i IFS=$'\n'
|
local i IFS=$'\n'
|
||||||
@ -355,11 +407,11 @@ _git ()
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [ $c -eq $COMP_CWORD -a -z "$command" ]; then
|
if [ $c -eq $COMP_CWORD -a -z "$command" ]; then
|
||||||
COMPREPLY=($(compgen \
|
COMPREPLY=($(compgen -W "
|
||||||
-W "--git-dir= --version \
|
--git-dir= --version --exec-path
|
||||||
$(git help -a|egrep '^ ') \
|
$(__git_commands)
|
||||||
$(__git_aliases)" \
|
$(__git_aliases)
|
||||||
-- "${COMP_WORDS[COMP_CWORD]}"))
|
" -- "${COMP_WORDS[COMP_CWORD]}"))
|
||||||
return;
|
return;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user