bash completion for brew list --multiple

As per 9ab605c7f1883 removal of `brew dirty`. `--multiple` *implies*
`--versions`, thus IMO it shouldn't be necessary to also explicitly
include the `--versions` option, but that's a separate matter. For now
this offers the small added convenience of:

    $ brew list --m<TAB><TAB>

to quickly expand the `brew dirty` equivalent.

Closes Homebrew/homebrew#29571.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
This commit is contained in:
Ches Martin 2014-05-25 23:05:00 +07:00 committed by Adam Vandenberg
parent 8a08d10114
commit 95dfda6ca8

View File

@ -282,25 +282,38 @@ _brew_linkapps ()
_brew_list ()
{
local allopts="--unbrewed --verbose --pinned --versions --multiple"
local cur="${COMP_WORDS[COMP_CWORD]}"
case "$cur" in
--*)
# options to brew-list are mutually exclusive
# most options to brew-list are mutually exclusive
if __brewcomp_words_include "--unbrewed"; then
return
elif __brewcomp_words_include "--verbose"; then
return
elif __brewcomp_words_include "--pinned"; then
return
# --multiple only applies with --versions
elif __brewcomp_words_include "--multiple"; then
__brewcomp "--versions"
return
elif __brewcomp_words_include "--versions"; then
__brewcomp "--multiple"
return
else
__brewcomp "--unbrewed --verbose --pinned --versions"
__brewcomp "$allopts"
return
fi
;;
esac
__brew_complete_installed
# --multiple excludes formulae and *implies* --versions...
if __brewcomp_words_include "--multiple"; then
__brewcomp "--versions"
else
__brew_complete_installed
fi
}
_brew_log ()