diff options
author | Ulrich Müller <ulm@gentoo.org> | 2014-06-05 13:21:31 +0200 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2014-06-05 13:21:31 +0200 |
commit | 5df2ce07583dc623dd6b6caec17d9e73bfb47e1d (patch) | |
tree | 7ca48342036fdd7aa77e61100505d5fb4e1f5e20 /misc | |
parent | Always parse global options. Respect "--". (diff) | |
download | eselect-5df2ce07583dc623dd6b6caec17d9e73bfb47e1d.tar.gz eselect-5df2ce07583dc623dd6b6caec17d9e73bfb47e1d.tar.bz2 eselect-5df2ce07583dc623dd6b6caec17d9e73bfb47e1d.zip |
eselect.bashcomp: Improve handling of options followed by an equals sign.
* misc/eselect.bashcomp (_eselect): Improve handling of options
that are followed by an equals sign.
Diffstat (limited to 'misc')
-rw-r--r-- | misc/eselect.bashcomp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/misc/eselect.bashcomp b/misc/eselect.bashcomp index da3e55b..bd5afe3 100644 --- a/misc/eselect.bashcomp +++ b/misc/eselect.bashcomp @@ -8,7 +8,7 @@ _eselect() { local cur sedcmd2 sedcmd3 possibles - local options="--brief --color --colour" + local options="--brief --color= --colour=" COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" sedcmd2='s/^ \([[:alnum:]-][[:alnum:]_-]*\)[[:space:],].*$/\1/p' @@ -17,6 +17,7 @@ _eselect() { set -- "${COMP_WORDS[@]:1}" # skip global options while [[ $# -gt 1 && $1 == -* ]]; do + [[ $2 == "=" ]] && shift 2 shift done # skip any subaction options @@ -38,8 +39,10 @@ _eselect() { ;; esac - [[ -n "${possibles}" ]] && \ + if [[ -n "${possibles}" ]]; then COMPREPLY=( $(compgen -W "${possibles}" -- ${cur}) ) + [[ ${COMPREPLY[0]} == *= ]] && compopt -o nospace + fi return 0 } |