function Heading(lines, meta) local warningPattern = "%>% [!WARNING]" local infoPattern = "%>% [NOTE]" for i, line in ipairs(lines) do if line:match(warningPattern) then local warning = {} for j = 2, #lines do table.insert(warning, lines[j]) end table.insert(meta.warning, {text = warning, color = "red"}) elseif line:match(infoPattern) then local info = {} for j = 2, #lines do table.insert(info, lines[j]) end table.insert(meta.info, {text = info, color = "blue"}) end end end return { Heading = Heading, }