40 lines
986 B
Bash
40 lines
986 B
Bash
# 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
|