dry-rb / dry-rb/dry-cli

Conflicting aliases between global and command options.

Open
#133 2 comments 0 reactions 0 assignees View on GitHub
bug help wanted
Dominant language
Ruby
Stars
358
Forks
40
Avg merge
4d 12h
Merged PRs (30d)
1

Description

## 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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.