summaryrefslogtreecommitdiffstats
path: root/spec/parser.js
Commit message (Collapse)AuthorAgeFilesLines
* Allow for escaped ] characters in [] IDskpdecker2015-09-161-0/+6
| | | | | | | | Allows for ] literal characters to be used within [] IDs by prefixing them with the \ character. `\` literal at the end of the may be referenced by the `\\` sequence if conflicting. Under most circumstances the `\\` sequence will continue to work. Potentially breaking change for users of [] ids that have `\\` anywhere in the id or `\` at the end of the id. Fixes #1092
* Add decorator parsingkpdecker2015-08-221-0/+14
|
* Implement partial blockskpdecker2015-08-221-0/+12
| | | | | | This allows for failover for missing partials as well as limited templating ability through the `{{> @partial-block }}` partial special case. Partial fix for #1018
* Drop AST constructors in favor of JSONkpdecker2015-08-181-1/+4
| | | | | These were little more than object literal statements that were less clear due to their use of index-based arguments. Fixes #1077
* Fix location information for programskpdecker2015-06-261-0/+24
| | | | | | | | There appears to be a bug in our use of jison causing the parent location information to be reported to programs. I wasn’t able to work through what might be causing this so instead using the location information of the statements collection to generate the proper location information. This is a bit of a hack but we are very far behind on the Jison release train and upgrading will likely be a less than pleasant task that doesn’t provide us much benefit. Fixes #1024
* Fixes typo in testsAymerick2015-05-061-1/+1
| | | mutache => mustache
* Add full support for es6kpdecker2015-04-161-75/+74
| | | | | | | | Converts the tool chain to use babel, eslint, and webpack vs. the previous proprietary solutions. Additionally begins enforcing additional linting concerns as well as updates the code to reflect these rules. Fixes #855 Fixes #993
* Allow undefined and null in helper nameskpdecker2015-04-131-0/+4
|
* Add undefined and null literal supportkpdecker2015-04-071-0/+4
| | | | | This adds the UndefinedLiteral and NullLiteral to AST. Fixes #990
* Boolean literals can be passed to mustachesMarcio Junior2015-02-081-0/+4
|
* Allow blockParams on chained inverse statementskpdecker2014-11-291-0/+3
|
* Move Jison parsing out of AST into helperskpdecker2014-11-281-1/+12
|
* Rename AST objects to match type nameskpdecker2014-11-281-1/+1
|
* Replace DataNode and IdNode with PathNodekpdecker2014-11-261-44/+44
| | | This is a breaking change for string mode users as there is no longer a distinct type for data parameters. Instead data consumers should look for the @ prefix value.
* Update statement node ASTskpdecker2014-11-261-0/+2
|
* Add parser support for block paramsMartin Muñoz2014-11-111-1/+9
|
* Merge branch 'remove-block-mustache' of github.com:mmun/handlebars.js into ↵kpdecker2014-11-081-12/+12
|\ | | | | | | | | | | | | | | mmun-remove-block-mustache Conflicts: lib/handlebars/compiler/helpers.js spec/parser.js
| * Simplify BlockNode by removing intermediate MustacheNodeMartin Muñoz2014-11-021-11/+11
| |
* | Implement parser for else chaining of helperskpdecker2014-10-271-2/+8
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | Allows users to chain multiple helpers together using their inverse callbacks. I.e. ``` {{#if foo}} {{else if bar}} {{else}} {{/if}} ``` The control flow here effectively causes the helpers to be nested. The above is actually syntactic sugar for this: ``` {{#if foo}} {{else}} {{#if bar}} {{else}} {{/if}} {{/if}} ``` Any helper may be used in this manner, the only requirement is they support normal calls and inverse calls. Introduces a breaking change in that `{{else foo}}` may no longer be used as a root level operator. Instead `{{^foo}}` must be used. Fixes #72.
* Merge branch 'refactor-parser' of github.com:mmun/handlebars.js into ↵kpdecker2014-08-231-3/+6
|\ | | | | | | | | | | | | | | | | mmun-refactor-parser Conflicts: lib/handlebars/compiler/ast.js spec/ast.js src/handlebars.yy
| * Refactor blocks, programs and inversesMartin Muñoz2014-07-291-2/+2
| |
* | Increase test coverage a touchkpdecker2014-08-141-1/+1
| |
* | Track root status in ProgramNode constructorkpdecker2014-08-121-1/+1
|/
* Add support for depthed resolution of data fieldskpdecker2014-02-091-0/+4
|
* Make raw blocks operate like blockskpdecker2014-02-091-0/+4
|
* Allow decimal number valueskpdecker2014-01-171-4/+4
| | | Fixes #472
* Add partial hash parser supportkpdecker2014-01-171-0/+8
|
* Move away from should asserts to internalkpdecker2013-12-231-58/+59
| | | | This is needed as neither Sinon nor Chai support in-browser testing under IE.
* Simplify inverse only block casekpdecker2013-07-301-2/+2
|
* Prevent nonsensical root {{^}}kpdecker2013-07-241-0/+3
|
* Refactor qunit unit testskpdecker2013-06-011-4/+4
| | | | | | Allows for testing node, browser, and precompiled modes in the node tests. Also reorganizes the qunit spec file to provide better organization.
* Convert parser and tokenizer tests to javascriptkpdecker2013-06-011-0/+170