zsh - 如何完成一组或多组重复的互斥选项?
问题描述
考虑这个命令行:
$ 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
动作功能并进行一些递归。
解决方案
推荐阅读
- javascript - 以可扩展的形式将值从一个表单字段传递给其他表单字段
- mercurial - Mercurial 的自定义变量可能吗?
- bash - 如何将另一个文件中的文件 pwd 重定向到 diff -q 命令?
- javascript - 如何修复 nodejs express 服务器中的“MulterError:Unexpected field”?
- python - Python Pycryptodome 加密引发“长度不正确的密文”错误
- reactjs - 使用通用函数更新状态后如何解决不重新渲染问题
- gitlab-ci - 如何让 gitlab CI 作业只能在分支上手动触发,并且总是在 master 上自动触发?
- c# - C# PrivateFontCollection AddFontFile 从相对路径
- algorithm - 无法找出以下问题中的算法
- python - 获取类中定义的可调用对象列表