summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-09-27 12:27:32 -0500
committerJesse Luehrs <doy@tozt.net>2012-09-27 12:27:32 -0500
commitde5b82d07458c2846f8ed6e55dc972f897d92943 (patch)
treee6ca10df4b79fbc23269f4db66901f765cfcf343 /lib
parent636dbb830883090f23a566d7fa82024429a937ab (diff)
downloadtext-handlebars-de5b82d07458c2846f8ed6e55dc972f897d92943.tar.gz
text-handlebars-de5b82d07458c2846f8ed6e55dc972f897d92943.zip
make things actually work
Diffstat (limited to 'lib')
-rw-r--r--lib/Text/Xslate/Syntax/Handlebars.pm20
1 files changed, 11 insertions, 9 deletions
diff --git a/lib/Text/Xslate/Syntax/Handlebars.pm b/lib/Text/Xslate/Syntax/Handlebars.pm
index 2d8f79d..771a949 100644
--- a/lib/Text/Xslate/Syntax/Handlebars.pm
+++ b/lib/Text/Xslate/Syntax/Handlebars.pm
@@ -4,7 +4,7 @@ use Any::Moose;
use Carp 'confess';
use Text::Xslate::Util qw($STRING neat p);
-extends 'Text::Xslate::Syntax';
+extends 'Text::Xslate::Parser';
sub _build_identity_pattern { qr/[A-Za-z_][A-Za-z0-9_]*/ }
sub _build_comment_pattern { qr/\![^;]*/ }
@@ -26,7 +26,7 @@ sub split_tags {
# follwoing a newline, $tag_start, or end of the input
my $lex_text = qr/\A ( [^\n]*? (?: \n | (?= \Q$tag_start\E ) | \z ) ) /xms;
- my $lex_comment = $parser->comment_pattern;
+ my $lex_comment = $self->comment_pattern;
my $lex_code = qr/(?: $lex_comment | (?: $STRING | [^'"] ) )/xms;
my @chunks;
@@ -46,7 +46,7 @@ sub split_tags {
}
if ($pos >= 0) {
- my $code = substr $_, 0, $pos, '';
+ my $code = substr $input, 0, $pos, '';
$input =~ s/\A\Q$tag_end//
or die "Oops!";
@@ -110,22 +110,24 @@ sub preprocess {
$code .= qq{& $content;\n};
}
else {
- $parser->_error("Oops: Unknown token: $s ($type)");
+ $self->_error("Oops: Unknown token: $content ($type)");
}
}
return $code;
}
-sub tokenize {
-}
-
# XXX advance has some syntax special cases in it, probably need to override
# it too eventually
-# sub advance {
-# }
sub init_symbols {
+ my $self = shift;
+
+}
+
+sub nud_name {
+ my $self = shift;
+ return $self->nud_variable(@_);
}
__PACKAGE__->meta->make_immutable;