lib/hem/help_formatter.rb in hem-1.0.1.beta6 vs lib/hem/help_formatter.rb in hem-1.1.0
- old
+ new
@@ -89,19 +89,28 @@
end
def usage source, command = nil
banner = source.banner
if banner.nil?
- arg_list = (source.arg_list || []).map do |arg|
- "<#{arg}>"
+ arg_list = (source.arg_list || {}).map do |arg, options|
+ arg_text = "<#{arg}>"
+ if options[:as] == Array
+ arg_text = "#{arg_text}..."
+ end
+ if options[:optional]
+ arg_text = "[#{arg_text}]"
+ end
+ arg_text
end
banner = "#{File.basename($0, '.*')}"
banner << " [command]" if source.commands.any? && command.nil?
banner << " #{command.split(':').join(' ')}" if command
- banner << " #{arg_list.join(' ')}" if arg_list.size > 0
banner << " [options]"
+ banner << " #{arg_list.join(' ')}" if arg_list.size > 0
end
+
+ banner
end
def section title, contents, align_to = false
return nil if contents.empty?
output = Hem.ui.color("#{title}:\n", :help_title)