Visitor.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Copyright (c) 2021, Ben Wiederhake <BenWiederhake.GitHub@gmx.de>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/RecursionDecision.h>
  8. #include <LibMarkdown/BlockQuote.h>
  9. #include <LibMarkdown/CodeBlock.h>
  10. #include <LibMarkdown/CommentBlock.h>
  11. #include <LibMarkdown/Document.h>
  12. #include <LibMarkdown/Heading.h>
  13. #include <LibMarkdown/HorizontalRule.h>
  14. #include <LibMarkdown/List.h>
  15. #include <LibMarkdown/Paragraph.h>
  16. #include <LibMarkdown/Table.h>
  17. namespace Markdown {
  18. class Visitor {
  19. public:
  20. Visitor() = default;
  21. virtual ~Visitor() = default;
  22. virtual RecursionDecision visit(Document const&) { return RecursionDecision::Recurse; }
  23. virtual RecursionDecision visit(BlockQuote const&) { return RecursionDecision::Recurse; }
  24. virtual RecursionDecision visit(CodeBlock const&) { return RecursionDecision::Recurse; }
  25. virtual RecursionDecision visit(CommentBlock const&) { return RecursionDecision::Recurse; }
  26. virtual RecursionDecision visit(ContainerBlock const&) { return RecursionDecision::Recurse; }
  27. virtual RecursionDecision visit(Heading const&) { return RecursionDecision::Recurse; }
  28. virtual RecursionDecision visit(HorizontalRule const&) { return RecursionDecision::Recurse; }
  29. virtual RecursionDecision visit(List const&) { return RecursionDecision::Recurse; }
  30. virtual RecursionDecision visit(Paragraph const&) { return RecursionDecision::Recurse; }
  31. virtual RecursionDecision visit(Table const&) { return RecursionDecision::Recurse; }
  32. virtual RecursionDecision visit(Table::Column const&) { return RecursionDecision::Recurse; }
  33. virtual RecursionDecision visit(Text const&) { return RecursionDecision::Recurse; }
  34. virtual RecursionDecision visit(Text::BreakNode const&) { return RecursionDecision::Recurse; }
  35. virtual RecursionDecision visit(Text::CodeNode const&) { return RecursionDecision::Recurse; }
  36. virtual RecursionDecision visit(Text::EmphasisNode const&) { return RecursionDecision::Recurse; }
  37. virtual RecursionDecision visit(Text::LinkNode const&) { return RecursionDecision::Recurse; }
  38. virtual RecursionDecision visit(Text::MultiNode const&) { return RecursionDecision::Recurse; }
  39. virtual RecursionDecision visit(Text::StrikeThroughNode const&) { return RecursionDecision::Recurse; }
  40. virtual RecursionDecision visit(Text::TextNode const&) { return RecursionDecision::Recurse; }
  41. virtual RecursionDecision visit(ByteString const&) { return RecursionDecision::Recurse; }
  42. };
  43. }