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 として解析されるか無視されるグループ全体