diff options
Diffstat (limited to 'Completion/Unix/Command/_configure')
| -rw-r--r-- | Completion/Unix/Command/_configure | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/Completion/Unix/Command/_configure b/Completion/Unix/Command/_configure index 3b22b53db..9911b78ec 100644 --- a/Completion/Unix/Command/_configure +++ b/Completion/Unix/Command/_configure @@ -1,6 +1,11 @@ #compdef configure config.status -_arguments -- -i '(--(disable|enable)-FEATURE* --(with|without)-PACKAGE*)' \ +local ret=1 +local -a expl suf + +[[ -prefix - ]] || + ! zstyle -T ":completion:${curcontext}:options" prefix-needed && + _arguments -- -i '(--(disable|enable)-FEATURE* --(with|without)-PACKAGE*)' \ -s '((#s)--disable- --enable- (#s)--enable- --disable- (#s)--with- --without- @@ -8,4 +13,19 @@ _arguments -- -i '(--(disable|enable)-FEATURE* --(with|without)-PACKAGE*)' \ '*=(E|)PREFIX*:prefix directory:_files -/' \ '*=PROGRAM*:program:_command_names -e' \ '*=NAME*executable*:program:_command_names -e' \ - '*=NAME*:file:_files' + '*=NAME*:file:_files' && ret=0 + +if [[ ! -prefix - ]]; then + if [[ "$PREFIX" = *\=* ]]; then + compstate[parameter]="${PREFIX%%\=*}" + compset -P 1 '*=' + _value && ret=0 + else + compset -S '=*' || suf=( -r = -S = ) + _wanted -x variables expl variable compadd $suf \ + CC CFLAGS CPP CPPFLAGS CXX CXXFLAGS DEFS ERLCFLAGS FCFLAGS \ + FFLAGS GOFLAGS LDFLAGS LIBS OBJCFLAGS OBJCXXFLAGS && ret=0 + fi +fi + +return ret |
