1package Text::Trac::LinkResolver::Log; 2 3use strict; 4use warnings; 5use base qw( Text::Trac::LinkResolver ); 6 7our $VERSION = '0.24'; 8 9sub init { 10 my $self = shift; 11 $self->{pattern} = '!?\[\d+:\d+\]|(?:\b|!)r\d+:\d+\b'; 12} 13 14sub format_link { 15 my ( $self, $match, $target, $label ) = @_; 16 return $match if $self->_is_disabled; 17 18 my $c = $self->{context}; 19 $label ||= $match; 20 my ( $from, $to ) = ( $match =~ m/(\d+):(\d+)/ ); 21 22 my $url = $c->{trac_log_url} || $c->trac_url . 'log/'; 23 return sprintf '<a %s href="%s?rev=%s&stop_rev=%s">%s</a>', ( $c->{class} ? q{class="source"} : '' ), $url, 24 $to, $from, $label; 25} 26 271; 28