_rails3 1.62 KB
Newer Older
Tobias Preuss's avatar
Tobias Preuss committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#compdef rails
#autoload

# rails 3 zsh completion, based on homebrew completion
# Extracted from https://github.com/robbyrussell/oh-my-zsh/blob/30620d463850c17f86e7a56fbf6a8b5e793a4e07/plugins/rails3/_rails3
# Published by Christopher Chow

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'
)

_rails_generate_arguments() {
    generate_arguments=(
        controller
        generator
        helper
        integration_test
        mailer
        migration
        model
        observer
        performance_test
        plugin
        resource
        scaffold
        scaffold_controller
        session_migration
        stylesheets
    )
}

_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
  generate)
    _rails_generate_arguments
    _wanted generate_arguments expl 'all generate' compadd -a generate_arguments ;;
esac