Symfony控制台选项卡完成

时间:2014-06-22 17:38:01

标签: php symfony command-line-interface tab-completion

我有一个基于Symfony控制台的CLI应用程序。该应用程序不使用Symfony框架,只使用Symfony控制台组件。

执行时

php app/myapp

我通常会看到显示的名称,版本,选项和注册命令。假设我只有一个名为“displaykittens”的命令。我想要做的是

php app/myapp d <TAB>

完成

php app/myapp displaykittens

正如在现代unix环境中预期的那样。不幸的是,似乎没有任何标签完成。控制台组件本身provides an utility that allows doing something along these lines在命令本身中。但这并没有帮助我获得命令的标签完成。这有可能吗?

3 个答案:

答案 0 :(得分:2)

你可能会喜欢这个扩展程序https://github.com/stecman/symfony-console-completion 它允许您设置活动命令和我们自己的建议

答案 1 :(得分:1)

我不知道是否可以使用普通的bash shell。但是,如果您使用zsh,则可以安装oh-my-zsh。有一个很棒的插件可以完全符合您的要求:Oh-My-ZSH Symfony2 plugin

答案 2 :(得分:0)

Console组件的Application类可以包装在由同一组件提供的Shell class中。这提供了一些自动完成次数。

据freenode上#symfony IRC上的人说,没有办法让控制台应用程序提供开箱即用的自动完成功能,因为需要对shell配置进行更改。