| 1 |
pva |
1.17 |
# Copyright 1999-2008 Gentoo Foundation
|
| 2 |
ka0ttic |
1.1 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
darkside |
1.21 |
# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion.eclass,v 1.20 2009/02/20 06:45:12 darkside Exp $
|
| 4 |
pva |
1.17 |
|
| 5 |
|
|
# @ECLASS: bash-completion.eclass
|
| 6 |
|
|
# @MAINTAINER:
|
| 7 |
|
|
# shell-tools@gentoo.org.
|
| 8 |
ka0ttic |
1.1 |
#
|
| 9 |
pva |
1.17 |
# Original author: Aaron Walker <ka0ttic@gentoo.org>
|
| 10 |
|
|
# @BLURB: An Interface for installing contributed bash-completion scripts
|
| 11 |
|
|
# @DESCRIPTION:
|
| 12 |
ka0ttic |
1.1 |
# Simple eclass that provides an interface for installing
|
| 13 |
|
|
# contributed (ie not included in bash-completion proper)
|
| 14 |
|
|
# bash-completion scripts.
|
| 15 |
pva |
1.17 |
|
| 16 |
|
|
# @ECLASS-VARIABLE: BASH_COMPLETION_NAME
|
| 17 |
|
|
# @DESCRIPTION:
|
| 18 |
|
|
# Install the completion script with this name (see also dobashcompletion)
|
| 19 |
ka0ttic |
1.1 |
|
| 20 |
ka0ttic |
1.5 |
EXPORT_FUNCTIONS pkg_postinst
|
| 21 |
ka0ttic |
1.1 |
|
| 22 |
swegener |
1.15 |
IUSE="bash-completion"
|
| 23 |
ka0ttic |
1.3 |
|
| 24 |
darkside |
1.18 |
RDEPEND="bash-completion? ( app-admin/eselect )"
|
| 25 |
ka0ttic |
1.1 |
|
| 26 |
pva |
1.17 |
# @FUNCTION: dobashcompletion
|
| 27 |
|
|
# @USAGE: < file > [ new_file ]
|
| 28 |
|
|
# @DESCRIPTION:
|
| 29 |
|
|
# First arg, <file>, is required and is the location of the bash-completion
|
| 30 |
ka0ttic |
1.9 |
# script to install. If the variable BASH_COMPLETION_NAME is set in the
|
| 31 |
|
|
# ebuild, dobashcompletion will install <file> as
|
| 32 |
|
|
# /usr/share/bash-completion/$BASH_COMPLETION_NAME. If it is not set,
|
| 33 |
pva |
1.17 |
# dobashcompletion will check if a second arg [new_file] was passed, installing as
|
| 34 |
ka0ttic |
1.9 |
# the specified name. Failing both these checks, dobashcompletion will
|
| 35 |
|
|
# install the file as /usr/share/bash-completion/${PN}.
|
| 36 |
ka0ttic |
1.1 |
dobashcompletion() {
|
| 37 |
ka0ttic |
1.6 |
[[ -z "$1" ]] && die "usage: dobashcompletion <file> <new file>"
|
| 38 |
ka0ttic |
1.7 |
[[ -z "${BASH_COMPLETION_NAME}" ]] && BASH_COMPLETION_NAME="${2:-${PN}}"
|
| 39 |
|
|
|
| 40 |
ka0ttic |
1.1 |
if useq bash-completion ; then
|
| 41 |
|
|
insinto /usr/share/bash-completion
|
| 42 |
ka0ttic |
1.6 |
newins "$1" "${BASH_COMPLETION_NAME}" || die "Failed to install $1"
|
| 43 |
ka0ttic |
1.1 |
fi
|
| 44 |
|
|
}
|
| 45 |
ka0ttic |
1.5 |
|
| 46 |
pva |
1.17 |
# @FUNCTION: bash-completion_pkg_postinst
|
| 47 |
|
|
# @DESCRIPTION:
|
| 48 |
|
|
# The bash-completion pkg_postinst function, which is exported
|
| 49 |
ka0ttic |
1.5 |
bash-completion_pkg_postinst() {
|
| 50 |
|
|
if useq bash-completion ; then
|
| 51 |
darkside |
1.19 |
elog "To enable command-line completion for ${PN}, run:"
|
| 52 |
|
|
elog
|
| 53 |
|
|
elog " eselect bashcomp enable ${BASH_COMPLETION_NAME:-${PN}}"
|
| 54 |
|
|
elog
|
| 55 |
|
|
elog "to install locally, or"
|
| 56 |
|
|
elog
|
| 57 |
darkside |
1.20 |
elog " eselect bashcomp enable --global ${BASH_COMPLETION_NAME:-${PN}}"
|
| 58 |
darkside |
1.19 |
elog
|
| 59 |
|
|
elog "to install system-wide."
|
| 60 |
ka0ttic |
1.5 |
fi
|
| 61 |
|
|
}
|