自定义zsh完成:自定义排序?

时间:2018-01-28 09:05:40

标签: zsh zsh-completion

我使用_values向自定义zsh命令添加完成,但不幸的是,zsh忽略了我传递值的顺序,并按照与我相反的顺序排序(我想要{{ 1}},基本上)。

无论如何,强迫它尊重我已经通过的顺序,或者如果没有,以某种方式修改用于该特定命令的的排序机制(即,我没有'我想改变所有完成的顺序,只是这个特定的顺序。

示例:

sort -rn

_values 'my completions' foo bar 之前显示bar,但我希望在foo之前foo

1 个答案:

答案 0 :(得分:2)

通常,Zsh完成匹配可以添加到已排序或未排序的组中。但是,_values不包含指定此选项的选项。所以你可以这样做:

_wanted -V values expl 'my completions' compadd foo bar

您想要_values的哪些功能?如果您想要一个没有重复的分隔列表,_sequence可以包含上述内容。如果您想要按匹配说明,_describe可以提供帮助。但是,如果您想要_values的一些更复杂的功能,您可能会遇到排序问题,或者您需要手动执行更多功能。