Server IP : 127.0.0.2 / Your IP : 3.129.73.179 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/perl/5.22.1/Pod/Perldoc/ |
Upload File : |
package Pod::Perldoc::ToTerm; use strict; use warnings; use vars qw($VERSION); $VERSION = '3.25'; use parent qw(Pod::Perldoc::BaseTo); sub is_pageable { 1 } sub write_with_binmode { 0 } sub output_extension { 'txt' } use Pod::Text::Termcap (); sub alt { shift->_perldoc_elem('alt' , @_) } sub indent { shift->_perldoc_elem('indent' , @_) } sub loose { shift->_perldoc_elem('loose' , @_) } sub quotes { shift->_perldoc_elem('quotes' , @_) } sub sentence { shift->_perldoc_elem('sentence', @_) } sub width { my $self = shift; $self->_perldoc_elem('width' , @_) || $self->_get_columns_from_manwidth || $self->_get_columns_from_stty || $self->_get_default_width; } sub _get_stty { `stty -a` } sub _get_columns_from_stty { my $output = $_[0]->_get_stty; if( $output =~ /\bcolumns\s+(\d+)/ ) { return $1; } elsif( $output =~ /;\s*(\d+)\s+columns;/ ) { return $1; } else { return 0 } } sub _get_columns_from_manwidth { my( $self ) = @_; return 0 unless defined $ENV{MANWIDTH}; unless( $ENV{MANWIDTH} =~ m/\A\d+\z/ ) { $self->warn( "Ignoring non-numeric MANWIDTH ($ENV{MANWIDTH})\n" ); return 0; } if( $ENV{MANWIDTH} == 0 ) { $self->warn( "Ignoring MANWIDTH of 0. Really? Why even run the program? :)\n" ); return 0; } if( $ENV{MANWIDTH} =~ m/\A(\d+)\z/ ) { return $1 } return 0; } sub _get_default_width { 76 } sub new { return bless {}, ref($_[0]) || $_[0] } sub parse_from_file { my $self = shift; $self->{width} = $self->width(); my @options = map {; $_, $self->{$_} } grep !m/^_/s, keys %$self ; defined(&Pod::Perldoc::DEBUG) and Pod::Perldoc::DEBUG() and print "About to call new Pod::Text::Termcap ", $Pod::Text::VERSION ? "(v$Pod::Text::Termcap::VERSION) " : '', "with options: ", @options ? "[@options]" : "(nil)", "\n"; ; Pod::Text::Termcap->new(@options)->parse_from_file(@_); } 1; =head1 NAME Pod::Perldoc::ToTerm - render Pod with terminal escapes =head1 SYNOPSIS perldoc -o term Some::Modulename =head1 DESCRIPTION This is a "plug-in" class that allows Perldoc to use Pod::Text as a formatter class. It supports the following options, which are explained in L<Pod::Text>: alt, indent, loose, quotes, sentence, width For example: perldoc -o term -w indent:5 Some::Modulename =head1 CAVEAT This module may change to use a different text formatter class in the future, and this may change what options are supported. =head1 SEE ALSO L<Pod::Text>, L<Pod::Text::Termcap>, L<Pod::Perldoc> =head1 COPYRIGHT AND DISCLAIMERS Copyright (c) 2011 Mark Allen. This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information. =head1 AUTHOR Mark Allen C<< <mallen@cpan.org> >> =cut