blob: 9ac61f18797362811058f48acb2405bf8948b23e (
plain)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
case ${PV} in
99999999*)
LIVE=:
EGIT_REPO_URI="git://github.com/zsh-users/${PN}.git"
inherit git-r3
PROPERTIES="live"
KEYWORDS=""
SRC_URI="";;
*)
LIVE=false
#RESTRICT="mirror"
TARBALL_VERSION='0.12.0'
SRC_URI="https://github.com/zsh-users/${PN}/archive/${TARBALL_VERSION}.tar.gz -> ${PN}-${PV}.tar.gz"
KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/${PN}-${TARBALL_VERSION}"
esac
DESCRIPTION="Additional completion definitions for Zsh"
HOMEPAGE="https://gentoo.org/zsh-users/zsh-completions/"
LICENSE="ZSH"
SLOT="0"
if ${LIVE}
then DEPEND=""
else DEPEND=""
fi
IUSE=""
declare -a FILES
FILES=()
declare -A USEFILE FILEINDEX
USEFILE=()
FILEINDEX=()
used_value() {
case ${!1} in
'#'*)
eval "${1}=\${${1}#?}"
${LIVE};;
'/'*)
eval "${1}=\${${1}#?}"
! ${LIVE};;
esac
}
calculate_data() {
local comp curr currfile used
for comp
do curr="${comp%% *}"
used_value curr || continue
case ${curr} in
'+'*)
curr="completion_${curr#?}"
IUSE="${IUSE}${IUSE:+ }+${curr}";;
*)
curr="completion_${curr}"
IUSE="${IUSE}${IUSE:+ }${curr}";;
esac
for currfile in ${comp#* }
do used_value currfile
used=${?}
USEFILE["${currfile}"]="${curr}"
[[ -z ${FILEINDEX["${currfile}"]} ]] || die "${currfile} listed twice"
[ ${used} -ne 0 ] && continue
FILEINDEX["${currfile}"]="${#FILES[@]}"
FILES+=("${currfile}")
done
done
}
# Prepend # or / to mark only live/-nonlive categories or files
calculate_data \
'+Android _adb _android _emulator' \
'+Google _google' \
'+Unix _cmake _dzen2 _logger /_nl /_ps #_rebar #_setcap _shutdown /_watch _xinput /_zfs' \
'#+backup _tarsnap' \
'+database _redis-cli _pgsql_utils' \
'+dev _artisan _choc _console _geany /_gradle _phing _manage.py _mvn _pear _play _symfony _thor _vagrant _veewee' \
'+disk _sdd _smartmontools _srm' \
'+distribute _celery /_envoy _fab #_fleetctl _glances _kitchen _knife _mina _mussh' \
'+git _git-flow _git-pulls' \
'#+go _go' \
'#+gtk _gtk-launch' \
'+hardware _optirun _perf _primus' \
'+haskell /_cabal _ghc #_stack' \
'+managers #_ansible #_ansible-galaxy #_ansible-playbook #_ansible-vault _bower /_brew #_cask _debuild _lein _pactree _pkcon _port #_supervisorctl _yaourt' \
'+multimedia _id3 _id3v2 _showoff' \
'+net _dget _dhcpcd _httpie _iw /_mosh _rfkill _socat _ssh-copy-id _vpnc _vnstat' \
'+nfs _exportfs' \
'+perl _cpanm' \
'+python /_bpython _pygmentize _setup.py' \
'+ruby _bundle _cap _ditz _gas _gem _gist _github _git-wtf _jekyll _lunchy _rails _rspec _rubocop _rvm' \
'+search _ack _ag _jq' \
'+session _atach _teamocil _tmuxinator _wemux' \
'+subtitles _language_codes _periscope _subliminal' \
'+virtualization _boot2docker #_docker-machine _virtualbox _virsh' \
'+web _coffee _composer _docpad _drush _heroku #_hledger #_homestead _jonas _jmeter _jmeter-plugins _lunar _middleman #_mix _node _nvm _ralio /_salt _sbt _scala _svm'
src_prepare() {
# Remove colliding completions
if ! ${LIVE}
then mv src/_docker src/_pip . || die
fi
chmod a-x src/*
eapply_user
}
src_install() {
insinto /usr/share/zsh/site-functions
local i j u
for i in src/*
do j=${i#src/}
u=${USEFILE["${j}"]}
if [ -z "${u}" ]
then elog "installing unknown completion ${i#*/}"
doins "${i}"
continue
fi
! use "${u}" || doins "${i}"
u=${FILEINDEX["${j}"]}
FILES[${u}]=
done
for i in ${FILES[*]}
do elog "listed file ${i} not found"
done
dodoc README.md zsh-completions-howto.org
}
pkg_postinst() {
elog
elog "If you happen to compile your functions, you may need to delete"
elog "~/.zcompdump{,.zwc} and recompile to make the new completions available"
elog "to your shell."
elog
}
|