summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_perldoc
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_perldoc')
-rw-r--r--Completion/Unix/Command/_perldoc15
1 files changed, 12 insertions, 3 deletions
diff --git a/Completion/Unix/Command/_perldoc b/Completion/Unix/Command/_perldoc
index 8c816b502..3e58d5a50 100644
--- a/Completion/Unix/Command/_perldoc
+++ b/Completion/Unix/Command/_perldoc
@@ -15,14 +15,15 @@ fi
_arguments -C -s -S -A "-*" \
'(- *)-h[print help information]' \
'(- *)-V[display version information]' \
- '-v[verbose output]' \
+ '-D[describe search for the item]' \
'-t[use plain text output instead of nroff]' \
'-u[show raw Pod source]' \
'*-m[display entire module]:module:_perl_modules' \
'-l[display only filename of the module found]' \
'-F[consider arguments as filenames]' \
- '(-q)-f+[view documentation for Perl built-in function]:perl builtin function:->perl-builtin-funcs' \
- '(-f)-q+[search question headings in Perl FAQ]:regular expression' \
+ '(-q -v)-f+[view documentation for Perl built-in function]:perl builtin function:->perl-builtin-funcs' \
+ '(-f -v)-q+[search question headings in Perl FAQ]:regular expression' \
+ '(-f -q)-v+[view documentation for predefined variable]:special variable:->perl-variables' \
'(-d)-T[send output direct to stdout and not via pager]' \
'(-T)-d+[specify output file]:output file:_files' \
'-o+[specify output format]:output format:(man nroff pod rtf text tk xml latex)' \
@@ -54,6 +55,14 @@ case $state in
'files:module or .pod file:_files -g "*.(pod|pm)(-.)"' && ret=0
fi
;;
+
+ perl-variables)
+ : ${(A)_perl_special_vars:=${(u)${${${(M)${(f)"$(_call_program variables \
+ perldoc -u perlvar 2>/dev/null)"}:#\=item [\$\@\%]*}#* }:#\$<I*}}}
+
+ _wanted variables expl 'perl special variable' compadd "$@" -a - \
+ _perl_special_vars && ret=0
+ ;;
esac
return ret