add function to define path

This commit is contained in:
hyuraku 2020-12-15 23:43:46 +09:00
parent 632c9be369
commit d7f9bb6247
10 changed files with 24 additions and 40 deletions

View File

@ -133,6 +133,11 @@ module Homebrew
Context::ContextStruct.new(debug: debug?, quiet: quiet?, verbose: verbose?)
end
def only_path_formula_or_cask
return :formula if formula? && !cask?
return :cask if cask? && !formula?
end
private
def option_to_name(option)

View File

@ -69,9 +69,6 @@ module Homebrew
def fetch
args = fetch_args.parse
only = :formula if args.formula? && !args.cask?
only = :cask if args.cask? && !args.formula?
bucket = if args.deps?
args.named.to_formulae_and_casks.flat_map do |formula_or_cask|
case formula_or_cask
@ -84,7 +81,7 @@ module Homebrew
end
end
else
args.named.to_formulae_and_casks(only: only)
args.named.to_formulae_and_casks(only: args.only_path_formula_or_cask)
end.uniq
puts "Fetching: #{bucket * ", "}" if bucket.size > 1

View File

@ -35,9 +35,7 @@ module Homebrew
return
end
only = :formula if args.formula? && !args.cask?
only = :cask if args.cask? && !args.formula?
homepages = args.named.to_formulae_and_casks(only: only).map do |formula_or_cask|
homepages = args.named.to_formulae_and_casks(only: args.only_path_formula_or_cask).map do |formula_or_cask|
puts "Opening homepage for #{name_of(formula_or_cask)}"
formula_or_cask.homepage
end

View File

@ -75,9 +75,6 @@ module Homebrew
def info
args = info_args.parse
only = :formula if args.formula? && !args.cask?
only = :cask if args.cask? && !args.formula?
if args.analytics?
if args.days.present? && VALID_DAYS.exclude?(args.days)
raise UsageError, "--days must be one of #{VALID_DAYS.join(", ")}"
@ -93,17 +90,17 @@ module Homebrew
end
end
print_analytics(args: args, only: only)
print_analytics(args: args, only: args.only_path_formula_or_cask)
elsif args.json
print_json(args: args, only: only)
print_json(args: args, only: args.only_path_formula_or_cask)
elsif args.github?
raise FormulaOrCaskUnspecifiedError if args.no_named?
exec_browser(*args.named.to_formulae_and_casks(only: only).map { |f| github_info(f) })
exec_browser(*args.named.to_formulae_and_casks(only: args.only_path_formula_or_cask).map { |f| github_info(f) })
elsif args.no_named?
print_statistics
else
print_info(args: args, only: only)
print_info(args: args, only: args.only_path_formula_or_cask)
end
end
@ -122,7 +119,7 @@ module Homebrew
return
end
args.named.to_formulae_and_casks_and_unavailable(only: only).each_with_index do |obj, i|
args.named.to_formulae_and_casks_and_unavailable(only: args.only_path_formula_or_cask).each_with_index do |obj, i|
puts unless i.zero?
case obj
@ -140,7 +137,7 @@ module Homebrew
sig { params(args: CLI::Args, only: T.nilable(Symbol)).void }
def print_info(args:, only: nil)
args.named.to_formulae_and_casks_and_unavailable(only: only).each_with_index do |obj, i|
args.named.to_formulae_and_casks_and_unavailable(only: args.only_path_formula_or_cask).each_with_index do |obj, i|
puts unless i.zero?
case obj
@ -195,7 +192,7 @@ module Homebrew
elsif args.installed?
[Formula.installed.sort, Cask::Caskroom.casks.sort_by(&:full_name)]
else
args.named.to_formulae_to_casks(only: only)
args.named.to_formulae_to_casks(only: args.only_path_formula_or_cask)
end
{

View File

@ -131,9 +131,6 @@ module Homebrew
def install
args = install_args.parse
only = :formula if args.formula? && !args.cask?
only = :cask if args.cask? && !args.formula?
args.named.each do |name|
next if File.exist?(name)
next if name !~ HOMEBREW_TAP_FORMULA_REGEX && name !~ HOMEBREW_CASK_TAP_CASK_REGEX
@ -151,7 +148,7 @@ module Homebrew
EOS
end
formulae, casks = args.named.to_formulae_and_casks(only: only)
formulae, casks = args.named.to_formulae_and_casks(only: args.only_path_formula_or_cask)
.partition { |formula_or_cask| formula_or_cask.is_a?(Formula) }
if casks.any?

View File

@ -47,10 +47,12 @@ module Homebrew
def uninstall
args = uninstall_args.parse
only = :formula if args.formula? && !args.cask?
only = :cask if args.cask? && !args.formula?
all_kegs, casks = args.named.to_kegs_to_casks(
only: args.only_path_formula_or_cask,
ignore_unavailable: args.force?,
all_kegs: args.force?,
)
all_kegs, casks = args.named.to_kegs_to_casks(only: only, ignore_unavailable: args.force?, all_kegs: args.force?)
kegs_by_rack = all_kegs.group_by(&:rack)
Uninstall.uninstall_kegs(

View File

@ -95,10 +95,7 @@ module Homebrew
def upgrade
args = upgrade_args.parse
only = :formula if args.formula? && !args.cask?
only = :cask if args.cask? && !args.formula?
formulae, casks = args.named.to_resolved_formulae_to_casks(only: only)
formulae, casks = args.named.to_resolved_formulae_to_casks(only: args.only_path_formula_or_cask)
# If one or more formulae are specified, but no casks were
# specified, we want to make note of that so we don't
# try to upgrade all outdated casks.

View File

@ -110,9 +110,6 @@ module Homebrew
git = args.git?
skip_style = args.skip_style? || args.no_named? || args.tap
only = :formula if args.formula? && !args.cask?
only = :cask if args.cask? && !args.formula?
ENV.activate_extensions!
ENV.setup_build_environment
@ -126,7 +123,7 @@ module Homebrew
elsif args.no_named?
[Formula, Cask::Cask.to_a]
else
args.named.to_formulae_and_casks(only: only)
args.named.to_formulae_and_casks(only: args.only_path_formula_or_cask)
.partition { |formula_or_cask| formula_or_cask.is_a?(Formula) }
end
style_files = args.named.to_paths unless skip_style

View File

@ -30,9 +30,6 @@ module Homebrew
def cat
args = cat_args.parse
only = :formula if args.formula? && !args.cask?
only = :cask if args.cask? && !args.formula?
cd HOMEBREW_REPOSITORY
pager = if Homebrew::EnvConfig.bat?
ENV["BAT_CONFIG_PATH"] = Homebrew::EnvConfig.bat_config_path
@ -41,6 +38,6 @@ module Homebrew
"cat"
end
safe_system pager, args.named.to_paths(only: only).first
safe_system pager, args.named.to_paths(only: args.only_path_formula_or_cask).first
end
end

View File

@ -31,9 +31,6 @@ module Homebrew
def edit
args = edit_args.parse
only = :formula if args.formula? && !args.cask?
only = :cask if args.cask? && !args.formula?
unless (HOMEBREW_REPOSITORY/".git").directory?
raise <<~EOS
Changes will be lost!
@ -42,7 +39,7 @@ module Homebrew
EOS
end
paths = args.named.to_paths(only: only).select do |path|
paths = args.named.to_paths(only: args.only_path_formula_or_cask).select do |path|
next path if path.exist?
raise UsageError, "#{path} doesn't exist on disk. " \