AvalonStudio.Languages.CSharp.CSharpIndentationStrategy.IndentLine C# (CSharp) Method

IndentLine() public method

public IndentLine ( TextDocument document, DocumentLine line, int caretIndex ) : int
document AvalonStudio.TextEditor.Document.TextDocument
line AvalonStudio.TextEditor.Document.DocumentLine
caretIndex int
return int
        public override int IndentLine(TextDocument document, DocumentLine line, int caretIndex)
        {
            if (line == null)
            {
                return caretIndex;
            }

            var lineNr = line.LineNumber;
            var acc = new TextDocumentAccessor(document, lineNr, lineNr);

            var leadingWhiteSpaceBefore = TextUtilities.GetLeadingWhitespace(document, line).Length;
            var result = Indent(acc, false, caretIndex);
            var t = acc.Text;

            result = caretIndex + TextUtilities.GetLeadingWhitespace(document, line).Length - leadingWhiteSpaceBefore;

            if (t.Length == 0)
            {
                // use AutoIndentation for new lines in comments / verbatim strings.
                return base.IndentLine(document, line, caretIndex);
            }

            return result;
        }
CSharpIndentationStrategy