--- trunk/lib/Frey/SVK.pm 2008/11/28 00:05:55 575 +++ trunk/lib/Frey/SVK.pm 2008/11/28 00:09:51 576 @@ -31,6 +31,7 @@ my ( $label, $value ) = split(/:\s+/, $_, 2); $info->{$label} = $value if $label; }); + warn "# svk info ",$self->dump( $info ); return $info; } @@ -44,17 +45,32 @@ sub as_markup { my ($self) = @_; + if ( ! $self->can('html_escape') ) { + Frey::Web->meta->apply( $self ); + $self->TODO( "Frey::Web role missing" ); + } + my $status = `svk status -q`; + $status =~ s{^(\w+\s+)(\S+)$}{$1$2}gm; + $self->add_css( qq| pre.l a { text-decoration: none; } | ); + $status = qq|
$status
|; + $self->add_status( $status ); + my $diff = `svk diff`; - Frey::Web->meta->apply( $self ) unless $self->can('html_escape'); + $diff = $self->html_escape( $diff ); + $self->add_css( qq| + pre span.add { background: #dfd } + pre span.del { background: #fdd } + | ); + $diff =~ s{^(\+.+?)$}{$1}gm; + $diff =~ s{^(\-.+?)$}{$1}gm; + $diff =~ s{^(===\s+)(\S+)$}{$1$2}gm; + + $diff = qq|
$diff
|; - my $html - = qq|
$status

|
-		. $self->html_escape( $diff )
-		. qq|
| - ; - warn "diff ",length($html)," bytes"; + my $html = $status . $diff; + warn "html ",length($html)," bytes"; return $html; }