gpt4 book ai didi

Zsh补全资源?

转载 作者:行者123 更新时间:2023-12-04 02:13:39 25 4
gpt4 key购买 nike

Zsh 完成是一个相当复杂的野兽,我发现手册页很难阅读,特别是它缺少所有各种 optspec 形式的(简单)示例等。我自己还没有设法在网上找到任何东西,所以帮助将是最欣赏。

作为一个例子,这是我目前正在努力解决的问题,以及 zshcompsys手册页不提供任何说明。我有

#compdef mtt2

_arguments -s : \
'-h' '--help' \
'-V' '--version' \
':foobars:(foo bar baz)'

现在,当我输入 mtt2 <TAB>我只提供 foo , barbaz作为完成,为什么不 -h , --help等等,还有吗?
我需要传递什么魔法给 _arguments为了提供所有的可能性?

最佳答案

您需要开始用破折号完成的参数(我的意思是您键入要测试的参数,而不是 _arguments 参数)。你应该看看 zstyle ,尝试通过-h和其他人一样 :foobars:甚至直接使用compadd .例子:

  • 直接使用 compadd:
    #compdef 测试
    A=( -h --help -V --version foo bar baz )
    compadd -a A
  • 路过-h和其他人一样 :foobars: :
    #compdef 测试
    A=( -h --help -V --version )
    _参数\
    - foobars\
    ':foobars:(foo bar baz)'\
    - 选项\
    ":arguments:($A)"


    A=( -h --help -V --version foo bar baz )
    _参数\
    "::::($A)"
  • zstyle控制完成样式。它在 man zshcompsys 中的“完成系统配置”部分进行了描述。并且可能有一个选项可以完成开关,但我不知道哪个选项控制它。
  • 关于Zsh补全资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3797073/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com