Skip to content

Commit 5ae8ab7

Browse files
authored
Merge pull request #829 from snnz/fix-emphasis-span
Fix incorrect emphasis span calculation.
2 parents 49cf59b + a11899a commit 5ae8ab7

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/Markdig.Tests/TestSourcePosition.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,17 @@ public void TestEmphasis3()
160160
");
161161
}
162162

163+
[Test]
164+
public void TestEmphasis4()
165+
{
166+
Check("**foo*", @"
167+
paragraph ( 0, 0) 0-5
168+
literal ( 0, 0) 0-0
169+
emphasis ( 0, 1) 1-5
170+
literal ( 0, 2) 2-4
171+
");
172+
}
173+
163174
[Test]
164175
public void TestEmphasisFalse()
165176
{

src/Markdig/Parsers/Inlines/EmphasisInlineParser.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -302,14 +302,13 @@ private void ProcessEmphasis(InlineProcessor processor, List<EmphasisDelimiterIn
302302
var openDelimitercount = openDelimiter.DelimiterCount;
303303
var closeDelimitercount = closeDelimiter.DelimiterCount;
304304

305-
emphasis!.Span.Start = openDelimiter.Span.Start;
305+
emphasis!.Span.Start = openDelimiter.Span.Start + openDelimitercount - delimiterDelta;
306306
emphasis.Line = openDelimiter.Line;
307-
emphasis.Column = openDelimiter.Column;
307+
emphasis.Column = openDelimiter.Column + openDelimitercount - delimiterDelta;
308308
emphasis.Span.End = closeDelimiter.Span.End - closeDelimitercount + delimiterDelta;
309309

310-
openDelimiter.Content.Start += delimiterDelta;
311-
openDelimiter.Span.Start += delimiterDelta;
312-
openDelimiter.Column += delimiterDelta;
310+
openDelimiter.Span.End -= delimiterDelta;
311+
openDelimiter.Content.End -= delimiterDelta;
313312
closeDelimiter.Content.Start += delimiterDelta;
314313
closeDelimiter.Span.Start += delimiterDelta;
315314
closeDelimiter.Column += delimiterDelta;

0 commit comments

Comments
 (0)