dry-cli icon indicating copy to clipboard operation
dry-cli copied to clipboard

Conflicting aliases between global and command options.

Open MadBomber opened this issue 8 months ago • 0 comments

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

MadBomber avatar Oct 30 '23 22:10 MadBomber