dry-rb/dry-cli

Conflicting aliases between global and command options.

Open

#133 aperta il 30 ott 2023

Vedi su GitHub
 (2 commenti) (0 reazioni) (0 assegnatari)Ruby (39 fork)github user discovery
bughelp wanted

Metriche repository

Star
 (354 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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

Guida contributor