diff options
Diffstat (limited to 'completions/dmypy')
-rw-r--r-- | completions/dmypy | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/completions/dmypy b/completions/dmypy index a8c07437..5abe37d7 100644 --- a/completions/dmypy +++ b/completions/dmypy @@ -6,7 +6,7 @@ _dmypy() _init_completion || return case $prev in - --help|--version|-[hV]) + --help | --version | -[hV]) return ;; --status-file) @@ -16,32 +16,33 @@ _dmypy() esac local cmd i - for (( i=1; i < cword; i++ )); do - if [[ ${words[i]} != -* && ${words[i-1]} != --status-file ]]; then + for ((i = 1; i < cword; i++)); do + if [[ ${words[i]} != -* && ${words[i - 1]} != --status-file ]]; then cmd=${words[i]} break fi done - case $cmd in - check|run) + case ${cmd-} in + check | run) _filedir '@(py|pyi)' return + ;; esac if [[ $cur == -* ]]; then - COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") ) + COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) return fi - if [[ ! $cmd ]]; then - local cmds=$($1 --help 2>&1 \ - | command sed -ne '/positional arguments/{p;n;p;q}' \ - | command sed -ne 's/{\(.*\)}/\1/p') - COMPREPLY=( $(IFS="," compgen -W '$cmds' -- "$cur") ) + if [[ ! -v cmd ]]; then + local cmds=$($1 --help 2>&1 | + command sed -ne '/positional arguments/{p;n;p;q}' | + command sed -ne 's/{\(.*\)}/\1/p') + COMPREPLY=($(IFS="," compgen -W '$cmds' -- "$cur")) return fi } && -complete -F _dmypy dmypy + complete -F _dmypy dmypy # ex: filetype=sh |