/usr/local/CPAN/Text-Trac/Text/Trac/Pre.pm
package Text::Trac::Pre;
use strict;
use base qw(Text::Trac::BlockNode);
sub init {
my $self = shift;
$self->pattern(qr/^{{{$/xms);
return $self;
}
sub parse {
my ( $self, $l ) = @_;
my $c = $self->{context};
my $pattern = $self->pattern;
$l =~ /$pattern/ or return $l;
my $match = $1;
if ( $l =~ /^{{{$/ ){
$c->htmllines('<pre class="wiki">');
}
while($c->hasnext){
my $l = $c->shiftline;
if ( $l =~ /^}}}$/) {
$c->htmllines('</pre>');
last;
}
else {
$c->htmllines($self->escape($l));
}
}
return;
}
1;