From 087c89fe37f5b6aab0fe7873e40b0ffe974c52e7 Mon Sep 17 00:00:00 2001 From: Artem Pyanykh Date: Sun, 6 Oct 2024 20:55:26 +0100 Subject: [PATCH 1/3] deps: Bump markdig 0.33 -> 0.37 --- MarkdigPatches/MarkdigPatches.csproj | 2 +- Marksman/Marksman.fsproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MarkdigPatches/MarkdigPatches.csproj b/MarkdigPatches/MarkdigPatches.csproj index c96e780..51dbfa5 100644 --- a/MarkdigPatches/MarkdigPatches.csproj +++ b/MarkdigPatches/MarkdigPatches.csproj @@ -7,7 +7,7 @@ - + diff --git a/Marksman/Marksman.fsproj b/Marksman/Marksman.fsproj index 7363f00..1917269 100644 --- a/Marksman/Marksman.fsproj +++ b/Marksman/Marksman.fsproj @@ -68,7 +68,7 @@ - + From 2973ceca9cbb8277940bc16c045f159eb51cbfdd Mon Sep 17 00:00:00 2001 From: Artem Pyanykh Date: Sun, 6 Oct 2024 20:56:31 +0100 Subject: [PATCH 2/3] parser: Add a regression test for a crash in the parser --- Tests/ParserTests.fs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Tests/ParserTests.fs b/Tests/ParserTests.fs index c0988b1..58ff10c 100644 --- a/Tests/ParserTests.fs +++ b/Tests/ParserTests.fs @@ -459,3 +459,9 @@ module RegressionTests = " '00000758', '00000113', '00000152', '00000099', '00000932', '00000071', " " '00000126', '00000450', '00000677', '00000722', '00000724', '00000182', " " '00000507', '00000001', '00000866', '00000147', '00000186', '00000711' @ (2,0)-(7,70)" ] + + [] + let no334 () = + let content = "[][][]" + let actual = scrapeString content + checkInlineSnapshot actual [] From 570b30f548422efdeea47cf558cbb6def48f7ff8 Mon Sep 17 00:00:00 2001 From: Artem Pyanykh Date: Sun, 6 Oct 2024 21:04:59 +0100 Subject: [PATCH 3/3] parser: Workaround a crash on an incorrect url span The sample text is: `[][][]` The url span returned is -1 -- 0 which is bogus. --- Marksman/Parser.fs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Marksman/Parser.fs b/Marksman/Parser.fs index 317f7b4..18675e8 100644 --- a/Marksman/Parser.fs +++ b/Marksman/Parser.fs @@ -327,7 +327,11 @@ module Markdown = let link = MdLink.RC label |> Node.mk linkText linkRange elements.Add(ML link) // The last remaining option is full reference - else + // + // NOTE: there's something off in Markdig's LinkHelper.TryParseLabelTrivia + // This is called from PatchedInlineLinkParser:341. + // TODO: Figure out why there's an incorrect urlSpan (-1 -- 0) returned. + else if not (String.IsNullOrEmpty url) then let text_ = Node.mkText label (sourceSpanToRange text labelSpan) let label = Node.mkText url (sourceSpanToRange text urlSpan) let link = MdLink.RF(text_, label) |> Node.mk linkText linkRange