public async Task <FormatRangeResponse> Handle(FormatRangeRequest request) { var document = _workspace.GetDocument(request.FileName); if (document == null) { return(null); } var text = await document.GetTextAsync(); var start = text.Lines.GetPosition(new LinePosition(request.Line, request.Column)); var end = text.Lines.GetPosition(new LinePosition(request.EndLine, request.EndColumn)); var changes = await FormattingWorker.GetFormattingChanges(document, start, end); return(new FormatRangeResponse() { Changes = changes }); }
public async Task <FormatRangeResponse> Handle(FormatRangeRequest request) { var document = _workspace.GetDocument(request.FileName); if (document == null) { return(null); } var text = await document.GetTextAsync(); var start = text.GetTextPosition(request); var end = text.Lines.GetPosition(new LinePosition(request.EndLine, request.EndColumn)); var syntaxTree = await document.GetSyntaxRootAsync(); var tokenStart = syntaxTree.FindToken(start).FullSpan.Start; var changes = await FormattingWorker.GetFormattingChanges(document, tokenStart, end, _omnisharpOptions, _loggerFactory); return(new FormatRangeResponse() { Changes = changes }); }