67 lines
1.8 KiB
Plaintext
67 lines
1.8 KiB
Plaintext
|
#compdef rails
|
||
|
#autoload
|
||
|
|
||
|
local -a _1st_arguments
|
||
|
_1st_arguments=(
|
||
|
'generate:Generate new code (short-cut alias: "g")'
|
||
|
'console:Start the Rails console (short-cut alias: "c")'
|
||
|
'server:Start the Rails server (short-cut alias: "s")'
|
||
|
'dbconsole:Start a console for the database specified in config/database.yml (short-cut alias: "db")'
|
||
|
'new:Create a new Rails application. "rails new my_app" creates a new application called MyApp in "./my_app"'
|
||
|
'application:Generate the Rails application code'
|
||
|
'destroy:Undo code generated with "generate"'
|
||
|
|
||
|
'benchmarker:See how fast a piece of code runs'
|
||
|
'profiler:Get profile information from a piece of code'
|
||
|
'plugin:Install a plugin'
|
||
|
|
||
|
'plugin new:Generates skeleton for developing a Rails plugin'
|
||
|
'runner:Run a piece of code in the application environment (short-cut alias: "r")'
|
||
|
)
|
||
|
|
||
|
_rails_generate_arguments() {
|
||
|
generate_arguments=(
|
||
|
assets
|
||
|
controller
|
||
|
decorator
|
||
|
generator
|
||
|
helper
|
||
|
integration_test
|
||
|
mailer
|
||
|
migration
|
||
|
model
|
||
|
observer
|
||
|
performance_test
|
||
|
plugin
|
||
|
resource
|
||
|
scaffold
|
||
|
scaffold_controller
|
||
|
session_migration
|
||
|
stylesheets
|
||
|
task
|
||
|
)
|
||
|
}
|
||
|
|
||
|
|
||
|
_arguments \
|
||
|
'(--version)--version[show version]' \
|
||
|
'(--help)--help[show help]' \
|
||
|
'*:: :->subcmds' && return 0
|
||
|
|
||
|
if (( CURRENT == 1 )); then
|
||
|
_describe -t commands "rails subcommand" _1st_arguments
|
||
|
return
|
||
|
else
|
||
|
_files
|
||
|
return
|
||
|
fi
|
||
|
|
||
|
case "$words[1]" in
|
||
|
g|generate)
|
||
|
_rails_generate_arguments
|
||
|
_wanted generate_arguments expl 'all generate' compadd -a generate_arguments ;;
|
||
|
d|destroy)
|
||
|
_rails_generate_arguments
|
||
|
_wanted generate_arguments expl 'all generate' compadd -a generate_arguments ;;
|
||
|
esac
|