1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:07:45 +00:00

LibMarkdown: Add LineIterator

LineIterator wraps a vector's ConstIterator, to provide an iterator that
can work on indented container blocks (like lists and blockquotes).
This commit is contained in:
Peter Elliott 2021-09-19 11:14:18 -06:00 committed by Ali Mohammad Pur
parent cd560d3ae3
commit 10f6f6a723
16 changed files with 139 additions and 21 deletions

View file

@ -39,7 +39,7 @@ String ContainerBlock::render_for_terminal(size_t view_width) const
}
template<typename BlockType>
static bool try_parse_block(Vector<StringView>::ConstIterator& lines, NonnullOwnPtrVector<Block>& blocks)
static bool try_parse_block(LineIterator& lines, NonnullOwnPtrVector<Block>& blocks)
{
OwnPtr<BlockType> block = BlockType::parse(lines);
if (!block)
@ -48,7 +48,7 @@ static bool try_parse_block(Vector<StringView>::ConstIterator& lines, NonnullOwn
return true;
}
OwnPtr<ContainerBlock> ContainerBlock::parse(Vector<StringView>::ConstIterator& lines)
OwnPtr<ContainerBlock> ContainerBlock::parse(LineIterator& lines)
{
NonnullOwnPtrVector<Block> blocks;