chargement depuis ~/etc/completion.d
This commit is contained in:
Jephté Clain 2015-03-23 05:08:27 +04:00
parent bbbc35af62
commit 9182dcf5ca
5 changed files with 17 additions and 13 deletions

View File

@ -17,7 +17,11 @@ if [ -n "$UTOOLS_BASH_COMPLETION" ]; then
esac esac
fi fi
if [ -n "$BASH_COMPLETION" ]; then if [ -n "$BASH_COMPLETION" ]; then
for i in "@@dest@@/lib/bash_completion.d/"*; do for i in "@@dest@@/lib/completion.d/"*; do
[ -f "$i" ] || continue
source "$i"
done
for i in "$HOME/etc/completion.d/"*; do
[ -f "$i" ] || continue [ -f "$i" ] || continue
source "$i" source "$i"
done done

View File

@ -7,10 +7,9 @@ function __nutools_host_completion() {
_known_hosts_real "$cur" _known_hosts_real "$cur"
fi fi
} }
complete -F __nutools_host_completion -o default ruinst runs rruns
if [ -n "$BASH_COMPLETION_DIR" -a -f "$BASH_COMPLETION_DIR/ssh" ]; then if __bash_completion_module_enabled ssh; then
shopt -u hostcomplete shopt -u hostcomplete
complete -F _ssh ussh cssh complete -F _ssh ussh cssh
fi fi
complete -F __nutools_host_completion -o default ruinst runs rruns

View File

@ -33,7 +33,8 @@ done
./ulink --nutools-makelinks ./ulink --nutools-makelinks
# complétion programmable # complétion programmable
bcdir=lib/bash_completion.d mkdir -p ~/etc/completion.d
bcdir=lib/completion.d
./pdev --nutools-completion >"$bcdir/pdev" ./pdev --nutools-completion >"$bcdir/pdev"
./todo/prel --nutools-completion >"$bcdir/prel" ./todo/prel --nutools-completion >"$bcdir/prel"
#./pfix --nutools-completion >"$bcdir/pfix" #./pfix --nutools-completion >"$bcdir/pfix"

View File

@ -7,14 +7,14 @@
##@require base ##@require base
uprovide bash_completion uprovide bash_completion
function __is_bash_completion_enabled() { function __bash_completion_enabled() {
[ -n "$BASH_COMPLETION" ] [ -n "$BASH_COMPLETION" ]
} }
function __is_bash_completion_module_enabled() { function __bash_completion_module_enabled() {
[ -n "$BASH_COMPLETION_DIR" -a -f "$BASH_COMPLETION_DIR/$1" ] [ -n "$BASH_COMPLETION_DIR" -a -f "$BASH_COMPLETION_DIR/$1" ]
} }
if ! __is_bash_completion_enabled; then if ! __bash_completion_enabled; then
BASH_COMPLETION=1 BASH_COMPLETION=1
shopt -s extglob progcomp shopt -s extglob progcomp

View File

@ -7,19 +7,19 @@
##@require base ##@require base
uprovide bash_completion uprovide bash_completion
function __is_bash_completion_enabled() { function __bash_completion_enabled() {
[ -n "$__NUTOOLS_BASH_COMPLETION" ] && return 0 [ -n "$__NUTOOLS_BASH_COMPLETION" ] && return 0
grep -qE '^[ \t]*(\.|source)[ \t]*/usr/share/bash-completion/bash_completion' /etc/bash.bashrc && return 0 grep -qE '^[ \t]*(\.|source)[ \t]*/usr/share/bash-completion/bash_completion' /etc/bash.bashrc && return 0
grep -qE '^[ \t]*(\.|source)[ \t]*/usr/share/bash-completion/bash_completion' ~/.bashrc && return 0 grep -qE '^[ \t]*(\.|source)[ \t]*/usr/share/bash-completion/bash_completion' ~/.bashrc && return 0
return 1 return 1
} }
function __is_bash_completion_module_enabled() { function __bash_completion_module_enabled() {
[ -f "/usr/share/bash-completion/completions/$1" ] && return 0 [ -f "/usr/share/bash-completion/completions/$1" ] && return 0
[ -n "$BASH_COMPLETION_COMPAT_DIR" -a -f "$BASH_COMPLETION_COMPAT_DIR/$1" ] && return 0 [ -n "$BASH_COMPLETION_COMPAT_DIR" -a -f "$BASH_COMPLETION_COMPAT_DIR/$1" ] && return 0
return 1 return 1
} }
if ! __is_bash_completion_enabled; then if ! __bash_completion_enabled; then
export __NUTOOLS_BASH_COMPLETION=1 __NUTOOLS_BASH_COMPLETION=1
fi fi
[ -n "$BASH_COMPLETION" ] || export BASH_COMPLETION=1 [ -n "$BASH_COMPLETION" ] || BASH_COMPLETION=1