File: pydoc

package info (click to toggle)
bash-completion 1%3A2.1-4.3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 7,740 kB
  • sloc: exp: 8,230; makefile: 948; sh: 727; perl: 59; python: 26; xml: 13; ansic: 6
file content (39 lines) | stat: -rw-r--r-- 986 bytes parent folder | download | duplicates (3)
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
# 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