summaryrefslogtreecommitdiff
path: root/completions/pydoc
diff options
context:
space:
mode:
Diffstat (limited to 'completions/pydoc')
-rw-r--r--completions/pydoc18
1 files changed, 10 insertions, 8 deletions
diff --git a/completions/pydoc b/completions/pydoc
index 0e750cbb..1e904885 100644
--- a/completions/pydoc
+++ b/completions/pydoc
@@ -16,21 +16,23 @@ _pydoc()
esac
if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W \
- '$( "$1" | command sed -e "s/^pydoc3\{0,1\} //" | _parse_help - )' \
- -- "$cur" ) )
+ COMPREPLY=( $(compgen -W \
+ '$("$1" | command sed -e "s/^pydoc3\{0,1\} //" | _parse_help -)' \
+ -- "$cur") )
return
fi
- COMPREPLY=( $( compgen -W 'keywords topics modules' -- "$cur" ) )
+ COMPREPLY=( $(compgen -W 'keywords topics modules' -- "$cur") )
- local python=python; [[ $1 == *3* ]] && python=python3
- _xfunc python _python_modules $python
+ if [[ $cur != @(.|*/)* ]]; then
+ local python=python; [[ ${1##*/} == *3* ]] && python=python3
+ _xfunc python _python_modules $python
+ fi
# 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 | command sed -e /^Here/d )' -- "$cur" ) )
+ COMPREPLY+=( $(compgen -W \
+ '$($1 keywords topics | command sed -e /^Here/d)' -- "$cur") )
_filedir py
} &&