local utf = unicode.utf8
-if not buffers then buffers = { } end
-if not buffers.visualizers then buffers.visualizers = { } end
-if not buffers.visualizers.trans then buffers.visualizers.trans = { } end
+vis = buffers.newvisualizer("trans")
local commands = {}
-- A command to create a horizontal rule.
local function blanks(n)
print("Inserting " .. n .. " blanks")
for i = 1,n do
- buffers.visualizers.default.empty_line()
+ buffers.visualizers.handlers.default.empty_line()
end
end
-- Prettyprint the given lines using the given pretty printer
local function prettyprint(ppr, lines)
-- Change the current visualizer
- oldvisualizer = buffers.currentvisualizer
- buffers.currentvisualizer = 'lam'
+ buffers.setvisualizer('lam')
-- Output the lines
- buffers.hooks.begin_of_buffer('buffer', 'pret-trans-internal')
+ buffers.hooks.begin_of_display()
line = 0
for i = 1,#lines do
_, line = buffers.typeline(lines[i], i, #lines, line)
end
- buffers.hooks.end_of_buffer('buffer', 'pret-trans-internal')
+ buffers.hooks.end_of_display()
-- Change the visualizer back
- buffers.currentvisualizer = oldvisualizer
+ buffers.setvisualizer('trans')
end
-- Capture all lines, without generating any output
-function buffers.visualizers.trans.begin_of_buffer(type, name)
+function vis.begin_of_display()
lines = {}
end
-function buffers.visualizers.trans.begin_of_line(n)
+function vis.begin_of_line(n)
-- Don't generate output here
end
-function buffers.visualizers.trans.flush_line(str, nested)
+function vis.flush_line(str, nested)
table.insert(lines, str)
-- Don't generate output here
end
-function buffers.visualizers.trans.end_of_line(n)
+function vis.end_of_line(n)
-- Don't generate output here
end
-function buffers.visualizers.empty_line()
+function vis.empty_line()
table.insert(lines, '')
-- Don't generate output here
end
-- We do the actual work here. Process all the lines in the buffer and
-- generate output for them.
-function buffers.visualizers.trans.end_of_buffer()
+function vis.end_of_display()
-- Find the horizontal rule, and see how long it is.
len = nil
for i = 1,#lines do
-- Print the conditions
for i = 1,#rights do
tex.sprint(rights[i])
- buffers.visualizers.default.end_of_line()
+ buffers.visualizers.handlers.default.end_of_line()
end
-- Fill up the remaining space with blanks