2014-09-30 54 views
3

我想为oh-my-zsh写一个简单的插件,只完成可能的服务器参数。编写自己的oh-my-zsh插件

实施例1:

$ myserver st # hits tab 
start stop 

实施例2:

$ myserver # hits tab 
start stop restart 

根据wiki我已创建的文件名为~/.oh-my-zsh/custom/plugins/myserver/myserver.plugin.zshcoffee plugin样本内容(我想brew plugin以及),但completition不工作(任何在文件中描述)。而且引发错误:

_arguments:comparguments:312: can only be called from completion function 

我检查了类似的问题,我fpath包括~/.oh-my-zsh/custom/plugins/myserver

我错过了什么?这应该是非常简单的...感谢您的帮助

回答

5

从您的文章我假设您已命名文件myserver.plugin.zsh,但是,如果它用于定义完成功能它的名称必须以下划线开头。似乎习惯上在下划线后面跟着命令名,即在你的情况下_myserver

但是,没有明确的代码正在使用我不能帮你任何进一步。您可能需要检查this博客帖子以获取进一步帮助。

我应该说,完全没有必要设计一个完成函数作为oh-my-zsh插件;只需将其创建为独立的一段代码即可。

+1

谢谢你,我真的找不到这个教程。对于将来的读者 - 创建文件夹'completions'而不是'completion',你可以不修改'.zshrc'。 – petrbel 2014-10-07 06:27:38