LibMarkdown: Implement introspection of the document tree

This commit is contained in:
Ben Wiederhake 2021-09-10 21:36:29 +02:00 committed by Brian Gianforcaro
commit 24e7196158
Notes: sideshowbarker 2024-07-18 02:50:37 +09:00
23 changed files with 319 additions and 0 deletions

View file

@ -6,6 +6,7 @@
#include <AK/StringBuilder.h>
#include <LibMarkdown/BlockQuote.h>
#include <LibMarkdown/Visitor.h>
namespace Markdown {
@ -24,6 +25,15 @@ String BlockQuote::render_for_terminal(size_t view_width) const
return m_contents->render_for_terminal(view_width);
}
RecursionDecision BlockQuote::walk(Visitor& visitor) const
{
RecursionDecision rd = visitor.visit(*this);
if (rd != RecursionDecision::Recurse)
return rd;
return m_contents->walk(visitor);
}
OwnPtr<BlockQuote> BlockQuote::parse(LineIterator& lines)
{
lines.push_context(LineIterator::Context::block_quote());