Testing
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
module CliGenerator::Parser
|
||||
|
||||
macro extended
|
||||
{% verbatim do %}
|
||||
macro define_parser
|
||||
def self.make_parser(parent_parser : OptionParser) : OptionParser
|
||||
{% puts "#{@type.name} OptionParser is being generated" %}
|
||||
{% name = @type.name.split("::").last %}
|
||||
{% var = name.downcase %}
|
||||
{% info = @type.annotation(::CliGenerator::CommandInfo) %}
|
||||
{% raise "ERROR : No CommandInfo annotation provided to #{@type.name}" unless info %}
|
||||
subparser = OptionParser.new do |parser|
|
||||
parser.banner = {{@type.name}}::HEADER
|
||||
{% subcommands = @type.class.methods.select(&.annotation(::CliGenerator::SubCommand)) %}
|
||||
@@ -46,6 +48,7 @@ module CliGenerator::Parser
|
||||
}
|
||||
end
|
||||
end
|
||||
{% end %}
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user