internal static void ClearSelected(FastColoredTextBox tb)
{
Place start = tb.Selection.Start;
Place end = tb.Selection.End;
int fromLine = Math.Min(end.iLine, start.iLine);
int toLine = Math.Max(end.iLine, start.iLine);
int fromChar = tb.Selection.FromX;
int toChar = tb.Selection.ToX;
if (fromLine < 0)
{
return;
}
//
if (fromLine == toLine)
{
tb[fromLine].RemoveRange(fromChar, toChar - fromChar);
}
else
{
tb[fromLine].RemoveRange(fromChar, tb[fromLine].Count - fromChar);
tb[toLine].RemoveRange(0, toChar);
tb.RemoveLine(fromLine + 1, toLine - fromLine - 1);
InsertCharCommand.MergeLines(fromLine, tb);
}
//
tb.Selection.Start = new Place(fromChar, fromLine);
//
tb.needRecalc = true;
}