kpdecker
0a9fc171b0
Fix block param evaluation under older IE
2014-12-27 13:13:52 -06:00
kpdecker
396795c983
Implement block parameters
...
Fixes #907
2014-12-26 00:31:57 -06:00
kpdecker
9e907e6785
Expose AST helpers in public API
2014-12-21 22:32:50 -06:00
kpdecker
69b1bdd32e
Avoid unnecessary this. reference
2014-12-16 12:57:46 -06:00
kpdecker
c05fad8b18
Fix remaining depth arg
2014-12-16 12:57:46 -06:00
kpdecker
203df9d5b7
Remove unused vars and add jshint checking
2014-12-16 12:57:46 -06:00
kpdecker
0d396ccd30
Remove Compiler.depths parameter
...
This is no longer necessary with the depths array tracking and adds compiler overhead.
2014-12-16 12:57:46 -06:00
kpdecker
b6ba2dcdb0
Move compileProgram out of visitor methods
2014-11-29 18:02:58 -06:00
kpdecker
5b0efc7e91
Track source node via accept call rather vs opcode
2014-11-29 18:02:58 -06:00
kpdecker
a655aedb5c
s/Subexpression/SubExpression/
2014-11-29 17:59:09 -06:00
kpdecker
f990cf0064
Treat partial exec in a manner closer to helpers
...
This helps unify the code handling and will also be needed to support string/id tracking on partials.
2014-11-27 09:11:03 -06:00
kpdecker
1124908d2a
Update subexpression and hash AST constructs
2014-11-27 08:37:48 -06:00
kpdecker
e1cba432a6
Simplify Path and Sexpr calculated flags
2014-11-27 07:32:15 -06:00
kpdecker
5c921cafeb
Replace DataNode and IdNode with PathNode
...
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.
2014-11-26 20:36:36 -06:00
kpdecker
697bbe59ca
Update literal ast nodes for new spec
2014-11-26 19:22:09 -06:00
kpdecker
2a4819d75c
Update statement node ASTs
2014-11-26 19:04:18 -06:00
kpdecker
5cfe6a0be1
Update MustacheNode for new AST structure
2014-11-26 09:31:46 -06:00
kpdecker
df421f1e4b
Update ProgramNode to better match SpiderMonkey
2014-11-26 09:18:33 -06:00
kpdecker
61dd721ca2
Update AST location info to match SpiderMonkey
...
Part of #889
2014-11-26 09:01:03 -06:00
kpdecker
bf8cc50798
Merge branch 'remove-block-mustache' of github.com:mmun/handlebars.js into mmun-remove-block-mustache
...
Conflicts:
lib/handlebars/compiler/helpers.js
spec/parser.js
2014-11-08 18:57:06 -06:00
kpdecker
249f559104
Include location information in all opcodes
2014-11-08 17:50:01 -06:00
Martin Muñoz
12e3d210e8
Simplify BlockNode by removing intermediate MustacheNode
2014-11-02 18:19:20 -05:00
kpdecker
632fadcea3
Add preventIndent option for partials
...
This disables the standalone partial indent behavior required by the Mustache spec and allows for users to utilize partials in the same manner as under 1.x.
Fixes #858
2014-11-02 12:19:56 -06:00
kpdecker
ca1486b960
Prune unused code
2014-08-25 22:39:17 -05:00
kpdecker
501a640330
Allow passing depths to _child
2014-08-25 00:32:57 -05:00
kpdecker
477a26913a
Optimize compiler opcode call
2014-08-24 18:16:11 -05:00
kpdecker
84d646bb5d
Move strip processing into AST helper logic
...
We already have to track these behaviors for the standalone parsing and rather than having two whitespace pruning implementations this moves all of the behavior into one place.
Fixes #852
2014-08-23 17:44:20 -05:00
kpdecker
ccd803ff15
Replace string value rather than add omit flag
2014-08-23 16:37:30 -05:00
kpdecker
9e3f824bf5
Fix compiler program de-duping
2014-08-14 12:27:39 -05:00
kpdecker
b94656a31f
Drop unused Compiler.disassemble method
2014-08-14 12:27:23 -05:00
kpdecker
3cea85b2b0
Drop unused DECLARE opcode
2014-08-14 12:27:02 -05:00
kpdecker
c98613b711
Implement recursive field lookup in compat mode
...
Provides the mustache behavior of recursive lookup without the use of depthed paths.
Note that this does incur a fairly dramatic performance penalty for depthed queries.
2014-08-13 20:46:42 -05:00
kpdecker
f6dc5ad716
Create contextName helper for context lookup
2014-08-13 11:41:27 -05:00
kpdecker
e93d516672
Render indent for standalone partials
2014-08-12 14:41:58 -05:00
kpdecker
2a47d66ee9
Drop omitted content tags from generated output
2014-08-12 14:41:58 -05:00
kpdecker
271106d43f
Do not lookup pathed helpers on the helper stack
...
Fixes #764
2014-07-12 12:50:54 -05:00
kpdecker
c90cfe247c
Use ID lookup for ambiguous helper evaluation
...
Final change for #731
2014-07-07 00:20:02 -05:00
kpdecker
b5a5c76ceb
Rework lookup null protector logic
...
- Move the lookup null protection out of `nameLookup` and into that contexts that are aware of the needs for falsy vs. not displayed values.
- Optimize lookup for nested path operations
Fixes #731
2014-07-06 23:41:15 -05:00
kpdecker
3638874ddc
Expose setup wrappers for compiled templates
2014-05-19 23:08:34 -05:00
Tom Dale
72c1262394
Pass full id to helperMissing
2014-05-13 13:24:25 +01:00
kpdecker
55782f08c5
Fix evaluation of paths and subexprs
...
Fixes #743
2014-03-05 17:49:39 -06:00
Jon Jensen
8493822b62
properly handle multiple subexpressions in the same hash, fixes #748
...
push all hash params before popping any so as to avoid the last stackN var
stomping previous ones
2014-02-20 17:37:25 -06:00
kpdecker
c72a8d5e84
Add child accessor API
2014-02-09 22:48:38 -06:00
kpdecker
16f135835e
Add support for depthed resolution of data fields
2014-02-09 18:35:22 -06:00
kpdecker
306feb497c
Implement lookup helper
2014-02-09 17:22:18 -06:00
kpdecker
ace2896ec8
Add trackIds compiler flag
...
Allows helpers that care about where a particular field came from derive this data while maintaining backward compatibility with existing helpers.
2014-01-17 23:15:17 -06:00
kpdecker
33921beaa0
Fix missing parameters for pathed mustaches
...
Fixes #658
2014-01-17 23:09:59 -06:00
kpdecker
d4cfe90959
Allow decimal number values
...
Fixes #472
2014-01-17 20:42:02 -06:00
kpdecker
45ae86a248
Implement partial hash evaluation
2014-01-17 17:51:52 -06:00
kpdecker
0f328f375e
Include name option for all helper calls
...
All helper calls will have access to `options.name` which is the first id value of the mustache operation.
As part of this the helperMissing call has been simplified to remove the indexed name in order to optimize the call. This is a breaking change.
Fixes #634
2014-01-06 16:07:56 -06:00