From 6c09f2a45c5541e9c207d14fc7aa21a4a0066bde Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 03:03:19 +0200 Subject: Merging upstream version 1:2.12.0. Signed-off-by: Daniel Baumann --- completions/configure | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) (limited to 'completions/configure') diff --git a/completions/configure b/completions/configure index 3f59a01..a61a05d 100644 --- a/completions/configure +++ b/completions/configure @@ -1,9 +1,12 @@ # bash completion for configure -*- shell-script -*- -_configure() +_comp_deprecate_var 2.12 \ + COMP_CONFIGURE_HINTS BASH_COMPLETION_CMD_CONFIGURE_HINTS + +_comp_cmd_configure() { - local cur prev words cword split - _init_completion -s || return + local cur prev words cword was_split comp_args + _comp_initialize -s -- "$@" || return case $prev in -h | --help | -V | --version | --program-prefix | --program-suffix | \ @@ -11,32 +14,32 @@ _configure() return ;; --*file) - _filedir + _comp_compgen_filedir return ;; --*prefix | --*dir) - _filedir -d + _comp_compgen_filedir -d return ;; esac - $split && return - - # if $COMP_CONFIGURE_HINTS is not null, then completions of the form - # --option=SETTING will include 'SETTING' as a contextual hint - [[ $cur != -* ]] && return + if [[ $was_split || $cur != -* ]]; then + _comp_compgen_filedir + return + fi - if [[ ${COMP_CONFIGURE_HINTS-} ]]; then - COMPREPLY=($(compgen -W "$($1 --help 2>&1 | - awk '/^ --[A-Za-z]/ { print $1; \ - if ($2 ~ /--[A-Za-z]/) print $2 }' | command sed -e 's/[[,].*//g')" \ - -- "$cur")) + # if $BASH_COMPLETION_CMD_CONFIGURE_HINTS is not null, then completions of + # the form --option=SETTING will include 'SETTING' as a contextual hint + if [[ ${BASH_COMPLETION_CMD_CONFIGURE_HINTS-} ]]; then + _comp_compgen_split -- "$("$1" --help 2>&1 | + _comp_awk '/^ --[A-Za-z]/ { print $1; \ + if ($2 ~ /--[A-Za-z]/) print $2 }' | command sed -e 's/[[,].*//g')" [[ ${COMPREPLY-} == *=* ]] && compopt -o nospace else - COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + _comp_compgen_help [[ ${COMPREPLY-} == *= ]] && compopt -o nospace fi } && - complete -F _configure configure + complete -F _comp_cmd_configure configure # ex: filetype=sh -- cgit v1.2.3