Description
Using the newest version, Despite the fact I declared the option as a list in my options class, I'm not able to add multiple options when I use the standard linux command argument patterns, but I am if I use a pattern that breaks compatibility with some accessibility software used by the disabled.
For example the following creates a repeatedoption error:
public class CommandLineOptions
{
[Option('c', "contains", Required = false, Min = 1, Max = 255)]
public IList<string> Contains { get; set; }
}
And the command line:
derp.exe -c "foo" -c "bar"
..Results in an error.
But if I look at the code here on github (because this isn't documented anywhere I can find, at all, despite being a critical use case) I can get it to work if I do:
derp.exe -c "foo" "bar"
Respectfully, my first thought on seeing this was "This is a critical defect that explicitly neuters the potential of this library".
My personal usage goal is in the style of core linux tools like grep, awk, sed, etc. So in my mind this should work exactly like the standard linux flow, where either the last argument wins in the case of only needing one on the command, or in the case of expecting a possible list due to duplicate use of an option, a list should be built up in the order the command line options are used.
Now we can clearly see that this does work, its just using a very inconsistent syntax that doesn't take into account the needs of screenreaders (So this library technically discriminates against the disabled. Did you know this?) or consistent linux users - look at the standard grep tool, you can use the same argument multiple times and it just works - but only after looking at the source code could I hunt this down because I could not find any data on repeated options or this confusing and inconsistent syntax anywhere in the docs.
Looking at the code, the tests explicitly do not support the industry standard syntax. This is even more frustrating, because its effectively giving the finger to people who want to support accessibility tools that DEPEND on this classic, standard, "last one wins" argument parsing.
This lack of support makes the library unusable for most of the projects I had planned to use it in, and while that hurts me personally, I'm actually more worried about all the people who cant use software that uses this library for argument parsing because of the nonstandard syntax due to a disability that chains them to accessability tools that by default wont understand this non-standard syntax.
So respectfully, I feel like you are shooting yourself in the foot not supporting this, and I would formally like to ask that you support the standard syntax so that more people can actually use this.