Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Documentation Search all OfficeIMO/
Class

MarkdownNativeDocument

OfficeIMO.Markdown

Namespace
OfficeIMO.Markdown
Assembly
OfficeIMO.Markdown
Source revision
e163ccb36643 with working tree changes
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

Explore 2 API references to this type

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>() #

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

Type Parameters

TBlock

Returns

IEnumerable<TBlock>
CreateReplaceEdit 17 overloads
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownAbbreviationDefinition abbreviationDefinition, string replacementMarkdown) #

Creates a non-mutating source edit that replaces an abbreviation definition.

Parameters

abbreviationDefinition OfficeIMO.Markdown.MarkdownAbbreviationDefinition required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeAbbreviationDefinitionField field, string replacementMarkdown) #

Creates a non-mutating source edit that replaces an abbreviation definition field.

Parameters

field OfficeIMO.Markdown.MarkdownNativeAbbreviationDefinitionField required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownSourceSpan sourceSpan, string replacementMarkdown) #

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

Parameters

sourceSpan OfficeIMO.Markdown.MarkdownSourceSpan required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeBlock block, string replacementMarkdown) #

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

Parameters

block OfficeIMO.Markdown.MarkdownNativeBlock required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeInline inline, string replacementMarkdown) #

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

Parameters

inline OfficeIMO.Markdown.MarkdownNativeInline required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeListItem listItem, string replacementMarkdown) #

Creates a non-mutating source edit that replaces the source-backed content span of a native list item.

Parameters

listItem OfficeIMO.Markdown.MarkdownNativeListItem required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeListItemParagraph paragraph, string replacementMarkdown) #

Creates a non-mutating source edit that replaces a paragraph owned by a native list item.

Parameters

paragraph OfficeIMO.Markdown.MarkdownNativeListItemParagraph required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownReferenceLinkDefinition referenceDefinition, string replacementMarkdown) #

Creates a non-mutating source edit that replaces a reference-style link definition.

Parameters

referenceDefinition OfficeIMO.Markdown.MarkdownReferenceLinkDefinition required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeTableCell tableCell, string replacementMarkdown) #

Creates a non-mutating source edit that replaces a native table cell.

Parameters

tableCell OfficeIMO.Markdown.MarkdownNativeTableCell required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeTableRow tableRow, string replacementMarkdown) #

Creates a non-mutating source edit that replaces a native table row payload.

Parameters

tableRow OfficeIMO.Markdown.MarkdownNativeTableRow required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeDefinitionListGroup definitionGroup, string replacementMarkdown) #

Creates a non-mutating source edit that replaces a native definition-list group.

Parameters

definitionGroup OfficeIMO.Markdown.MarkdownNativeDefinitionListGroup required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeDefinitionListTerm definitionTerm, string replacementMarkdown) #

Creates a non-mutating source edit that replaces a native definition-list term.

Parameters

definitionTerm OfficeIMO.Markdown.MarkdownNativeDefinitionListTerm required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeDefinitionListDefinition definition, string replacementMarkdown) #

Creates a non-mutating source edit that replaces a native definition-list definition body.

Parameters

definition OfficeIMO.Markdown.MarkdownNativeDefinitionListDefinition required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeInlineMetadata metadata, string replacementMarkdown) #

Creates a non-mutating source edit that replaces source-backed inline metadata.

Parameters

metadata OfficeIMO.Markdown.MarkdownNativeInlineMetadata required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeSourceTrivia trivia, string replacementMarkdown) #

Creates a non-mutating source edit that replaces document-level source trivia.

Parameters

trivia OfficeIMO.Markdown.MarkdownNativeSourceTrivia required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeReferenceLinkDefinitionField field, string replacementMarkdown) #

Creates a non-mutating source edit that replaces a reference-style link definition field.

Parameters

field OfficeIMO.Markdown.MarkdownNativeReferenceLinkDefinitionField required
replacementMarkdown string required
public MarkdownNativeSourceEdit CreateReplaceEdit(MarkdownNativeBlockSourceField field, string replacementMarkdown) #

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

Parameters

field OfficeIMO.Markdown.MarkdownNativeBlockSourceField required
replacementMarkdown string required
public IEnumerable<MarkdownNativeBlock> DescendantBlocksAndSelf() #

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

Returns

IEnumerable<MarkdownNativeBlock>
EnumerateAbbreviationDefinitionFields 2 overloads
public IEnumerable<MarkdownNativeAbbreviationDefinitionField> EnumerateAbbreviationDefinitionFields() #

Enumerates source-backed abbreviation definition fields in document order.

public IEnumerable<MarkdownNativeAbbreviationDefinitionField> EnumerateAbbreviationDefinitionFields(string name) #

Enumerates source-backed abbreviation definition fields with the supplied field name in document order.

Parameters

name string required
EnumerateBlockSourceFields 2 overloads
public IEnumerable<MarkdownNativeBlockSourceField> EnumerateBlockSourceFields() #

Enumerates source-backed block fields in document order.

Returns

IEnumerable<MarkdownNativeBlockSourceField>
public IEnumerable<MarkdownNativeBlockSourceField> EnumerateBlockSourceFields(string name) #

Enumerates source-backed block fields with the supplied field name in document order.

Parameters

name string required

Returns

IEnumerable<MarkdownNativeBlockSourceField>
public IEnumerable<MarkdownNativeDefinitionListDefinition> EnumerateDefinitionListDefinitions() #

Enumerates all native definition-list definitions in document order, including nested definition lists.

public IEnumerable<MarkdownNativeDefinitionListGroup> EnumerateDefinitionListGroups() #

Enumerates all native definition-list groups in document order, including nested definition lists.

public IEnumerable<MarkdownNativeDefinitionListTerm> EnumerateDefinitionListTerms() #

Enumerates all native definition-list terms in document order, including nested definition lists.

EnumerateInlineMetadata 2 overloads
public IEnumerable<MarkdownNativeInlineMetadata> EnumerateInlineMetadata() #

Enumerates all source-backed native inline metadata leaves in document order.

Returns

IEnumerable<MarkdownNativeInlineMetadata>
public IEnumerable<MarkdownNativeInlineMetadata> EnumerateInlineMetadata(string name) #

Enumerates source-backed native inline metadata leaves with the supplied metadata name in document order.

Parameters

name string required

Returns

IEnumerable<MarkdownNativeInlineMetadata>
public IEnumerable<MarkdownNativeInline> EnumerateInlines() #

Enumerates all native inline runs in document order.

Returns

IEnumerable<MarkdownNativeInline>
public IEnumerable<MarkdownNativeListItem> EnumerateListItems() #

Enumerates all native list items in document order, including nested list items.

Returns

IEnumerable<MarkdownNativeListItem>
EnumerateReferenceLinkDefinitionFields 2 overloads
public IEnumerable<MarkdownNativeReferenceLinkDefinitionField> EnumerateReferenceLinkDefinitionFields() #

Enumerates source-backed reference-style link definition fields in document order.

public IEnumerable<MarkdownNativeReferenceLinkDefinitionField> EnumerateReferenceLinkDefinitionFields(string name) #

Enumerates source-backed reference-style link definition fields with the supplied field name in document order.

Parameters

name string required
public IEnumerable<MarkdownNativeSourceTrivia> EnumerateSourceTrivia(MarkdownNativeSourceTriviaKind kind) #

Enumerates document-level source trivia of the requested kind in source order.

Parameters

kind OfficeIMO.Markdown.MarkdownNativeSourceTriviaKind required

Returns

IEnumerable<MarkdownNativeSourceTrivia>
public IEnumerable<MarkdownNativeTableCell> EnumerateTableCells() #

Enumerates all native table cells in document order, including cells in nested tables.

Returns

IEnumerable<MarkdownNativeTableCell>
public IEnumerable<MarkdownNativeTableRow> EnumerateTableRows() #

Enumerates all native table rows in document order, including rows in nested tables.

Returns

IEnumerable<MarkdownNativeTableRow>
public MarkdownAbbreviationDefinition? FindAbbreviationDefinitionAtPosition(int lineNumber, int columnNumber) #

Finds the first abbreviation definition whose source span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeAbbreviationDefinitionField? FindAbbreviationDefinitionFieldAtPosition(int lineNumber, int columnNumber) #

Finds the first abbreviation definition field whose span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeBlock? FindBlockAtLine(int lineNumber) #

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

Parameters

lineNumber int required
public MarkdownNativeBlock? FindBlockAtPosition(int lineNumber, int columnNumber) #

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

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeBlock? FindBlockById(string id) #

Finds a native block by deterministic id.

Parameters

id string required
public MarkdownNativeBlockSourceField? FindBlockSourceFieldAtPosition(int lineNumber, int columnNumber) #

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

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeDefinitionListDefinition? FindDefinitionListDefinitionAtPosition(int lineNumber, int columnNumber) #

Finds the deepest native definition-list definition whose source span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeDefinitionListGroup? FindDefinitionListGroupAtPosition(int lineNumber, int columnNumber) #

Finds the deepest native definition-list group whose source span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeDefinitionListTerm? FindDefinitionListTermAtPosition(int lineNumber, int columnNumber) #

Finds the native definition-list term whose source span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeInline? FindInlineAtPosition(int lineNumber, int columnNumber) #

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

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeInline? FindInlineById(string id) #

Finds a native inline by deterministic id.

Parameters

id string required
public MarkdownNativeInlineMetadata? FindInlineMetadataAtPosition(int lineNumber, int columnNumber) #

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

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeListItem? FindListItemAtPosition(int lineNumber, int columnNumber) #

Finds the deepest native list item whose content or marker source span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeListItem? FindListItemById(string id) #

Finds a native list item by deterministic id.

Parameters

id string required
public MarkdownReferenceLinkDefinition? FindReferenceLinkDefinitionAtPosition(int lineNumber, int columnNumber) #

Finds the first reference-style link definition whose source span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeReferenceLinkDefinitionField? FindReferenceLinkDefinitionFieldAtPosition(int lineNumber, int columnNumber) #

Finds the first reference-style link definition field whose span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeSourceTrivia? FindSourceTriviaAtPosition(int lineNumber, int columnNumber) #

Finds the first document-level source trivia whose span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeTableCell? FindTableCellAtPosition(int lineNumber, int columnNumber) #

Finds the deepest native table cell whose source span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public MarkdownNativeTableRow? FindTableRowAtPosition(int lineNumber, int columnNumber) #

Finds the deepest native table row whose source span contains the supplied 1-based line and column.

Parameters

lineNumber int required
columnNumber int required
public static MarkdownNativeDocument FromParseResult(MarkdownParseInfo parseResult, string? sourceMarkdown = null, MarkdownNativeDocumentSourceKind sourceKind = ReaderInput) #

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

Parameters

parseResult OfficeIMO.Markdown.MarkdownParseInfo required
sourceMarkdown string? = null optional
sourceKind OfficeIMO.Markdown.MarkdownNativeDocumentSourceKind = ReaderInput optional
public IReadOnlyList<MarkdownNativeBlock> GetBlockPath(string id) #

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

Parameters

id string required

Returns

IReadOnlyList<MarkdownNativeBlock>
public static MarkdownNativeDocument Parse(string markdown, MarkdownLoadOptions? options = null) #

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

Parameters

markdown string required
options OfficeIMO.Markdown.MarkdownLoadOptions? = null optional
public MarkdownNativeDocumentInfo ToSnapshot() #

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

TryCreateOriginalSourceSlice 34 overloads
public bool TryCreateOriginalSourceSlice(MarkdownAbbreviationDefinition abbreviationDefinition, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs an abbreviation definition when trivia was preserved.

Parameters

abbreviationDefinition OfficeIMO.Markdown.MarkdownAbbreviationDefinition required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownAbbreviationDefinition abbreviationDefinition, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs an abbreviation definition when trivia was preserved.

Parameters

abbreviationDefinition OfficeIMO.Markdown.MarkdownAbbreviationDefinition required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeAbbreviationDefinitionField field, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs an abbreviation definition field when trivia was preserved.

Parameters

field OfficeIMO.Markdown.MarkdownNativeAbbreviationDefinitionField required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeAbbreviationDefinitionField field, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs an abbreviation definition field when trivia was preserved.

Parameters

field OfficeIMO.Markdown.MarkdownNativeAbbreviationDefinitionField required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownSourceSpan sourceSpan, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs the supplied source span when trivia was preserved.

Parameters

sourceSpan OfficeIMO.Markdown.MarkdownSourceSpan required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownSourceSpan sourceSpan, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs the supplied source span when trivia was preserved.

Parameters

sourceSpan OfficeIMO.Markdown.MarkdownSourceSpan required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeBlock block, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a native block when trivia was preserved.

Parameters

block OfficeIMO.Markdown.MarkdownNativeBlock required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeBlock block, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a native block when trivia was preserved.

Parameters

block OfficeIMO.Markdown.MarkdownNativeBlock required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeBlockSourceField field, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a native block source field when trivia was preserved.

Parameters

field OfficeIMO.Markdown.MarkdownNativeBlockSourceField required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeBlockSourceField field, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a native block source field when trivia was preserved.

Parameters

field OfficeIMO.Markdown.MarkdownNativeBlockSourceField required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeSourceTrivia trivia, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs document-level source trivia when trivia was preserved.

Parameters

trivia OfficeIMO.Markdown.MarkdownNativeSourceTrivia required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeSourceTrivia trivia, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs document-level source trivia when trivia was preserved.

Parameters

trivia OfficeIMO.Markdown.MarkdownNativeSourceTrivia required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeInline inline, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a native inline when trivia was preserved.

Parameters

inline OfficeIMO.Markdown.MarkdownNativeInline required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeInline inline, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a native inline when trivia was preserved.

Parameters

inline OfficeIMO.Markdown.MarkdownNativeInline required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeInlineMetadata metadata, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs source-backed inline metadata when trivia was preserved.

Parameters

metadata OfficeIMO.Markdown.MarkdownNativeInlineMetadata required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeInlineMetadata metadata, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs source-backed inline metadata when trivia was preserved.

Parameters

metadata OfficeIMO.Markdown.MarkdownNativeInlineMetadata required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeListItem listItem, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs the source-backed content span of a native list item when trivia was preserved.

Parameters

listItem OfficeIMO.Markdown.MarkdownNativeListItem required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeListItem listItem, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs the source-backed content span of a native list item when trivia was preserved.

Parameters

listItem OfficeIMO.Markdown.MarkdownNativeListItem required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeListItemParagraph paragraph, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a paragraph owned by a native list item when trivia was preserved.

Parameters

paragraph OfficeIMO.Markdown.MarkdownNativeListItemParagraph required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeListItemParagraph paragraph, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a paragraph owned by a native list item when trivia was preserved.

Parameters

paragraph OfficeIMO.Markdown.MarkdownNativeListItemParagraph required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownReferenceLinkDefinition referenceDefinition, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a reference-style link definition when trivia was preserved.

Parameters

referenceDefinition OfficeIMO.Markdown.MarkdownReferenceLinkDefinition required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownReferenceLinkDefinition referenceDefinition, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a reference-style link definition when trivia was preserved.

Parameters

referenceDefinition OfficeIMO.Markdown.MarkdownReferenceLinkDefinition required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeReferenceLinkDefinitionField field, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a reference-style link definition field when trivia was preserved.

Parameters

field OfficeIMO.Markdown.MarkdownNativeReferenceLinkDefinitionField required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeReferenceLinkDefinitionField field, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a reference-style link definition field when trivia was preserved.

Parameters

field OfficeIMO.Markdown.MarkdownNativeReferenceLinkDefinitionField required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeTableCell tableCell, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a native table cell when trivia was preserved.

Parameters

tableCell OfficeIMO.Markdown.MarkdownNativeTableCell required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeTableCell tableCell, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a native table cell when trivia was preserved.

Parameters

tableCell OfficeIMO.Markdown.MarkdownNativeTableCell required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeTableRow tableRow, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a native table row when trivia was preserved.

Parameters

tableRow OfficeIMO.Markdown.MarkdownNativeTableRow required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeTableRow tableRow, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a native table row when trivia was preserved.

Parameters

tableRow OfficeIMO.Markdown.MarkdownNativeTableRow required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeDefinitionListGroup definitionGroup, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a native definition-list group when trivia was preserved.

Parameters

definitionGroup OfficeIMO.Markdown.MarkdownNativeDefinitionListGroup required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeDefinitionListGroup definitionGroup, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a native definition-list group when trivia was preserved.

Parameters

definitionGroup OfficeIMO.Markdown.MarkdownNativeDefinitionListGroup required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeDefinitionListTerm definitionTerm, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a native definition-list term when trivia was preserved.

Parameters

definitionTerm OfficeIMO.Markdown.MarkdownNativeDefinitionListTerm required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeDefinitionListTerm definitionTerm, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a native definition-list term when trivia was preserved.

Parameters

definitionTerm OfficeIMO.Markdown.MarkdownNativeDefinitionListTerm required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeDefinitionListDefinition definition, out MarkdownSourceSlice slice) #

Creates a source slice over the original reader input that backs a native definition-list definition body when trivia was preserved.

Parameters

definition OfficeIMO.Markdown.MarkdownNativeDefinitionListDefinition required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateOriginalSourceSlice(MarkdownNativeDefinitionListDefinition definition, out MarkdownSourceSlice slice, out MarkdownOriginalSourceSliceFailureReason failureReason) #

Creates a source slice over the original reader input that backs a native definition-list definition body when trivia was preserved.

Parameters

definition OfficeIMO.Markdown.MarkdownNativeDefinitionListDefinition required
slice OfficeIMO.Markdown.MarkdownSourceSlice required
failureReason OfficeIMO.Markdown.MarkdownOriginalSourceSliceFailureReason required

Returns

bool
TryCreateSourceMapping 17 overloads
public bool TryCreateSourceMapping(MarkdownSourceSpan sourceSpan, out MarkdownSourceMapping mapping) #

Creates a source mapping for a source span, including normalized text and original text when it maps safely.

Parameters

sourceSpan OfficeIMO.Markdown.MarkdownSourceSpan required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeBlock block, out MarkdownSourceMapping mapping) #

Creates a source mapping for a native block, including normalized text and original text when it maps safely.

Parameters

block OfficeIMO.Markdown.MarkdownNativeBlock required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeBlockSourceField field, out MarkdownSourceMapping mapping) #

Creates a source mapping for a native block source field, including normalized text and original text when it maps safely.

Parameters

field OfficeIMO.Markdown.MarkdownNativeBlockSourceField required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeSourceTrivia trivia, out MarkdownSourceMapping mapping) #

Creates a source mapping for document-level source trivia, including normalized text and original text when it maps safely.

Parameters

trivia OfficeIMO.Markdown.MarkdownNativeSourceTrivia required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeInline inline, out MarkdownSourceMapping mapping) #

Creates a source mapping for a native inline, including normalized text and original text when it maps safely.

Parameters

inline OfficeIMO.Markdown.MarkdownNativeInline required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeInlineMetadata metadata, out MarkdownSourceMapping mapping) #

Creates a source mapping for source-backed inline metadata, including normalized text and original text when it maps safely.

Parameters

metadata OfficeIMO.Markdown.MarkdownNativeInlineMetadata required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeListItem listItem, out MarkdownSourceMapping mapping) #

Creates a source mapping for a native list item content span, including normalized text and original text when it maps safely.

Parameters

listItem OfficeIMO.Markdown.MarkdownNativeListItem required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeListItemParagraph paragraph, out MarkdownSourceMapping mapping) #

Creates a source mapping for a paragraph owned by a native list item, including normalized text and original text when it maps safely.

Parameters

paragraph OfficeIMO.Markdown.MarkdownNativeListItemParagraph required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownReferenceLinkDefinition referenceDefinition, out MarkdownSourceMapping mapping) #

Creates a source mapping for a reference-style link definition, including normalized text and original text when it maps safely.

Parameters

referenceDefinition OfficeIMO.Markdown.MarkdownReferenceLinkDefinition required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeReferenceLinkDefinitionField field, out MarkdownSourceMapping mapping) #

Creates a source mapping for a reference-style link definition field, including normalized text and original text when it maps safely.

Parameters

field OfficeIMO.Markdown.MarkdownNativeReferenceLinkDefinitionField required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownAbbreviationDefinition abbreviationDefinition, out MarkdownSourceMapping mapping) #

Creates a source mapping for an abbreviation definition, including normalized text and original text when it maps safely.

Parameters

abbreviationDefinition OfficeIMO.Markdown.MarkdownAbbreviationDefinition required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeAbbreviationDefinitionField field, out MarkdownSourceMapping mapping) #

Creates a source mapping for an abbreviation definition field, including normalized text and original text when it maps safely.

Parameters

field OfficeIMO.Markdown.MarkdownNativeAbbreviationDefinitionField required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeTableCell tableCell, out MarkdownSourceMapping mapping) #

Creates a source mapping for a native table cell, including normalized text and original text when it maps safely.

Parameters

tableCell OfficeIMO.Markdown.MarkdownNativeTableCell required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeTableRow tableRow, out MarkdownSourceMapping mapping) #

Creates a source mapping for a native table row, including normalized text and original text when it maps safely.

Parameters

tableRow OfficeIMO.Markdown.MarkdownNativeTableRow required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeDefinitionListGroup definitionGroup, out MarkdownSourceMapping mapping) #

Creates a source mapping for a native definition-list group, including normalized text and original text when it maps safely.

Parameters

definitionGroup OfficeIMO.Markdown.MarkdownNativeDefinitionListGroup required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeDefinitionListTerm definitionTerm, out MarkdownSourceMapping mapping) #

Creates a source mapping for a native definition-list term, including normalized text and original text when it maps safely.

Parameters

definitionTerm OfficeIMO.Markdown.MarkdownNativeDefinitionListTerm required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
public bool TryCreateSourceMapping(MarkdownNativeDefinitionListDefinition definition, out MarkdownSourceMapping mapping) #

Creates a source mapping for a native definition-list definition body, including normalized text and original text when it maps safely.

Parameters

definition OfficeIMO.Markdown.MarkdownNativeDefinitionListDefinition required
mapping OfficeIMO.Markdown.MarkdownSourceMapping required

Returns

bool
TryCreateSourceSlice 17 overloads
public bool TryCreateSourceSlice(MarkdownAbbreviationDefinition abbreviationDefinition, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs an abbreviation definition.

Parameters

abbreviationDefinition OfficeIMO.Markdown.MarkdownAbbreviationDefinition required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeAbbreviationDefinitionField field, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs an abbreviation definition field.

Parameters

field OfficeIMO.Markdown.MarkdownNativeAbbreviationDefinitionField required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownSourceSpan sourceSpan, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs the supplied source span.

Parameters

sourceSpan OfficeIMO.Markdown.MarkdownSourceSpan required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeBlock block, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a native block.

Parameters

block OfficeIMO.Markdown.MarkdownNativeBlock required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeBlockSourceField field, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a native block source field.

Parameters

field OfficeIMO.Markdown.MarkdownNativeBlockSourceField required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeSourceTrivia trivia, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs document-level source trivia.

Parameters

trivia OfficeIMO.Markdown.MarkdownNativeSourceTrivia required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeInline inline, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a native inline.

Parameters

inline OfficeIMO.Markdown.MarkdownNativeInline required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeInlineMetadata metadata, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs source-backed inline metadata.

Parameters

metadata OfficeIMO.Markdown.MarkdownNativeInlineMetadata required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeListItem listItem, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs the source-backed content span of a native list item.

Parameters

listItem OfficeIMO.Markdown.MarkdownNativeListItem required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeListItemParagraph paragraph, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a paragraph owned by a native list item.

Parameters

paragraph OfficeIMO.Markdown.MarkdownNativeListItemParagraph required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownReferenceLinkDefinition referenceDefinition, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a reference-style link definition.

Parameters

referenceDefinition OfficeIMO.Markdown.MarkdownReferenceLinkDefinition required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeReferenceLinkDefinitionField field, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a reference-style link definition field.

Parameters

field OfficeIMO.Markdown.MarkdownNativeReferenceLinkDefinitionField required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeTableCell tableCell, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a native table cell.

Parameters

tableCell OfficeIMO.Markdown.MarkdownNativeTableCell required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeTableRow tableRow, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a native table row.

Parameters

tableRow OfficeIMO.Markdown.MarkdownNativeTableRow required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeDefinitionListGroup definitionGroup, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a native definition-list group.

Parameters

definitionGroup OfficeIMO.Markdown.MarkdownNativeDefinitionListGroup required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeDefinitionListTerm definitionTerm, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a native definition-list term.

Parameters

definitionTerm OfficeIMO.Markdown.MarkdownNativeDefinitionListTerm required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public bool TryCreateSourceSlice(MarkdownNativeDefinitionListDefinition definition, out MarkdownSourceSlice slice) #

Creates a source slice over the normalized markdown text that backs a native definition-list definition body.

Parameters

definition OfficeIMO.Markdown.MarkdownNativeDefinitionListDefinition required
slice OfficeIMO.Markdown.MarkdownSourceSlice required

Returns

bool
public MarkdownRoundtripResult WriteUnchanged() #

Emits the original markdown when this native document was parsed with trivia preservation and no transforms changed it.

public MarkdownRoundtripResult WriteWithSourceEdit(MarkdownNativeSourceEdit edit) #

Applies one native source edit while preserving original markdown around it when the edit can be remapped safely.

Parameters

edit OfficeIMO.Markdown.MarkdownNativeSourceEdit required
public MarkdownRoundtripResult WriteWithSourceEdits(IEnumerable<MarkdownNativeSourceEdit> edits) #

Applies native source edits while preserving original markdown around them when every edit can be remapped safely.

Parameters

edits System.Collections.Generic.IEnumerable<OfficeIMO.Markdown.MarkdownNativeSourceEdit> required

Properties

public MarkdownParseInfo ParseResult { get; } #

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

public MarkdownDocument 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 MarkdownNativeDocument.Document.

public IReadOnlyList<MarkdownDocumentTransformDiagnostic> TransformDiagnostics { get; } #

Document-transform diagnostics captured during parsing.

public IReadOnlyList<MarkdownReferenceLinkDefinition> ReferenceLinkDefinitions { get; } #

Effective reference-style link definitions collected during parsing.

public IReadOnlyList<MarkdownAbbreviationDefinition> AbbreviationDefinitions { get; } #

Effective abbreviation definitions collected during parsing.

public string SourceMarkdown { get; } #

Markdown source text whose source spans back this projection.

public MarkdownNativeDocumentSourceKind SourceKind { get; } #

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

public IReadOnlyList<MarkdownNativeBlock> Blocks { get; } #

Top-level native block projection in document order.

public IReadOnlyList<MarkdownNativeSourceTrivia> SourceTrivia { get; } #

Document-level source trivia such as blank lines, in source order.

public IReadOnlyList<MarkdownNativeDiagnostic> Diagnostics { get; } #

Projection diagnostics including transform notices and unsupported block fallbacks.