4

我正在写一些 zsh 补全,并坚持如何拥有多组补全。

-J我使用参数docs添加了组名。

compadd -J group1 "$@" completion1 completion2
compadd -J group2 "$@" completion3 completion4

然后我将其添加zstyle到我的~/.zshrc 文档中(标题group-name:)

zstyle ':completion:*' group-name ''

完成情况很好,但没有显示组名。我究竟做错了什么?

4

2 回答 2

5

在我的情况下,组名仅在添加后出现:

zstyle ':completion:*' group-name ''
zstyle ':completion:*' format 'Completing %d'
于 2016-11-29T15:22:05.017 回答
4

相信group-name 仅适用于命令位置(即第一个)。我自己,我只使用 compadd 直接用于命令选项的自定义完成,在这种情况下,它是-x message被使用的:

内容_foo

#compdef  foo    
A=( -h --help foo bar baz )
compadd -J group1 -X expl1 -x msg1 -a A
B=( clown-fish hippo )                                                   
compadd -J group2 -X expl2 -x msg2 -a B

然后在其他地方:

function foo { echo $* }
compdef _foo foo

当我运行这个完成时,我得到按消息分组的选项。

于 2013-04-29T09:38:16.233 回答