Esempio n. 1
0
        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
            });
        }