编写自己的 oh-my-zsh 插件

7
我希望编写一个简单的插件,用于oh-my-zsh仅补全可能的服务器参数。
示例1:
$ myserver st    # hits tab
start stop

例子2:
$ myserver    # hits tab
start stop restart

根据维基,我创建了一个名为~/.oh-my-zsh/custom/plugins/myserver/myserver.plugin.zsh的文件,并使用咖啡插件(我也尝试了brew插件)作为样本内容,但自动完成功能无法正常工作(文件中描述的任何一种都不行)。此外,还会抛出错误:
_arguments:comparguments:312: can only be called from completion function

我查看了类似的问题,我的包括~/.oh-my-zsh/custom/plugins/myserver
我错过了什么? 这应该很简单... 谢谢帮助
1个回答

7
从您的帖子中我可以看出,您将文件命名为myserver.plugin.zsh,但是,如果它用于定义完成函数,则其名称必须以下划线开头。 看起来习惯上下划线后面跟着命令名称,即在您的情况下为_myserver
但是,如果没有明确的代码,我将无法为您提供更多帮助。 您可能需要查看博客文章以获取进一步的帮助。
我应该指出,将完成函数设计为oh-my-zsh插件是完全不必要的;只需将其创建为独立的代码即可。

1
谢谢你,我真的找不到这个教程。对于未来的读者 - 创建文件夹completions而不是completion,并且您可以让.zshrc保持不变。 - petrbel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接