# typed: true # frozen_string_literal: true require "migrator" require "cli/parser" module Homebrew module_function sig { returns(CLI::Parser) } def migrate_args Homebrew::CLI::Parser.new do description <<~EOS Migrate renamed packages to new names, where are old names of packages. EOS switch "-f", "--force", description: "Treat installed and provided as if they are from " \ "the same taps and migrate them anyway." switch "-n", "--dry-run", description: "Show what would be migrated, but do not actually migrate anything." named_args :installed_formula, min: 1 end end def migrate args = migrate_args.parse args.named.to_kegs.each do |keg| f = Formulary.from_keg(keg) Migrator.migrate_if_needed(f, force: args.force?, dry_run: args.dry_run?) end end end