Closed
Description
I' m writing code to dump a FencedCodeBlock
, here is the function:
private static void HandleCodeBlock(FencedCodeBlock codeblock, int level)
{
Console.ForegroundColor = ConsoleColor.DarkYellow;
if (!string.IsNullOrEmpty(codeblock.Info))
{
PrintIndent(level);
Console.WriteLine($"lang: {codeblock.Info}, info args: {codeblock.Arguments}");
}
Console.ForegroundColor = ConsoleColor.White;
foreach (var line in codeblock.Lines)
Console.WriteLine(line);
}
Then I see output contains suspicious empty line like this:
FencedCodeBlock: 36/692-735 @1
characters.sifeng.voice("c1s1", 3)
And the corresponding markdown is:
```
characters.sifeng.voice("c1s1", 3)
```
After some investigation, I found the enumerator of StringLineGroup
returns internal array's enumerator directly. The array contains reserved slot for future item adding, that's the reason why we see phantom empty lines.
Shall we change the GetEnumerator()
for StringLineGroup
? I can provide some help.
Activity