为了使Compdef可以绑定我的功能,我可以更改什么?

时间:2019-08-06 13:51:01

标签: zsh oh-my-zsh

我已经在PHP中创建了一些控制台命令。启动任务时,我需要使用自动补全功能。

我在alias otra="php console.php"文件中使用了.zshrc

该函数本身似乎可以正常工作,但是当我键入命令名称'otra'时,只有文件夹自动完成功能...对于我来说这是完全不相关的。

#compdef _otra otra

function _otra {
     local line
     _arguments -C \
         "1: :(createAction createBundle)" \
         "*::arg:->args"
}

当我输入createAction并输入时,我只希望出现两个单词createBundleotra

编辑

好吧,这就是我的想法...如果删除别名,则可以完成补全,但由于otra不是有效命令,因此无法删除它...

在其他Stackoverflow帖子中,我尝试使用setopt no_complete_aliases,但它对我不起作用。

1 个答案:

答案 0 :(得分:0)

实际上,它与别名有关,但我不必设置setopt no_complete_aliases,但恰恰相反。 将setopt complete_aliases放入我的.zshrc文件后,它可以工作:D