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.
		
		
		
		
		
			
		
			
				
					
					
						
							82 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
	
	
							82 lines
						
					
					
						
							2.4 KiB
						
					
					
				| #compdef codeclimate | |
|  | |
| _codeclimate_all_engines() { | |
|   engines_all=(`codeclimate engines:list | tail -n +2 | gawk '{ print $2 }' | gawk -F: '{ print $1 }'`) | |
| } | |
|  | |
| _codeclimate_installed_engines() { | |
|   _codeclimate_all_engines | |
|  | |
|   engines_installed=() | |
|  | |
|   if [ -e .codeclimate.yml ] | |
|   then | |
|     for engine in $engines_all | |
|     do | |
|       if grep -q $engine ".codeclimate.yml" | |
|       then | |
|         engines_installed+=$engine | |
|       fi | |
|     done | |
|   fi | |
| } | |
|  | |
| _codeclimate_not_installed_engines() { | |
|   _codeclimate_all_engines | |
|  | |
|   engines_not_installed=() | |
|  | |
|   if [ -e .codeclimate.yml ] | |
|   then | |
|     for engine in $engines_all | |
|     do | |
|       if ! grep -q $engine ".codeclimate.yml" | |
|       then | |
|         engines_not_installed+=$engine | |
|       fi | |
|     done | |
|   fi | |
| } | |
|  | |
| local curcontext="$curcontext" state line ret=1 | |
| local expl | |
| local -a engines_all engines_installed engines_not_installed | |
|  | |
| _arguments \ | |
|   '1: :->cmds' \ | |
|   '*:: :->args' && ret=0 | |
|  | |
| case $state in | |
|   cmds) | |
|     _values "bundle command" \ | |
|       "analyze[Analyze all relevant files in the current working directory]" \ | |
|       "console[Start an interactive session providing access to the classes within the CLI]" \ | |
|       "engines\:disable[Prevents the engine from being used in this project]" \ | |
|       "engines\:enable[This engine will be run the next time your project is analyzed]" \ | |
|       "engines\:install[Compares the list of engines in your .codeclimate.yml file to those that are currently installed, then installs any missing engines]" \ | |
|       "engines\:list[Lists all available engines in the Code Climate Docker Hub]" \ | |
|       "engines\:remove[Removes an engine from your .codeclimate.yml file]" \ | |
|       "help[Displays a list of commands that can be passed to the Code Climate CLI]" \ | |
|       "init[Generates a new .codeclimate.yml file in the current working directory]" \ | |
|       "validate-config[Validates the .codeclimate.yml file in the current working directory]" \ | |
|       "version[Displays the current version of the Code Climate CLI]" | |
|     ret=0 | |
|     ;; | |
|   args) | |
|     case $line[1] in | |
|       engines:enable) | |
|         _codeclimate_not_installed_engines | |
|         _wanted engines_not_installed expl 'not installed engines' compadd -a engines_not_installed ;; | |
|       engines:disable|engines:remove) | |
|         _codeclimate_installed_engines | |
|         _wanted engines_installed expl 'installed engines' compadd -a engines_installed ;; | |
|       analyze) | |
|         _arguments \ | |
|           '-f:Output Format:(text json)' | |
|         ret=0 | |
|         ;; | |
|     esac | |
|     ;; | |
| esac | |
|  | |
| return ret
 | |
| 
 |