Commit Graph

18 Commits

Author SHA1 Message Date
Michael Bayne ce389bd293 Cleaned up contributed template loading support. Moved MustacheTemplateLoader
into inner interface Mustache.TemplateLoader, eliminated top-level
UnsupportedTemplateLoader. Eliminated static configuration of active template
loader in favor of per-Compiler configured template loader, which is how all
other configuration is handled.More complex tests are needed, but will have to
wait until I'm less sleep deprived.
2011-04-13 11:49:59 -07:00
Sean Scanlon 5fc751219e Add template loader hook for partials {{>template}} support.
This is implemented so that by default, the library does not support template loading (which it already does not)
but instead of treating partial calls as a context lookup for a ">key", an exception is thrown.
2011-03-27 15:53:04 -07:00
Michael Bayne cd4db4293e Added support for the triple mustache! {{{foo}}} which means "don't escape HTML
in the replacement for this tag." This is already supported via {{&foo}} as
well, but we like to be thorough.

Also generate MustacheParseException when parsing (a subclass of
MustacheException) mostly for convenience in testing.
2011-02-28 20:15:45 -08:00
Michael Bayne f4cfa40c2b Added a "standards mode" based on patches from mrdon. In standards mode, we do
not search parent contexts for name bindings, nor do we support compound keys.
Also added support for {{.}} which has the same semantics as {{this}}. I must
have missed this when reading the Mustache spec.
2011-02-28 11:52:40 -08:00
Michael Bayne 773e1c5c6e Bah, let's just have the copyright in the LICENSE file. If that doesn't hold up
in a court of law, oh well. My sense of aesthetics trumps all!
2010-11-02 14:19:33 -07:00
Michael Bayne 84691b7ac3 Let's have a license and a proper source header. (Thanks Dave!) 2010-11-02 14:18:16 -07:00
Michael Bayne 7ec57412fa A patch from Charlie to provide line numbers when reporting variable related
errors during execution.
2010-10-23 16:35:38 +00:00
Michael Bayne 00113a5a36 Added -index special variable. 2010-10-22 05:29:31 +00:00
Michael Bayne 0b9b01dab6 Fixed some bugs with newline skipping. Improved error handling when a tag is
not closed properly and another tag follows it on the same line. Added support
for -first and -last special variables. Fixed problem with resolving outermost
component of a compound key in parent contexts.
2010-10-22 05:02:09 +00:00
Michael Bayne 5932123d79 Added support for nesting contexts, which allows us to resolve variables in
parent contexts if they're not available in our current context.
2010-10-22 01:06:06 +00:00
Michael Bayne eb225b0b48 Added skipping of newlines immediately following section open and close tags. 2010-10-21 23:19:10 +00:00
Michael Bayne 3bad793de9 Fixed dropped character on partial delimiter match. 2010-10-21 21:13:09 +00:00
Michael Bayne 5042cc69fa Let's escape HTML by default so as to avoid confusion. 2010-10-21 21:03:52 +00:00
Michael Bayne 5a5dd17296 Javadoc improvements. 2010-10-21 20:57:38 +00:00
Michael Bayne 89c1590ec1 No escaping of HTML by default. Added Compiler builder mechanism to specify
default HTML escaping behavior. Possibly pattern overkill, but if we add any
other options later, this will scale nicely.
2010-10-21 20:49:53 +00:00
Michael Bayne 1e89b87cb0 Added support for obtaining variable values from fields and methods. Added a
template-local variable fetching cache that avoids reresolving the source of a
variable when it remains monomorphic (e.g. it's always a field of class
Foo.class or always a method named getFoo(), etc.).
2010-10-21 19:26:40 +00:00
Michael Bayne 3eea40d1d4 Basic implementation and some tests. 2010-10-21 18:08:07 +00:00
Michael Bayne 5640791b4b Earnest beginnings. 2010-10-21 06:32:37 +00:00