| 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.8 2005/01/02 11:56:08 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 | ECLASS="bash-completion" |
|
|
14 | INHERITED="${INHERITED} ${ECLASS}" |
| 13 | EXPORT_FUNCTIONS pkg_postinst |
15 | EXPORT_FUNCTIONS pkg_postinst |
| 14 | |
16 | |
| 15 | IUSE="bash-completion" |
17 | IUSE="${IUSE} bash-completion" |
| 16 | |
18 | |
| 17 | # bash-completion-config is deprecated in favor of eselect, |
19 | RDEPEND="${RDEPEND} |
| 18 | # however, eselect currently lacks stable keywords. |
20 | bash-completion? ( app-shells/bash-completion-config )" |
| 19 | RDEPEND="bash-completion? |
|
|
| 20 | ( || ( |
|
|
| 21 | app-admin/eselect |
|
|
| 22 | app-shells/bash-completion-config |
|
|
| 23 | ) |
|
|
| 24 | )" |
|
|
| 25 | |
21 | |
| 26 | # dobashcompletion <file> <new file> |
22 | # dobashcompletion <file> <new file> |
| 27 | # First arg, <file>, is required and is the location of the bash-completion |
23 | # 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 |
24 | # script to install. Second arg, <new file>, is optional and specifies an |
| 29 | # ebuild, dobashcompletion will install <file> as |
25 | # 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 | |
26 | |
| 35 | dobashcompletion() { |
27 | dobashcompletion() { |
| 36 | [[ -z "$1" ]] && die "usage: dobashcompletion <file> <new file>" |
28 | [[ -z "$1" ]] && die "usage: dobashcompletion <file> <new file>" |
| 37 | [[ -z "${BASH_COMPLETION_NAME}" ]] && BASH_COMPLETION_NAME="${2:-${PN}}" |
29 | [[ -z "${BASH_COMPLETION_NAME}" ]] && BASH_COMPLETION_NAME="${2:-${PN}}" |
| 38 | |
30 | |
| … | |
… | |
| 45 | bash-completion_pkg_postinst() { |
37 | bash-completion_pkg_postinst() { |
| 46 | if useq bash-completion ; then |
38 | if useq bash-completion ; then |
| 47 | echo |
39 | echo |
| 48 | einfo "To enable command-line completion for ${PN}, run:" |
40 | einfo "To enable command-line completion for ${PN}, run:" |
| 49 | einfo |
41 | 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}}" |
42 | einfo " bash-completion-config --install ${BASH_COMPLETION_NAME}" |
| 54 | einfo |
43 | einfo |
| 55 | einfo "to install locally, or" |
44 | einfo "to install locally, or" |
| 56 | einfo |
45 | einfo |
| 57 | einfo " bash-completion-config --global --install ${BASH_COMPLETION_NAME:-${PN}}" |
46 | einfo " bash-completion-config --global --install ${BASH_COMPLETION_NAME}" |
| 58 | einfo |
47 | einfo |
| 59 | einfo "to install system-wide." |
48 | einfo "to install system-wide." |
| 60 | einfo "Read bash-completion-config(1) for more information." |
49 | einfo "Read bash-completion-config(1) for more information." |
| 61 | fi |
|
|
| 62 | echo |
50 | echo |
| 63 | fi |
51 | fi |
| 64 | } |
52 | } |