2014-06-22 4 views
1

J'ai une application avec une interface CLI basée sur console Symfony. L'application n'utilise pas le framework Symfony, seulement le composant Symfony Console.Terminaison de l'onglet Symfony Console

Lorsque j'exécute

php app/myapp 

-je obtenir la liste habituelle avec le nom, la version, les options et les commandes enregistrées indiquées. Supposons que je viens d'avoir une commande, appelée "displaykittens". Ce que je veux être en mesure de faire est

php app/myapp d <TAB> 

et ont rempli au

php app/myapp displaykittens 

Comme il est un peu attendu dans un environnement unix moderne. Malheureusement, il semble qu'il n'y ait aucun achèvement de tabulation. Le composant de console lui-même provides an utility that allows doing something along these lines dans les commandes elles-mêmes. Cela ne m'aide pas à obtenir l'achèvement de l'onglet pour les commandes cependant. Est-ce possible en quelque sorte?

+0

Avez-vous essayé d'utiliser le mode shell interactif pour la console Symfony2? 'app php/myapp -s' –

Répondre

0

La classe d'application de la composante de la console peut être enveloppé dans un Shell class, fourni par le même composant. Cela fournit une certaine quantité d'achèvement automatique. Selon les gens sur l'IRC#symfony sur freenode, il n'y a aucun moyen d'avoir l'application de la console de fournir une auto-complétion prête à l'emploi, puisque des changements à la config shell doivent être faits.

1

Je ne sais pas si c'est possible avec le shell bash normal. Mais si vous utilisez zsh, vous pouvez installer oh-my-zsh. Il y a un grand plug-in qui fait exactement ce que vous demandez: Oh-My-ZSH Symfony2 plugin

Questions connexes