From 93d88ab994ae7788af4eb3d02f88fa2e2848a5ae Mon Sep 17 00:00:00 2001 From: teethache Date: Wed, 20 Mar 2024 23:21:46 +0800 Subject: [PATCH] Fix math span calculation. --- src/Markdig.Tests/TestSourcePosition.cs | 9 ++++++++- src/Markdig/Extensions/Mathematics/MathInlineParser.cs | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Markdig.Tests/TestSourcePosition.cs b/src/Markdig.Tests/TestSourcePosition.cs index 09a9b6cf..3cd0e97e 100644 --- a/src/Markdig.Tests/TestSourcePosition.cs +++ b/src/Markdig.Tests/TestSourcePosition.cs @@ -698,7 +698,7 @@ public void TestAttributesForHeading() [Test] public void TestMathematicsInline() { - // 01 23456789AB + // 01 23456789ABCDEF Check("0\n012 $abcd$ 321", @" paragraph ( 0, 0) 0-15 literal ( 0, 0) 0-0 @@ -707,6 +707,13 @@ public void TestMathematicsInline() math ( 1, 4) 6-11 attributes ( 0, 0) 0--1 literal ( 1,10) 12-15 +", "mathematics"); + + // 012345678 + Check("$ abcd $", @" +paragraph ( 0, 0) 0-7 +math ( 0, 0) 0-7 +attributes ( 0, 0) 0--1 ", "mathematics"); } diff --git a/src/Markdig/Extensions/Mathematics/MathInlineParser.cs b/src/Markdig/Extensions/Mathematics/MathInlineParser.cs index fabd30e6..8ac94cbd 100644 --- a/src/Markdig/Extensions/Mathematics/MathInlineParser.cs +++ b/src/Markdig/Extensions/Mathematics/MathInlineParser.cs @@ -152,7 +152,7 @@ public override bool Match(InlineProcessor processor, ref StringSlice slice) // Create a new MathInline var inline = new MathInline() { - Span = new SourceSpan(processor.GetSourcePosition(startPosition, out int line, out int column), processor.GetSourcePosition(end)), + Span = new SourceSpan(processor.GetSourcePosition(startPosition, out int line, out int column), processor.GetSourcePosition(slice.Start - 1)), Line = line, Column = column, Delimiter = match,