[Bash-completion-commits] [SCM] bash-completion branch, master, updated. a874b65b0e0558c73da2eb652d5608bc5e3ba235

Ville Skyttä ville.skytta at iki.fi
Tue Oct 20 06:39:02 UTC 2009


The following commit has been merged in the master branch:
commit a874b65b0e0558c73da2eb652d5608bc5e3ba235
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Tue Oct 20 09:38:33 2009 +0300

    Add lftp option completion, simplify bookmark parsing, complete on hostnames.

diff --git a/CHANGES b/CHANGES
index 83902b5..fa4e7c6 100644
--- a/CHANGES
+++ b/CHANGES
@@ -15,7 +15,7 @@ bash-completion (1.x)
   * Apply cardctl completion to pccardctl too.
   * Apply pine completion to alpine too.
   * Remove many unnecessary short option completions where long ones exist.
-  * Improve cvs, gkrellm, mdadm, and mysqladmin completions.
+  * Improve cvs, gkrellm, lftp, mdadm, and mysqladmin completions.
   * Add wtf completion, based on work by Raphaël Droz.
   * Add lftpget completion.
 
diff --git a/contrib/lftp b/contrib/lftp
index a96d933..7901a70 100644
--- a/contrib/lftp
+++ b/contrib/lftp
@@ -3,20 +3,33 @@
 have lftp &&
 _lftp()
 {
-    local cur
+    local cur prev
 
     COMPREPLY=()
     cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
 
-    if [ $COMP_CWORD -eq 1 ] && [ -f ~/.lftp/bookmarks ]; then
-        COMPREPLY=( $( compgen -W '$( sed -ne "s/^\(.*\)'$'\t''.*$/\1/p" \
-            ~/.lftp/bookmarks )' -- "$cur" ) )
+    case "$prev" in
+        -f)
+            _filedir
+            return 0
+            ;;
+        -c|-h|--help|-v|--version|-e|-u|-p)
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]] ; then
+        COMPREPLY=( $( compgen -W '-f -c --help --version -e -u -p' \
+            -- "$cur" ) )
+        return 0
     fi
 
-    return 0
+    COMPREPLY=( $( compgen -W \
+        '$( cut -f 1 -s ~/.lftp/bookmarks 2>/dev/null )' -- "$cur" ) )
+    _known_hosts_real "$cur"
 } &&
-complete -F _lftp $default lftp
-
+complete -F _lftp $filenames lftp
 have lftpget &&
 _lftpget()
 {

-- 
bash-completion



More information about the Bash-completion-commits mailing list