public static async Task UnregisterCapability(this ILanguageServer mediator, UnregistrationParams @params) { try { await mediator.SendRequest("client/unregisterCapability", @params); } catch (Exception e) { // VsCode today does not implement LSP properly. await mediator.SendRequest("client/unregisterFeature", @params); } }
Task <Unit> IRequestHandler <UnregistrationParams, Unit> .Handle(UnregistrationParams request, CancellationToken cancellationToken) { lock (this) { foreach (var item in request.Unregisterations ?? new UnregistrationContainer()) { _registrations.TryRemove(item.Id, out _); } } _registrationSubject.OnNext(_registrations.Values); return(Unit.Task); }
public Task <VoidResult <ResponseError> > UnregisterCapability(UnregistrationParams @params) { TaskCompletionSource <VoidResult <ResponseError> > tcs = new TaskCompletionSource <VoidResult <ResponseError> >(); connection.SendRequest( new RequestMessage <UnregistrationParams> { Id = IdGenerator.instance.Next(), Method = "client/unregisterCapability", Params = @params }, (VoidResponseMessage <ResponseError> res) => tcs.TrySetResult(Message.ToResult(res))); return(tcs.Task); }
public Task UnregisterCapability(UnregistrationParams @params) { var evt = OnUnregisterCapability; if (evt == null) { return(Task.CompletedTask); } var tcs = new TaskCompletionSource <object>(); var e = new UnregisterCapabilityEventArgs(tcs) { @params = @params }; evt(this, e); return(tcs.Task); }
public void SimpleTest(string expected) { var model = new UnregistrationParams() { Unregisterations = new UnregistrationContainer(new Unregistration() { Id = "abc", Method = "ads" }) }; var result = Fixture.SerializeObject(model); result.Should().Be(expected); var deresult = JsonConvert.DeserializeObject <UnregistrationParams>(expected); deresult.ShouldBeEquivalentTo(model); }
public void SimpleTest(string expected) { var model = new UnregistrationParams { Unregisterations = new UnregistrationContainer( new Unregistration { Id = "abc", Method = "ads" } ) }; var result = Fixture.SerializeObject(model); result.Should().Be(expected); var deresult = new LspSerializer(ClientVersion.Lsp3).DeserializeObject <UnregistrationParams>(expected); deresult.Should().BeEquivalentTo(model, x => x.UsingStructuralRecordEquality()); }
async Task <Unit> IRequestHandler <UnregistrationParams, Unit> .Handle(UnregistrationParams request, CancellationToken cancellationToken) { await Task.Yield(); lock (this) { foreach (var item in request.Unregisterations ?? new UnregistrationContainer()) { _registrations.TryRemove(item.Id, out _); } } if (!_registrationSubject.IsDisposed) { _registrationSubject.OnNext(_registrations.Values); } return(Unit.Value); }
public static Task UnregisterCapability(this ILanguageServerClient mediator, UnregistrationParams @params, CancellationToken cancellationToken = default) { return(mediator.SendRequest(@params, cancellationToken)); }
public abstract Task <Unit> Handle(UnregistrationParams request, CancellationToken cancellationToken);
public override Task <Unit> Handle(UnregistrationParams request, CancellationToken cancellationToken) => _handler.Invoke(request, cancellationToken);
public static async Task UnregisterCapability(this ILanguageServerClient mediator, UnregistrationParams @params) { await mediator.SendRequest(ClientNames.UnregisterCapability, @params); }