/// <summary> /// Performs indentation using the specified document accessor. /// </summary> /// <param name="document">Object used for accessing the document line-by-line</param> /// <param name="keepEmptyLines">Specifies whether empty lines should be kept</param> public int Indent(IDocumentAccessor document, bool keepEmptyLines, int caretIndex) { if (document == null) { throw new ArgumentNullException("document"); } var settings = new IndentationSettings(); settings.IndentString = IndentationString; settings.LeaveEmptyLines = keepEmptyLines; var r = new IndentationReformatter(); r.Reformat(document, settings); return(caretIndex); }