--- trunk/lib/Frey/Shell/Grep.pm 2008/11/30 14:52:01 638 +++ trunk/lib/Frey/Shell/Grep.pm 2008/12/02 00:26:03 666 @@ -5,6 +5,8 @@ with 'Frey::Web'; #with 'Frey::Storage'; +use English; + has pattern => ( documentation => 'grep for pattern', is => 'rw', @@ -16,14 +18,13 @@ sub as_markup { my ($self) = @_; - my $patt = $self->pattern || 'FIXME'; + my $patt = $self->pattern; $self->title( $patt ); my $cmd = 'grep -rn ' . $patt . ' lib/ t/'; warn "# $cmd"; - my $html = qq|

$patt

|; my $last_path = ''; $self->add_css(qq| @@ -36,7 +37,9 @@ } |); - open(my $fh, '-|', $cmd) or die "ack: $@"; + my $html; + + open(my $fh, '-|', $cmd) || die "can't open pipe to $cmd $!"; while(<$fh>) { my ( $path, $line, $text ) = split(/:/,$_,3); if ( $path ne $last_path ) { @@ -46,9 +49,19 @@ $html .= qq|
$line $text|; $last_path = $path; } - close($fh) || die $!; + if ( $INPUT_LINE_NUMBER > 0 ) { # closing pipe grep output results in error + close($fh) || die "can't close pipe to $cmd $!"; + + $html = qq| +

$patt

+
$html
+ |; - $html .= qq|
|; + } else { + + $html = $self->error( "No results for $patt\n" ); + + } return $html; }