diff options
author | kpdecker <kpdecker@gmail.com> | 2013-05-29 10:46:28 -0400 |
---|---|---|
committer | kpdecker <kpdecker@gmail.com> | 2013-05-29 10:46:28 -0400 |
commit | da2aabe7bdc75e29178d920332fad9de183de8a0 (patch) | |
tree | 72284cfb52e8edebe294b0e40f115e99500464aa /src | |
parent | 3ddbc5237f5208f40a7d438895fe2249bdf343b9 (diff) | |
download | handlebars.js-da2aabe7bdc75e29178d920332fad9de183de8a0.zip handlebars.js-da2aabe7bdc75e29178d920332fad9de183de8a0.tar.gz handlebars.js-da2aabe7bdc75e29178d920332fad9de183de8a0.tar.bz2 |
Allow ID, STRING, or INTEGER for partial name
Fixes #519
Diffstat (limited to 'src')
-rw-r--r-- | src/handlebars.l | 6 | ||||
-rw-r--r-- | src/handlebars.yy | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/handlebars.l b/src/handlebars.l index 7fcf86e..2afd715 100644 --- a/src/handlebars.l +++ b/src/handlebars.l @@ -1,5 +1,5 @@ -%x mu emu com par +%x mu emu com %% @@ -20,7 +20,7 @@ <com>[\s\S]*?"--}}" { yytext = yytext.substr(0, yyleng-4); this.popState(); return 'COMMENT'; } -<mu>"{{>" { this.begin("par"); return 'OPEN_PARTIAL'; } +<mu>"{{>" { return 'OPEN_PARTIAL'; } <mu>"{{#" { return 'OPEN_BLOCK'; } <mu>"{{/" { return 'OPEN_ENDBLOCK'; } <mu>"{{^" { return 'OPEN_INVERSE'; } @@ -58,8 +58,6 @@ Control characters ranges: <mu>'['[^\]]*']' { yytext = yytext.substr(1, yyleng-2); return 'ID'; } <mu>. { return 'INVALID'; } -<par>\s+ { /*ignore whitespace*/ } -<par>[a-zA-Z0-9_$\-\/\.]+ { this.popState(); return 'PARTIAL_NAME'; } <INITIAL,mu><<EOF>> { return 'EOF'; } diff --git a/src/handlebars.yy b/src/handlebars.yy index 4e3a826..e521c2e 100644 --- a/src/handlebars.yy +++ b/src/handlebars.yy @@ -95,7 +95,9 @@ hashSegment ; partialName - : PARTIAL_NAME { $$ = new yy.PartialNameNode($1); } + : path { $$ = new yy.PartialNameNode($1); } + | STRING { $$ = new yy.PartialNameNode(new yy.StringNode($1)); } + | INTEGER { $$ = new yy.PartialNameNode(new yy.IntegerNode($1)); } ; dataName |