39 lines
792 B
Bash
39 lines
792 B
Bash
|
alias bi="bower install"
|
||
|
alias bl="bower list"
|
||
|
alias bs="bower search"
|
||
|
|
||
|
bower_package_list=''
|
||
|
|
||
|
_bower ()
|
||
|
{
|
||
|
local curcontext="$curcontext" state line
|
||
|
typeset -A opt_args
|
||
|
|
||
|
_arguments -C \
|
||
|
':command:->command' \
|
||
|
'*::options:->options'
|
||
|
|
||
|
case $state in
|
||
|
(command)
|
||
|
|
||
|
local -a subcommands
|
||
|
subcommands=(${=$(bower help | grep help | sed -e 's/,//g')})
|
||
|
_describe -t commands 'bower' subcommands
|
||
|
;;
|
||
|
|
||
|
(options)
|
||
|
case $line[1] in
|
||
|
|
||
|
(install)
|
||
|
if [ -z "$bower_package_list" ];then
|
||
|
bower_package_list=$(bower search | awk 'NR > 2' | cut -d '-' -f 2 | cut -d ' ' -f 2 | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g")
|
||
|
fi
|
||
|
compadd "$@" $(echo $bower_package_list)
|
||
|
;;
|
||
|
esac
|
||
|
;;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
compdef _bower bower
|