has_completion() { return 0; }
if [ -z "$BASH_COMPLETION_COMPAT_DIR" ]; then
if [ "$SHELL" = /bin/bash ]; then
- if [ -d /usr/share/bash-completion ]; then
+ if [ -d /usr/share/bash-completion -a -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
has_completion() { [ -r /usr/share/bash-completion/completions/$1 ]; }
elif [ -f /etc/bash_completion ]; then
for cmd in distribute ftp lftp r rsync \
s scp ssh smbclient tcpdump tshark wireshark; do
- ! has_completion $cmd && complete -o default -A hostname $cmd;
+ ! has_completion $cmd && complete -o default -A hostname $cmd
done
delegate_completion() {
# eval "`pyenv virtualenv-init -`"
#fi
- source virtualenvwrapper_lazy.sh 2>/dev/null
+ . virtualenvwrapper_lazy.sh 2>/dev/null
if [ -n "$VIRTUAL_ENV" ] && ! type deactivate >/dev/null 2>&1; then
. "$VIRTUAL_ENV/bin/activate"
remote="$1"
fi
- if [ -n "$remote" ] && git config --get remote.$remote.url | grep -q '^\(file:/\|/\|\.\./\)'; then
+ if [ -n "$remote" ] && git config --get remote.$remote.url |
+ grep -q '^\(file:/\|/\|\.\./\)'; then # (file:/ or / or ../ at the beginning)
cdgitpath remote.$remote.url
else
return 1
fi
- _list_remotes '^\(file:/\|/\|\.\./\)' # (file:/ or / or ../ at the beginning)
- if [ ${#GIT_REMOTES[*]} -eq 1 ]; then
- remote=${GIT_REMOTES[0]}
- unset GIT_REMOTES
- cdgitpath remote.$remote.url
+ if test -n "$BASH_VERSION"; then
+ _list_remotes '^\(file:/\|/\|\.\./\)' # (file:/ or / or ../ at the beginning)
+ if [ ${#GIT_REMOTES[*]} -eq 1 ]; then
+ remote=${GIT_REMOTES[0]}
+ unset GIT_REMOTES
+ cdgitpath remote.$remote.url
+ else
+ unset GIT_REMOTES
+ echo "Cannot find directory for any remote" >&2
+ echo "Usage: cdremote [remote_name]" >&2
+ return 1
+ fi
else
- unset GIT_REMOTES
- echo "Cannot find directory for any remote" >&2
+ echo "Cannot find directory for remote $1" >&2
echo "Usage: cdremote [remote_name]" >&2
return 1
fi
_git_push_to_all_remotes() { __gitcomp_nl "$(__git_heads)" ; }
_cdgitpath_complete() {
- local cword="${COMP_CWORD}" cur="${COMP_WORDS[COMP_CWORD]}";
+ local cur="${COMP_WORDS[COMP_CWORD]}"
COMPREPLY=(`compgen -W "$(__git_config_get_set_variables)" -- "$cur"`)
}
# completion for cdremote and git-open-remote - list remotes with a pattern
_list_remotes_completion() {
- local cur="${COMP_WORDS[COMP_CWORD]}";
+ local cur="${COMP_WORDS[COMP_CWORD]}"
_list_remotes "$1"
COMPREPLY=(`compgen -W "${GIT_REMOTES[*]}" -- "$cur"`)
unset GIT_REMOTES