[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 1.3-235-g26ae770

Igor Murzov igor at gplsoft.org
Mon May 2 10:27:00 UTC 2011


The following commit has been merged in the master branch:
commit b1b192cac9164a4f5d01717fa825a2b3643dbd1d
Author: Igor Murzov <igor at gplsoft.org>
Date:   Mon Jul 5 02:08:42 2010 +0400

    Add initial slapt-get completion
    
    not all options work properly now:
    --install and --install-set should be improved

diff --git a/contrib/slackware b/contrib/slackware
index 190ad84..816faa3 100644
--- a/contrib/slackware
+++ b/contrib/slackware
@@ -12,3 +12,51 @@ _rpm2tgz()
 
     COMPREPLY=( $(compgen -f -X "!*.rpm" -- "$cur") )
 } && complete -F _rpm2tgz -o plusdirs rpm2tgz rpm2targz
+
+have slapt-get && [ -f /etc/slackware-version ] &&
+_slapt-get()
+{
+    COMPREPLY=()
+    local cur prev
+    _get_comp_words_by_ref cur prev
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '--download-only -d --simulate -s \
+            --no-prompt -y --prompt -p --reinstall --ignore-excludes \
+            --no-md5 --ignore-dep --no-dep --print-uris --show-stats -S \
+            --config -c --remove-obsolete --retry --no-upgrade \
+            --update -u --upgrade --dist-upgrade --install -i --install-set \
+            --remove --show --filelist --search --list --available \
+            --installed --clean --autoclean --add-keys --version' \
+                -- "$cur" ) )
+        return 0
+    fi
+
+    case $prev in
+        --config|-c)
+            _filedir
+            return 0
+            ;;
+        --retry|--search)
+            # argument required but no completions available
+            return 0
+            ;;
+        --install|-i|--show|--filelist)
+            COMPREPLY=( $( slapt-get --search "^$cur" 2> /dev/null | \
+                awk '{print $1}' ) )
+            return 0
+            ;;
+        --install-set)
+            COMPREPLY=( $( compgen -W 'a ap d e f k kde kdei l n t tcl x \
+                xap y' -- "$cur" ) )
+            return 0
+            ;;
+        --remove)
+            COMPREPLY=( $( (cd /var/log/packages; compgen -f -- "$cur") ) )
+            return 0
+            ;;
+    esac
+
+    COMPREPLY=( $( slapt-get --search "^$cur" 2> /dev/null | \
+        awk '{print $1}' ) )
+} && complete -F _slapt-get slapt-get

-- 
bash-completion



More information about the Bash-completion-commits mailing list