Commit Graph

73 Commits

Author SHA1 Message Date
Paul Grimshaw d4f6004ec4 Added some further tests 2016-09-23 16:05:15 +01:00
Paul Grimshaw 98b0c501e2 Merge remote-tracking branch 'original-master/master'
# Conflicts:
#	mustache-sharp.test/FormatCompilerTester.cs
2016-09-23 14:37:16 +01:00
jehugaleahsa 107b588019 Text duplicated within nested contexts
The text writer inside of a nested context was being consolidated for
every generator in the block, rather than once at the end.
2016-09-19 12:25:48 -04:00
Paul Grimshaw 0195c39f42 Merge remote-tracking branch 'original-master/master'
# Conflicts:
#	Local.testsettings
#	TraceAndTestImpact.testsettings
#	mustache-sharp.test/FormatCompilerTester.cs
#	mustache-sharp.vsmdi
#	mustache-sharp/ArgumentCollection.cs
#	mustache-sharp/FormatCompiler.cs
2016-09-19 16:26:03 +01:00
Paul Grimshaw b5e7aceaa6 Url from variable test added 2016-09-19 12:32:46 +01:00
Paul Grimshaw bed6302ea8 Added Url encode / Url decode options 2016-09-19 11:40:43 +01:00
jehugaleahsa bb1b6cc936 Direct support for HTML formatting 2016-03-21 13:41:46 -04:00
Travis Parks 929764e58a Add strong-name to assemblies 2015-11-20 17:42:18 -05:00
Travis Parks 41bfaf3530 Add UNLICENCE 2015-10-22 22:31:50 -04:00
Travis Parks eb9f363179 Update README.md 2015-10-22 22:17:08 -04:00
Travis Parks 76a3f60a94 Treat DBNull as False in Conditions 2014-08-01 11:35:37 -04:00
Travis Parks 2bf2f0c25c Update assembly version for NuGet 2014-08-01 11:26:45 -04:00
Travis Parks e3600852cf Merge pull request #29 from zbynek001/master
Generator.KeyFound event not passing value
2014-07-14 15:57:44 -04:00
Zbynek Zavadil 758f112836 KeyFoundEventArgs constructor fix
KeyFoundEventArgs constructor didn't set value leading to always
substituting with an empty string
2014-07-14 21:14:55 +02:00
Travis Parks 8135db68df Eliminate recursive calls in UpcastDictionary
I realized I had tail-end recursion, which could be easily eliminated.
Because of yield return, I think this greatly simplified the code.
2014-06-26 15:21:01 -04:00
Travis Parks f73814e3d9 Upcast Dictionary Improvements
I wanted to improve the predictability and the efficiency of the latest
UpcastDictionary code. I switched to a breadth-first search of
sub-types, filtering out duplicates.
2014-06-26 14:45:21 -04:00
Travis Parks 55ff1ef5de Even more powerful dictionary detection
There were some more cases where an IDictionary<string, T> was not being
detected by the UpcastDictionary.
2014-06-25 11:04:51 -04:00
Travis Parks 80824c4e4b Add mutex lock to PropertyDictionary
It was pointed out that since the PropertyDictionary is caching the
properties of types using a static dictionary, it must be made thread
safe.
2014-06-25 10:19:08 -04:00
Travis Parks 016161a777 Update README.md 2014-06-20 09:03:59 -04:00
Travis Parks 46d4b530f1 Update README.md 2014-06-20 08:57:40 -04:00
Travis Parks 19a0710d49 Allow string and number arguments 2014-05-21 17:02:31 -04:00
Travis Parks 60f8294eb4 Allow for the preservation of newlines 2014-05-21 13:38:39 -04:00
Travis Parks 10304d811c Handle dictionaries with non-object values.
In cases where a Dictionary property had a non-object value type, the
dictionary couldn't be treated like an object. This code will wrap a
dictionary so its non-object values are upcast to objects.
2014-05-20 19:34:54 -04:00
Travis Parks 7bda253bab Handle properties and fields being replaced by derived classes.
I added code that will (correctly) chose the most derived property/field
when a conflict exists between the parent and child.

According to Microsoft, there is no guarantee of the order that members
will be returned, so I had to determine the members distance from the
object's type down the inheritance hierarchy and pick the closest.
2014-03-02 00:43:08 -05:00
Travis Parks 517e38a6db Support public fields for keys 2014-03-01 23:11:52 -05:00
Paul Grimshaw 1ea4e00904 Unit test mistakes corrected 2014-02-13 23:17:53 +00:00
Paul Grimshaw b31f393f65 Added support for explicit values in equality comparisons in the template, using the _ prefix 2014-02-05 00:20:33 +00:00
Paul Grimshaw a16262d43e Tags altered to allow string number values 2014-02-04 13:52:20 +00:00
Paul Grimshaw ded9ac56aa Readme correction 2014-02-04 13:21:17 +00:00
Paul Grimshaw 466ec8a009 Readme updated with new tag types 2014-02-04 13:19:55 +00:00
Paul Grimshaw 6c902dff3b Lt, Lte, Gt, Gte (less than etc.) tags added 2014-02-04 13:07:28 +00:00
Paul Grimshaw 7c3df01029 Eq Tag added, to allow values to be compared 2014-02-04 12:10:11 +00:00
Travis Parks 599dc7a78f Merge pull request #15 from mdelanno/patch-1
Update README.md
2014-01-01 06:39:14 -08:00
Maxence DELANNOY 546fb3f587 Update README.md
Little typo in the sample code: Compiler -> Compile
2014-01-01 08:49:47 +01:00
Travis Parks 5cabfa4e9b Updated project version for NuGet 2013-10-30 15:42:07 -04:00
Travis Parks 6a272230af Support firing event when keys/variables used as arguments. 2013-10-30 15:39:38 -04:00
Travis Parks 6e74fa1fcc Support scoped variables
I have been slowly working toward supporting variables that can be
declared/updated during output generation. This code also cleans up the
code for searching within a scope.
2013-10-28 15:58:50 -04:00
Travis Parks f136dd61a5 Begin implementation of context scopes.
Instead of context data being a single object, it now supports the same
scoping rules as keys.
Now the #index tag is always available.
2013-08-16 23:36:06 -04:00
Travis Parks eb7e909f95 Update README.md 2013-07-23 09:02:05 -04:00
Travis Parks e2fd882ef1 Force newlines to be explicit
Since there weren't consistent rules for when to include newlines, I
decided to make an explicit tag (similar to HTML's <br /> tag). This can
have a dramatic impact on your existing code (unless it is just HTML).
2013-07-23 08:44:48 -04:00
Travis Parks 65b79062d6 Fix Bug with inline tags in compound tags
Whenever there was an inline tag in a compound tag, it would consume one
too many chunks.
2013-07-22 22:25:13 -04:00
Travis Parks d7a0ab3b38 Add support for index in each tags
It was requested that the current index could be accessed in the each
tag.
2013-07-20 12:06:38 -04:00
Travis Parks 3795a77354 Give more details for unknown tags 2013-07-18 12:04:12 -04:00
Travis Parks 4a00204bda Prevent archiver from replacing newlines 2013-07-16 20:08:00 -04:00
Travis Parks a16381a9d3 Prevent archiver from replacing newlines 2013-07-16 20:00:48 -04:00
Travis Parks c9ad93dca3 Prevent archiver from replacing newlines 2013-07-16 19:55:26 -04:00
Travis Parks 22e0cb4c2a Rename Namespace
I made the mustache namespace upper case. An easy find/replace will fix
this for most projects. I bumped the version up to a minor release
anyway.
2013-05-03 08:44:57 -04:00
Travis Parks 50a80f42ad Update README.md 2013-05-03 09:35:04 -03:00
Travis Parks f07a80d5a1 Eliminate RegexOptions.Compiled
RegexOptions.Compiled does not seem to improve performance and actually
is a bottleneck in most cases. I am removing it for the time being. I
may add a flag to the FormatCompiler if it is needed in the future.
2013-05-01 10:48:25 -04:00
Travis Parks 11b73b696e Pop Context When Exiting Tag
I was not removing context when I was leaving a tag. This caused the
context to grow indefinitely, which is not a valid representation of
where the placeholder was located in the template.
2013-04-25 08:46:03 -04:00