如何完成一组或多组重复的互斥选项?

问题描述

考虑这个命令行:

$ prog --state=foo --meow --state=bar --mix --lol=34 --state=foo --meow --zoom

在 Zsh 完成脚本中,您将如何完成上述选项,知道:

  • 您可以指定一个或多个

  • 一个组以接受一个参数的 --state 选项开始。

  • 接受的选项取决于前面的 --state 选项的参数。

    例如,使用 --state=foo,您可以传递 --meow(仅一次)和 --zoom(仅一次)。 使用 --state=bar,您可以传递 --mix(仅一次)和 --lol(仅一次)。

我很难用 _arguments 实用程序函数实现这样的完成脚本。我猜我需要使用 ->state 操作功能并进行一些递归。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)