cmd/list: add --poured-from-bottle and --built-from-source
This commit is contained in:
parent
4482e25cb2
commit
6287607ac5
@ -41,6 +41,10 @@ module Homebrew
|
|||||||
description: "List the formulae installed on request."
|
description: "List the formulae installed on request."
|
||||||
switch "--installed-as-dependency",
|
switch "--installed-as-dependency",
|
||||||
description: "List the formulae installed as dependencies."
|
description: "List the formulae installed as dependencies."
|
||||||
|
switch "--poured-from-bottle",
|
||||||
|
description: "List the formulae installed from a bottle."
|
||||||
|
switch "--built-from-source",
|
||||||
|
description: "List the formulae compiled from source."
|
||||||
|
|
||||||
# passed through to ls
|
# passed through to ls
|
||||||
switch "-1",
|
switch "-1",
|
||||||
@ -60,7 +64,8 @@ module Homebrew
|
|||||||
conflicts "--pinned", "--cask"
|
conflicts "--pinned", "--cask"
|
||||||
conflicts "--multiple", "--cask"
|
conflicts "--multiple", "--cask"
|
||||||
conflicts "--pinned", "--multiple"
|
conflicts "--pinned", "--multiple"
|
||||||
["--installed-on-request", "--installed-as-dependency"].each do |flag|
|
["--installed-on-request", "--installed-as-dependency",
|
||||||
|
"--poured-from-bottle", "--built-from-source"].each do |flag|
|
||||||
conflicts "--cask", flag
|
conflicts "--cask", flag
|
||||||
conflicts "--versions", flag
|
conflicts "--versions", flag
|
||||||
conflicts "--pinned", flag
|
conflicts "--pinned", flag
|
||||||
@ -71,6 +76,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
["--versions", "--pinned",
|
["--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|
|
"-l", "-r", "-t"].each do |flag|
|
||||||
conflicts "--full-name", flag
|
conflicts "--full-name", flag
|
||||||
end
|
end
|
||||||
@ -104,25 +110,31 @@ module Homebrew
|
|||||||
elsif args.versions?
|
elsif args.versions?
|
||||||
filtered_list unless args.cask?
|
filtered_list unless args.cask?
|
||||||
list_casks if args.cask? || (!args.formula? && !args.multiple? && args.no_named?)
|
list_casks if args.cask? || (!args.formula? && !args.multiple? && args.no_named?)
|
||||||
elsif args.installed_on_request? || args.installed_as_dependency?
|
elsif args.installed_on_request? ||
|
||||||
unless args.no_named?
|
args.installed_as_dependency? ||
|
||||||
raise UsageError,
|
args.poured_from_bottle? ||
|
||||||
"Cannot use `--installed-on-request` or " \
|
args.built_from_source?
|
||||||
"`--installed-as-dependency` with formula arguments."
|
flags = []
|
||||||
end
|
flags << "`--installed-on-request`" if args.installed_on_request?
|
||||||
|
flags << "`--installed-as-dependency`" if args.installed_as_dependency?
|
||||||
|
flags << "`--poured-from-bottle`" if args.poured_from_bottle?
|
||||||
|
flags << "`--built-from-source`" if args.built_from_source?
|
||||||
|
|
||||||
|
raise UsageError, "Cannot use #{flags.join(", ")} with formula arguments." unless args.no_named?
|
||||||
|
|
||||||
Formula.installed.sort.each do |formula|
|
Formula.installed.sort.each do |formula|
|
||||||
tab = Tab.for_formula(formula)
|
tab = Tab.for_formula(formula)
|
||||||
|
|
||||||
if args.installed_on_request? && args.installed_as_dependency?
|
|
||||||
statuses = []
|
statuses = []
|
||||||
statuses << "installed on request" if tab.installed_on_request
|
statuses << "installed on request" if args.installed_on_request? && tab.installed_on_request
|
||||||
statuses << "installed as dependency" if tab.installed_as_dependency
|
statuses << "installed as dependency" if args.installed_as_dependency? && tab.installed_as_dependency
|
||||||
|
statuses << "poured from bottle" if args.poured_from_bottle? && tab.poured_from_bottle
|
||||||
|
statuses << "built from source" if args.built_from_source? && !tab.poured_from_bottle
|
||||||
next if statuses.empty?
|
next if statuses.empty?
|
||||||
|
|
||||||
|
if flags.count > 1
|
||||||
puts "#{formula.name}: #{statuses.join(", ")}"
|
puts "#{formula.name}: #{statuses.join(", ")}"
|
||||||
elsif (args.installed_on_request? && tab.installed_on_request) ||
|
else
|
||||||
(args.installed_as_dependency? && tab.installed_as_dependency)
|
|
||||||
puts formula.name
|
puts formula.name
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -11,6 +11,9 @@ class Homebrew::Cmd::List
|
|||||||
end
|
end
|
||||||
|
|
||||||
class Homebrew::Cmd::List::Args < Homebrew::CLI::Args
|
class Homebrew::Cmd::List::Args < Homebrew::CLI::Args
|
||||||
|
sig { returns(T::Boolean) }
|
||||||
|
def built_from_source?; end
|
||||||
|
|
||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def cask?; end
|
def cask?; end
|
||||||
|
|
||||||
@ -41,6 +44,9 @@ class Homebrew::Cmd::List::Args < Homebrew::CLI::Args
|
|||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def pinned?; end
|
def pinned?; end
|
||||||
|
|
||||||
|
sig { returns(T::Boolean) }
|
||||||
|
def poured_from_bottle?; end
|
||||||
|
|
||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def r?; end
|
def r?; end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user