bower.plugin.zsh 792 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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