[yum-commits] Branch 'yum-3_2_X' - etc/yum.bash

Ville Skyttä scop at osuosl.org
Mon Jul 4 21:26:40 UTC 2011


 etc/yum.bash |   30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

New commits:
commit 2306a7431c74f88ee2e9b68c024331cf47ee0a71
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Tue Jul 5 00:23:46 2011 +0300

    Implement install/erase/etc @group completion.

diff --git a/etc/yum.bash b/etc/yum.bash
index f1e06e8..c87566d 100644
--- a/etc/yum.bash
+++ b/etc/yum.bash
@@ -89,6 +89,16 @@ _yum_transactions()
         sed -ne 's/^[[:space:]]*\([0-9]\{1,\}\).*/\1/p' )" -- "$cur" ) )
 }
 
+_yum_atgroups()
+{
+    if [[ $1 == \@* ]]; then
+        _yum_grouplist "" "${1:1}"
+        COMPREPLY=( "${COMPREPLY[@]/#/@}" )
+        return 0
+    fi
+    return 1
+}
+
 # arguments:
 #   1 = current word to be completed
 #   2 = previous word
@@ -231,13 +241,15 @@ _yum()
             ;;
 
         downgrade|reinstall)
-            _yum_binrpmfiles "$cur"
-            _yum_list installed "$cur"
+            if ! _yum_atgroups "$cur" ; then
+                _yum_binrpmfiles "$cur"
+                _yum_list installed "$cur"
+            fi
             return 0
             ;;
 
         erase|remove)
-            _yum_list installed "$cur"
+            _yum_atgroups "$cur" || _yum_list installed "$cur"
             return 0
             ;;
 
@@ -288,8 +300,10 @@ _yum()
             ;;
 
         install)
-            _yum_binrpmfiles "$cur"
-            _yum_list available "$cur"
+            if ! _yum_atgroups "$cur" ; then
+                _yum_binrpmfiles "$cur"
+                _yum_list available "$cur"
+            fi
             return 0
             ;;
 
@@ -318,8 +332,10 @@ _yum()
             ;;
 
         update|upgrade)
-            _yum_binrpmfiles "$cur"
-            _yum_list updates "$cur"
+            if ! _yum_atgroups "$cur" ; then
+                _yum_binrpmfiles "$cur"
+                _yum_list updates "$cur"
+            fi
             return 0
             ;;
         version)


More information about the Yum-commits mailing list