Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conflicting aliases between global and command options. #133

Open
MadBomber opened this issue Oct 30, 2023 · 2 comments
Open

Conflicting aliases between global and command options. #133

MadBomber opened this issue Oct 30, 2023 · 2 comments

Comments

@MadBomber
Copy link

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
@petrenkorf
Copy link

@MadBomber any updates on this?

@MadBomber
Copy link
Author

Have not looked at dry-cli since I made this report. I went back to my original test program. Looks like this problem may still exists. I'm running Ruby v3.4.0preview2 with dry-cli v1.2.0

here is where I was playing with dry-cli last year ...

https://github.com/MadBomber/experiments/tree/master/cli_options/dry-cli

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants