【问题标题】:zsh: show completion group nameszsh:显示完成组名称
【发布时间】:2013-04-26 16:06:25
【问题描述】:

我正在编写一些 zsh 补全,但我一直在纠结如何拥有多组补全。

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

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

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

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

完成情况正常,但未显示组名。我做错了什么?

【问题讨论】:

    标签: zsh zsh-completion


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      当我运行这个补全时,我会得到按消息分组的选项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-14
        • 2016-02-25
        • 2018-09-16
        • 1970-01-01
        • 2016-12-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多