diff options
author | Philipp Gesang <phg@phi-gamma.net> | 2016-04-08 19:13:51 +0200 |
---|---|---|
committer | Philipp Gesang <phg@phi-gamma.net> | 2016-04-08 19:13:51 +0200 |
commit | f3495d7db72f854d8f7560a6ff11fa9012003062 (patch) | |
tree | 38b9ad5b0d15ccd5c8288be2221defc091eada64 /lualibs-unicode.lua | |
parent | 233c885a37efeabaab00c68f1dd4262705a0ac9e (diff) | |
parent | 935306412b57f436fcb5307a14941ded3eb3168d (diff) | |
download | lualibs-f3495d7db72f854d8f7560a6ff11fa9012003062.tar.gz |
Merge pull request #29 from phi-gamma/master
version 2.4
Diffstat (limited to 'lualibs-unicode.lua')
-rw-r--r-- | lualibs-unicode.lua | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lualibs-unicode.lua b/lualibs-unicode.lua index 70b6032..3dec800 100644 --- a/lualibs-unicode.lua +++ b/lualibs-unicode.lua @@ -528,9 +528,10 @@ end -- end, pattern -- end -function utf.remapper(mapping,option) -- static also returns a pattern +function utf.remapper(mapping,option,action) -- static also returns a pattern local variant = type(mapping) if variant == "table" then + action = action or mapping if option == "dynamic" then local pattern = false table.setmetatablenewindex(mapping,function(t,k,v) rawset(t,k,v) pattern = false end) @@ -539,16 +540,16 @@ function utf.remapper(mapping,option) -- static also returns a pattern return "" else if not pattern then - pattern = Cs((tabletopattern(mapping)/mapping + p_utf8char)^0) + pattern = Cs((tabletopattern(mapping)/action + p_utf8char)^0) end return lpegmatch(pattern,str) end end elseif option == "pattern" then - return Cs((tabletopattern(mapping)/mapping + p_utf8char)^0) + return Cs((tabletopattern(mapping)/action + p_utf8char)^0) -- elseif option == "static" then else - local pattern = Cs((tabletopattern(mapping)/mapping + p_utf8char)^0) + local pattern = Cs((tabletopattern(mapping)/action + p_utf8char)^0) return function(str) if not str or str == "" then return "" |