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.pm20
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/Text/Xslate/Syntax/Handlebars.pm b/lib/Text/Xslate/Syntax/Handlebars.pm
index 8a6ffa5..fb59658 100644
--- a/lib/Text/Xslate/Syntax/Handlebars.pm
+++ b/lib/Text/Xslate/Syntax/Handlebars.pm
@@ -244,18 +244,22 @@ sub init_symbols {
$symbol->set_led($self->can('led_variable'));
}
- $self->infix('.', 256, $self->can('led_dot'));
- $self->infix('/', 256, $self->can('led_dot'));
+ for my $field_access (qw(. /)) {
+ $self->infix($field_access, 256, $self->can('led_dot'));
+ }
+
+ for my $block ('#', '^') {
+ $self->symbol($block)->set_std($self->can('std_block'));
+ }
- $self->symbol('#')->set_std($self->can('std_block'));
- $self->symbol('^')->set_std($self->can('std_block'));
- $self->prefix('/', 0)->is_block_end(1);
- $self->symbol('else')->is_block_end(1);
+ for my $else (qw(/ else)) {
+ $self->symbol($else)->is_block_end(1);
+ }
$self->symbol('>')->set_std($self->can('std_partial'));
- $self->prefix('&', 0)->set_nud($self->can('nud_mark_raw'));
- $self->prefix('..', 0)->set_nud($self->can('nud_uplevel'));
+ $self->symbol('&')->set_nud($self->can('nud_mark_raw'));
+ $self->symbol('..')->set_nud($self->can('nud_uplevel'));
}
# copied from Text::Xslate::Parser, but using different definitions of