clang-tools 23.0.0git
Markdown.h File Reference

Defines the Markdown AST node hierarchy for the clang-doc Markdown parser. More...

#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/simple_ilist.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/raw_ostream.h"

Go to the source code of this file.

Classes

class  clang::doc::markdown::InlineNode
 Base class for all inline nodes. More...
class  clang::doc::markdown::TextNode
 A plain text run. More...
class  clang::doc::markdown::InlineCodeNode
 A backtick-delimited inline code span. More...
class  clang::doc::markdown::EmphasisNode
 An emphasis span (* or _). More...
class  clang::doc::markdown::StrongNode
 A strong emphasis span (** or __). More...
class  clang::doc::markdown::BlockNode
 Base class for all block nodes. More...
class  clang::doc::markdown::ParagraphNode
 A paragraph of inline content. More...
class  clang::doc::markdown::HeadingNode
 An ATX heading (# through ######). More...
class  clang::doc::markdown::FencedCodeNode
 A fenced code block (``` or ~~~). Lang holds the info string. More...
class  clang::doc::markdown::ListItemNode
 A single item in an unordered or ordered list. More...
class  clang::doc::markdown::UnorderedListNode
 An unordered list (-, *, or + markers). More...
class  clang::doc::markdown::OrderedListNode
 An ordered list (1. 2. 3. markers). Start holds the first item number. More...
class  clang::doc::markdown::BlockQuoteNode
 A block quote (> marker). More...
class  clang::doc::markdown::ThematicBreakNode
 A thematic break (—, ***, or ___). More...
class  clang::doc::markdown::DocumentNode
 The root document node. Contains all top-level block nodes. More...

Namespaces

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
namespace  clang::doc
namespace  clang::doc::markdown

Typedefs

using clang::doc::markdown::InlineList = llvm::simple_ilist<InlineNode>
using clang::doc::markdown::BlockList = llvm::simple_ilist<BlockNode>
using clang::doc::markdown::ItemList = llvm::simple_ilist<ListItemNode>

Enumerations

enum class  clang::doc::markdown::NodeKind {
  clang::doc::markdown::NK_Text , clang::doc::markdown::NK_InlineCode , clang::doc::markdown::NK_Emphasis , clang::doc::markdown::NK_Strong ,
  clang::doc::markdown::NK_Paragraph , clang::doc::markdown::NK_Heading , clang::doc::markdown::NK_FencedCode , clang::doc::markdown::NK_Table ,
  clang::doc::markdown::NK_UnorderedList , clang::doc::markdown::NK_OrderedList , clang::doc::markdown::NK_BlockQuote , clang::doc::markdown::NK_ThematicBreak ,
  clang::doc::markdown::NK_Document
}

Detailed Description

Defines the Markdown AST node hierarchy for the clang-doc Markdown parser.

Block nodes represent structural constructs (paragraphs, headings, lists, fenced code blocks, etc). Inline nodes represent span-level content (text, emphasis, inline code) that appears inside block nodes.

Definition in file Markdown.h.