提交 e759300c 编写于 作者: D David Barbet

Use thread context parameter for hover.

上级 ad2f7b81
......@@ -15,7 +15,7 @@ namespace Microsoft.CodeAnalysis.LanguageServer.Handler
internal class HoverHandler : IRequestHandler<TextDocumentPositionParams, Hover>
{
public async Task<Hover> HandleRequestAsync(Solution solution, TextDocumentPositionParams request,
ClientCapabilities clientCapabilities, CancellationToken cancellationToken)
ClientCapabilities clientCapabilities, CancellationToken cancellationToken, bool keepThreadContext = false)
{
var document = solution.GetDocumentFromURI(request.TextDocument.Uri);
if (document == null)
......@@ -23,16 +23,16 @@ internal class HoverHandler : IRequestHandler<TextDocumentPositionParams, Hover>
return null;
}
var position = await document.GetPositionFromLinePositionAsync(ProtocolConversions.PositionToLinePosition(request.Position), cancellationToken).ConfigureAwait(false);
var position = await document.GetPositionFromLinePositionAsync(ProtocolConversions.PositionToLinePosition(request.Position), cancellationToken).ConfigureAwait(keepThreadContext);
var quickInfoService = document.Project.LanguageServices.GetService<QuickInfoService>();
var info = await quickInfoService.GetQuickInfoAsync(document, position, cancellationToken).ConfigureAwait(false);
var info = await quickInfoService.GetQuickInfoAsync(document, position, cancellationToken).ConfigureAwait(keepThreadContext);
if (info == null)
{
return null;
}
var text = await document.GetTextAsync(cancellationToken).ConfigureAwait(false);
var text = await document.GetTextAsync(cancellationToken).ConfigureAwait(keepThreadContext);
return new Hover
{
Range = ProtocolConversions.TextSpanToRange(info.Span, text),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册