Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove redundant conditions. | Blake Embrey | 2014-01-05 | 1 | -4/+1 |
| | |||||
* | Simplify ambiguous code | kpdecker | 2014-01-04 | 1 | -9/+9 |
| | | | | Remove if conditional in favor of boolean failover. | ||||
* | Merge branch 'compiler-options' of github.com:blakeembrey/handlebars.js into ↵ | kpdecker | 2014-01-01 | 1 | -4/+9 |
|\ | | | | | | | | | | | | | blakeembrey-compiler-options Conflicts: lib/handlebars/compiler/javascript-compiler.js | ||||
| * | Pull options out from param setup to allow easier extension. | Blake Embrey | 2013-12-28 | 1 | -5/+10 |
| | | |||||
* | | Remove duplication from generated subexpressions | kpdecker | 2014-01-01 | 1 | -12/+38 |
| | | |||||
* | | Whitespace cleanup | kpdecker | 2013-12-31 | 1 | -4/+4 |
| | | |||||
* | | Use literal for data lookup | kpdecker | 2013-12-31 | 1 | -1/+1 |
| | | |||||
* | | Add stack handling sanity checks | kpdecker | 2013-12-31 | 1 | -0/+8 |
| | | |||||
* | | Fix stack id "leak" on replaceStack | kpdecker | 2013-12-31 | 1 | -1/+6 |
| | | |||||
* | | Fix incorrect stack pop when replacing literals | kpdecker | 2013-12-31 | 1 | -2/+4 |
| | | |||||
* | | Fix multiple hash handling in subexpressions | kpdecker | 2013-12-31 | 1 | -1/+5 |
| | | |||||
* | | Added support for subexpressions | machty | 2013-12-30 | 1 | -22/+20 |
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handlebars now supports subexpressions. {{foo (bar 3)}} Subexpressions are always evaluated as helpers; if `3` were omitted from the above example, `bar` would be invoked as a param-less helper, even though a top-levell `{{bar}}` would be considered ambiguous. The return value of a subexpression helper is passed in as a parameter of a parent subexpression helper, even in string params mode. Their type, as listed in `options.types` or `options.hashTypes` in string params mode, is "sexpr". The main conceptual change in the Handlebars code is that there is a new AST.SexprNode that manages the params/hash passed into a mustache, as well as the logic that governs whether that mustache is a helper invocation, property lookup, etc. MustacheNode, which used to manage this stuff, still exists, but only manages things like white-space stripping and whether the mustache is escaped or not. So, a MustacheNode _has_ a SexprNode. The introduction of subexpressions is fully backwards compatible, but a few things needed to change about the compiled output of a template in order to support subexpressions. The main one is that the options hash is no longer stashed in a local `options` var before being passed to either the helper being invoked or the `helperMissing` fallback. Rather, the options object is inlined in these cases. This does mean compiled template sizes will be a little bit larger, even those that don't make use of subexpressions, but shouldn't have any noticeable impact on performance when actually rendering templates as only one of these inlined objects will actually get evaluated. | ||||
* | Merge pull request #684 from blakeembrey/javascript-variable | Kevin Decker | 2013-12-25 | 1 | -1/+1 |
|\ | | | | | Allow any number of trailing characters for valid JavaScript variable | ||||
| * | Allow any number of trailing characters. | Blake Embrey | 2013-12-24 | 1 | -1/+1 |
| | | |||||
* | | Expose compilerInfo and checkRevision as APIs | kpdecker | 2013-12-23 | 1 | -3/+7 |
| | | | | | | Fixes #656 | ||||
* | | Protect context-lookups from undefined values | kpdecker | 2013-11-03 | 1 | -3/+15 |
| | | | | | | | | Fixes #166 Fixes #587 | ||||
* | | Implement strip opcode | kpdecker | 2013-10-14 | 1 | -0/+19 |
| | | |||||
* | | Defer content output | kpdecker | 2013-10-14 | 1 | -2/+19 |
| | | | | | | | | Allows for stripping of the content after the fact. | ||||
* | | Kill unused functions | kpdecker | 2013-10-14 | 1 | -9/+0 |
| | | |||||
* | | Push Source helper method | kpdecker | 2013-10-14 | 1 | -11/+15 |
| | | |||||
* | | Fix argument not found error | kpdecker | 2013-10-14 | 1 | -1/+1 |
| | | |||||
* | | Pass options hash to context function exec | kpdecker | 2013-10-14 | 1 | -1/+1 |
| | | | | | | Fixes #599 | ||||
* | | Use proper default vs. module import semantics | kpdecker | 2013-10-01 | 1 | -1/+2 |
| | | |||||
* | | Update logger for es6 modules | kpdecker | 2013-09-30 | 1 | -13/+4 |
| | | |||||
* | | Merge commit '87b5d4ee61605b026506e92c9e8873d867c5f150' into es6-modules | kpdecker | 2013-09-02 | 1 | -3/+3 |
|\ \ | |/ | | | | | | | | | | | | | Conflicts: dist/handlebars.js dist/handlebars.runtime.js lib/handlebars/base.js lib/handlebars/utils.js | ||||
| * | Remove unused var | kpdecker | 2013-07-30 | 1 | -3/+3 |
| | | |||||
* | | Further progress towards modularization. | Yehuda Katz | 2013-07-24 | 1 | -4/+13 |
| | | | | | | | | | | At this point, I have only 2 fails in the Node build, but I'm doing a bunch of manual stuff locally and still have a bunch of hacks. | ||||
* | | Building an AMD file | Yehuda Katz | 2013-07-16 | 1 | -2/+1 |
| | | |||||
* | | Initial work on ES6 modules | Yehuda Katz | 2013-07-01 | 1 | -18/+6 |
|/ | |||||
* | Break JavascriptCompiler into standalone file | kpdecker | 2013-06-03 | 1 | -0/+856 |