mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 23:57:44 +00:00
LibMarkdown: Implement introspection of the document tree
This commit is contained in:
parent
aca01932bd
commit
24e7196158
23 changed files with 319 additions and 0 deletions
50
Userland/Libraries/LibMarkdown/Visitor.h
Normal file
50
Userland/Libraries/LibMarkdown/Visitor.h
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Ben Wiederhake <BenWiederhake.GitHub@gmx.de>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AK/RecursionDecision.h>
|
||||
#include <LibMarkdown/BlockQuote.h>
|
||||
#include <LibMarkdown/CodeBlock.h>
|
||||
#include <LibMarkdown/Document.h>
|
||||
#include <LibMarkdown/Heading.h>
|
||||
#include <LibMarkdown/HorizontalRule.h>
|
||||
#include <LibMarkdown/List.h>
|
||||
#include <LibMarkdown/Paragraph.h>
|
||||
#include <LibMarkdown/Table.h>
|
||||
|
||||
namespace Markdown {
|
||||
|
||||
class Visitor {
|
||||
public:
|
||||
Visitor() = default;
|
||||
virtual ~Visitor() = default;
|
||||
|
||||
virtual RecursionDecision visit(Document const&) { return RecursionDecision::Recurse; }
|
||||
|
||||
virtual RecursionDecision visit(BlockQuote const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(CodeBlock const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(ContainerBlock const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(Heading const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(HorizontalRule const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(List const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(Paragraph const&) { return RecursionDecision::Recurse; }
|
||||
|
||||
virtual RecursionDecision visit(Table const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(Table::Column const&) { return RecursionDecision::Recurse; }
|
||||
|
||||
virtual RecursionDecision visit(Text const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(Text::BreakNode const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(Text::CodeNode const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(Text::EmphasisNode const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(Text::LinkNode const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(Text::MultiNode const&) { return RecursionDecision::Recurse; }
|
||||
virtual RecursionDecision visit(Text::TextNode const&) { return RecursionDecision::Recurse; }
|
||||
|
||||
virtual RecursionDecision visit(String const&) { return RecursionDecision::Recurse; }
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue