From f580e6e148f4b2d30bea4c76ed7e965484aff65c Mon Sep 17 00:00:00 2001 From: Ches Martin Date: Sun, 25 May 2014 23:05:00 +0700 Subject: 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 to quickly expand the `brew dirty` equivalent. Closes #29571. Signed-off-by: Adam Vandenberg --- Library/Contributions/brew_bash_completion.sh | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'Library') diff --git a/Library/Contributions/brew_bash_completion.sh b/Library/Contributions/brew_bash_completion.sh index 6f97935f0..9aa58fed1 100644 --- a/Library/Contributions/brew_bash_completion.sh +++ b/Library/Contributions/brew_bash_completion.sh @@ -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 () -- cgit v1.2.3