p-ranav / argparse

Argument Parser for Modern C++
MIT License
2.72k stars 250 forks source link

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

Open rtgiskard opened 11 months ago

rtgiskard commented 11 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.