[Bash-completion-commits] [SCM] bash-completion branch, master, updated. b69961b257f2fb5c515ab13b5d19a863d8076202
Ville Skyttä
ville.skytta at iki.fi
Mon Jun 8 21:41:18 UTC 2009
The following commit has been merged in the master branch:
commit b69961b257f2fb5c515ab13b5d19a863d8076202
Author: Ville Skyttä <ville.skytta at iki.fi>
Date: Tue Jun 9 00:41:14 2009 +0300
Use _split_longopt with yum, add some option (non-)completions.
diff --git a/CHANGES b/CHANGES
index 96ccdf0..96c2077 100644
--- a/CHANGES
+++ b/CHANGES
@@ -39,8 +39,8 @@ bash-completion (1.x)
* Split yum and yum-arch completion into contrib/yum.
* Install yum-arch completion only if yum-arch is installed.
* Update list of yum commands and options.
- * Add yum repolist, --enable/disablerepo, --disableexcludes, -d, and -e
- completions.
+ * Add yum repolist, --enable/disablerepo, --disableexcludes, -d, -e, and
+ --color completions.
* Add chkconfig --override and resetpriorities completions.
* Split mplayer and friends completions to contrib/mplayer.
* Parse top level mplayer and friends option completions from -list-options.
@@ -65,7 +65,7 @@ bash-completion (1.x)
take arguments in both "--foo bar" and "--foo=bar" formats.
* Use _split_longopt to improve and clean up aspell, chgrp, chown, chkconfig,
cpio, dpkg, iptables, make, mc, mii-diag, mii-tool, mkinitrd, pkg-config,
- postgresql, quota, samba, smartctl, and generic long option completion
+ postgresql, quota, samba, smartctl, yum, and generic long option completion
(Alioth: #311398).
* Add chown --from and --reference value completions.
* Add chgrp --reference value completion.
diff --git a/contrib/yum b/contrib/yum
index 0cf06d8..ac75785 100644
--- a/contrib/yum
+++ b/contrib/yum
@@ -30,7 +30,7 @@ _yum_repolist()
_yum()
{
- local cur prev special
+ local cur prev special split=false
COMPREPLY=()
cur=`_get_cword`
@@ -69,15 +69,7 @@ _yum()
esac
fi
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-h --help -t --tolerant -C -c -R \
- -d --showduplicates -e -q --quiet -v --verbose -y \
- --version --installroot --enablerepo --disablerepo -x \
- --exclude --disableexcludes --obsoletes --noplugins \
- --nogpgcheck --disableplugin --enableplugin \
- --skip-broken --color' -- $cur ) )
- return 0
- fi
+ _split_longopt && split=true
case $prev in
list)
@@ -118,6 +110,17 @@ _yum()
COMPREPLY=( $( compgen -W '$( _yum_repolist all ) \
all main' -- $cur ) )
;;
+ --color)
+ COMPREPLY=( $( compgen -W 'always auto never' -- $cur ))
+ ;;
+ -R|-x|--exclude)
+ # argument required but no completions available
+ return 0
+ ;;
+ -h|--help|--version)
+ # no other options useful with these
+ return 0
+ ;;
*)
COMPREPLY=( $( compgen -W 'install update \
check-update upgrade remove erase list info \
@@ -128,6 +131,18 @@ _yum()
help' -- $cur ) )
;;
esac
+
+ $split && return 0
+
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-h --help -t --tolerant -C -c -R \
+ -d --showduplicates -e -q --quiet -v --verbose -y \
+ --version --installroot --enablerepo --disablerepo -x \
+ --exclude --disableexcludes --obsoletes --noplugins \
+ --nogpgcheck --disableplugin --enableplugin \
+ --skip-broken --color' -- $cur ) )
+ return 0
+ fi
}
} &&
complete -F _yum $filenames yum
--
bash-completion
More information about the Bash-completion-commits
mailing list