diff options
Diffstat (limited to 'otfl-luat-ovr.lua')
-rw-r--r-- | otfl-luat-ovr.lua | 52 |
1 files changed, 36 insertions, 16 deletions
diff --git a/otfl-luat-ovr.lua b/otfl-luat-ovr.lua index 63ad6a7..0657bbe 100644 --- a/otfl-luat-ovr.lua +++ b/otfl-luat-ovr.lua @@ -12,8 +12,8 @@ local module_name = "luaotfload" local texiowrite_nl = texio.write_nl local stringformat = string.format local tableconcat = table.concat -local ioflush = io.flush local dummyfunction = function() end +local type = type --[[doc-- We recreate the verbosity levels previously implemented in font-nms: @@ -47,24 +47,44 @@ function logs.report(category,fmt,...) end end -function logs.info(category,fmt,...) - if fmt then - texiowrite_nl(stringformat("%s | %s: %s",module_name,category,stringformat(fmt,...))) - elseif category then - texiowrite_nl(stringformat("%s | %s",module_name,category)) - else - texiowrite_nl(stringformat("%s |",module_name)) - end - ioflush() -end - -logs.names_loading = function (category, fmt, ...) - if loglevel > 1 then +logs.names_search = function (category, fmt, ...) + if loglevel > 2 then local res = { module_name, " |" } if category then res[#res+1] = " " .. category end if fmt then res[#res+1] = ": " .. stringformat(fmt, ...) end - texiowrite_nl(tableconcat(res)) - ioflush() + texiowrite_nl("log", tableconcat(res)) + end +end + + +local log = function (category, fmt, ...) + local res = { module_name, " |" } + if category then res[#res+1] = " " .. category end + if fmt then res[#res+1] = ": " .. stringformat(fmt, ...) end + texiowrite_nl("log", tableconcat(res)) +end + +local stdout = function (category, fmt, ...) + local res = { module_name, " |" } + if category then res[#res+1] = " " .. category end + if fmt then res[#res+1] = ": " .. stringformat(fmt, ...) end + texiowrite_nl(tableconcat(res)) +end + +local level_ids = { common = 0, loading = 1, search = 2 } + +logs.names_report = function (mode, lvl, ...) + if type(lvl) == "string" then + lvl = level_ids[lvl] + end + if not lvl then lvl = 0 end + + if loglevel > lvl then + if mode == "log" then + log (...) + else + stdout (...) + end end end |