API Reference

Class

MarkdownNativeDocument

Namespace OfficeIMO.Markdown
Assembly OfficeIMO.Markdown
Modifiers sealed

Native, AST-backed projection of a parsed markdown document for UI hosts that need structured blocks and source spans.

Inheritance

  • Object
  • MarkdownNativeDocument

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Methods

public IEnumerable<TBlock> BlocksOfType<TBlock>() #
Returns: IEnumerable<TBlock>

Type Parameters

TBlock
BlocksOfType``1() #

Enumerates top-level native blocks of the requested projection type.

CreateReplaceEdit 3 overloads
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeInline inline, String replacementMarkdown) #
Returns: MarkdownNativeSourceEdit

Creates a non-mutating source edit that replaces a source span.

Parameters

sourceSpan OfficeIMO.Markdown.MarkdownSourceSpan requiredposition: 0
replacementMarkdown System.String requiredposition: 1
CreateReplaceEdit(OfficeIMO.Markdown.MarkdownNativeBlock block, System.String replacementMarkdown) #

Creates a non-mutating source edit that replaces a native block.

Parameters

block OfficeIMO.Markdown.MarkdownNativeBlock required
replacementMarkdown System.String required
CreateReplaceEdit(OfficeIMO.Markdown.MarkdownNativeInline inline, System.String replacementMarkdown) #

Creates a non-mutating source edit that replaces a native inline.

Parameters

inline OfficeIMO.Markdown.MarkdownNativeInline required
replacementMarkdown System.String required
public IEnumerable<MarkdownNativeBlock> DescendantBlocksAndSelf() #
Returns: IEnumerable<MarkdownNativeBlock>

Enumerates all native blocks in document order, including nested blocks.

public IEnumerable<MarkdownNativeInline> EnumerateInlines() #
Returns: IEnumerable<MarkdownNativeInline>

Enumerates all native inline runs in document order.

public MarkdownNativeBlock FindBlockAtLine(Int32 lineNumber) #
Returns: MarkdownNativeBlock

Finds the first native block whose source span contains the supplied 1-based line.

Parameters

lineNumber System.Int32 requiredposition: 0
public MarkdownNativeBlock FindBlockAtPosition(Int32 lineNumber, Int32 columnNumber) #
Returns: MarkdownNativeBlock

Finds the first native block whose source span contains the supplied 1-based line and column.

Parameters

lineNumber System.Int32 requiredposition: 0
columnNumber System.Int32 requiredposition: 1
public MarkdownNativeBlock FindBlockById(String id) #
Returns: MarkdownNativeBlock

Finds a native block by deterministic id.

Parameters

id System.String requiredposition: 0
public MarkdownNativeInline FindInlineAtPosition(Int32 lineNumber, Int32 columnNumber) #
Returns: MarkdownNativeInline

Finds the first native inline whose source span contains the supplied 1-based line and column.

Parameters

lineNumber System.Int32 requiredposition: 0
columnNumber System.Int32 requiredposition: 1
public MarkdownNativeInline FindInlineById(String id) #
Returns: MarkdownNativeInline

Finds a native inline by deterministic id.

Parameters

id System.String requiredposition: 0
public static MarkdownNativeDocument FromParseResult(MarkdownParseResult parseResult, String sourceMarkdown = null, MarkdownNativeDocumentSourceKind sourceKind = ReaderInput) #
Returns: MarkdownNativeDocument

Builds a native projection from an existing syntax-backed parse result.

Parameters

parseResult OfficeIMO.Markdown.MarkdownParseResult requiredposition: 0
sourceMarkdown System.String = null optionalposition: 1
sourceKind OfficeIMO.Markdown.MarkdownNativeDocumentSourceKind = ReaderInput optionalposition: 2
public IReadOnlyList<MarkdownNativeBlock> GetBlockPath(String id) #
Returns: IReadOnlyList<MarkdownNativeBlock>

Returns the top-level-to-target block path for a block id.

Parameters

id System.String requiredposition: 0
public static MarkdownNativeDocument Parse(String markdown, MarkdownReaderOptions options = null) #
Returns: MarkdownNativeDocument

Parses markdown into the typed object model, syntax tree, diagnostics, and native block projection.

Parameters

markdown System.String requiredposition: 0
options OfficeIMO.Markdown.MarkdownReaderOptions = null optionalposition: 1
public MarkdownNativeDocumentSnapshot ToSnapshot() #
Returns: MarkdownNativeDocumentSnapshot

Creates a UI-safe snapshot of this document without parser object references.

Properties

public MarkdownParseResult ParseResult { get; } #

Underlying parse result, including original/final syntax trees and diagnostics.

public MarkdownDoc Document { get; } #

Parsed OfficeIMO markdown document.

public MarkdownSyntaxNode SyntaxTree { get; } #

Original syntax tree produced before document transforms were applied.

public MarkdownSyntaxNode FinalSyntaxTree { get; } #

Final syntax tree aligned with Document.

public IReadOnlyList<MarkdownDocumentTransformDiagnostic> TransformDiagnostics { get; } #

Document-transform diagnostics captured during parsing.

public String SourceMarkdown { get; } #

Markdown source text whose source spans back this projection.

public MarkdownNativeDocumentSourceKind SourceKind { get; } #

Identifies whether SourceMarkdown is direct reader input or renderer-preprocessed markdown.

public IReadOnlyList<MarkdownNativeBlock> Blocks { get; } #

Top-level native block projection in document order.

public IReadOnlyList<MarkdownNativeDiagnostic> Diagnostics { get; } #

Projection diagnostics including transform notices and unsupported block fallbacks.