diff --git a/src/Protocol/Models/CompletionItem.cs b/src/Protocol/Models/CompletionItem.cs index 5f2bcaa0c..ec17f41c5 100644 --- a/src/Protocol/Models/CompletionItem.cs +++ b/src/Protocol/Models/CompletionItem.cs @@ -27,6 +27,7 @@ public class CompletionItem : ICanBeResolved, IRequest /// /// @since 3.15.0 /// + [Optional] public Container Tags { get; set; } /// diff --git a/src/Protocol/Models/SignatureHelp.cs b/src/Protocol/Models/SignatureHelp.cs index 1dff50476..83236e23e 100644 --- a/src/Protocol/Models/SignatureHelp.cs +++ b/src/Protocol/Models/SignatureHelp.cs @@ -12,7 +12,7 @@ public class SignatureHelp /// /// One or more signatures. /// - public Container Signatures { get; set; } + public Container Signatures { get; set; } = new Container(); /// /// The active signature. diff --git a/test/Lsp.Tests/Models/CompletionItemTests_$SimpleTest.json b/test/Lsp.Tests/Models/CompletionItemTests_$SimpleTest.json index 21ad90c5e..b8ddf1c94 100644 --- a/test/Lsp.Tests/Models/CompletionItemTests_$SimpleTest.json +++ b/test/Lsp.Tests/Models/CompletionItemTests_$SimpleTest.json @@ -1,7 +1,6 @@ { "label": null, "kind": 1, - "tags": null, "deprecated": false, "preselect": false, "insertTextFormat": 0, diff --git a/test/Lsp.Tests/Models/CompletionListTests_$ComplexTest.json b/test/Lsp.Tests/Models/CompletionListTests_$ComplexTest.json index d4a88d139..232bd4b88 100644 --- a/test/Lsp.Tests/Models/CompletionListTests_$ComplexTest.json +++ b/test/Lsp.Tests/Models/CompletionListTests_$ComplexTest.json @@ -4,7 +4,6 @@ { "label": null, "kind": 7, - "tags": null, "detail": "details", "deprecated": false, "preselect": false, diff --git a/test/Lsp.Tests/Models/CompletionListTests_$SimpleTest.json b/test/Lsp.Tests/Models/CompletionListTests_$SimpleTest.json index 6a0a04bf7..6b01f9a33 100644 --- a/test/Lsp.Tests/Models/CompletionListTests_$SimpleTest.json +++ b/test/Lsp.Tests/Models/CompletionListTests_$SimpleTest.json @@ -2,7 +2,6 @@ { "label": null, "kind": 7, - "tags": null, "detail": "details", "deprecated": false, "preselect": false, diff --git a/test/Lsp.Tests/Models/SignatureHelpTests.cs b/test/Lsp.Tests/Models/SignatureHelpTests.cs index 89c3908cb..fb52f9fa4 100644 --- a/test/Lsp.Tests/Models/SignatureHelpTests.cs +++ b/test/Lsp.Tests/Models/SignatureHelpTests.cs @@ -31,5 +31,17 @@ public void SimpleTest(string expected) var deresult = new Serializer(ClientVersion.Lsp3).DeserializeObject(expected); deresult.Should().BeEquivalentTo(model); } + + [Theory, JsonFixture] + public void NoSignaturesTest(string expected) + { + var model = new SignatureHelp(); + var result = Fixture.SerializeObject(model); + + result.Should().Be(expected); + + var deresult = new Serializer(ClientVersion.Lsp3).DeserializeObject(expected); + deresult.Should().BeEquivalentTo(model); + } } } diff --git a/test/Lsp.Tests/Models/SignatureHelpTests_$NoSignaturesTest.json b/test/Lsp.Tests/Models/SignatureHelpTests_$NoSignaturesTest.json new file mode 100644 index 000000000..50fa38f31 --- /dev/null +++ b/test/Lsp.Tests/Models/SignatureHelpTests_$NoSignaturesTest.json @@ -0,0 +1,3 @@ +{ + "signatures": [] +}