# A pretty print for this help
fun pretty(off: Int): String
do
- var text = new Buffer.from(" ")
+ var text = new FlatBuffer.from(" ")
text.append(_names.join(", "))
text.append(" ")
var rest = off - text.length
redef fun read_param(it)
do
super
- if it.is_ok and it.item.first != '-' then
+ if it.is_ok and it.item.chars.first != '-' then
value = convert(it.item)
it.next
else
if _parameter_mandatory then
- _errors.add("parameter expected for option {names.first}")
+ _errors.add("Parameter expected for option {names.first}.")
end
end
end
while parseargs and it.is_ok do
var str = it.item
if str == "--" then
+ it.next
rest.add_all(it.to_a)
parseargs = false
else
if str.last_index_of('-') == 0 and str.length > 2 then
var next_called = false
for i in [1..str.length] do
- var short_opt = "-" + str[i].to_s
+ var short_opt = "-" + str.chars[i].to_s
if _optmap.has_key(short_opt) then
var option = _optmap[short_opt]
if option isa OptionParameter then
for opt in _options do
if opt.mandatory and not opt.read then
- _errors.add("mandatory option {opt.names.join(", ")} not found")
+ _errors.add("Mandatory option {opt.names.join(", ")} not found.")
end
end
-
- check_errors
end
fun add_option(opts: Option...)
end
end
- private fun check_errors
+ fun get_errors: Array[String]
do
+ var errors: Array[String] = new Array[String]
+
+ errors.add_all(_errors)
+
for o in _options do
for e in o.errors do
- _errors.add(e)
+ errors.add(e)
end
end
- if _errors.length > 0 then
- stderr.write("Errors occured during parsing:\n")
- for e in _errors do
- stderr.write(" - " + e + "\n")
- end
- exit(1)
- end
+ return errors
end
end