diff options
author | Philipp Gesang <phg42.2a@gmail.com> | 2014-12-11 21:03:53 +0100 |
---|---|---|
committer | Philipp Gesang <phg42.2a@gmail.com> | 2014-12-11 21:03:53 +0100 |
commit | 281539cf53b8ec43d72e06cbdba874b2de6e758d (patch) | |
tree | 9dc539f574e424247458beade553cdffbed59707 /lualibs-util-tpl.lua | |
parent | ee53358e267a7946608e66775047085b815b8608 (diff) | |
download | lualibs-281539cf53b8ec43d72e06cbdba874b2de6e758d.tar.gz |
sync with Context as of 2014-12-11
Diffstat (limited to 'lualibs-util-tpl.lua')
-rw-r--r-- | lualibs-util-tpl.lua | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/lualibs-util-tpl.lua b/lualibs-util-tpl.lua index 67d0582..bd0e261 100644 --- a/lualibs-util-tpl.lua +++ b/lualibs-util-tpl.lua @@ -52,7 +52,7 @@ local sqlescape = lpeg.replacer { -- { "\t", "\\t" }, } -local sqlquoted = lpeg.Cs(lpeg.Cc("'") * sqlescape * lpeg.Cc("'")) +local sqlquoted = Cs(Cc("'") * sqlescape * Cc("'")) lpegpatterns.sqlescape = sqlescape lpegpatterns.sqlquoted = sqlquoted @@ -111,13 +111,21 @@ local luaescaper = escapers.lua local quotedluaescaper = quotedescapers.lua local function replacekeyunquoted(s,t,how,recurse) -- ".. \" " - local escaper = how and escapers[how] or luaescaper - return escaper(replacekey(s,t,how,recurse)) + if how == false then + return replacekey(s,t,how,recurse) + else + local escaper = how and escapers[how] or luaescaper + return escaper(replacekey(s,t,how,recurse)) + end end local function replacekeyquoted(s,t,how,recurse) -- ".. \" " - local escaper = how and quotedescapers[how] or quotedluaescaper - return escaper(replacekey(s,t,how,recurse)) + if how == false then + return replacekey(s,t,how,recurse) + else + local escaper = how and quotedescapers[how] or quotedluaescaper + return escaper(replacekey(s,t,how,recurse)) + end end local single = P("%") -- test %test% test : resolves test @@ -188,3 +196,5 @@ end -- inspect(utilities.templates.replace("test %one% test", { one = "%two%", two = "two" })) -- inspect(utilities.templates.resolve({ one = "%two%", two = "two", three = "%three%" })) +-- inspect(utilities.templates.replace("test %one% test", { one = "%two%", two = "two" },false,true)) +-- inspect(utilities.templates.replace("test %one% test", { one = "%two%", two = "two" },false)) |