WIP: Allow setting and reseting bool values via standard arguments
Hi,
I'm sharing this work-in-progress code to see if this is something you would be willing to merge. So far, most of the code works, but I would need some help with:
- Windows-specific tests, as I do not have a Windows machine (I have fixed them to the best of my knowledge)
- Help with generating man pages
I've also deprecated AllowBoolValues since this feature replaces it. In my opinion, this was not really a good place to implement it in the first place. However, I would like to open a discussion about this as well.
Your response is appreciated. Thank you for the great work!
This commit enables the developer to allow setting boolean values to false. There already was a piece of code which indirectly allowed this, but default could never be true for bools due to #159.
With this patch, a new setting disable-type is introduced on boolean options. If unset, the bool variables act as before. However, if set, the user can set (and reset) the bool variable to either true or false.
The setting has three possible values: value. no and enable-disable.
When the setting is enabled, bool values will behave as follows:
| disable-value | Syntax |
| value | --bool[=true|false] |
| no | --[no-]bool |
| enable-disable | --[enable|disable]-bool |
This allows for use cases such as:
alias program='program --debug`
program --no-debug
or
./program --enable-raytracing --disable-antialiasing