No longer need to thread args

This commit is contained in:
Douglas Eichelberger 2024-03-09 21:45:10 -08:00
parent cda2761504
commit 7c7444c2a5

View File

@ -87,10 +87,10 @@ module Homebrew
puts full_cask_names if full_cask_names.present? puts full_cask_names if full_cask_names.present?
end end
elsif args[:pinned?] elsif args[:pinned?]
filtered_list(args:) filtered_list
elsif args[:versions?] elsif args[:versions?]
filtered_list(args:) unless args.cask? filtered_list unless args.cask?
list_casks(args:) if args.cask? || (!args.formula? && !args[:multiple?] && args.no_named?) list_casks if args.cask? || (!args.formula? && !args[:multiple?] && args.no_named?)
elsif args.no_named? elsif args.no_named?
ENV["CLICOLOR"] = nil ENV["CLICOLOR"] = nil
@ -118,14 +118,14 @@ module Homebrew
system_command! "find", args: casks.map(&:caskroom_path) + find_args, print_stdout: true if casks.present? system_command! "find", args: casks.map(&:caskroom_path) + find_args, print_stdout: true if casks.present?
else else
kegs.each { |keg| PrettyListing.new keg } if kegs.present? kegs.each { |keg| PrettyListing.new keg } if kegs.present?
list_casks(args:) if casks.present? list_casks if casks.present?
end end
end end
end end
private private
def filtered_list(args:) def filtered_list
names = if args.no_named? names = if args.no_named?
Formula.racks Formula.racks
else else
@ -135,33 +135,35 @@ module Homebrew
rack.exist? rack.exist?
end end
end end
if args.pinned? if args[:pinned?]
pinned_versions = {} pinned_versions = {}
names.sort.each do |d| names.sort.each do |d|
keg_pin = (HOMEBREW_PINNED_KEGS/d.basename.to_s) keg_pin = (HOMEBREW_PINNED_KEGS/d.basename.to_s)
pinned_versions[d] = keg_pin.readlink.basename.to_s if keg_pin.exist? || keg_pin.symlink? pinned_versions[d] = keg_pin.readlink.basename.to_s if keg_pin.exist? || keg_pin.symlink?
end end
pinned_versions.each do |d, version| pinned_versions.each do |d, version|
puts d.basename.to_s.concat(args.versions? ? " #{version}" : "") puts d.basename.to_s.concat(args[:versions?] ? " #{version}" : "")
end end
else # --versions without --pinned else # --versions without --pinned
names.sort.each do |d| names.sort.each do |d|
versions = d.subdirs.map { |pn| pn.basename.to_s } versions = d.subdirs.map { |pn| pn.basename.to_s }
next if args.multiple? && versions.length < 2 next if args[:multiple?] && versions.length < 2
puts "#{d.basename} #{versions * " "}" puts "#{d.basename} #{versions * " "}"
end end
end end
end end
def list_casks(args:) def list_casks
casks = if args.no_named? casks = if args.no_named?
Cask::Caskroom.casks Cask::Caskroom.casks
else else
args.named.dup.delete_if do |n| filtered_args = args.named.dup.delete_if do |n|
Homebrew.failed = true unless Cask::Caskroom.path.join(n).exist? Homebrew.failed = true unless Cask::Caskroom.path.join(n).exist?
!Cask::Caskroom.path.join(n).exist? !Cask::Caskroom.path.join(n).exist?
end.to_formulae_and_casks(only: :cask) end
# NamedAargs subclasses array
T.cast(filtered_args, Homebrew::CLI::NamedArgs).to_formulae_and_casks(only: :cask)
end end
return if casks.blank? return if casks.blank?
@ -169,7 +171,7 @@ module Homebrew
*casks, *casks,
one: args[:"1?"], one: args[:"1?"],
full_name: args.full_name?, full_name: args.full_name?,
versions: args.versions?, versions: args[:versions?],
) )
end end
end end
@ -201,6 +203,8 @@ module Homebrew
end end
end end
private
def print_dir(root) def print_dir(root)
dirs = [] dirs = []
remaining_root_files = [] remaining_root_files = []