[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:44 UTC 2011


The following commit has been merged in the master branch:
commit 207789bc7e296a5de0e16e21165ef9d853cf288c
Author: Sergey V <sftp.mtuci at gmail.com>
Date:   Thu Jan 6 05:52:00 2011 +0300

    slackware: sbopkg: move sbopkg completion to separate file

diff --git a/completions/sbopkg b/completions/sbopkg
new file mode 100644
index 0000000..c1655ed
--- /dev/null
+++ b/completions/sbopkg
@@ -0,0 +1,83 @@
+# bash completion for sbopkg tool
+#
+# (c) Igor Murzov <igor at gplsoft.org>
+# (c) Sergey V. <sftp.mtuci at gmail.com>
+
+have sbopkg &&
+_sbopkg()
+{
+    COMPREPLY=()
+    local cur prev
+    _get_comp_words_by_ref cur prev
+
+    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
+
+    case $prev in
+        -e)
+            COMPREPLY=( $( compgen -W 'ask continue stop' -- "$cur" ) )
+            return 0
+            ;;
+        -f)
+            _filedir
+            return 0
+            ;;
+        -d)
+            _filedir -d
+            return 0
+            ;;
+        -s|-g)
+            # argument required but no completions available
+            return 0
+            ;;
+    esac
+
+    local config="/etc/sbopkg/sbopkg.conf"
+    local words
+    _get_comp_words_by_ref words
+
+    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
+
+    . $config
+
+    for (( i=1; i<${#words[@]}; i++ )); do
+        case "${words[i]}" in
+            '-V')
+                REPO_NAME="${words[i+1]%%/*}"
+                REPO_BRANCH="${words[i+1]#*/}"
+                ;;
+            '-d')
+                REPO_ROOT="${words[i+1]}"
+                ;;
+        esac
+    done
+
+    case $prev in
+        -V)
+            COMPREPLY=( $( compgen -W "? \
+                `sbopkg -V ? 2>&1 | cut -s -f1`" -- "$cur" ) )
+            return 0
+            ;;
+        -i|-b)
+            if [ ! -r "$REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT" ]; then
+                return 0
+            fi
+            COMPREPLY=( $( grep "^SLACKBUILD NAME: $cur" \
+                $REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT | cut -f3- -d\  ) )
+            return 0
+            ;;
+    esac
+
+} && complete -F _sbopkg sbopkg -o plusdirs
diff --git a/completions/slackware b/completions/slackware
index f3c48c4..c02e92f 100644
--- a/completions/slackware
+++ b/completions/slackware
@@ -149,84 +149,4 @@ _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
-
-    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
-
-    case $prev in
-        -e)
-            COMPREPLY=( $( compgen -W 'ask continue stop' -- "$cur" ) )
-            return 0
-            ;;
-        -f)
-            _filedir
-            return 0
-            ;;
-        -d)
-            _filedir -d
-            return 0
-            ;;
-        -s|-g)
-            # argument required but no completions available
-            return 0
-            ;;
-    esac
-
-    local config="/etc/sbopkg/sbopkg.conf"
-    local words
-    _get_comp_words_by_ref words
-
-    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
-
-    . $config
-
-    for (( i=1; i<${#words[@]}; i++ )); do
-        case "${words[i]}" in
-            '-V')
-                REPO_NAME="${words[i+1]%%/*}"
-                REPO_BRANCH="${words[i+1]#*/}"
-                ;;
-            '-d')
-                REPO_ROOT="${words[i+1]}"
-                ;;
-        esac
-    done
-
-    case $prev in
-        -V)
-            COMPREPLY=( $( compgen -W "? \
-                `sbopkg -V ? 2>&1 | cut -s -f1`" -- "$cur" ) )
-            return 0
-            ;;
-        -i|-b)
-            if [ ! -r "$REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT" ]; then
-                return 0
-            fi
-            COMPREPLY=( $( grep "^SLACKBUILD NAME: $cur" \
-            $REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT | cut -f3- -d\  ) )
-            return 0
-            ;;
-    esac
-
-} && complete -F _sbopkg sbopkg -o plusdirs
-
 }

-- 
bash-completion



More information about the Bash-completion-commits mailing list