[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 2.0-111-gf1100ef

Ville Skyttä ville.skytta at iki.fi
Sat Feb 2 09:36:15 UTC 2013


The following commit has been merged in the master branch:
commit 0e8d34e6bda72787b6b9833e042d3f55d73a4288
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Sat Feb 2 10:46:12 2013 +0200

    python, pydoc: Add module completion.

diff --git a/completions/pydoc b/completions/pydoc
index c16295d..16adb86 100644
--- a/completions/pydoc
+++ b/completions/pydoc
@@ -23,8 +23,9 @@ _pydoc()
     fi
 
     COMPREPLY=( $( compgen -W 'keywords topics modules' -- "$cur" ) )
+    local python=python; [[ $1 == *3* ]] && python=python3
+    _xfunc python _python_modules $python
     _filedir py
-    # TODO: more completions: modules, ...
 } &&
 complete -F _pydoc pydoc pydoc3
 
diff --git a/completions/python b/completions/python
index 969f3b9..9c7cec1 100644
--- a/completions/python
+++ b/completions/python
@@ -1,12 +1,22 @@
 # bash completion for python                               -*- shell-script -*-
 
+_python_modules()
+{
+    COMPREPLY+=( $( compgen -W "$( ${1:-python} -c 'import pkgutil
+for mod in pkgutil.iter_modules(): print(mod[1])' )" 2>/dev/null -- "$cur" ) )
+}
+
 _python()
 {
     local cur prev words cword
     _init_completion || return
 
     case $prev in
-        -'?'|-h|--help|-V|--version|-c|-m)
+        -'?'|-h|--help|-V|--version|-c)
+            return 0
+            ;;
+        -m)
+            _python_modules "$1"
             return 0
             ;;
         -Q)

-- 
bash-completion



More information about the Bash-completion-commits mailing list