zsh:显示完成组名称

时间:2013-04-26 16:06:26

标签: zsh zsh-completion

我正在编写一些zsh完成版,并坚持如何拥有多组完成。

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

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

然后我将zstyle添加到我的~/.zshrc docs(标题:group-name

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

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

2 个答案:

答案 0 :(得分:3)

相信 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

当我运行此完成时,我会按消息分组选项。

答案 1 :(得分:2)

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

zstyle ':completion:*' group-name ''
zstyle ':completion:*' format 'Completing %d'