# frozen_string_literal: true require "ostruct" require "cli/parser" module Homebrew module_function def unlink_args Homebrew::CLI::Parser.new do usage_banner <<~EOS `unlink` [] Remove symlinks for from Homebrew's prefix. This can be useful for temporarily disabling a formula: `brew unlink` `&&` `&& brew link` EOS switch "-n", "--dry-run", description: "List files which would be unlinked without actually unlinking or "\ "deleting any files." switch :verbose switch :debug min_named :keg end end def unlink unlink_args.parse mode = OpenStruct.new mode.dry_run = true if args.dry_run? args.kegs.each do |keg| if mode.dry_run puts "Would remove:" keg.unlink(mode) next end keg.lock do print "Unlinking #{keg}... " puts if args.verbose? puts "#{keg.unlink(mode)} symlinks removed" end end end end