public void IndentLine(ICSharpCode.AvalonEdit.Document.TextDocument document, DocumentLine line, bool TakeCaret)
{
if (line.PreviousLine == null)
{
return;
}
if (!DSettings.Instance.EnableSmartIndentation)
{
var t = document.GetText(line);
int c = 0;
for (; c < t.Length && (t[c] == ' ' || t[c] == '\t'); c++)
{
;
}
RawlyIndentLine(t.Length == 0 ? string.Empty : t.Substring(0, c + 1), document, line);
return;
}
var tr = document.CreateReader();
var newIndent = D_Parser.Formatting.Indent.IndentEngineWrapper.CalculateIndent(tr, line.LineNumber, dEditor.Editor.Options.ConvertTabsToSpaces, dEditor.Editor.Options.IndentationSize);
tr.Close();
RawlyIndentLine(newIndent, document, line);
}