package Pod::Perldoc::ToTerm; use strict; use warnings; use vars qw($VERSION); $VERSION = '3.17'; 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 { shift->_perldoc_elem('width' , @_) } sub new { return bless {}, ref($_[0]) || $_[0] } sub parse_from_file { my $self = shift; 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::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: 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, L, L =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<< >> =cut