dry-cli
dry-cli copied to clipboard
Conflicting aliases between global and command options.
Describe the bug
When global options are defined in a Base command class from which all other commands are derived, it is possible for an alias in the global space to be "re-used" in the command space. For example if "-v" is an alias for :verbose in the global space and a command implements and option :validate with a "-v" alias there is now a conflict. I'm not sure what the current functionality is when dealing with this kind of conflict. It might be the command options rule; or, the global options rule. My preference would be to add a notation to the help text that calls out the conflict as a warning.... or maybe something else.
To Reproduce
Provide detailed steps to reproduce, an executable script would be best.
Expected behavior
In my Github repo MadBomber/experiments/cli_options/dry-cli
The base command defines -x for :xyzzy, and :exec command defines -x for the :exit option.
My environment
- Affects my production application: NO
- Ruby version: ... 3.2.2
- OS: ... MacOS::HighSerria