12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #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
|