2014-09-30 86 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