| 1 |
ka0ttic |
1.9 |
# Copyright 1999-2005 Gentoo Foundation
|
| 2 |
ka0ttic |
1.1 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
ka0ttic |
1.12 |
# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion.eclass,v 1.11 2005/05/08 01:35:58 ka0ttic Exp $
|
| 4 |
ka0ttic |
1.1 |
#
|
| 5 |
|
|
# Simple eclass that provides an interface for installing
|
| 6 |
|
|
# contributed (ie not included in bash-completion proper)
|
| 7 |
|
|
# bash-completion scripts.
|
| 8 |
|
|
#
|
| 9 |
|
|
# Author: Aaron Walker <ka0ttic@gentoo.org>
|
| 10 |
|
|
#
|
| 11 |
|
|
# Please assign any bug reports to shell-tools@gentoo.org.
|
| 12 |
|
|
|
| 13 |
|
|
ECLASS="bash-completion"
|
| 14 |
|
|
INHERITED="${INHERITED} ${ECLASS}"
|
| 15 |
ka0ttic |
1.5 |
EXPORT_FUNCTIONS pkg_postinst
|
| 16 |
ka0ttic |
1.1 |
|
| 17 |
|
|
IUSE="${IUSE} bash-completion"
|
| 18 |
ka0ttic |
1.3 |
|
| 19 |
ka0ttic |
1.8 |
RDEPEND="${RDEPEND}
|
| 20 |
|
|
bash-completion? ( app-shells/bash-completion-config )"
|
| 21 |
ka0ttic |
1.1 |
|
| 22 |
|
|
# dobashcompletion <file> <new file>
|
| 23 |
|
|
# First arg, <file>, is required and is the location of the bash-completion
|
| 24 |
ka0ttic |
1.9 |
# script to install. If the variable BASH_COMPLETION_NAME is set in the
|
| 25 |
|
|
# ebuild, dobashcompletion will install <file> as
|
| 26 |
|
|
# /usr/share/bash-completion/$BASH_COMPLETION_NAME. If it is not set,
|
| 27 |
|
|
# dobashcompletion will check if a second arg ($2) was passed, installing as
|
| 28 |
|
|
# the specified name. Failing both these checks, dobashcompletion will
|
| 29 |
|
|
# install the file as /usr/share/bash-completion/${PN}.
|
| 30 |
ka0ttic |
1.1 |
|
| 31 |
|
|
dobashcompletion() {
|
| 32 |
ka0ttic |
1.6 |
[[ -z "$1" ]] && die "usage: dobashcompletion <file> <new file>"
|
| 33 |
ka0ttic |
1.7 |
[[ -z "${BASH_COMPLETION_NAME}" ]] && BASH_COMPLETION_NAME="${2:-${PN}}"
|
| 34 |
|
|
|
| 35 |
ka0ttic |
1.1 |
if useq bash-completion ; then
|
| 36 |
|
|
insinto /usr/share/bash-completion
|
| 37 |
ka0ttic |
1.6 |
newins "$1" "${BASH_COMPLETION_NAME}" || die "Failed to install $1"
|
| 38 |
ka0ttic |
1.1 |
fi
|
| 39 |
|
|
}
|
| 40 |
ka0ttic |
1.5 |
|
| 41 |
|
|
bash-completion_pkg_postinst() {
|
| 42 |
|
|
if useq bash-completion ; then
|
| 43 |
|
|
echo
|
| 44 |
|
|
einfo "To enable command-line completion for ${PN}, run:"
|
| 45 |
ka0ttic |
1.8 |
einfo
|
| 46 |
ka0ttic |
1.12 |
if has_version app-admin/eselect ; then
|
| 47 |
|
|
einfo " eselect bashcomp enable ${BASH_COMPLETION_NAME:-${PN}}"
|
| 48 |
ka0ttic |
1.11 |
else
|
| 49 |
|
|
einfo " bash-completion-config --install ${BASH_COMPLETION_NAME:-${PN}}"
|
| 50 |
|
|
einfo
|
| 51 |
|
|
einfo "to install locally, or"
|
| 52 |
|
|
einfo
|
| 53 |
|
|
einfo " bash-completion-config --global --install ${BASH_COMPLETION_NAME:-${PN}}"
|
| 54 |
|
|
einfo
|
| 55 |
|
|
einfo "to install system-wide."
|
| 56 |
|
|
einfo "Read bash-completion-config(1) for more information."
|
| 57 |
|
|
fi
|
| 58 |
ka0ttic |
1.5 |
echo
|
| 59 |
|
|
fi
|
| 60 |
|
|
}
|