PartialResultToken is always `null`
uchr opened this issue · 0 comments
uchr commented
I tried to stream workspace symbols and faced a problem that request.PartialResultToken
and request.WorkDoneToken
are always null
. It is reproduced on the sample client/server from this repository and also on my small example:
class WorkspaceSymbolsHandler : WorkspaceSymbolsHandlerBase
{
public override Task<Container<SymbolInformation>> Handle(WorkspaceSymbolParams request, CancellationToken cancellationToken)
{
Debug.Assert(request.PartialResultToken != null); // always false
Debug.Assert(request.WorkDoneToken != null); // always false
var location = new Location(){
Uri = "test.uuu",
Range = new Range(0, 0, 1, 1)
};
var symbols = new List<SymbolInformation>() {
new SymbolInformation{ Name = "Symbol-1", Location = location},
new SymbolInformation{ Name = "Symbol-2", Location = location},
new SymbolInformation{ Name = "Symbol-3", Location = location},
};
return Task.FromResult<Container<SymbolInformation>>(symbols);
}
protected override WorkspaceSymbolRegistrationOptions CreateRegistrationOptions(WorkspaceSymbolCapability capability, ClientCapabilities clientCapabilities)
{
return new(){ WorkDoneProgress = true };
}
}
Do I have to do something else on the client or on the server to get a token?