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
- 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
- then
- engines_not_installed+=$engine
- fi
- done
- fi
- }
- local 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 \
- \
- \
- \
- \
- \
- \
- \
- \
- \
- \
-
- 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
|