Commit graph

6 commits

Author SHA1 Message Date
Adrian Sampson
46a3bde5b5 fix empty function arguments
Previously, an empty argument was treated as "not an argument at all". Now,
every function call always has at least one argument -- i.e., %foo{} is a
function call whose only argument is "" -- and %foo{,bar} is valid syntax.
2011-12-16 12:08:39 -08:00
Adrian Sampson
ae2f0db540 escape sequences now use $ instead of doubling
This was causing a problem with situation where }} would have semantic meaning
other than escaping a }. Specifically, %func{%func{arg}} contains a }} but
should not escape the }. $} seems to cover this situation. However, ${ is not
permitted as an escape sequence because it looks like the beginning of a symbol
(variable reference) like ${foo}. This is OK because { can be used anywhere as a
literal.
2011-12-15 00:11:57 -08:00
Adrian Sampson
829bd14993 template evaluation (#231) 2011-12-14 19:06:42 -08:00
Adrian Sampson
aa6008dbbc more thorough tests for function call parsing (#231) 2011-12-14 18:46:56 -08:00
Adrian Sampson
b6e75dacb1 function parsing in template string parser (#231) 2011-12-14 18:40:54 -08:00
Adrian Sampson
b5a76e9d1e beginnings of a template string parser (#231) 2011-12-14 17:30:53 -08:00