summaryrefslogtreecommitdiffstats
path: root/lib/Text/Xslate/Syntax/Handlebars.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Text/Xslate/Syntax/Handlebars.pm')
-rw-r--r--lib/Text/Xslate/Syntax/Handlebars.pm9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Text/Xslate/Syntax/Handlebars.pm b/lib/Text/Xslate/Syntax/Handlebars.pm
index ab46d52..3537952 100644
--- a/lib/Text/Xslate/Syntax/Handlebars.pm
+++ b/lib/Text/Xslate/Syntax/Handlebars.pm
@@ -146,6 +146,8 @@ sub init_symbols {
$self->symbol('#')->set_std($self->can('std_block'));
$self->symbol('^')->set_std($self->can('std_block'));
$self->prefix('/', 0)->is_block_end(1);
+
+ $self->prefix('&', 0)->set_nud($self->can('nud_mark_raw'));
}
sub nud_name {
@@ -281,6 +283,13 @@ sub std_block {
);
}
+sub nud_mark_raw {
+ my $self = shift;
+ my ($symbol) = @_;
+
+ return $self->call('mark_raw', $self->expression(0));
+}
+
sub make_field_lookup {
my $self = shift;
my ($var, $field, $dot) = @_;