switch: Use CLI::Parser to parse args

This commit is contained in:
Gautham Goli 2019-01-18 22:03:30 +05:30
parent 1748b66615
commit f7689b381e
No known key found for this signature in database
GPG Key ID: 6A9ABBC284468364

View File

@ -3,12 +3,26 @@
require "formula"
require "keg"
require "cli_parser"
module Homebrew
module_function
def switch_args
Homebrew::CLI::Parser.new do
usage_banner <<~EOS
`switch` <formula> <version>
Symlink all of the specific <version> of <formula>'s install to Homebrew prefix.
EOS
switch_option :verbose
switch_option :debug
end
end
def switch
name = ARGV.first
switch_args.parse
name = args.remaining.first
usage = "Usage: brew switch <formula> <version>"
@ -28,9 +42,9 @@ module Homebrew
.map { |d| Keg.new(d).version }
.sort
.join(", ")
version = ARGV.second
version = args.remaining.second
if !version || ARGV.named.length > 2
if !version || args.remaining.length > 2
onoe usage
puts "#{name} installed versions: #{versions}"
exit 1