mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
33 lines
834 B
Ruby
33 lines
834 B
Ruby
![]() |
# typed: false
|
||
|
# frozen_string_literal: true
|
||
|
|
||
|
module Cask
|
||
|
# @api private
|
||
|
class Uninstall
|
||
|
def self.uninstall_casks(*casks, binaries: nil, force: false, verbose: false)
|
||
|
require "cask/installer"
|
||
|
|
||
|
options = {
|
||
|
binaries: binaries,
|
||
|
force: force,
|
||
|
verbose: verbose,
|
||
|
}.compact
|
||
|
|
||
|
casks.each do |cask|
|
||
|
odebug "Uninstalling Cask #{cask}"
|
||
|
|
||
|
raise CaskNotInstalledError, cask if !cask.installed? && !force
|
||
|
|
||
|
Installer.new(cask, **options).uninstall
|
||
|
|
||
|
next if (versions = cask.versions).empty?
|
||
|
|
||
|
puts <<~EOS
|
||
|
#{cask} #{versions.to_sentence} #{(versions.count == 1) ? "is" : "are"} still installed.
|
||
|
Remove #{(versions.count == 1) ? "it" : "them all"} with `brew uninstall --cask --force #{cask}`.
|
||
|
EOS
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|