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