假设我有许多称为 modeA modeB common 的选项组。我将在 {} 中引用这些 - 即 {common} 扩展到该组中描述的任何选项。
我希望能够执行以下命令行
command A {common} {modeA}
command B {common} {modeB}
模式和公共组中选项的位置并不重要,可以交织在一起
以下将失败
command A {modeB} /* Wrong option group for this mode */
command A B /* A and B not allowed */
因此,目标是
- 一个必须出现并且是集合 A|B 之一的选项
- 如果可能,强制成为第一个参数
- 根据上述强制参数,整个组被解析为 Ok 或被忽略