dry-rb/dry-cli

Conflicting aliases between global and command options.

Open

#133 创建于 2023年10月30日

在 GitHub 查看
 (2 评论) (0 反应) (0 负责人)Ruby (39 fork)github user discovery
bughelp wanted

仓库指标

Star
 (354 star)
PR 合并指标
 (PR 指标待抓取)

描述

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

贡献者指南