diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/mult-ini.lua')
-rw-r--r-- | Master/texmf-dist/tex/context/base/mult-ini.lua | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/mult-ini.lua b/Master/texmf-dist/tex/context/base/mult-ini.lua new file mode 100644 index 00000000000..a92561b09b7 --- /dev/null +++ b/Master/texmf-dist/tex/context/base/mult-ini.lua @@ -0,0 +1,56 @@ +if not modules then modules = { } end modules ['mult-ini'] = { + version = 1.001, + comment = "companion to mult-ini.tex", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +interfaces = interfaces or { } +interfaces.messages = interfaces.messages or { } +interfaces.constants = interfaces.constants or { } +interfaces.variables = interfaces.variables or { } + +input.storage.register(false,"interfaces/messages", interfaces.messages, "interfaces.messages" ) +input.storage.register(false,"interfaces/constants", interfaces.constants, "interfaces.constants") +input.storage.register(false,"interfaces/variables", interfaces.variables, "interfaces.variables") + +function interfaces.setmessage(category,str) + local m = interfaces.messages[category] or { } + for k, v in str:gmatch("(%S+) *: *(.-) *[\n\r]") do + m[k] = v:gsub("%-%-","%%s") + end + interfaces.messages[category] = m +end + +function interfaces.getmessage(category,tag) + local m = interfaces.messages[category] + return (m and m[tag]) or "unknown message" +end + +function interfaces.makemessage(category,tag,arguments) + local m = interfaces.messages[category] + m = (m and m[tag] ) or "unknown message" + if not m then + return m .. " " .. tag + elseif not arguments then + return m + elseif arguments:find(",") then + return string.format(m,unpack(arguments:split(","))) + else + return string.format(m,arguments) + end +end + +function interfaces.showmessage(category,tag,arguments) + local m = interfaces.messages[category] + ctx.writestatus((m and m.title) or "unknown title",interfaces.makemessage(category,tag,arguments)) +end + +function interfaces.setvariable(variable,given) + interfaces.variables[given] = variable +end + +function interfaces.setconstant(constant,given) + interfaces.constants[given] = constant +end |