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&amp;stop_rev=%s">%s</a>', ( $c->{class} ? q{class="source"} : '' ), $url,
24		$to, $from, $label;
25}
26
271;
28