mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 21:31:19 +08:00 
			
		
		
		
	Add codeclimate autocomplete plugin
This commit is contained in:
		
							parent
							
								
									0532860c61
								
							
						
					
					
						commit
						b08431ff74
					
				
							
								
								
									
										82
									
								
								plugins/codeclimate/_codeclimate
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								plugins/codeclimate/_codeclimate
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,82 @@
 | 
				
			|||||||
 | 
					#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
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user