mirror of
https://github.com/xoofx/markdig.git
synced 2026-10-10 23:57:45 +00:00
47 lines
983 B
C#
47 lines
983 B
C#
|
|
using System.Collections.Generic;
|
|||
|
|
using Textamina.Markdig.Parsing;
|
|||
|
|
|
|||
|
|
namespace Textamina.Markdig.Syntax
|
|||
|
|
{
|
|||
|
|
public class StringLineList : List<StringLine>
|
|||
|
|
{
|
|||
|
|
public void TrimStart()
|
|||
|
|
{
|
|||
|
|
if (Count == 0)
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Strip leading and
|
|||
|
|
var liner = this[0];
|
|||
|
|
while (Utility.IsSpace(liner.Current))
|
|||
|
|
{
|
|||
|
|
liner.NextChar();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void TrimEnd()
|
|||
|
|
{
|
|||
|
|
if (Count == 0)
|
|||
|
|
{
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var liner = this[Count - 1];
|
|||
|
|
for (int i = liner.End; i >= liner.Start; i--)
|
|||
|
|
{
|
|||
|
|
liner.End = i;
|
|||
|
|
if (!Utility.IsSpace(liner[i]))
|
|||
|
|
{
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void Trim()
|
|||
|
|
{
|
|||
|
|
TrimStart();
|
|||
|
|
TrimEnd();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|