diff options
Diffstat (limited to 'completions/pydoc')
-rw-r--r-- | completions/pydoc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/completions/pydoc b/completions/pydoc new file mode 100644 index 00000000..2783d174 --- /dev/null +++ b/completions/pydoc @@ -0,0 +1,39 @@ +# pydoc completion -*- shell-script -*- + +_pydoc() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -k|-p) + return + ;; + -w) + _filedir + return + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W \ + '$( "$1" | sed -e "s/^pydoc3\{0,1\} //" | _parse_help - )' \ + -- "$cur" ) ) + return + fi + + COMPREPLY=( $( compgen -W 'keywords topics modules' -- "$cur" ) ) + + local python=python; [[ $1 == *3* ]] && python=python3 + _xfunc python _python_modules $python + + # Note that we don't do "pydoc modules" as it is known to hang on + # some systems; _python_modules tends to work better and faster. + COMPREPLY+=( $( compgen -W \ + '$( $1 keywords topics | sed -e /^Here/d )' -- "$cur" ) ) + + _filedir py +} && +complete -F _pydoc pydoc pydoc3 + +# ex: ts=4 sw=4 et filetype=sh |