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

Ville Skyttä ville.skytta at iki.fi
Sat Oct 23 11:39:25 UTC 2010


The following commit has been merged in the master branch:
commit d51ad46cd29d7bf09bdd883ad0aa6e7a2e4aba47
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Sat Oct 23 14:27:15 2010 +0300

    Improve _longopt --*=, --*dir*, --*file*, and --*path* completions.

diff --git a/bash_completion b/bash_completion
index 410ecef..fe99f90 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1485,21 +1485,23 @@ complete -F _root_command -o filenames sudo fakeroot really gksudo gksu kdesudo
 
 _longopt()
 {
-    local cur prev
-
-    _get_comp_words_by_ref cur prev
-
-    if _split_longopt; then
-        case "$prev" in
-            --*[Dd][Ii][Rr]*)
-                _filedir -d
-                ;;
-            --*[Ff][Ii][Ll][Ee]*|--*[Pp][Aa][Tt][Hh]*)
-                _filedir
-                ;;
-        esac
-        return 0
-    fi
+    local cur prev split=false
+    _get_comp_words_by_ref -n = cur prev
+
+    _split_longopt && split=true
+
+    case "$prev" in
+        --*[Dd][Ii][Rr]*)
+            _filedir -d
+            return 0
+            ;;
+        --*[Ff][Ii][Ll][Ee]*|--*[Pp][Aa][Tt][Hh]*)
+            _filedir
+            return 0
+            ;;
+    esac
+
+    $split && return 0
 
     if [[ "$cur" == -* ]]; then
         COMPREPLY=( $( compgen -W "$( $1 --help 2>&1 | \

-- 
bash-completion



More information about the Bash-completion-commits mailing list