You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							98 lines
						
					
					
						
							2.3 KiB
						
					
					
				
			
		
		
	
	
							98 lines
						
					
					
						
							2.3 KiB
						
					
					
				| #compdef zeus | |
| #autoload | |
|  | |
| # in order to make this work, you will need to have the gem zeus installed | |
| # zeus zsh completion | |
|  | |
| local -a _1st_arguments | |
| if [[ -e .zeus.sock ]]; then | |
|   _1st_arguments=( | |
|   'console:Lets you interact with your Rails application from the command line. (alias = c)' | |
|   'cucumber:Runs cucumber.' | |
|   'dbconsole:Figures out which database you are using and drops you into whichever command line interface.' | |
|   'destroy:Figures out what generate did, and undoes it. (alias = d)' | |
|   'generate:Uses templates to create a whole lot of things. (alias = g)' | |
|   'rake:Execute rake tasks.' | |
|   'runner:Runs Ruby code in the context of Rails non-interactively. (alias = r)' | |
|   'server:Launches a small web server named WEBrick which comes bundled with Ruby. (alias = s)' | |
|   'test:Runs RSpec tests. (alias = rspec, testrb)' | |
|   'version:Shows the version number.' | |
|   ) | |
| else | |
|   _1st_arguments=( | |
|   'start:Preloads the zeus environment' | |
|   'init:Generate a zeus.json file' | |
|   ) | |
| fi | |
|  | |
| _rails_generate_arguments() { | |
|     generate_arguments=( | |
|       controller | |
|       generator | |
|       helper | |
|       integration_test | |
|       mailer | |
|       migration | |
|       model | |
|       observer | |
|       performance_test | |
|       plugin | |
|       resource | |
|       scaffold | |
|       scaffold_controller | |
|       session_migration | |
|       stylesheets | |
|     ) | |
| } | |
|  | |
| _rake_does_task_list_need_generating () { | |
|   if [ ! -f .rake_tasks ]; then return 0; | |
|   else | |
|     accurate=$(stat -f%m .rake_tasks) | |
|     changed=$(stat -f%m Rakefile) | |
|     return $(expr $accurate '>=' $changed) | |
|   fi | |
| } | |
|  | |
| _zrake () | |
| { | |
|     local expl | |
|     declare -a tasks | |
|  | |
|     if [ -f Rakefile ]; then | |
|       if _rake_does_task_list_need_generating; then | |
|         echo "\nGenerating .rake_tasks..." > /dev/stderr | |
|         rake --silent --tasks | cut -d " " -f 2 > .rake_tasks | |
|       fi | |
|       tasks=(`cat .rake_tasks`) | |
|       _wanted tasks expl 'rake' compadd $tasks | |
|     fi | |
| } | |
|  | |
| local expl | |
| local curcontext="$curcontext" state line | |
| typeset -A opt_args | |
|  | |
| _arguments -C \ | |
|     ':command:->command' \ | |
|     '*::options:->options' | |
|  | |
|  | |
| case $state in | |
|   (command) | |
|     _describe -t commands "zeus subcommand" _1st_arguments | |
|     return | |
|   ;; | |
|  | |
|   (options) | |
|     case $line[1] in | |
|       (rake) | |
|         _zrake | |
|       ;; | |
|       (generate|g|destroy|d) | |
|         _rails_generate_arguments | |
|         _wanted generate_arguments expl 'all generate' compadd -a generate_arguments | |
|       ;; | |
|     esac | |
|   ;; | |
| esac
 | |
| 
 |