From 78f580e0cbda15d91c0c5baddf9a076e4e73b68f 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 | 9 ++++++++- completions/zsh/_brew | 16 ++++++++-------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Library/Homebrew/cmd/list.rb b/Library/Homebrew/cmd/list.rb index 1e970481fb5a9b..feca9fd6886e6c 100644 --- a/Library/Homebrew/cmd/list.rb +++ b/Library/Homebrew/cmd/list.rb @@ -69,6 +69,7 @@ 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 @@ -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 adabf518938687..2de329ac3550f3 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]' \ '--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)--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]' \ '--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)--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]' \