vis.end_of_inline = vis.end_of_display
function vis.flush_line(str,nested)
- buffers.flush_result(vis.do_line(str), nested)
+ buffers.flush_result(vis.do_line(str, false), nested)
end
-function vis.do_line(str)
- result = {}
- str = do_indent(str)
+function vis.do_line(str, no_indent)
+ local result = {}
+ if not no_indent then
+ -- Allow ignore of the indentation stuff when we're calling ourselves
+ -- for a partial line.
+ str = do_indent(str)
+ end
while str ~= "" do
local found = false
local word, symbol
if text then
table.insert(result, '\\strikethrough{')
-- Recursively call ourselves to handle spaces gracefully.
- result = array_concat(result, vis.do_line(text))
+ result = array_concat(result, vis.do_line(text, true))
table.insert(result, '}')
-- Eat the processed characters
str = rest
+ elseif utf.match(str, "^%-%-") then
+ table.insert(result, '{\\italic{--')
+ -- Recursively call ourselves to handle spaces gracefully.
+ result = array_concat(result, vis.do_line(utf.sub(str, 3), true))
+ table.insert(result, '}}')
+ -- Done with this line
+ str = ''
else
-- See if the next token is a word
word, str = take_word(str)