我有一个基于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在命令本身中。但这并没有帮助我获得命令的标签完成。这有可能吗?
答案 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配置进行更改。