completion: zsh: improve bash script loading
It's better to check in multiple locations, so the user doesn't have to. And update the documentation. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
734b2f0532
commit
3646b1a5ab
@ -4,18 +4,17 @@
|
||||
#
|
||||
# Copyright (c) 2012-2013 Felipe Contreras <felipe.contreras@gmail.com>
|
||||
#
|
||||
# You need git's bash completion script installed somewhere, by default on the
|
||||
# same directory as this script.
|
||||
# You need git's bash completion script installed somewhere, by default it
|
||||
# would be the location bash-completion uses.
|
||||
#
|
||||
# If your script is on ~/.git-completion.sh instead, you can configure it on
|
||||
# your ~/.zshrc:
|
||||
# If your script is somewhere else, you can configure it on your ~/.zshrc:
|
||||
#
|
||||
# zstyle ':completion:*:*:git:*' script ~/.git-completion.sh
|
||||
#
|
||||
# The recommended way to install this script is to copy to
|
||||
# '~/.zsh/completion/_git', and then add the following to your ~/.zshrc file:
|
||||
# The recommended way to install this script is to copy to '~/.zsh/_git', and
|
||||
# then add the following to your ~/.zshrc file:
|
||||
#
|
||||
# fpath=(~/.zsh/completion $fpath)
|
||||
# fpath=(~/.zsh $fpath)
|
||||
|
||||
complete ()
|
||||
{
|
||||
@ -27,7 +26,19 @@ zstyle -T ':completion:*:*:git:*' tag-order && \
|
||||
zstyle ':completion:*:*:git:*' tag-order 'common-commands'
|
||||
|
||||
zstyle -s ":completion:*:*:git:*" script script
|
||||
test -z "$script" && script="$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash
|
||||
if [ -z "$script" ]; then
|
||||
local -a locations
|
||||
local e
|
||||
locations=(
|
||||
'/etc/bash_completion.d/git' # fedora, old debian
|
||||
'/usr/share/bash-completion/completions/git' # arch, ubuntu, new debian
|
||||
'/usr/share/bash-completion/git' # gentoo
|
||||
$(dirname ${funcsourcetrace[1]%:*})/git-completion.bash
|
||||
)
|
||||
for e in $locations; do
|
||||
test -f $e && script="$e" && break
|
||||
done
|
||||
fi
|
||||
ZSH_VERSION='' . "$script"
|
||||
|
||||
__gitcomp ()
|
||||
|
Loading…
Reference in New Issue
Block a user