diff options
author | Ulrich Müller <ulm@gentoo.org> | 2009-04-16 09:13:50 +0000 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2009-04-16 09:13:50 +0000 |
commit | 22056bfa576372221f8751a0d628533f0c7f6295 (patch) | |
tree | 89444f9183f1be951864fef9048af50460ba81a1 /misc | |
parent | Suppress error messages from pgrep and kill, bugs 174354 and 264734. (diff) | |
download | eselect-22056bfa576372221f8751a0d628533f0c7f6295.tar.gz eselect-22056bfa576372221f8751a0d628533f0c7f6295.tar.bz2 eselect-22056bfa576372221f8751a0d628533f0c7f6295.zip |
Suppress Killed message in bash-completion module. Fixes bug 218557.
svn path=/trunk/; revision=431
Diffstat (limited to 'misc')
-rw-r--r-- | misc/eselect.bashcomp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/misc/eselect.bashcomp b/misc/eselect.bashcomp index db19d2e..4d38aac 100644 --- a/misc/eselect.bashcomp +++ b/misc/eselect.bashcomp @@ -1,4 +1,4 @@ -# Copyright 1999-2005 Gentoo Foundation +# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -6,18 +6,22 @@ # Author: Aaron Walker <ka0ttic@gentoo.org> _eselect() { - local cur prev sedcmd possibles + local cur sedcmd possibles COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - sedcmd='sed -n -e s/^[[:space:]]\+.*1m\([^[:space:]][[:alnum:]-]\+\).*[[:space:]]\+.*$/\1/p' + sedcmd='s/^ \([[:alnum:]_-]\+\)[[:space:],].*$/\1/p' - if [[ ${COMP_CWORD} -eq 1 ]] || [[ -n "${prev}" && ${prev} == -* ]] - then - possibles="$(eselect help | ${sedcmd})" - elif eselect ${prev} usage &>/dev/null ; then - possibles=$(eselect ${prev} usage | ${sedcmd}) - fi + set - "${COMP_WORDS[@]:1}" + while [[ $# -gt 1 && $1 == -* ]]; do + shift + done + + case $# in + 1) possibles=$(eselect --no-colour help 2>/dev/null \ + | sed -n -e "${sedcmd}") ;; + 2) possibles=$(eselect --no-colour "$1" usage 2>/dev/null \ + | sed -n -e "${sedcmd}") ;; + esac [[ -n "${possibles}" ]] && \ COMPREPLY=( $(compgen -W "${possibles}" -- ${cur}) ) |