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

Sergey V sftp.mtuci at gmail.com
Mon May 2 10:27:35 UTC 2011


The following commit has been merged in the master branch:
commit a31ce051b6f9f741abbaaa1daa3613f6d41db8cf
Author: Sergey V <sftp.mtuci at gmail.com>
Date:   Fri Nov 5 16:46:05 2010 +0300

    slackware: added sbopkg completion

diff --git a/completions/slackware b/completions/slackware
index 7673b3d..4a28fad 100644
--- a/completions/slackware
+++ b/completions/slackware
@@ -150,4 +150,55 @@ _slapt-src()
     COMPREPLY=( $( grep "^SLACKBUILD NAME: $cur" "$slck_data" | cut -f3- -d\  ) )
 } && complete -F _slapt-src slapt-src
 
+have sbopkg &&
+_sbopkg()
+{
+    COMPREPLY=()
+    local cur prev
+    _get_comp_words_by_ref cur prev
+
+    case $prev in
+	-f)
+	    _filedir
+	    return 0
+	    ;;
+	-s|-g)
+	    return 0
+	    ;;
+	-V)
+	    COMPREPLY='?'
+	    return 0;
+	    ;;
+	-i|-b)
+	    COMPREPLY=( $( grep "^SLACKBUILD NAME: $cur" \
+		/var/lib/sbopkg/SBo/13.1/SLACKBUILDS.TXT | cut -f3- -d\  ) )
+	    return 0
+	    ;;
+    esac
+
+    local config=/etc/sbopkg/sbopkg.conf
+
+    for (( i=${#words[@]}-1; i>0; i-- )); do
+	if [[ ${words[i]} == '-f' ]]; then
+	    config="${words[i+1]}"
+	    break
+	fi
+    done
+
+    if [ ! -r "$config" ]; then
+	return 0
+    fi
+
+    if [[ "$cur" == --* ]]; then
+	COMPREPLY=( $( compgen -W '--help' -- "$cur" ) )
+	return 0
+    fi
+
+    if [[ "$cur" == -* ]]; then
+	COMPREPLY=( $( compgen -W '-b -c -d -e -f -g -h -i -k -l \
+				   -o -P -p -q -R -r -s -u -V -v' -- "$cur" ) )
+	return 0
+    fi
+} && complete -F _sbopkg sbopkg -o plusdirs
+
 }

-- 
bash-completion



More information about the Bash-completion-commits mailing list