redef fun read_param(it)
do
super
- if it.is_ok and it.item.chars.first != '-' then
+ if it.is_ok and (it.item.is_empty or it.item.chars.first != '-') then
value = convert(it.item)
it.next
else
parse_intern(it)
end
+ # Must all option be given before the first argument?
+ #
+ # When set to `false` (the default), options of the command line are
+ # all parsed until the end of the list of arguments or until "--" is met (in this case "--" is discarded).
+ #
+ # When set to `true` options are parsed until the first non-option is met.
+ var options_before_rest = false is writable
+
# Parse the command line
protected fun parse_intern(it: Iterator[String])
do
else
rest.add(it.item)
it.next
+ if options_before_rest then
+ rest.add_all(it.to_a)
+ parseargs = false
+ end
end
end
end
fun get_errors: Array[String]
do
- var errors: Array[String] = new Array[String]
+ var errors = new Array[String]
errors.add_all(errors)
for o in options do
for e in o.errors do