diff options
Diffstat (limited to 'Completion/Unix')
-rw-r--r-- | Completion/Unix/Command/_python | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_python b/Completion/Unix/Command/_python index 02697bff4..bb048fc68 100644 --- a/Completion/Unix/Command/_python +++ b/Completion/Unix/Command/_python @@ -1,11 +1,17 @@ #compdef python +# Python 2.4 + +local curcontext="$curcontext" state line +typeset -A opt_args + _arguments -s -S \ '(1 -)-c+[program passed in as string (terminates option list)]:python command:' \ '-d[debug output from parser]' \ '-E[ignore environment variables (such as PYTHONPATH)]' \ '(1 * -)-h[display help information]' \ '-i[inspect interactively after running script]' \ + '(1 * -)-m[run library module as a script (terminates option list)]:module:->modules' \ '-O[optimize generated bytecode]' \ '-OO[remove doc-strings in addition to the -O optimizations]' \ '-Q+[division options]:division option:(old warn warnall new)' \ @@ -20,4 +26,13 @@ _arguments -s -S \ '(-)1:script file:_files -g "*.py(|c|o)(-.)"' \ '*:script argument:_files' && return +if [[ "$state" = modules ]]; then + local -a modules + modules=( + ${${=${(f)"$(_call_program modules $words[1] -c \ + 'from\ pydoc\ import\ help\;\ help\(\"modules\"\)')"}[2,-3]}:#\(package\)} + ) + _wanted modules expl module compadd -a modules +fi + return 1 |