You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MarkdownDocument.FindClosestBlock() incorrectly determines that the closest block is LinkReferenceDefinitionGroup, because it happens to be the last item in the blocks. LinkReferenceDefinitionGroup should not be returned as it does not even exist in the actual document: LinkReferenceDefinitionGroup.Span is {0 - -1}, it IsEmpty and it's Line is 0.
This issue doesn't happen if I call MarkdownDocument.FindClosestBlock() passing in line number of "First list item" which directly matches the ListBlock, or if I type underneath the list, which places ParagraphBlock underneath ListBlock, and prevents the binary search from stumbling upon LinkReferenceDefinitionGroup.
The text was updated successfully, but these errors were encountered:
What are your thoughts on the fix?
Excluding the zero-length ListReferenceDefinitionGroup from Document's children seems more appropriate than special-casing the binary search in FindClosestBlock to ignore empty elements. I'm not sure what would be the side effects of removing the ListReferenceDefinitnionGroup from Document's children, though.
Excluding the zero-length ListReferenceDefinitionGroup from Document's children seems more appropriate than special-casing the binary search in FindClosestBlock to ignore empty elements. I'm not sure what would be the side effects of removing the ListReferenceDefinitnionGroup from Document's children, though.
Afair, ListReferenceDefinitnionGroup is an internal (and not visible) block that keeps track of link definitions. I guess, you can probably remove it after the document has been parsed.
It could be also special cased in the FindClosestBlock by fixing var upperIndex = blocks.Count - 1; if the last block is ListReferenceDefinitnionGroup. But all of this is very old to me, so all I'm saying here might be completely irrelevant! 😅
FindClosestBlock
incorrectly returnsLinkReferenceDefinitionGroup
when:AutoIdentifierExtension
is active and provides theLinkReferenceDefinitionGroup
MarkdownDocument.FindClosestBlock()
passing in line number of "Second list item" - hoping to get the secondListItemBlock
Example document, parsed with
Markdig 0.30.4
Associated
MarkdownDocument
has the following items at the end of theblocks
collection:MarkdownDocument.FindClosestBlock()
incorrectly determines that the closest block isLinkReferenceDefinitionGroup
, because it happens to be the last item in theblocks
.LinkReferenceDefinitionGroup
should not be returned as it does not even exist in the actual document:LinkReferenceDefinitionGroup.Span
is{0 - -1}
, itIsEmpty
and it'sLine
is0
.This issue doesn't happen if I call
MarkdownDocument.FindClosestBlock()
passing in line number of "First list item" which directly matches theListBlock
, or if I type underneath the list, which placesParagraphBlock
underneathListBlock
, and prevents the binary search from stumbling uponLinkReferenceDefinitionGroup
.The text was updated successfully, but these errors were encountered: