private void GetCaretLocation(string source, out int? column, out int? line, out string lineSource)
{
var lines = source.Split(new []{Environment.NewLine}, StringSplitOptions.None);
for (int lineIndex = 0; lineIndex < lines.Length; lineIndex++)
{
var caretIndex = lines[lineIndex].IndexOf(Caret);
if (caretIndex >= 0)
{
column = caretIndex;
line = lineIndex;
lineSource = lines[lineIndex].Replace(Caret, "");
return;
}
}
column = null;
line = null;
lineSource = null;
}