Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/list: support using --full-name with --installed-on-request et al. #18913

Merged
merged 1 commit into from
Dec 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions Library/Homebrew/cmd/list.rb
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,7 @@
conflicts "--versions", flag
conflicts "--pinned", flag
end
["--versions", "--pinned",
"--installed-on-request", "--installed-as-dependency",
"--poured-from-bottle", "--built-from-source",
"-l", "-r", "-t"].each do |flag|
["--versions", "--pinned", "-l", "-r", "-t"].each do |flag|
conflicts "--full-name", flag
end

Expand All @@ -87,7 +84,9 @@

sig { override.void }
def run
if args.full_name?
if args.full_name? &&
!(args.installed_on_request? || args.installed_as_dependency? ||

Check warning on line 88 in Library/Homebrew/cmd/list.rb

View check run for this annotation

Codecov / codecov/patch

Library/Homebrew/cmd/list.rb#L88

Added line #L88 was not covered by tests
args.poured_from_bottle? || args.built_from_source?)
unless args.cask?
formula_names = args.no_named? ? Formula.installed : args.named.to_resolved_formulae
full_formula_names = formula_names.map(&:full_name).sort(&tap_and_name_comparison)
Expand Down Expand Up @@ -125,6 +124,8 @@

formulae = if args.t?
Formula.installed.sort_by { |formula| test("M", formula.rack) }.reverse!
elsif args.full_name?
Formula.installed.sort { |a, b| tap_and_name_comparison.call(a.full_name, b.full_name) }
else
Formula.installed.sort
end
Expand All @@ -139,10 +140,11 @@
statuses << "built from source" if args.built_from_source? && !tab.poured_from_bottle
next if statuses.empty?

name = args.full_name? ? formula.full_name : formula.name
if flags.count > 1
puts "#{formula.name}: #{statuses.join(", ")}"
puts "#{name}: #{statuses.join(", ")}"
else
puts formula.name
puts name
end
end
elsif args.no_named?
Expand Down
20 changes: 10 additions & 10 deletions completions/zsh/_brew
Original file line number Diff line number Diff line change
Expand Up @@ -1304,15 +1304,15 @@ _brew_linkage() {
# brew list
_brew_list() {
_arguments \
'(--cask --versions --pinned -l --full-name)--built-from-source[List the formulae compiled from source]' \
'(--cask --versions --pinned -l)--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 -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 -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 --versions --pinned -l)--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 -l --full-name)--poured-from-bottle[List the formulae installed from a bottle]' \
'(--cask --versions --pinned -l)--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]' \
Expand Down Expand Up @@ -1389,15 +1389,15 @@ _brew_log() {
# brew ls
_brew_ls() {
_arguments \
'(--cask --versions --pinned -l --full-name)--built-from-source[List the formulae compiled from source]' \
'(--cask --versions --pinned -l)--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 -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 -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 --versions --pinned -l)--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 -l --full-name)--poured-from-bottle[List the formulae installed from a bottle]' \
'(--cask --versions --pinned -l)--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]' \
Expand Down
Loading