Missed of autocomplete in bash console commands yii make me sad.
This tutorial is working on normal system (*nix): BSD, Linux, etc.
If your project under git, you need to add submodule:
git submodule add git://github.com/Stamm/yii-console-completion protected/extensions/complete/
Or just create file LCompleteCommand.php in protected/extensions/complete/
Next enable command class in config file for console application (usually console.php)
'commandMap' => array( 'complete' => array( 'class' => 'ext.complete.LCompleteCommand', //'bashFile' => '/etc/bash_completion.d/yii_applications' //Defaults to </etc/bash_completion.d/yii_applications>. May be changed if needed ), ),
Path to dir bash-completion may be different depending on OS. On Debian or Ubuntu you may leave standart path. In Mac OS X bash-completion has installed with homebrew, so your path is /usr/local/etc/bash_completion.d/yii_applications.
Run command to create file of bash-completion. You need permission to write in bash-complete dir.
sudo ./yiic complete install
Now when new session is create in bash will be work autocompletion to yiic:
- For application - sets of commands
- For command - list of actions and named params for default action
- For action - hint for his named params
Original article in russian: http://habr-sandbox.livejournal.com/230319.html