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