Sat, 01 Nov 2014 23:34:21 +0000
Lua 5.2 compatibility hack
module("handlers", package.seeall) require("handlers.render") require("handlers.copy") require("handlers.ignore") local available={ { pattern = "%.lg$", handler = handlers.render}, { pattern = "%.note$", handler = handlers.ignore}, { pattern = "", handler = handlers.copy}, } function find(f) for _, h in ipairs(available) do if string.match(f, h.pattern) then return h.handler end end return handlers.ignore end local cached={} function choose(f, env) cached[f] = find(f) end -- load function phase1(f, env) return cached[f].phase1(f, env) end -- write function phase2(f, env) return cached[f].phase2(f, env) end