diff options
author | Axel Beckert <abe@deuxchevaux.org> | 2015-05-05 23:32:59 +0200 |
---|---|---|
committer | Axel Beckert <abe@deuxchevaux.org> | 2015-05-05 23:58:59 +0200 |
commit | db38e167634b6c2217eec3a5aafc37c46d9e5a8d (patch) | |
tree | daa342d423febbd3a5a7ef97053037677fab004a /Completion/Unix/Command/_pydoc | |
parent | 01eea47617a6e06debdb4330f92ae69f92089fd2 (diff) | |
parent | 3c3c8d3d13fd4cf6c03f81ca8dc18a1efd561728 (diff) | |
download | zsh-db38e167634b6c2217eec3a5aafc37c46d9e5a8d.tar.gz zsh-db38e167634b6c2217eec3a5aafc37c46d9e5a8d.zip |
Merge branch 'upstream' into debian
Diffstat (limited to 'Completion/Unix/Command/_pydoc')
-rw-r--r-- | Completion/Unix/Command/_pydoc | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/Completion/Unix/Command/_pydoc b/Completion/Unix/Command/_pydoc index 92a01a76f..677c96ad6 100644 --- a/Completion/Unix/Command/_pydoc +++ b/Completion/Unix/Command/_pydoc @@ -1,16 +1,34 @@ -#compdef pydoc +#compdef -P pydoc[0-9.]# -local context state line +local curcontext=$curcontext state state_descr line ret=1 typeset -A opt_args +local -a args -_arguments \ - '-k[keyword]:keyword:' \ - '-p[port]:port:_ports' \ - '-g[gui]' \ - '-w[write out HTML]:file or dir:_files' \ - ':keyword, topic, module, package, or dotted reference:->lookup' && return 0 +args=( + '(- *)-k[search keyword]:keyword' + '(-k -g -w *)-p[start web server on specified port]:port number' + '(-)-w[write out HTML in current directory]' + '(-)*: :->lookup' +) -_alternative \ - 'keywords:keyword:compadd ${=${${(f)"$(pydoc keywords)"}[2,-1]}}' \ - 'topics:topic:compadd ${=${${(f)"$(pydoc topics)"}[2,-1]}}' \ - 'modules:module:' +if _pick_variant pydoc3='pydoc3 -b' pydoc2 -h; then + args+=( '(-k -w *)-b[start server and open browser]' ) +else + args+=( '(- *)-g[start gui]' ) +fi + +_arguments -C : $args && return 0 + +case $state in +(lookup) + if [[ $words[CURRENT] = */* ]]; then + _files && ret=0 + else + _alternative \ + 'keywords:keyword:compadd ${=${${(f)"$(_call_program keywords $words[1] keywords)"}[2,-1]}}' \ + 'topics:topic:compadd ${=${${(f)"$(_call_program topics $words[1] topics)"}[2,-1]}}' \ + 'modules:module:_python_modules' && ret=0 + fi +esac + +return ret |