public async Task<FormatRangeResponse> FormatRange(FormatRangeRequest request) { var document = _workspace.GetDocument(request.FileName); if (document == null) { return null; } var lines = (await document.GetSyntaxTreeAsync()).GetText().Lines; var start = lines.GetPosition(new LinePosition(request.Line - 1, request.Column - 1)); var end = lines.GetPosition(new LinePosition(request.EndLine - 1, request.EndColumn - 1)); var changes = await Formatting.GetFormattingChangesForRange(_workspace, Options, document, start, end); return new FormatRangeResponse() { Changes = changes }; }
private static async Task<IEnumerable<LinePositionSpanTextChange>> FormattingChangesForRange(FormatRangeRequest req) { var workspace = TestHelpers.CreateSimpleWorkspace(req.Buffer, req.FileName); var controller = new OmnisharpController(workspace, null); return (await controller.FormatRange(req)).Changes; }
private static async Task<IEnumerable<LinePositionSpanTextChange>> FormattingChangesForRange(FormatRangeRequest req) { var workspace = await TestHelpers.CreateSimpleWorkspace(req.Buffer, req.FileName); RequestHandler<FormatRangeRequest, FormatRangeResponse> controller = new FormatRangeService(workspace, new FormattingOptions()); return (await controller.Handle(req)).Changes; }