local bases = {}
-- Store the last line for each indent level
local indentlines = {}
--- The amount of indent of the first line, which we will strip of all
--- subsequent lines. This allows the entire block to be indented as normal in
--- the tex source code.
-local first_indent
-- See if str starts with a symbol, and return the remaining string and that
-- symbol. If no symbol from the table is matched, just returns the first
-- line4, and line is no longer in scope since it is replaced by line4.
local function do_indent(line)
newind, rest = utf.match(line, '^(%s*)(.*)')
-
- -- Store the first line's indent
- if not first_indent then
- first_indent = utf.len(newind)
- end
-
- -- Strip the indent of the first line from this line's indent.
- newind = utf.sub(newind, first_indent + 1)
- -- Rebuild line, so we can still use it below
- line = newind .. rest
-
prev = -1
-- Loop all the previous lines
for indent, unused in pairs(indentlines) do
bases = {}
end
indentlines = {}
- first_indent = nil
end