Add a named choice to the multichoice value.
(Re)compute from current yeas, nays, wildcard status.
If Some(args), the default options if none are provided.
If Some(args), the default options if none are provided. If None, an error is printed if there are no arguments.
enumeration of choices implementing MultiChoice, or the string value is taken for the name
Equality tries to sidestep all the drama and define it simply and in one place: two AbsSetting objects are equal if their names and values compare equal.
Equality tries to sidestep all the drama and define it simply and in one place: two AbsSetting objects are equal if their names and values compare equal.
Issue error and return
Issue error and return
These categorizations are so the help output shows -X and -P among the standard options and -Y among the advanced options.
These categorizations are so the help output shows -X and -P among the standard options and -Y among the advanced options.
After correct Setting has been selected, tryToSet is called with the remainder of the command line.
After correct Setting has been selected, tryToSet is called with the remainder of the command line. It consumes any applicable arguments and returns the unconsumed ones.
Commands which can take lists of arguments in form -Xfoo:bar,baz override this method and accept them as a list.
Commands which can take lists of arguments in form -Xfoo:bar,baz override this method and accept them as a list. It returns List[String] for consistency with tryToSet, and should return its incoming arguments unmodified on failure, and Nil on success.
Attempt to set from a properties file style property value.
Attempt to set from a properties file style property value. Currently used by Eclipse SDT only. !!! Needs test.
In mutable Settings, these return the same object with a var set.
In mutable Settings, these return the same object with a var set. In immutable, of course they will return a new object, which means we can't use "this.type", at least not in a non-casty manner, which is unfortunate because we lose type information without it.
...but now they're this.type because of #3462. The immutable side doesn't exist yet anyway.
(multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).<(that)
(multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).<=(that)
(multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).>(that)
(multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).>=(that)
(multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).compare(that)
(multiChoiceSetting: math.Ordered[MultiChoiceSetting[E]]).compareTo(that)
A Setting that collects string-valued settings from an enumerated domain.
Arguments can be provided in colonated or non-colonated mode, i.e. "-option a b" or "-option:a,b". Note that arguments starting with a "-" can only be provided in colonated mode, otherwise they are interpreted as a new option.
In non-colonated mode, the setting stops consuming arguments at the first non-choice, i.e. "-option a b c" only consumes "a" and "b" if "c" is not a valid choice.