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
Travis Parks
42463a888f
Provide context when placeholders found.
...
It could be useful to know the context when discovering a placeholder.
I also renamed MissingKeyEventArgs to KeyNotFoundEventArgs.
I created a new event KeyFoundEventArgs.
2013-04-24 21:21:00 -04:00