handlebars 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +1 -2
- data/README.mdown +15 -7
- data/handlebars.gemspec +2 -5
- data/lib/handlebars.rb +5 -5
- data/lib/handlebars/context.rb +3 -12
- data/lib/handlebars/version.rb +1 -1
- data/spec/handlebars_spec.rb +1 -1
- metadata +47 -58
- data/.gitmodules +0 -3
- data/vendor/handlebars/.gitignore +0 -8
- data/vendor/handlebars/.jshintrc +0 -52
- data/vendor/handlebars/.npmignore +0 -10
- data/vendor/handlebars/.rspec +0 -1
- data/vendor/handlebars/Gemfile +0 -5
- data/vendor/handlebars/LICENSE +0 -19
- data/vendor/handlebars/README.markdown +0 -317
- data/vendor/handlebars/Rakefile +0 -109
- data/vendor/handlebars/bench/benchwarmer.js +0 -149
- data/vendor/handlebars/bench/handlebars.js +0 -172
- data/vendor/handlebars/bin/handlebars +0 -193
- data/vendor/handlebars/dist/handlebars.js +0 -2201
- data/vendor/handlebars/dist/handlebars.runtime.js +0 -321
- data/vendor/handlebars/lib/handlebars.js +0 -14
- data/vendor/handlebars/lib/handlebars/base.js +0 -154
- data/vendor/handlebars/lib/handlebars/compiler/ast.js +0 -133
- data/vendor/handlebars/lib/handlebars/compiler/base.js +0 -21
- data/vendor/handlebars/lib/handlebars/compiler/compiler.js +0 -1267
- data/vendor/handlebars/lib/handlebars/compiler/index.js +0 -7
- data/vendor/handlebars/lib/handlebars/compiler/printer.js +0 -131
- data/vendor/handlebars/lib/handlebars/compiler/visitor.js +0 -13
- data/vendor/handlebars/lib/handlebars/runtime.js +0 -88
- data/vendor/handlebars/lib/handlebars/utils.js +0 -67
- data/vendor/handlebars/package.json +0 -35
- data/vendor/handlebars/spec/acceptance_spec.rb +0 -101
- data/vendor/handlebars/spec/parser_spec.rb +0 -433
- data/vendor/handlebars/spec/qunit_spec.js +0 -1370
- data/vendor/handlebars/spec/spec_helper.rb +0 -157
- data/vendor/handlebars/spec/tokenizer_spec.rb +0 -301
- data/vendor/handlebars/src/handlebars.l +0 -53
- data/vendor/handlebars/src/handlebars.yy +0 -109
- data/vendor/handlebars/src/parser-prefix.js +0 -1
- data/vendor/handlebars/src/parser-suffix.js +0 -4
@@ -1,53 +0,0 @@
|
|
1
|
-
|
2
|
-
%x mu emu com par
|
3
|
-
|
4
|
-
%%
|
5
|
-
|
6
|
-
[^\x00]*?/("{{") {
|
7
|
-
if(yytext.slice(-1) !== "\\") this.begin("mu");
|
8
|
-
if(yytext.slice(-1) === "\\") yytext = yytext.substr(0,yyleng-1), this.begin("emu");
|
9
|
-
if(yytext) return 'CONTENT';
|
10
|
-
}
|
11
|
-
|
12
|
-
[^\x00]+ { return 'CONTENT'; }
|
13
|
-
|
14
|
-
<emu>[^\x00]{2,}?/("{{"|<<EOF>>) {
|
15
|
-
if(yytext.slice(-1) !== "\\") this.popState();
|
16
|
-
if(yytext.slice(-1) === "\\") yytext = yytext.substr(0,yyleng-1);
|
17
|
-
return 'CONTENT';
|
18
|
-
}
|
19
|
-
|
20
|
-
<com>[\s\S]*?"--}}" { yytext = yytext.substr(0, yyleng-4); this.popState(); return 'COMMENT'; }
|
21
|
-
|
22
|
-
<mu>"{{>" { this.begin("par"); return 'OPEN_PARTIAL'; }
|
23
|
-
<mu>"{{#" { return 'OPEN_BLOCK'; }
|
24
|
-
<mu>"{{/" { return 'OPEN_ENDBLOCK'; }
|
25
|
-
<mu>"{{^" { return 'OPEN_INVERSE'; }
|
26
|
-
<mu>"{{"\s*"else" { return 'OPEN_INVERSE'; }
|
27
|
-
<mu>"{{{" { return 'OPEN_UNESCAPED'; }
|
28
|
-
<mu>"{{&" { return 'OPEN_UNESCAPED'; }
|
29
|
-
<mu>"{{!--" { this.popState(); this.begin('com'); }
|
30
|
-
<mu>"{{!"[\s\S]*?"}}" { yytext = yytext.substr(3,yyleng-5); this.popState(); return 'COMMENT'; }
|
31
|
-
<mu>"{{" { return 'OPEN'; }
|
32
|
-
|
33
|
-
<mu>"=" { return 'EQUALS'; }
|
34
|
-
<mu>"."/[} ] { return 'ID'; }
|
35
|
-
<mu>".." { return 'ID'; }
|
36
|
-
<mu>[\/.] { return 'SEP'; }
|
37
|
-
<mu>\s+ { /*ignore whitespace*/ }
|
38
|
-
<mu>"}}}" { this.popState(); return 'CLOSE'; }
|
39
|
-
<mu>"}}" { this.popState(); return 'CLOSE'; }
|
40
|
-
<mu>'"'("\\"["]|[^"])*'"' { yytext = yytext.substr(1,yyleng-2).replace(/\\"/g,'"'); return 'STRING'; }
|
41
|
-
<mu>"'"("\\"[']|[^'])*"'" { yytext = yytext.substr(1,yyleng-2).replace(/\\'/g,"'"); return 'STRING'; }
|
42
|
-
<mu>"@"[a-zA-Z]+ { yytext = yytext.substr(1); return 'DATA'; }
|
43
|
-
<mu>"true"/[}\s] { return 'BOOLEAN'; }
|
44
|
-
<mu>"false"/[}\s] { return 'BOOLEAN'; }
|
45
|
-
<mu>[0-9]+/[}\s] { return 'INTEGER'; }
|
46
|
-
<mu>[a-zA-Z0-9_$-]+/[=}\s\/.] { return 'ID'; }
|
47
|
-
<mu>'['[^\]]*']' { yytext = yytext.substr(1, yyleng-2); return 'ID'; }
|
48
|
-
<mu>. { return 'INVALID'; }
|
49
|
-
<par>\s+ { /*ignore whitespace*/ }
|
50
|
-
<par>[a-zA-Z0-9_$-/]+ { this.popState(); return 'PARTIAL_NAME'; }
|
51
|
-
|
52
|
-
<INITIAL,mu><<EOF>> { return 'EOF'; }
|
53
|
-
|
@@ -1,109 +0,0 @@
|
|
1
|
-
%start root
|
2
|
-
|
3
|
-
%%
|
4
|
-
|
5
|
-
root
|
6
|
-
: program EOF { return $1; }
|
7
|
-
;
|
8
|
-
|
9
|
-
program
|
10
|
-
: simpleInverse statements { $$ = new yy.ProgramNode([], $2); }
|
11
|
-
| statements simpleInverse statements { $$ = new yy.ProgramNode($1, $3); }
|
12
|
-
| statements simpleInverse { $$ = new yy.ProgramNode($1, []); }
|
13
|
-
| statements { $$ = new yy.ProgramNode($1); }
|
14
|
-
| simpleInverse { $$ = new yy.ProgramNode([], []); }
|
15
|
-
| "" { $$ = new yy.ProgramNode([]); }
|
16
|
-
;
|
17
|
-
|
18
|
-
statements
|
19
|
-
: statement { $$ = [$1]; }
|
20
|
-
| statements statement { $1.push($2); $$ = $1; }
|
21
|
-
;
|
22
|
-
|
23
|
-
statement
|
24
|
-
: openInverse program closeBlock { $$ = new yy.BlockNode($1, $2.inverse, $2, $3); }
|
25
|
-
| openBlock program closeBlock { $$ = new yy.BlockNode($1, $2, $2.inverse, $3); }
|
26
|
-
| mustache { $$ = $1; }
|
27
|
-
| partial { $$ = $1; }
|
28
|
-
| CONTENT { $$ = new yy.ContentNode($1); }
|
29
|
-
| COMMENT { $$ = new yy.CommentNode($1); }
|
30
|
-
;
|
31
|
-
|
32
|
-
openBlock
|
33
|
-
: OPEN_BLOCK inMustache CLOSE { $$ = new yy.MustacheNode($2[0], $2[1]); }
|
34
|
-
;
|
35
|
-
|
36
|
-
openInverse
|
37
|
-
: OPEN_INVERSE inMustache CLOSE { $$ = new yy.MustacheNode($2[0], $2[1]); }
|
38
|
-
;
|
39
|
-
|
40
|
-
closeBlock
|
41
|
-
: OPEN_ENDBLOCK path CLOSE { $$ = $2; }
|
42
|
-
;
|
43
|
-
|
44
|
-
mustache
|
45
|
-
: OPEN inMustache CLOSE { $$ = new yy.MustacheNode($2[0], $2[1]); }
|
46
|
-
| OPEN_UNESCAPED inMustache CLOSE { $$ = new yy.MustacheNode($2[0], $2[1], true); }
|
47
|
-
;
|
48
|
-
|
49
|
-
|
50
|
-
partial
|
51
|
-
: OPEN_PARTIAL partialName CLOSE { $$ = new yy.PartialNode($2); }
|
52
|
-
| OPEN_PARTIAL partialName path CLOSE { $$ = new yy.PartialNode($2, $3); }
|
53
|
-
;
|
54
|
-
|
55
|
-
simpleInverse
|
56
|
-
: OPEN_INVERSE CLOSE { }
|
57
|
-
;
|
58
|
-
|
59
|
-
inMustache
|
60
|
-
: path params hash { $$ = [[$1].concat($2), $3]; }
|
61
|
-
| path params { $$ = [[$1].concat($2), null]; }
|
62
|
-
| path hash { $$ = [[$1], $2]; }
|
63
|
-
| path { $$ = [[$1], null]; }
|
64
|
-
| DATA { $$ = [[new yy.DataNode($1)], null]; }
|
65
|
-
;
|
66
|
-
|
67
|
-
params
|
68
|
-
: params param { $1.push($2); $$ = $1; }
|
69
|
-
| param { $$ = [$1]; }
|
70
|
-
;
|
71
|
-
|
72
|
-
param
|
73
|
-
: path { $$ = $1; }
|
74
|
-
| STRING { $$ = new yy.StringNode($1); }
|
75
|
-
| INTEGER { $$ = new yy.IntegerNode($1); }
|
76
|
-
| BOOLEAN { $$ = new yy.BooleanNode($1); }
|
77
|
-
| DATA { $$ = new yy.DataNode($1); }
|
78
|
-
;
|
79
|
-
|
80
|
-
hash
|
81
|
-
: hashSegments { $$ = new yy.HashNode($1); }
|
82
|
-
;
|
83
|
-
|
84
|
-
hashSegments
|
85
|
-
: hashSegments hashSegment { $1.push($2); $$ = $1; }
|
86
|
-
| hashSegment { $$ = [$1]; }
|
87
|
-
;
|
88
|
-
|
89
|
-
hashSegment
|
90
|
-
: ID EQUALS path { $$ = [$1, $3]; }
|
91
|
-
| ID EQUALS STRING { $$ = [$1, new yy.StringNode($3)]; }
|
92
|
-
| ID EQUALS INTEGER { $$ = [$1, new yy.IntegerNode($3)]; }
|
93
|
-
| ID EQUALS BOOLEAN { $$ = [$1, new yy.BooleanNode($3)]; }
|
94
|
-
| ID EQUALS DATA { $$ = [$1, new yy.DataNode($3)]; }
|
95
|
-
;
|
96
|
-
|
97
|
-
partialName
|
98
|
-
: PARTIAL_NAME { $$ = new yy.PartialNameNode($1); }
|
99
|
-
;
|
100
|
-
|
101
|
-
path
|
102
|
-
: pathSegments { $$ = new yy.IdNode($1); }
|
103
|
-
;
|
104
|
-
|
105
|
-
pathSegments
|
106
|
-
: pathSegments SEP ID { $1.push($3); $$ = $1; }
|
107
|
-
| ID { $$ = [$1]; }
|
108
|
-
;
|
109
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
// BEGIN(BROWSER)
|