diff options
Diffstat (limited to '')
-rw-r--r-- | completions/pydoc | 33 | ||||
-rw-r--r-- | completions/pydocstyle | 22 |
2 files changed, 27 insertions, 28 deletions
diff --git a/completions/pydoc b/completions/pydoc index e7b1178..2cf2987 100644 --- a/completions/pydoc +++ b/completions/pydoc @@ -1,42 +1,41 @@ # pydoc completion -*- shell-script -*- -_pydoc() +_comp_cmd_pydoc() { - local cur prev words cword - _init_completion || return + local cur prev words cword comp_args + _comp_initialize -- "$@" || return case $prev in -k | -p) return ;; -w) - _filedir + _comp_compgen_filedir return ;; esac if [[ $cur == -* ]]; then - COMPREPLY=($(compgen -W \ - '$("$1" | command sed -e "s/^pydoc3\{0,1\} //" | _parse_help -)' \ - -- "$cur")) + _comp_compgen_help - <<<"$("$1" | command sed -e "s/^pydoc3\{0,1\} //")" return fi - COMPREPLY=($(compgen -W 'keywords topics modules' -- "$cur")) + _comp_compgen -- -W 'keywords topics modules' - if [[ $cur != @(.|*/)* ]]; then - local python=python - [[ ${1##*/} == *3* ]] && python=python3 - _xfunc python _python_modules $python + 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; _python_modules tends to work better and faster. - COMPREPLY+=($(compgen -W \ - '$($1 keywords topics | command sed -e /^Here/d)' -- "$cur")) + # some systems; _comp_xfunc_python_modules tends to work better and faster. + _comp_compgen -a split -- "$("$1" keywords topics | + command sed -e '/^Here/d')" - _filedir py + _comp_compgen -a filedir py } && - complete -F _pydoc pydoc pydoc3 + complete -F _comp_cmd_pydoc pydoc pydoc3 # ex: filetype=sh diff --git a/completions/pydocstyle b/completions/pydocstyle index acbf1ec..53f5690 100644 --- a/completions/pydocstyle +++ b/completions/pydocstyle @@ -1,35 +1,35 @@ # bash completion for pydocstyle -*- shell-script -*- -_pydocstyle() +_comp_cmd_pydocstyle() { - local cur prev words cword split - _init_completion -s || return + local cur prev words cword was_split comp_args + _comp_initialize -s -- "$@" || return case $prev in - --help | --version | --match | --ignore-decorators | --select | --ignore | \ - --add-select | --add-ignore | -!(-*)h) + --help | --version | --match | --ignore-decorators | --select | \ + --ignore | --add-select | --add-ignore | -!(-*)h) return ;; --config) - _filedir xml + _comp_compgen_filedir xml return ;; --convention) - COMPREPLY=($(compgen -W "pep257 numpy" -- "$cur")) + _comp_compgen -- -W "pep257 numpy" return ;; esac - $split && return + [[ $was_split ]] && return if [[ $cur == -* ]]; then - COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + _comp_compgen_help [[ ${COMPREPLY-} == *= ]] && compopt -o nospace return fi - _filedir py + _comp_compgen_filedir py } && - complete -F _pydocstyle pydocstyle + complete -F _comp_cmd_pydocstyle pydocstyle # ex: filetype=sh |