summaryrefslogtreecommitdiff
path: root/plugins/rails/_rails
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/rails/_rails')
-rw-r--r--plugins/rails/_rails63
1 files changed, 63 insertions, 0 deletions
diff --git a/plugins/rails/_rails b/plugins/rails/_rails
new file mode 100644
index 000000000..96f57ce64
--- /dev/null
+++ b/plugins/rails/_rails
@@ -0,0 +1,63 @@
+#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
+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