kpdecker
4ffe1b8e5a
Fix handling of this parameters in helpers
...
Fixes issue introduced in 727eb26cb6
2012-07-30 21:40:25 -05:00
Yehuda Katz
36b242a710
Document lookupData
2012-07-05 23:10:39 -07:00
Yehuda Katz
659be5a690
Reduce duplication
2012-07-05 23:08:57 -07:00
Yehuda Katz
46c04fa71e
Make deep @data trigger the data option
2012-07-05 23:05:55 -07:00
Yehuda Katz
72e05d623c
Add support for @data variables
2012-07-05 22:43:05 -07:00
Nicolas Chambrier
7a393a972b
FIX global leak
2012-06-25 17:38:27 +03:00
tomhuda
0afc8b58d2
Clean up parser tests and AST printer
2012-05-28 19:06:26 -07:00
tomhuda
1082ec2414
Fix a bug where registers were shared
2012-05-28 19:06:08 -07:00
tomhuda
727eb26cb6
Remove unneeded code and add docs
...
There were a few operations that are no longer
needed, so remove them. Also document all
operations.
2012-05-28 17:35:21 -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
tomhuda
3486b530be
Disambiguate more ahead of time
2012-05-28 14:19:48 -07:00
tomhuda
bc5efc1767
Remove unneeded binary opcode stuff
...
It turns out that we don't need to store the
opcodes in a compact way, so don't bother.
2012-05-28 13:28:51 -07:00
Yehuda Katz
90adaa3cc8
Continue work on cleaning up helpers
2012-05-28 13:03:22 -07:00
Yehuda Katz
8786a6c6e2
Start doing earlier work on helpers
2012-05-28 00:15:52 -07:00
Yehuda Katz
68c76c9b2e
Clean up the compiler a bit
2012-05-26 22:17:22 -07:00
tomhuda
facefe8fed
Several improvements to compiled output:
...
* Eliminate legacy support for an options hash
that doubles as a function. This prevented us
from building the hash as a literal, and added
a bunch of code weight
* Create a new "stack literal" construct, that
allows an opcode to push a literal expression
onto the stack. This will not allocate a new
stack variable, and when popped, will simply
return the literal expression as a String.
2012-05-26 14:51:41 -07:00
tomhuda
24e04bad94
JSHint the library and fix a few bugs
2012-02-17 16:51:35 -08:00
Peter Wagenet
2ea95ca08d
Fixed whitespace and semi-colons
2012-02-08 20:49:49 -08:00
Yehuda Katz
6040149cf8
I'm an idiot
2011-12-31 16:04:11 -08:00
Yehuda Katz
17cdb0091b
Missing some reserved words
2011-12-31 15:41:16 -08:00
Yehuda Katz
730c2617af
Differentiate between lambdas in the context (which should have mustache semantics) and helpers (which have Handlebars helper semantics).
2011-12-31 13:51:54 -08:00
Yehuda Katz
e474e56b80
data should be passed through to partials. closes #111 .
2011-12-27 15:57:08 -08:00
Yehuda Katz
e57e626480
Fix bug where inverse section was being passed to subsequent helpers
2011-12-27 00:30:46 -08:00
Yehuda Katz
647d5adf85
Merge pull request #121 from tablatom/master
...
Added a noEscape option to Handlebars.compile
2011-12-23 16:57:39 -08:00
Yehuda Katz
9998d9d9bc
Allow subclasses to customize the namespace
2011-10-28 17:39:42 -07:00
Peter Wagenet
924cc3e86c
Goodbye poor hack. You were broken before your time.
2011-10-27 22:32:07 -07:00
Peter Wagenet
43431d2a78
Added 'log' helper - See #97
2011-10-24 19:41:41 -07:00
kpdecker
defc2f3403
Refactor deferred compile to use helper
2011-10-21 08:34:24 -05:00
kpdecker
4458b5fa13
Defer compilation of templates until needed.
2011-10-21 08:24:55 -05:00
Tom Locke
cd927e9cda
Add noEscape option to Handlebars.compile
2011-09-26 09:47:30 +01:00
Alan Johnson
b832c85923
Forgot === for falsy check.
2011-09-05 14:20:57 -04:00
Alan Johnson
33bde69750
Fixed bug in falsy check on lookups.
2011-09-05 11:08:22 -04:00
Alan Johnson
6b18873d23
Fixed errors occurring because of undefined properties on nested paths.
2011-09-02 10:56:37 -04:00
Alan Johnson
fc84308cc9
Got simple literal expressions added into paths.
2011-09-02 09:04:41 -04:00
Mark DiMarco
696dc2dc36
The missing semicolon is breaking our code when we minify.
2011-09-01 20:37:51 -05:00
Alan Johnson
3c5cac3f3f
Fixed missing var in compiler code causing compilerWords to be global.
2011-08-15 23:10:27 -04:00
tomhuda
2f7b724d5a
Make sure options.hash is an empty {} if no hash is present to eliminate necessary guards in helpers
2011-08-02 16:32:57 -07:00
kpdecker
318c08a97e
Do not perform unnecessary self-assign
2011-07-31 21:44:27 -05:00
kpdecker
d6b97cf34d
Do not buffer for simple programs (1 statement)
2011-07-31 21:44:16 -05:00
kpdecker
6349c1a0c7
Optimize the populate call logic for the simple cases
2011-07-31 21:01:40 -05:00
kpdecker
f53737ef23
knownHandlers and knownHandlersOnly compile options.
2011-07-31 21:00:44 -05:00
kpdecker
1a88356dc3
Access context objects directly rather than using currentContext var.
2011-07-31 17:17:14 -05:00
kpdecker
d044ada7aa
Convert children to nested functions. Reuse identifiers by closure where possible.
2011-07-31 16:17:39 -05:00
kpdecker
77a20a3a9f
Alias self -> this
2011-07-31 14:58:37 -05:00
kpdecker
9821da8df7
Move aliases and registers into context object.
2011-07-31 14:10:32 -05:00
kpdecker
2d538baf72
Use x = a[y] || b[y] rather than if exists lookup
2011-07-31 11:27:47 -05:00
kpdecker
c7e8ddd6b5
Minimizable id aliases.
2011-07-31 11:25:40 -05:00
kpdecker
6fcebec713
buffer +=
2011-07-31 11:21:18 -05:00
kpdecker
993c793565
Avoid eval when running in VM+Compiler mode
2011-07-30 16:55:26 -05:00
kpdecker
82a1b0e85c
Temporary Handlebars.compile implementation in compiler
2011-07-30 15:24:49 -05:00