unlink: Use CLI::Parser to parse args
This commit is contained in:
parent
b0f382c177
commit
66467d86b9
@ -7,15 +7,35 @@
|
||||
#: be unlinked, but will not actually unlink or delete any files.
|
||||
|
||||
require "ostruct"
|
||||
require "cli_parser"
|
||||
|
||||
module Homebrew
|
||||
module_function
|
||||
|
||||
def unlink_args
|
||||
Homebrew::CLI::Parser.new do
|
||||
usage_banner <<~EOS
|
||||
`unlink` [<options>] <formula>
|
||||
|
||||
Remove symlinks for <formula> from the Homebrew prefix. This can be useful
|
||||
for temporarily disabling a formula:
|
||||
`brew unlink` <formula> `&&` <commands> `&& brew link` <formula>
|
||||
EOS
|
||||
switch "-n", "--dry-run",
|
||||
description: "List all files which would be unlinked, but will not actually unlink or "\
|
||||
"delete any files."
|
||||
switch :verbose
|
||||
switch :debug
|
||||
end
|
||||
end
|
||||
|
||||
def unlink
|
||||
raise KegUnspecifiedError if ARGV.named.empty?
|
||||
unlink_args.parse
|
||||
|
||||
raise KegUnspecifiedError if args.remaining.empty?
|
||||
|
||||
mode = OpenStruct.new
|
||||
mode.dry_run = true if ARGV.dry_run?
|
||||
mode.dry_run = true if args.dry_run?
|
||||
|
||||
ARGV.kegs.each do |keg|
|
||||
if mode.dry_run
|
||||
@ -26,7 +46,7 @@ module Homebrew
|
||||
|
||||
keg.lock do
|
||||
print "Unlinking #{keg}... "
|
||||
puts if ARGV.verbose?
|
||||
puts if args.verbose?
|
||||
puts "#{keg.unlink(mode)} symlinks removed"
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user