From 4c60dc0b2cb390370c90826e05bd902f253af7ec Mon Sep 17 00:00:00 2001 From: Michael Cho Date: Thu, 26 Sep 2024 11:58:33 -0400 Subject: [PATCH] cmd/list: `-t` and `-r` support for some long options --- Library/Homebrew/cmd/list.rb | 11 +++++++++-- completions/zsh/_brew | 20 ++++++++++---------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/Library/Homebrew/cmd/list.rb b/Library/Homebrew/cmd/list.rb index 1e970481fb5a9..084c74f526b66 100644 --- a/Library/Homebrew/cmd/list.rb +++ b/Library/Homebrew/cmd/list.rb @@ -69,13 +69,14 @@ class List < AbstractCommand conflicts "--cask", flag conflicts "--versions", flag conflicts "--pinned", flag + conflicts "-l", flag end ["-1", "-l", "-r", "-t"].each do |flag| conflicts "--versions", flag conflicts "--pinned", flag end ["--versions", "--pinned", - "---installed-on-request", "--installed-as-dependency", + "--installed-on-request", "--installed-as-dependency", "--poured-from-bottle", "--built-from-source", "-l", "-r", "-t"].each do |flag| conflicts "--full-name", flag @@ -122,7 +123,13 @@ def run raise UsageError, "Cannot use #{flags.join(", ")} with formula arguments." unless args.no_named? - Formula.installed.sort.each do |formula| + formulae = if args.t? + Formula.installed.sort_by { |formula| test("M", formula.rack) }.reverse! + else + Formula.installed.sort + end + formulae.reverse! if args.r? + formulae.each do |formula| tab = Tab.for_formula(formula) statuses = [] diff --git a/completions/zsh/_brew b/completions/zsh/_brew index adabf51893868..f64ed7a899355 100644 --- a/completions/zsh/_brew +++ b/completions/zsh/_brew @@ -1287,15 +1287,15 @@ _brew_linkage() { # brew list _brew_list() { _arguments \ - '(--cask --versions --pinned --full-name)--built-from-source[List the formulae compiled from source]' \ + '(--cask --versions --pinned --l --full-name)--built-from-source[List the formulae compiled from source]' \ '--debug[Display any debugging information]' \ - '(--versions --pinned ---installed-on-request --installed-as-dependency --poured-from-bottle --built-from-source --l --r --t)--full-name[Print formulae with fully-qualified names. Unless `--full-name`, `--versions` or `--pinned` are passed, other options (i.e. `-1`, `-l`, `-r` and `-t`) are passed to `ls`(1) which produces the actual output]' \ + '(--versions --pinned --installed-on-request --installed-as-dependency --poured-from-bottle --built-from-source --l --r --t)--full-name[Print formulae with fully-qualified names. Unless `--full-name`, `--versions` or `--pinned` are passed, other options (i.e. `-1`, `-l`, `-r` and `-t`) are passed to `ls`(1) which produces the actual output]' \ '--help[Show this message]' \ - '(--cask --versions --pinned --full-name)--installed-as-dependency[List the formulae installed as dependencies]' \ - '(--cask --versions --pinned)--installed-on-request[List the formulae installed on request]' \ + '(--cask --versions --pinned --l --full-name)--installed-as-dependency[List the formulae installed as dependencies]' \ + '(--cask --versions --pinned --l --full-name)--installed-on-request[List the formulae installed on request]' \ '(--cask --pinned)--multiple[Only show formulae with multiple versions installed]' \ '(--cask --multiple --installed-on-request --installed-as-dependency --poured-from-bottle --built-from-source --1 --l --r --t --full-name)--pinned[List only pinned formulae, or only the specified (pinned) formulae if formula are provided. See also `pin`, `unpin`]' \ - '(--cask --versions --pinned --full-name)--poured-from-bottle[List the formulae installed from a bottle]' \ + '(--cask --versions --pinned --l --full-name)--poured-from-bottle[List the formulae installed from a bottle]' \ '--quiet[Make some output more quiet]' \ '--verbose[Make some output more verbose]' \ '(--installed-on-request --installed-as-dependency --poured-from-bottle --built-from-source --1 --l --r --t --full-name)--versions[Show the version number for installed formulae, or only the specified formulae if formula are provided]' \ @@ -1372,15 +1372,15 @@ _brew_log() { # brew ls _brew_ls() { _arguments \ - '(--cask --versions --pinned --full-name)--built-from-source[List the formulae compiled from source]' \ + '(--cask --versions --pinned --l --full-name)--built-from-source[List the formulae compiled from source]' \ '--debug[Display any debugging information]' \ - '(--versions --pinned ---installed-on-request --installed-as-dependency --poured-from-bottle --built-from-source --l --r --t)--full-name[Print formulae with fully-qualified names. Unless `--full-name`, `--versions` or `--pinned` are passed, other options (i.e. `-1`, `-l`, `-r` and `-t`) are passed to `ls`(1) which produces the actual output]' \ + '(--versions --pinned --installed-on-request --installed-as-dependency --poured-from-bottle --built-from-source --l --r --t)--full-name[Print formulae with fully-qualified names. Unless `--full-name`, `--versions` or `--pinned` are passed, other options (i.e. `-1`, `-l`, `-r` and `-t`) are passed to `ls`(1) which produces the actual output]' \ '--help[Show this message]' \ - '(--cask --versions --pinned --full-name)--installed-as-dependency[List the formulae installed as dependencies]' \ - '(--cask --versions --pinned)--installed-on-request[List the formulae installed on request]' \ + '(--cask --versions --pinned --l --full-name)--installed-as-dependency[List the formulae installed as dependencies]' \ + '(--cask --versions --pinned --l --full-name)--installed-on-request[List the formulae installed on request]' \ '(--cask --pinned)--multiple[Only show formulae with multiple versions installed]' \ '(--cask --multiple --installed-on-request --installed-as-dependency --poured-from-bottle --built-from-source --1 --l --r --t --full-name)--pinned[List only pinned formulae, or only the specified (pinned) formulae if formula are provided. See also `pin`, `unpin`]' \ - '(--cask --versions --pinned --full-name)--poured-from-bottle[List the formulae installed from a bottle]' \ + '(--cask --versions --pinned --l --full-name)--poured-from-bottle[List the formulae installed from a bottle]' \ '--quiet[Make some output more quiet]' \ '--verbose[Make some output more verbose]' \ '(--installed-on-request --installed-as-dependency --poured-from-bottle --built-from-source --1 --l --r --t --full-name)--versions[Show the version number for installed formulae, or only the specified formulae if formula are provided]' \