forked from cluther/zendev-scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzendev.sh
88 lines (85 loc) · 2.4 KB
/
zendev.sh
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# ZenPack Development Helpers
ZENPACKSOURCES="
--source=$ZENHOME/my-zenpacks
--source=$ZENHOME/cs-zenpacks
--source=$ZENHOME/community-zenpacks
--source=$ZENHOME/customer-zenpacks
--source=$ZENHOME/enterprise-zenpacks
--source=$ZENHOME/core-zenpacks
"
zp () {
case "${1}" in
cd)
cd "$(zpt $ZENPACKSOURCES --match $2)"
;;
cdr)
cd "$(zpt $ZENPACKSOURCES --match $2 --rootdir)"
;;
pushd)
pushd "$(zpt $ZENPACKSOURCES --match $2)"
;;
pushdr)
pushd "$(zpt $ZENPACKSOURCES --match $2 --rootdir)"
;;
visetup)
vi "$(zpt $ZENPACKSOURCES --match $2 --rootdir)/setup.py"
;;
mate)
mate "$(zpt $ZENPACKSOURCES --match $2)"
;;
mater)
mate "$(zpt $ZENPACKSOURCES --match $2 --rootdir)"
;;
install)
installPath="$(zpt $ZENPACKSOURCES --match $2 --rootdir)"
zenpack --link --install "${installPath}"
;;
remove)
zenpack --remove "$(zpt --match $2 --fullname)"
;;
build)
BEGINDIR=$(pwd)
if cd "$(zpt $ZENPACKSOURCES --match $2 --rootdir)"
then
rm -rf dist
python setup.py bdist_egg
cp dist/* $BEGINDIR
cd $BEGINDIR
else
echo "$2 not found."
fi
;;
*)
echo "Valid commands:"
echo " cd, cdr, pushd, pushdr"
echo " visetup, mate, mater"
echo " install, remove, build"
return 1
esac
}
_zp() {
local cur prev opts
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case "${prev}" in
cd|cdr|pushd|pushdr|mate|mater|install|build)
workdirs=$(zpt $ZENPACKSOURCES --shortcuts)
COMPREPLY=( $(compgen -W "${workdirs}" -- ${cur}) )
return 0
;;
remove)
workdirs=$(zpt --shortcuts)
COMPREPLY=( $(compgen -W "${workdirs}" -- ${cur}) )
return 0
;;
zp)
commands="cd cdr pushd pushdr mate mater install remove build"
COMPREPLY=( $(compgen -W "${commands}" -- ${cur}) )
return 0
;;
*)
return 0
;;
esac
}
complete -F _zp zp