diff options
author | Guillaume Rousse <Guillaume.Rousse@inria.fr> | 2010-09-12 16:42:21 +0200 |
---|---|---|
committer | Guillaume Rousse <Guillaume.Rousse@inria.fr> | 2010-09-12 16:42:21 +0200 |
commit | cb7fc2f7c4a4c7c5a665c5bf8b73b40fc5e268a9 (patch) | |
tree | b38d03d1a861820cb2985f73acb2724605d2f1b0 /completions/configure | |
parent | 276e3a780ec48fe1577c45e73d62bc68c70b1c00 (diff) | |
download | bash-completion-cb7fc2f7c4a4c7c5a665c5bf8b73b40fc5e268a9.tar.gz |
rename 'contrib' directory to 'completions'
Diffstat (limited to 'completions/configure')
-rw-r--r-- | completions/configure | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/completions/configure b/completions/configure new file mode 100644 index 00000000..d69f85b1 --- /dev/null +++ b/completions/configure @@ -0,0 +1,44 @@ +# bash completion for configure + +_configure() +{ + local cur prev split=false + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case $prev in + --prefix|--exec-prefix|--*dir) + _filedir -d + ;; + esac + + $split && return 0 + + # if $COMP_CONFIGURE_HINTS is not null, then completions of the form + # --option=SETTING will include 'SETTING' as a contextual hint + [[ "$cur" != -* ]] && return 0 + + if [ -n "$COMP_CONFIGURE_HINTS" ]; then + COMPREPLY=( $( compgen -W "$( $1 --help 2>&1 | \ + awk '/^ --[A-Za-z]/ { print $1; \ + if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,].*//g' )" \ + -- "$cur" ) ) + else + COMPREPLY=( $( compgen -W "$( $1 --help 2>&1 | \ + awk '/^ --[A-Za-z]/ { print $1; \ + if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,=].*//g' )" \ + -- "$cur" ) ) + fi +} +complete -F _configure -o filenames configure + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh |