suite du support de bash_completion

This commit is contained in:
Jephté Clain 2015-03-18 17:26:21 +04:00
parent 9c17a60f45
commit 041a830245
3 changed files with 39 additions and 7 deletions

View File

@ -7,12 +7,12 @@ if [ -n "$UTOOLS_BASH_COMPLETION" ]; then
6*|squeeze*)
# le code suivant n'est compatible qu'avec debian squeeze (plus
# exactement, avec bash 4.0)
source "@@dest@@/lib/ulib/bash40/completion"
source "@@dest@@/lib/ulib/bash40/bash_completion"
;;
7*|wheezy*)
# le code suivant n'est compatible qu'avec debian wheezy (plus
# exactement, avec bah 4.1)
#source "@@dest@@/lib/ulib/bash41/completion"
# exactement, avec bash 4.1)
source "@@dest@@/lib/ulib/bash41/bash_completion"
;;
esac
fi

View File

@ -1,12 +1,20 @@
##@cooked comments # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
## Fonctions pour l'autocomplétion bash, si le package bash-completion n'est pas installé
## Attention! Ces fonctions ne sont testées que sur Debian Squeeze. Ce module
## est incompatible avec bash_completion sur Debian Wheezy.
## Fonctions pour l'autocomplétion bash, si le package bash-completion n'est pas
## installé. ATTENTION! Ces fonctions ont été pour la plupart récupérées de
## l'implémentation sous Debian Squeeze, ce qui signifie qu'elles sont conçues
## pour fonctionner avec bash 4.0
##@cooked nocomments
##@require base
uprovide bash_completion
if [ -z "$BASH_COMPLETION" ]; then
function __is_bash_completion_enabled() {
[ -n "$BASH_COMPLETION" ]
}
function __is_bash_completion_module_enabled() {
[ -n "$BASH_COMPLETION_DIR" -a -f "$BASH_COMPLETION_DIR/$1" ]
}
if ! __is_bash_completion_enabled; then
BASH_COMPLETION=1
shopt -s extglob progcomp

View File

@ -0,0 +1,24 @@
##@cooked comments # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
## Fonctions pour l'autocomplétion bash, si le package bash-completion n'est pas
## installé. ATTENTION! Ces fonctions ont été pour la plupart récupérées de
## l'implémentation sous Debian Wheezy, ce qui signifie qu'elles sont conçues
## pour fonctionner avec bash 4.1
##@cooked nocomments
##@require base
uprovide bash_completion
function __is_bash_completion_enabled() {
[ -n "$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' ~/.bashrc && return 0
return 1
}
function __is_bash_completion_module_enabled() {
[ -f "/usr/share/bash-completion/completions/$1" ] && return 0
[ -n "$BASH_COMPLETION_COMPAT_DIR" -a -f "$BASH_COMPLETION_COMPAT_DIR/$1" ]
}
if ! __is_bash_completion_enabled; then
export BASH_COMPLETION=1
:
fi