我需要自动完成一个函数的两个参数,其中第二个参数取决于第一个参数。
一个例子:函数“foo”的第一个参数可以有“a”或“b”的值。如果第一个参数是“a”,则第二个参数可以具有值“10”或“11”,如果第一个参数是“b”,则可以具有值“20”和“21”。所以下面的参数组合是合法的:
foo a 10
foo a 11
foo b 20
foo b 21
这些组合是预先知道的(它们可以被硬编码)。
zsh 完成系统文档非常晦涩难懂,而且很棒的How To也没有解决我的问题。最接近的是使用_arguments
,可能与状态操作一起使用,但我没有设法使其工作。