diff options
Diffstat (limited to 'tex/context/base/cldf-ver.lua')
-rw-r--r-- | tex/context/base/cldf-ver.lua | 150 |
1 files changed, 75 insertions, 75 deletions
diff --git a/tex/context/base/cldf-ver.lua b/tex/context/base/cldf-ver.lua index 601c98e89..b48fd253a 100644 --- a/tex/context/base/cldf-ver.lua +++ b/tex/context/base/cldf-ver.lua @@ -1,75 +1,75 @@ -if not modules then modules = { } end modules ['cldf-ver'] = {
- version = 1.001,
- comment = "companion to cldf-ver.mkiv",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
- copyright = "PRAGMA ADE / ConTeXt Development Team",
- license = "see context related readme files"
-}
-
--- We have better verbatim: context.verbatim so that needs to be looked
--- into. We can also directly store in buffers although this variant works
--- better when used mixed with other code (synchronization issue).
-
-local concat, tohandle = table.concat, table.tohandle
-local find, splitlines = string.find, string.splitlines
-local tostring, type = tostring, type
-
-local context = context
-
-local function flush(...)
- context(concat{...,"\r"}) -- was \n
-end
-
-local function t_tocontext(...)
- context.starttyping { "typing" } -- else [1] is intercepted
- context.pushcatcodes("verbatim")
- tohandle(flush,...) -- ok?
- context.stoptyping()
- context.popcatcodes()
-end
-
-local function s_tocontext(...) -- we need to catch {\}
- context.type()
- context("{")
- context.pushcatcodes("verbatim")
- context(concat({...}," "))
- context.popcatcodes()
- context("}")
-end
-
-local function b_tocontext(b)
- s_tocontext(tostring(b))
-end
-
-table .tocontext = t_tocontext
-string .tocontext = s_tocontext
-boolean.tocontext = b_tocontext
-
-function context.tocontext(first,...)
- local t = type(first)
- if t == "string" then
- s_tocontext(first,...)
- elseif t == "table" then
- t_tocontext(first,...)
- elseif t == "boolean" then
- b_tocontext(first,...)
- end
-end
-
-function context.tobuffer(name,str)
- context.startbuffer { name }
- context.pushcatcodes("verbatim")
- local lines = (type(str) == "string" and find(str,"[\n\r]") and splitlines(str)) or str
- for i=1,#lines do
- context(lines[i] .. " ")
- end
- context.stopbuffer()
- context.popcatcodes()
-end
-
-function context.tolines(str)
- local lines = type(str) == "string" and splitlines(str) or str
- for i=1,#lines do
- context(lines[i] .. " ")
- end
-end
+if not modules then modules = { } end modules ['cldf-ver'] = { + version = 1.001, + comment = "companion to cldf-ver.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +-- We have better verbatim: context.verbatim so that needs to be looked +-- into. We can also directly store in buffers although this variant works +-- better when used mixed with other code (synchronization issue). + +local concat, tohandle = table.concat, table.tohandle +local find, splitlines = string.find, string.splitlines +local tostring, type = tostring, type + +local context = context + +local function flush(...) + context(concat{...,"\r"}) -- was \n +end + +local function t_tocontext(...) + context.starttyping { "typing" } -- else [1] is intercepted + context.pushcatcodes("verbatim") + tohandle(flush,...) -- ok? + context.stoptyping() + context.popcatcodes() +end + +local function s_tocontext(...) -- we need to catch {\} + context.type() + context("{") + context.pushcatcodes("verbatim") + context(concat({...}," ")) + context.popcatcodes() + context("}") +end + +local function b_tocontext(b) + s_tocontext(tostring(b)) +end + +table .tocontext = t_tocontext +string .tocontext = s_tocontext +boolean.tocontext = b_tocontext + +function context.tocontext(first,...) + local t = type(first) + if t == "string" then + s_tocontext(first,...) + elseif t == "table" then + t_tocontext(first,...) + elseif t == "boolean" then + b_tocontext(first,...) + end +end + +function context.tobuffer(name,str) + context.startbuffer { name } + context.pushcatcodes("verbatim") + local lines = (type(str) == "string" and find(str,"[\n\r]") and splitlines(str)) or str + for i=1,#lines do + context(lines[i] .. " ") + end + context.stopbuffer() + context.popcatcodes() +end + +function context.tolines(str) + local lines = type(str) == "string" and splitlines(str) or str + for i=1,#lines do + context(lines[i] .. " ") + end +end |