blob: 2cf298769045375bbe24dc71b9c72c5c10760b51 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# pydoc completion -*- shell-script -*-
_comp_cmd_pydoc()
{
local cur prev words cword comp_args
_comp_initialize -- "$@" || return
case $prev in
-k | -p)
return
;;
-w)
_comp_compgen_filedir
return
;;
esac
if [[ $cur == -* ]]; then
_comp_compgen_help - <<<"$("$1" | command sed -e "s/^pydoc3\{0,1\} //")"
return
fi
_comp_compgen -- -W 'keywords topics modules'
if ! _comp_looks_like_path "$cur"; then
# Prefer python in the same dir for resolving modules
local pathcmd
pathcmd=$(type -P "$1") && local PATH=${pathcmd%/*}:$PATH
_comp_compgen -ax python modules
fi
# Note that we don't do "pydoc modules" as it is known to hang on
# some systems; _comp_xfunc_python_modules tends to work better and faster.
_comp_compgen -a split -- "$("$1" keywords topics |
command sed -e '/^Here/d')"
_comp_compgen -a filedir py
} &&
complete -F _comp_cmd_pydoc pydoc pydoc3
# ex: filetype=sh
|