- has_completion() { return 0; }
- if [ -z "$BASH_COMPLETION_COMPAT_DIR" ]; then
- if [ "$SHELL" = /bin/bash ]; then
- if [ -d /usr/share/bash_completion ]; then
- . /usr/share/bash-completion/bash_completion
- has_completion() { [ -r /usr/share/bash-completion/completions/$1 ]; }
- elif [ -f /etc/bash_completion ]; then
- . /etc/bash_completion
- has_completion() { [ -r /etc/bash_completion.d/$1 ]; }
- elif [ -d /etc/bash_completion.d ]; then
- for _compf in /etc/bash_completion.d/*; do
- . $_compf
- done
- has_completion() { [ -r /etc/bash_completion.d/$1 ]; }
- fi
- elif [ "$SHELL" = /usr/local/bin/bash ]; then
- if [ -d /usr/local/etc/bash_completion.d ]; then
- for _compf in /usr/local/etc/bash_completion.d/*; do
- . $_compf
- done
- has_completion() { [ -r /usr/local/etc/bash_completion.d/$1 ]; }
- fi
- else
- echo "Unknown OS type, cannot source bash_completion" >&2
- fi
- fi
-
- for cmd in builtin cgmem_nice command dbus-launch exec \
- killall man nice nohup pidof pidOf KillAll pgrep pkill psg pswg su sudo \
- time whence whereis which xargs; do
- ! has_completion $cmd && complete -o default -A command $cmd
- done
-
- for cmd in dig host mtr nslookup nc netcat nmap p ping ping6 socat \
- telnet t tt \
- tcptraceroute tcptraceroute6 tracert tracert6 traceroute traceroute6 \
- whois wget wget-m wget-wrapper ww; do
- ! has_completion $cmd && complete -A hostname $cmd
- done
-
- 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;
- done
-
- delegate_completion() {
- local prog programs
- prog=$1
- if has_completion $prog; then
- shift
- programs="$@"
- eval "_${prog}_completion_loader() {
- _completion_loader $prog
- complete -F _$prog $programs
- unset _${prog}_completion_loader
- return 124
- }"
- complete -F _${prog}_completion_loader $programs
- fi
- }
-
- delegate_completion make m
- delegate_completion ping p
- delegate_completion rsync r
- delegate_completion ssh s
- delegate_completion wget wget-m wget-wrapper ww
-
- unset has_completion delegate_completion
-
- complete -A job bg fg j jobs wait
- complete -A variable -A function unset
-
- if [ -d "$HOME/lib/config" ]; then
- complete -W "`cd \"$HOME/lib/config\" && echo *`" include
- fi
- complete -W "`echo $BROWSER | sed 's/:/ /g'`" start-browser
-
- #if type -p pip >/dev/null 2>&1; then
- # eval "`pip completion --bash`"
- # rm -rf /tmp/pip_build_"$USER"
- #fi
-
- #if which pyenv >/dev/null 2>&1; then
- # eval "`pyenv init -`"
- # eval "`pyenv virtualenv-init -`"
- #fi
-
- source virtualenvwrapper_lazy.sh 2>/dev/null
-
- if [ -n "$VIRTUAL_ENV" ] && ! type deactivate >/dev/null 2>&1; then
- . "$VIRTUAL_ENV/bin/activate"