summaryrefslogtreecommitdiff
path: root/completions/pylint
blob: 35655964f319fa98273514e5fcbed58896521c02 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# pylint(1) completion                                     -*- shell-script -*-

_pylint()
{
    local cur prev words cword split
    _init_completion -s || return

    local python=python; [[ ${1##*/} == *3* ]] && python=python3

    case $prev in
        --version|--help|--long-help|--help-msg|--init-hook|--ignore|--enable|\
        --evaluation|--max-line-length|--max-module-lines|\
        --indent-string|--min-similarity-lines|--max-args|\
        --ignored-argument-names|--max-locals|--max-returns|--max-branchs|\
        --max-statements|--max-parents|--max-attributes|--min-public-methods|\
        --max-public-methods|--required-attributes|--bad-functions|\
        --module-rgx|--const-rgx|--class-rgx|--function-rgx|--method-rgx|\
        --attr-rgx|--argument-rgx|--variable-rgx|--inlinevar-rgx|--good-names|\
        --bad-names|--no-docstring-rgx|--dummy-variables-rgx|\
        --additional-builtins|--notes|--ignored-classes|--generated-members|\
        --overgeneral-exceptions|--ignore-iface-methods|\
        --defining-attr-methods|--valid-classmethod-first-arg|\
        --valid-metaclass-classmethod-first-arg|-!(-*)[he])
            return
            ;;
        --disable|-!(-*)d)
            COMPREPLY=( $(compgen -W 'all' -- "$cur") )
            return
            ;;
        --rcfile)
            _filedir
            return
            ;;
        --persistent|--include-ids|--symbols|--files-output|--reports|\
        --comment|--ignore-comments|--ignore-docstrings|--ignore-imports|\
        --init-import|--ignore-mixin-members|--zope|--suggestion-mode|\
        -!(-*)[isr])
            COMPREPLY=( $(compgen -W 'yes no' -- "$cur") )
            return
            ;;
        --load-plugins|--deprecated-modules)
            local prefix=; [[ $cur == *,* ]] && prefix="${cur%,*},"
            cur="${cur##*,}"
            _xfunc python _python_modules $python
            [[ ${#COMPREPLY[@]} -eq 1 ]] && COMPREPLY=( ${COMPREPLY/#/$prefix} )
            return
            ;;
        --jobs|-!(-*)j)
            COMPREPLY=( $(compgen -W "{1..$(_ncpus)}" -- "$cur") )
            return
            ;;
        --confidence)
            local prefix=; [[ $cur == *,* ]] && prefix="${cur%,*},"
            COMPREPLY=( $(compgen -W "HIGH INFERENCE INFERENCE_FAILURE
                UNDEFINED" -- "${cur##*,}") )
            [[ ${#COMPREPLY[@]} -eq 1 ]] && COMPREPLY=( ${COMPREPLY/#/$prefix} )
            return
            ;;
        --format|-!(-*)f)
            COMPREPLY=( $(compgen -W 'text parseable colorized json msvs' \
                -- "$cur") )
            return
            ;;
        --import-graph|--ext-import-graph|--int-import-graph)
            _filedir dot
            return
            ;;
    esac

    $split && return

    if [[ $cur == -* ]]; then
        COMPREPLY=( $(compgen -W \
            '$(_parse_help "$1" --long-help)' -- "$cur") )
        [[ $COMPREPLY == *= ]] && compopt -o nospace
        return
    fi

    [[ $cur == @(.|*/)* ]] || _xfunc python _python_modules $python
    _filedir py
} &&
complete -F _pylint pylint pylint-2 pylint-3

# ex: filetype=sh