use a clearer placeholder nonexistant package name
[scpubgit/HTML-String.git] / lib / HTML / String / TT / Directive.pm
CommitLineData
ed99cbb4 1package HTML::String::TT::Directive;
2
3use strictures 1;
4use HTML::String::Overload ();
cfb242dd 5use Data::Munge;
ed99cbb4 6use base qw(Template::Directive);
7
8sub template {
cfb242dd 9 return byval {
a31f2ca0 10 s/sub {/sub { package HTML::String::TT::_TMPL; use HTML::String::Overload { ignore => { q{Template::Provider} => 1, q{Template::Directive} => 1, q{Template::Document} => 1, q{Template::Plugins} => 1 } };/;
cfb242dd 11 } Template::Directive::pad(shift->SUPER::template(@_), 2);
ed99cbb4 12}
13
5c65e9e1 14# TT code does &text(), no idea why
15
f27b509e 16sub textblock {
17 my ($self, $text) = @_;
18 return $Template::Directive::OUTPUT.' '.$self->text($text).';';
19}
20
5c65e9e1 21# https://rt.perl.org/rt3/Ticket/Display.html?id=49594
22
f27b509e 23sub text {
24 my ($class, $text) = @_;
25 for ($text) {
5bee64f9 26 s/(["\$\@\\])/"."\\$1"."/g;
f27b509e 27 s/\n/"."\\n"."/g;
28 }
29 return '"' . $text . '"';
30}
31
ed99cbb4 321;