1package Pod::Perldoc::ToANSI; 2use strict; 3use warnings; 4use parent qw(Pod::Perldoc::BaseTo); 5 6use vars qw($VERSION); 7$VERSION = '3.17'; 8 9sub is_pageable { 1 } 10sub write_with_binmode { 0 } 11sub output_extension { 'txt' } 12 13use Pod::Text::Color (); 14 15sub alt { shift->_perldoc_elem('alt' , @_) } 16sub indent { shift->_perldoc_elem('indent' , @_) } 17sub loose { shift->_perldoc_elem('loose' , @_) } 18sub quotes { shift->_perldoc_elem('quotes' , @_) } 19sub sentence { shift->_perldoc_elem('sentence', @_) } 20sub width { shift->_perldoc_elem('width' , @_) } 21 22sub new { return bless {}, ref($_[0]) || $_[0] } 23 24sub parse_from_file { 25 my $self = shift; 26 27 my @options = 28 map {; $_, $self->{$_} } 29 grep !m/^_/s, 30 keys %$self 31 ; 32 33 defined(&Pod::Perldoc::DEBUG) 34 and Pod::Perldoc::DEBUG() 35 and print "About to call new Pod::Text::Color ", 36 $Pod::Text::VERSION ? "(v$Pod::Text::VERSION) " : '', 37 "with options: ", 38 @options ? "[@options]" : "(nil)", "\n"; 39 ; 40 41 Pod::Text::Color->new(@options)->parse_from_file(@_); 42} 43 441; 45 46=head1 NAME 47 48Pod::Perldoc::ToANSI - render Pod with ANSI color escapes 49 50=head1 SYNOPSIS 51 52 perldoc -o ansi Some::Modulename 53 54=head1 DESCRIPTION 55 56This is a "plug-in" class that allows Perldoc to use 57Pod::Text as a formatter class. 58 59It supports the following options, which are explained in 60L<Pod::Text>: alt, indent, loose, quotes, sentence, width 61 62For example: 63 64 perldoc -o term -w indent:5 Some::Modulename 65 66=head1 CAVEAT 67 68This module may change to use a different text formatter class in the 69future, and this may change what options are supported. 70 71=head1 SEE ALSO 72 73L<Pod::Text>, L<Pod::Text::Color>, L<Pod::Perldoc> 74 75=head1 COPYRIGHT AND DISCLAIMERS 76 77Copyright (c) 2011 Mark Allen. All rights reserved. 78 79This library is free software; you can redistribute it and/or modify it 80under the same terms as Perl itself. 81 82This program is distributed in the hope that it will be useful, but 83without any warranty; without even the implied warranty of 84merchantability or fitness for a particular purpose. 85 86=head1 AUTHOR 87 88Current maintainer: Mark Allen C<< <mallen@cpan.org> >> 89 90Past contributions from: 91brian d foy C<< <bdfoy@cpan.org> >> 92Adriano R. Ferreira C<< <ferreira@cpan.org> >>, 93Sean M. Burke C<< <sburke@cpan.org> >> 94 95 96=cut 97