diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-09-27 12:27:32 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-09-27 12:27:32 -0500 |
commit | de5b82d07458c2846f8ed6e55dc972f897d92943 (patch) | |
tree | e6ca10df4b79fbc23269f4db66901f765cfcf343 /lib | |
parent | 636dbb830883090f23a566d7fa82024429a937ab (diff) | |
download | text-handlebars-de5b82d07458c2846f8ed6e55dc972f897d92943.tar.gz text-handlebars-de5b82d07458c2846f8ed6e55dc972f897d92943.zip |
make things actually work
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Text/Xslate/Syntax/Handlebars.pm | 20 |
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; |