diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-09-16 16:23:27 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-09-16 16:23:27 +0000 |
commit | 7cfb3626e5d78b632e5b62c200fdd906cf62c108 (patch) | |
tree | 5fc3c02692177559c98bf9ca1f42ed3ad5e4af2c /Completion/User/_perldoc | |
parent | 2218c5e75d4fdd9b688d3cbe1329e690a660936e (diff) | |
download | zsh-7cfb3626e5d78b632e5b62c200fdd906cf62c108.tar.gz zsh-7cfb3626e5d78b632e5b62c200fdd906cf62c108.tar.xz zsh-7cfb3626e5d78b632e5b62c200fdd906cf62c108.zip |
zsh-workers/7871
Diffstat (limited to 'Completion/User/_perldoc')
-rw-r--r-- | Completion/User/_perldoc | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/Completion/User/_perldoc b/Completion/User/_perldoc index d15650448..acd772b00 100644 --- a/Completion/User/_perldoc +++ b/Completion/User/_perldoc @@ -1,23 +1,26 @@ #compdef perldoc # -# # _perldoc - zsh completion function for perldoc # # Adam Spiers <adam@spiers.net> # -# Behaviour should be roughly equivalent to: -# compctl -k perl_modules -k perl_basepods -f -# -x 'c[-1,-f]' -k perl_funcs -- -# + -k man_pages -# perldoc -if [[ $CURRENT -eq 3 && $words[2] == '-f' ]]; then - _perl_builtin_funcs -elif [[ $CURRENT -eq 3 && $words[2] == '-q' ]]; then - zle -R "I can't read your mind!" - return 1 -else - _perl_modules - _perl_basepods - _path_files -/ -g '*.(pod|pm)' -fi +_perldoc () { + _arguments -s \ + '-h:help:' \ + '(-q)-f:Perl built-in function:_perl_builtin_funcs:*:' \ + '(-f)-q:Perl FAQ keyword:' \ + '*:Perl pod pages:_perl_pods' +} + +_perl_pods () { + local nm="$compstate[nmatches]" + + _perl_modules + _perl_basepods + _path_files -J 'Perl modules and .pods' -/ -g '*.(pod|pm)' + + [[ nm -ne "$compstate[nmatches]" ]] +} + +_perldoc "$@" |