p-ranav / argparse

Argument Parser for Modern C++
MIT License
2.67k stars 244 forks source link

allow boolean switch with '--enable-foo=true/false' #318

Open rtgiskard opened 10 months ago

rtgiskard commented 10 months ago

This is a try to implement the #313, however this make flag() apply nargs(0,1), and break assumption for some of the test.

For example: program.parse_args({"./test", "--enable-foo", "dump"}), with --enable-foo set with flag(), the positional argument dump will be consumed by the flag and cause trouble.

And I'm not sure, this seems to be in consistent with the original design, there may be better solutions.