summaryrefslogtreecommitdiffstats
path: root/lib/handlebars/compiler/compiler.js
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #442 from tricknotes/fix-method-name-in-error-messageKevin Decker2013-02-161-1/+1
|\ | | | | Fix method name in error message
| * Fix method name in error messageRyunosuke SATO2013-02-161-1/+1
| | | | | | | | - compile -> precompile
* | Use local varskpdecker2013-02-161-4/+4
| |
* | Remove unnecessary child scopeskpdecker2013-02-161-1043/+1040
|/
* mergeTommy Messbauer2013-02-111-83/+284
|\
| * Better error messages for precompiler runtime mismatchPeter Wagenet2013-02-091-1/+3
| |
| * Decouple compiler version checks from release versionsPeter Wagenet2013-02-081-1/+1
| |
| * Handlebars.parse/precompile/compile can now be passed an already-compiled ↵machty2013-02-071-8/+8
| | | | | | | | Handlebars AST.
| * Improved precompile template version checkPeter Wagenet2013-01-301-4/+1
| | | | | | | | | | This check reduces duplicated code as well as also failing if the template was precompiled on a version before the check was added.
| * Check version when evaluating templates.Peter Wagenet2013-01-291-0/+7
| | | | | | | | | | This makes sure that we throw an error when a template was precompiled with a version of Handlebars that doesn't match the evaluating version.
| * mergeSource helperkpdecker2013-01-211-10/+14
| |
| * Merge duplicate programskpdecker2013-01-211-6/+43
| |
| * Remove inline option from pushStackkpdecker2013-01-211-13/+9
| |
| * Use push rather than pushStack for inline opskpdecker2013-01-211-11/+11
| |
| * Make replaceStack always inlinekpdecker2013-01-201-6/+6
| |
| * Formatting updates for inlined contentkpdecker2013-01-201-2/+2
| |
| * Merge consecutive buffer appendskpdecker2013-01-201-10/+30
| |
| * Use options register for blockHelperMissingkpdecker2013-01-201-4/+9
| |
| * Inline known helper callskpdecker2013-01-201-1/+1
| |
| * Use stack rather than register for invoke lookupkpdecker2013-01-201-4/+6
| |
| * Prevent duplication of inline content in appendkpdecker2013-01-201-0/+3
| |
| * Update 2nd level opcodes to use inlineskpdecker2013-01-191-11/+19
| |
| * Allow replaceStack to work with the inline stackkpdecker2013-01-191-8/+35
| |
| * Use inline values for simple terminalskpdecker2013-01-191-4/+5
| |
| * Inline stack helper implementationkpdecker2013-01-191-16/+48
| |
| * Merge branch 'master' into inline-opskpdecker2013-01-191-4/+3
| |\
| | * Remove unused varskpdecker2013-01-191-4/+3
| | |
| * | Reuse stack var to avoid registerkpdecker2013-01-191-2/+1
| | |
| * | Output options only once to unknownHelper casekpdecker2013-01-191-6/+12
| | |
| * | Empty hash literal outputkpdecker2013-01-191-4/+11
| | |
| * | Inline foundHelper lookupkpdecker2013-01-191-4/+4
| |/
| * Must pop the stack extra for hashestomhuda2013-01-181-0/+1
| |
| * Add support for getting types in string modeYehuda Katz2013-01-161-10/+39
| | | | | | | | | | This makes it possible to determine whether an argument was passed as a string or as a path when implementing helpers in string mode.
| * Prevent write on all depth variableskpdecker2013-01-131-1/+1
| |
| * Prevent context overwrite by replaceStackkpdecker2013-01-131-7/+14
| | | | | | Fixes #408.
| * Remove duplicate assignmentkpdecker2013-01-131-1/+1
| |
| * Removed unnecessary semicolon, which is needed to pass JSHint for compiled codeAndrey Lushchick2012-12-271-1/+1
| |
| * Merge pull request #389 from leshill/partial_namesYehuda Katz2012-12-231-2/+2
| |\ | | | | | | Partials can be paths
| | * Partials can be pathsLes Hill2012-12-131-2/+2
| | | | | | | | | | | | | | | | | | Allows partials with slashes, a common partial syntax. For example: {{> shared/dude}}
| * | Merge pull request #390 from eastridge/masterYehuda Katz2012-12-231-2/+6
| |\ \ | | | | | | | | Make {data: true} a default compile option
| | * | Add data = true as default optionRyan Eastridge2012-12-131-2/+6
| | |/
| * | Get a better error for compile(falsy)Yehuda Katz2012-12-231-0/+8
| |/
* | Merged upstream master and ran unit testsTommy Messbauer2012-11-261-2/+2
|\ \ | |/
| * Bind functions to the context properly.Tyson Tate2012-09-191-2/+2
| | | | | | | | | | | | The regression was introduced in 1.0.rc.1. This fixes issue #317.
* | Factory update with tabs to spaces.. sorry :(Tommy Messbauer2012-11-261-915/+915
| |
* | Finished factory patternTommy Messbauer2012-08-291-2/+3
| |
* | Commiting initial factory codeTommy Messbauer2012-08-291-910/+919
|/
* Fix handling of this parameters in helperskpdecker2012-07-301-1/+7
| | | Fixes issue introduced in 727eb26cb6a9e89ab08596dedbabcec0becb4d75
* Document lookupDataYehuda Katz2012-07-051-0/+6
|
* Reduce duplicationYehuda Katz2012-07-051-9/+5
|
* Make deep @data trigger the data optionYehuda Katz2012-07-051-2/+4
|
* Add support for @data variablesYehuda Katz2012-07-051-5/+18
|
* FIX global leakNicolas Chambrier2012-06-251-2/+2
|
* Fix a bug where registers were sharedtomhuda2012-05-281-9/+6
|
* Remove unneeded code and add docstomhuda2012-05-281-169/+213
| | | | | There were a few operations that are no longer needed, so remove them. Also document all operations.
* More cleanuptomhuda2012-05-281-65/+155
| | | | * Make block and inverse use the main helper path * Eliminate separate inverse AST node
* Disambiguate more ahead of timetomhuda2012-05-281-8/+25
|
* Remove unneeded binary opcode stufftomhuda2012-05-281-120/+25
| | | | It turns out that we don't need to store the opcodes in a compact way, so don't bother.
* Continue work on cleaning up helpersYehuda Katz2012-05-281-12/+33
|
* Start doing earlier work on helpersYehuda Katz2012-05-281-28/+127
|
* Clean up the compiler a bitYehuda Katz2012-05-261-69/+91
|
* Several improvements to compiled output:tomhuda2012-05-261-54/+94
| | | | | | | | | | | * 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.
* JSHint the library and fix a few bugstomhuda2012-02-171-3/+6
|
* Fixed whitespace and semi-colonsPeter Wagenet2012-02-081-14/+14
|
* I'm an idiotYehuda Katz2011-12-311-14/+14
|
* Missing some reserved wordsYehuda Katz2011-12-311-3/+17
|
* Differentiate between lambdas in the context (which should have mustache ↵Yehuda Katz2011-12-311-7/+12
| | | | semantics) and helpers (which have Handlebars helper semantics).
* data should be passed through to partials. closes #111.Yehuda Katz2011-12-271-1/+7
|
* Fix bug where inverse section was being passed to subsequent helpersYehuda Katz2011-12-271-0/+1
|
* Merge pull request #121 from tablatom/masterYehuda Katz2011-12-231-1/+1
|\ | | | | Added a noEscape option to Handlebars.compile
| * Add noEscape option to Handlebars.compileTom Locke2011-09-261-1/+1
| |
* | Allow subclasses to customize the namespaceYehuda Katz2011-10-281-4/+7
| |
* | Goodbye poor hack. You were broken before your time.Peter Wagenet2011-10-271-2/+0
| |
* | Added 'log' helper - See #97Peter Wagenet2011-10-241-1/+2
| |
* | Refactor deferred compile to use helperkpdecker2011-10-211-6/+11
| |
* | Defer compilation of templates until needed.kpdecker2011-10-211-7/+13
|/
* Forgot === for falsy check.Alan Johnson2011-09-051-1/+1
|
* Fixed bug in falsy check on lookups.Alan Johnson2011-09-051-1/+2
|
* Fixed errors occurring because of undefined properties on nested paths.Alan Johnson2011-09-021-1/+1
|
* Got simple literal expressions added into paths.Alan Johnson2011-09-021-5/+13
|
* The missing semicolon is breaking our code when we minify. Mark DiMarco2011-09-011-1/+2
|
* Fixed missing var in compiler code causing compilerWords to be global.Alan Johnson2011-08-151-1/+1
|
* Make sure options.hash is an empty {} if no hash is present to eliminate ↵tomhuda2011-08-021-4/+7
| | | | necessary guards in helpers
* Do not perform unnecessary self-assignkpdecker2011-07-311-1/+3
|
* Do not buffer for simple programs (1 statement)kpdecker2011-07-311-5/+21
|
* Optimize the populate call logic for the simple caseskpdecker2011-07-311-17/+21
|
* knownHandlers and knownHandlersOnly compile options.kpdecker2011-07-311-11/+45
|
* Access context objects directly rather than using currentContext var.kpdecker2011-07-311-16/+10
|
* Convert children to nested functions. Reuse identifiers by closure where ↵kpdecker2011-07-311-52/+43
| | | | possible.
* Alias self -> thiskpdecker2011-07-311-3/+4
|
* Move aliases and registers into context object.kpdecker2011-07-311-14/+17
|
* Use x = a[y] || b[y] rather than if exists lookupkpdecker2011-07-311-8/+6
|
* Minimizable id aliases.kpdecker2011-07-311-7/+20
|
* buffer += kpdecker2011-07-311-1/+1
|
* Avoid eval when running in VM+Compiler modekpdecker2011-07-301-21/+29
|
* Temporary Handlebars.compile implementation in compilerkpdecker2011-07-301-0/+6
|
* Expose Handlebars.precompile method from the compiler.kpdecker2011-07-301-0/+6
|
* Fix module loading within nodekpdecker2011-07-301-1/+1
|
* Phase 2 of precompiled extraction:kpdecker2011-07-301-8/+10
| | | Use string representations to pass around the function context
* Phase 1 of precompiled extraction:kpdecker2011-07-301-30/+5
| | | Separate template logic from container construction.