【问题标题】:Custom zsh completion for a function based on default arguments基于默认参数的函数的自定义 zsh 完成
【发布时间】:2014-12-01 10:49:28
【问题描述】:

如何根据现有的完成定义和默认参数为函数设置完成。

一个简化的例子(可以改写为别名):

gpl() {
    git pull origin $@
}

这应该与git pull origin之后的完成相同。

【问题讨论】:

    标签: zsh zsh-completion


    【解决方案1】:
    compdef -e 'words[1]=(git pull origin); service=git; (( CURRENT+=2 )); _git' ggl
    

    这会按摩完成系统使用的$words$service$CURRENT vars,然后调用_git完成函数。

    (感谢 #zsh 上的 Mikachu)。

    【讨论】:

    • 感谢这个例子!
    • CURRENT+=2 有什么作用? (这对我有用,只是想摸索)
    • @skarface CURRENT 是当前正在处理的单词,它增加了2(因为我们注入它们:从ggl(1 个单词)到git pull origin(3 个单词) )。
    猜你喜欢
    • 2012-05-28
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-02-04
    • 2017-06-18
    • 2021-04-08
    相关资源
    最近更新 更多