Merge pull request #5560 from GauthamGoli/cat-args
cat: Use CLI::Parser to parse args
This commit is contained in:
commit
70c5b6f804
@ -1,16 +1,29 @@
|
|||||||
#: * `cat` <formula>:
|
#: * `cat` <formula>:
|
||||||
#: Display the source to <formula>.
|
#: Display the source to <formula>.
|
||||||
|
|
||||||
|
require "cli_parser"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module_function
|
module_function
|
||||||
|
|
||||||
|
def cat_args
|
||||||
|
Homebrew::CLI::Parser.new do
|
||||||
|
usage_banner <<~EOS
|
||||||
|
`cat` <formula>
|
||||||
|
|
||||||
|
Display the source to <formula>.
|
||||||
|
EOS
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def cat
|
def cat
|
||||||
|
cat_args.parse
|
||||||
# do not "fix" this to support multiple arguments, the output would be
|
# do not "fix" this to support multiple arguments, the output would be
|
||||||
# unparsable, if the user wants to cat multiple formula they can call
|
# unparsable, if the user wants to cat multiple formula they can call
|
||||||
# brew cat multiple times.
|
# brew cat multiple times.
|
||||||
formulae = ARGV.formulae
|
formulae = ARGV.formulae
|
||||||
raise FormulaUnspecifiedError if formulae.empty?
|
raise FormulaUnspecifiedError if formulae.empty?
|
||||||
raise "`brew cat` doesn't support multiple arguments" if formulae.size > 1
|
raise "`brew cat` doesn't support multiple arguments" if args.remaining.size > 1
|
||||||
|
|
||||||
cd HOMEBREW_REPOSITORY
|
cd HOMEBREW_REPOSITORY
|
||||||
exec "cat", formulae.first.path, *ARGV.options_only
|
exec "cat", formulae.first.path, *ARGV.options_only
|
||||||
|
|||||||
@ -14,7 +14,7 @@ describe "brew", :integration_test do
|
|||||||
|
|
||||||
it "prints help for a documented Ruby command" do
|
it "prints help for a documented Ruby command" do
|
||||||
expect { brew "help", "cat" }
|
expect { brew "help", "cat" }
|
||||||
.to output(/^brew cat/).to_stdout
|
.to output(/^Usage: brew cat/).to_stdout
|
||||||
.and be_a_success
|
.and be_a_success
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ describe "brew", :integration_test do
|
|||||||
describe "cat" do
|
describe "cat" do
|
||||||
it "prints help when no argument is given" do
|
it "prints help when no argument is given" do
|
||||||
expect { brew "cat" }
|
expect { brew "cat" }
|
||||||
.to output(/^brew cat/).to_stderr
|
.to output(/^Usage: brew cat/).to_stderr
|
||||||
.and be_a_failure
|
.and be_a_failure
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user