#compdef artisan # Laravel Artisan autocompletion # Author: Mohammad Gufran # # This plugin does the following: # - Adds aliases and autocompletion for artisan local curcontext="$curcontext" state line _opts _bundles ret=1 _arguments -C \ '1: :->cmds' \ '*:: :->args' && ret=0 case $state in cmds) _values "Artisan command" \ '--ansi[Force ANSI output.]' \ '--env[The environment the command should run under.]' \ '--help[Display this help message.]' \ '--no-ansi[Disable ANSI output.]' \ '--no-interaction[Do not ask any interactive question.]' \ '--quiet[Do not output any message.]' \ '--verbose[Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug]' \ '--version[Display this application version.]' \ 'asset\:publish[Publish assets of a package to the public directory]' \ 'auth\:reminders[Create a migration for the password reminders table]' \ 'cache\:clear[Flush the application cache]' \ 'clear-compiled[Remove the compiled class file]' \ 'command\:make[Create a new Artisan command]' \ 'config\:publish[Publish configuration of a package to the application]' \ 'controller\:make[Create a new resourceful controller]' \ 'db\:seed[Seed the database with records]' \ 'down[Put the application into maintenance mode]' \ 'dump-autoload[Regenerate framework autoload files]' \ 'help[Displays help for a command]' \ 'key\:generate[Set the application key]' \ 'list[Lists commands]' \ 'migrate[Run the database migrations]' \ 'migrate\:install[Create the migration repository]' \ 'migrate\:make[Create a new migration file]' \ 'migrate\:refresh[Reset and re-run all migrations]' \ 'migrate\:reset[Rollback all database migrations]' \ 'migrate\:rollback[Rollback the last database migration]' \ 'optimize[Optimize the framework for better performance]' \ 'queue\:listen[Listen to a given queue]' \ 'queue\:subscribe[Subscribe a URL to an Iron.io push queue]' \ 'queue\:work[Process the next job on a queue]' \ 'routes[List all registered routes]' \ 'serve[Serve the application on the PHP development server]' \ 'session\:table[Create a migration for the session database table]' \ 'tinker[Interact with your application]' \ 'up[Bring the application out of maintenace mode]' \ 'workbench[Create a new package workbench]' \ ret=0 ;; args) case $line[1] in migrate) _values \ 'install[Create the Laravel migration table]' \ 'make[Create a migration]' \ 'rollback[Roll back to the last migration operation]' \ 'reset[Roll back all migrations that have ever run]' \ 'refresh[Reset and re-run all migrations]' ret=0 ;; queue) _values \ 'listen[Listen to a given queue]' \ 'subscribe[Subscribe a URL to an Iron.io push queue]' \ 'work[Process the next job on the queue]' ret=0 ;; esac ;; esac return ret