AvalonStudio.Languages.CPlusPlus.CppIndentationStrategy.IndentLine C# (CSharp) 메소드

IndentLine() 공개 메소드

public IndentLine ( TextDocument document, DocumentLine line, int caretIndex ) : int
document AvalonStudio.TextEditor.Document.TextDocument
line AvalonStudio.TextEditor.Document.DocumentLine
caretIndex int
리턴 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;
		}