Add gem providing tab completion for the spring gem
This commit is contained in:
parent
5728a5608d
commit
e86e97536e
116
plugins/spring_gem/_spring_gem
Normal file
116
plugins/spring_gem/_spring_gem
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
#compdef spring
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
# zsh spring completion
|
||||||
|
|
||||||
|
local -a _1st_arguments
|
||||||
|
_1st_arguments=(
|
||||||
|
'binstub:Generate spring based binstubs. Use --all to generate a binstub for all known commands.'
|
||||||
|
'help:Print available commands.'
|
||||||
|
'status:Show current status.'
|
||||||
|
'stop:Stop all spring processes for this project.'
|
||||||
|
'rails:Run a rails command. The following sub commands will use spring: console, runner, generate, destroy.'
|
||||||
|
'rake:Runs the rake command'
|
||||||
|
'rspec:Runs the rspec command'
|
||||||
|
)
|
||||||
|
|
||||||
|
local -a _binstub_arguments
|
||||||
|
_binstub_arguments=(
|
||||||
|
'--all:Generate all binstubs'
|
||||||
|
'rails:Generate rails bintstub'
|
||||||
|
'rake:Generate rake bintstub '
|
||||||
|
'rspec:Generate rspec bintstub '
|
||||||
|
)
|
||||||
|
|
||||||
|
local -a _rails_arguments
|
||||||
|
_rails_arguments=(
|
||||||
|
'console:rails console'
|
||||||
|
'runner:rails runner'
|
||||||
|
'generate:rails generator'
|
||||||
|
'destroy:rails destroy'
|
||||||
|
'server:rails server (NOT SPRUNG)'
|
||||||
|
'new:rails new (NOT SPRUNG)'
|
||||||
|
'application:rails application (NOT SPRUNG)'
|
||||||
|
'plugin new:rails plugin new (NOT SPRUNG)'
|
||||||
|
)
|
||||||
|
|
||||||
|
__task_list ()
|
||||||
|
{
|
||||||
|
local expl
|
||||||
|
declare -a tasks
|
||||||
|
|
||||||
|
tasks=(binstub help status stop rails rake rspec)
|
||||||
|
|
||||||
|
_wanted tasks expl 'help' compadd $tasks
|
||||||
|
}
|
||||||
|
|
||||||
|
__binstub ()
|
||||||
|
{
|
||||||
|
local curcontext="$curcontext" state line
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
':command:->command' \
|
||||||
|
'*::options:->options'
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(command)
|
||||||
|
_describe -t commands "spring subcommand" _binstub_arguments
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
|
||||||
|
(options)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
__rails ()
|
||||||
|
{
|
||||||
|
local curcontext="$curcontext" state line
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
':command:->command' \
|
||||||
|
'*::options:->options'
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(command)
|
||||||
|
_describe -t commands "spring subcommand" _rails_arguments
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
|
||||||
|
(options)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
local expl
|
||||||
|
|
||||||
|
local curcontext="$curcontext" state line
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
':command:->command' \
|
||||||
|
'*::options:->options'
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(command)
|
||||||
|
_describe -t commands "spring subcommand" _1st_arguments
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
|
||||||
|
(options)
|
||||||
|
case $line[1] in
|
||||||
|
(help)
|
||||||
|
_arguments ':feature:__task_list'
|
||||||
|
;;
|
||||||
|
|
||||||
|
(binstub)
|
||||||
|
__binstub
|
||||||
|
;;
|
||||||
|
(rails)
|
||||||
|
__rails
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
Loading…
Reference in New Issue
Block a user