# A count option. Count the number of time this option is present
class OptionCount
super Option
- redef type VALUE: Int
+ redef type VALUE: Int is fixed
# Init a new OptionCount with a `help` message and `names`.
init(help: String, names: String...) is old_style_init do super(help, 0, names)
super(help, default, names)
end
- redef fun convert(str) do return str.to_i
+ redef fun convert(str)
+ do
+ if str.is_int then return str.to_i
+
+ errors.add "Expected an integer for option {names.join(", ")}."
+ return 0
+ end
end
# An option with a Float as parameter
private var optmap = new HashMap[String, Option]
# Add one or more options to the context
- fun add_option(opts: Option...) do
- options.add_all(opts)
- end
+ fun add_option(opts: Option...) do options.add_all(opts)
# Display all the options available
fun usage