kpdecker
3daef9d308
Use charAt rather than string index
...
Older versions of IE do not support [] access to string contents so charAt must be used.
Fixes #677
2013-12-23 02:18:57 -06:00
kpdecker
eea708a18d
Fix empty string compilation
2013-11-04 22:11:53 -06:00
kpdecker
31f7c25a8f
Use ~ rather than () for whitespace control.
2013-10-14 22:50:50 -05:00
kpdecker
1de6cee1b2
Load strip flags from lex stream
2013-10-14 22:50:50 -05:00
kpdecker
0cc6e270f9
Pass open token to MustacheNode for flag parsing
2013-10-14 22:50:12 -05:00
kpdecker
4f5c05ffe9
Simplify inverse only block case
2013-07-30 11:08:46 -05:00
kpdecker
dcbc3a55a4
Prevent nonsensical root {{^}}
2013-07-24 23:50:12 -05:00
kpdecker
117239ca7c
Use ebnf iteration/optional inMustache
2013-07-24 23:39:33 -05:00
kpdecker
c373d1c6d4
Use ebnf optional for partial path
2013-07-24 23:38:45 -05:00
kpdecker
df7a3fb8c0
Use ebnf iteration for hash production
2013-07-24 23:37:43 -05:00
kpdecker
199f3984c6
Use param production for hash value
2013-07-24 23:36:32 -05:00
kpdecker
f9ed0d3085
Use arrow syntax for bnf
2013-07-24 21:57:30 -05:00
kpdecker
58a0b4f17d
Require matching braces in escaped expressions
...
Fixes #437
2013-05-29 15:30:50 -04:00
kpdecker
da2aabe7bd
Allow ID, STRING, or INTEGER for partial name
...
Fixes #519
2013-05-29 10:46:28 -04:00
kpdecker
503e32208b
Improve tracking of original path values
2013-05-27 19:47:17 -04:00
kpdecker
822a8911ec
Add support for complex ids in @data references
2013-05-27 14:40:52 -05:00
Yehuda Katz
17ee7ffaca
Merge pull request #388 from dmarcotte/empty-inverse-blocks
...
Allow empty blocks around simple inverses
2012-12-23 20:31:46 -08:00
Les Hill
4bb794d814
Partials can be paths
...
Allows partials with slashes, a common partial syntax. For example:
{{> shared/dude}}
2012-12-13 11:15:38 -08:00
Daniel Marcotte
4cfda479fa
Allow empty blocks around simple inverses
...
Previously, the parser required at least one character of whitespace
to properly interpret empty blocks around simple inverses, which was
non-intuitive and inconsistent with empty block parsing.
Update the parser to allow empty blocks around simple inverses.
2012-12-11 09:47:49 -08:00
Yehuda Katz
72e05d623c
Add support for @data variables
2012-07-05 22:43:05 -07:00
tomhuda
175c6fae0f
More cleanup
...
* Make block and inverse use the main helper path
* Eliminate separate inverse AST node
2012-05-28 17:00:41 -07:00
Peter Wagenet
2ea95ca08d
Fixed whitespace and semi-colons
2012-02-08 20:49:49 -08:00
tomhuda
1482f1ae72
Add BOOLEAN support
2011-06-01 22:57:22 -07:00
tomhuda
0f78345d0c
Add support for INTEGER expressions
2011-06-01 22:33:48 -07:00
tomhuda
ca9b9671a5
Add Hash arguments to simple mustaches (TODO: add Hash args to block helpers)
2011-03-04 00:11:03 -08:00
tomhuda
e0aa705f71
Add support for hash args in the tokenizer and parser
2011-03-03 21:33:28 -08:00
Zach Carter
97536f897e
Switch to Jison's lexer.
2010-12-14 19:07:05 -05:00
wycats
f205cec745
Finish compatibility with the old handlebars:
...
* foo"bar" is an invalid param
* {{foo}}bar{{/baz}} is invalid
* fix a number of issues with inverse sections
* add partials
2010-12-03 16:49:04 -05:00
wycats
c89ecf80a5
Inverse should really be its own node, as it has totally different runtime semantics
2010-12-03 01:10:14 -05:00
wycats
8f6f3051e6
Add support for inverted sections in the parser
2010-12-03 00:54:18 -05:00
wycats
87b526df27
Allow empty blocks.
2010-12-02 01:27:41 -05:00
wycats
762329913d
Fix a number of outstanding issues:
...
* {{}} escape their contents, {{{}}} and {{& }} do not
* Add support in the parser, tokenizer and AST for partials
with context (support is still not there in the runtime)
* Fix some inconsistencies with the old behavior involving
the correct printing of null and undefined
* Add Handlebars.Exception
* Fixed an issue involving ./foo and this/foo
* Fleshed out helperMissing in the specs (this will be
moved out into handlebars proper once registerHelper
and registerPartial are added)
2010-12-02 01:13:24 -05:00
wycats
f8b245896d
Make the ID node capable of handling paths
...
TODO: handle invalid paths in the tokenizer or parser
TODO: invalidate "{{ foo/ bar }}"
2010-11-25 16:12:50 -08:00
wycats
85fa2cb65f
Initial commit. Note that I'm using CommonJS modules and node purely to help me develop this. If this ends up being useful, I will likely distribute the entire package as a single JS file for easier consumption in the browser.
2010-11-25 00:50:57 -08:00