Example #1
0
 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);
        }
Example #6
0
        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);
        }
Example #8
0
 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);
 }