Port Homebrew::Cmd::Uninstall
This commit is contained in:
parent
841cfd9fdc
commit
4cf9ef831a
@ -1,11 +1,11 @@
|
||||
# typed: true
|
||||
# typed: strict
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "abstract_command"
|
||||
require "keg"
|
||||
require "formula"
|
||||
require "diagnostic"
|
||||
require "migrator"
|
||||
require "cli/parser"
|
||||
require "cask/cask_loader"
|
||||
require "cask/exceptions"
|
||||
require "cask/installer"
|
||||
@ -13,11 +13,9 @@ require "cask/uninstall"
|
||||
require "uninstall"
|
||||
|
||||
module Homebrew
|
||||
module_function
|
||||
|
||||
sig { returns(CLI::Parser) }
|
||||
def uninstall_args
|
||||
Homebrew::CLI::Parser.new do
|
||||
module Cmd
|
||||
class UninstallCmd < AbstractCommand
|
||||
cmd_args do
|
||||
description <<~EOS
|
||||
Uninstall a <formula> or <cask>.
|
||||
EOS
|
||||
@ -40,11 +38,9 @@ module Homebrew
|
||||
|
||||
named_args [:installed_formula, :installed_cask], min: 1
|
||||
end
|
||||
end
|
||||
|
||||
def uninstall
|
||||
args = uninstall_args.parse
|
||||
|
||||
sig { override.void }
|
||||
def run
|
||||
all_kegs, casks = args.named.to_kegs_to_casks(
|
||||
ignore_unavailable: args.force?,
|
||||
all_kegs: args.force?,
|
||||
@ -83,4 +79,6 @@ module Homebrew
|
||||
|
||||
Cleanup.autoremove if Homebrew::EnvConfig.autoremove?
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,10 +1,9 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "cmd/uninstall"
|
||||
|
||||
require "cmd/shared_examples/args_parse"
|
||||
|
||||
RSpec.describe "brew uninstall" do
|
||||
RSpec.describe Homebrew::Cmd::UninstallCmd do
|
||||
it_behaves_like "parseable arguments"
|
||||
|
||||
it "uninstalls a given Formula", :integration_test do
|
||||
|
Loading…
x
Reference in New Issue
Block a user