From: Oleg Broytman Date: Sun, 19 Jul 2020 22:17:05 +0000 (+0300) Subject: .shellrc: Check static completion in addition to dynamic X-Git-Url: https://git.phdru.name/?a=commitdiff_plain;h=0c99131807db3cfbd340fdfe9e9c3737c971b5cc;p=dotfiles.git .shellrc: Check static completion in addition to dynamic --- diff --git a/.shellrc b/.shellrc index 8876507..0549c17 100644 --- a/.shellrc +++ b/.shellrc @@ -70,20 +70,20 @@ if test -n "$BASH_VERSION"; then if [ -z "$BASH_COMPLETION_COMPAT_DIR" ]; then if [ -d /usr/share/bash-completion -a -r /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion - has_completion() { [ -r /usr/share/bash-completion/completions/$1 ]; } + has_completion() { [ -r /usr/share/bash-completion/completions/$1 -o -n "complete -p $1 2>/dev/null" ]; } elif [ -r /etc/bash_completion ]; then . /etc/bash_completion - has_completion() { [ -r /etc/bash_completion.d/$1 ]; } + has_completion() { [ -r /etc/bash_completion.d/$1 -o -n "complete -p $1 2>/dev/null" ]; } 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 ]; } + has_completion() { [ -r /etc/bash_completion.d/$1 -o -n "complete -p $1 2>/dev/null" ]; } elif [ -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 ]; } + has_completion() { [ -r /usr/local/etc/bash_completion.d/$1 -o -n "complete -p $1 2>/dev/null" ]; } else echo "Unknown OS type, cannot source bash_completion" >&2 fi