/usr/share/perl5/Data/Stag/ITextWriter.pm is in libdata-stag-perl 0.14-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | package Data::Stag::ITextWriter;
=head1 NAME
Data::Stag::ITextWriter - writes stag events into stag IText format
=head1 SYNOPSIS
=cut
=head1 DESCRIPTION
=head1 PUBLIC METHODS -
=cut
use strict;
use base qw(Data::Stag::Writer);
use vars qw($VERSION);
$VERSION="0.14";
sub fmtstr {
return 'itext';
}
sub stack {
my $self = shift;
$self->{_stack} = shift if @_;
return $self->{_stack};
}
sub indent_txt {
my $self = shift;
my $stack = $self->stack;
return " " x scalar(@$stack);
}
sub o {
my $self = shift;
my @o = @_;
$self->addtext($self->indent_txt() . "@o");
}
sub start_event {
my $self = shift;
my $ev = shift || '';
my $stack = $self->stack;
my $tag = "$ev: ";
if ($self->use_color) {
$tag = color('red').$ev.color('reset').':';
}
$self->addtext("\n" . $self->indent_txt() . $tag);
push(@$stack, $ev);
}
sub end_event {
my $self = shift;
my $ev = shift || '';
my $stack = $self->stack;
my $top = pop @$stack;
use Carp;
$top eq $ev or confess("$top ne $ev");
return $ev;
}
sub evbody {
my $self = shift;
my $body = shift;
my $str = itextesc($body);
if ($self->use_color) {
$str = color('white').$str;
}
$self->addtext($str);
return;
}
sub itextesc {
my $w = shift;
if (!defined($w)) {
$w='';
}
$w =~ s/:/\\:/g;
return $w;
}
# this should already be require'd in Writer.pm
sub color {
Term::ANSIColor::color(@_);
}
1;
|