diff --git a/src/Protocol/Client/Capabilities/TextDocumentClientCapabilities.cs b/src/Protocol/Client/Capabilities/TextDocumentClientCapabilities.cs index 2f0e1c3ab..00611b0dc 100644 --- a/src/Protocol/Client/Capabilities/TextDocumentClientCapabilities.cs +++ b/src/Protocol/Client/Capabilities/TextDocumentClientCapabilities.cs @@ -109,7 +109,7 @@ public class TextDocumentClientCapabilities /// /// Since 3.10.0 /// - public Supports FoldingRangeProvider { get; set; } + public Supports FoldingRange { get; set; } /// /// Capabilities specific to `textDocument/publishDiagnostics`. diff --git a/src/Server/LanguageServer.cs b/src/Server/LanguageServer.cs index 922d1816f..1f294b9f7 100644 --- a/src/Server/LanguageServer.cs +++ b/src/Server/LanguageServer.cs @@ -316,7 +316,7 @@ async Task IRequestHandler ImplementationProvider = ccp.GetStaticOptions(textDocumentCapabilities.Implementation).Get(ImplementationOptions.Of), TypeDefinitionProvider = ccp.GetStaticOptions(textDocumentCapabilities.TypeDefinition).Get(TypeDefinitionOptions.Of), ColorProvider = ccp.GetStaticOptions(textDocumentCapabilities.ColorProvider).Get(ColorOptions.Of), - FoldingRangeProvider = ccp.GetStaticOptions(textDocumentCapabilities.FoldingRangeProvider).Get(FoldingRangeOptions.Of), + FoldingRangeProvider = ccp.GetStaticOptions(textDocumentCapabilities.FoldingRange).Get(FoldingRangeOptions.Of), }; if (_collection.ContainsHandler(typeof(IDidChangeWorkspaceFoldersHandler))) diff --git a/test/Lsp.Tests/Capabilities/Client/ClientCapabilitiesTests.cs b/test/Lsp.Tests/Capabilities/Client/ClientCapabilitiesTests.cs index 9890bff75..84bf3036b 100644 --- a/test/Lsp.Tests/Capabilities/Client/ClientCapabilitiesTests.cs +++ b/test/Lsp.Tests/Capabilities/Client/ClientCapabilitiesTests.cs @@ -61,7 +61,13 @@ public void SimpleTest(string expected) WillSave = true, DidSave = true, WillSaveWaitUntil = true + }, + FoldingRange = new FoldingRangeCapability() { + DynamicRegistration = true, + LineFoldingOnly = true, + RangeLimit = 5000 } + }, Workspace = new WorkspaceClientCapabilities() { ApplyEdit = true, diff --git a/test/Lsp.Tests/Capabilities/Client/ClientCapabilitiesTests_$SimpleTest.json b/test/Lsp.Tests/Capabilities/Client/ClientCapabilitiesTests_$SimpleTest.json index ef1ab50ea..b8bc3fde7 100644 --- a/test/Lsp.Tests/Capabilities/Client/ClientCapabilitiesTests_$SimpleTest.json +++ b/test/Lsp.Tests/Capabilities/Client/ClientCapabilitiesTests_$SimpleTest.json @@ -86,6 +86,11 @@ "implementation": { "linkSupport": true, "dynamicRegistration": true + }, + "foldingRange": { + "rangeLimit": 5000, + "lineFoldingOnly": true, + "dynamicRegistration": true } }, "experimental": { diff --git a/test/Lsp.Tests/FluentAssertionsExtensions.cs b/test/Lsp.Tests/FluentAssertionsExtensions.cs index a152e7919..b668b700f 100644 --- a/test/Lsp.Tests/FluentAssertionsExtensions.cs +++ b/test/Lsp.Tests/FluentAssertionsExtensions.cs @@ -37,7 +37,8 @@ public static EquivalencyAssertionOptions ConfigureForSupports(this Equiva .ComparingByMembers>() .ComparingByMembers>() .ComparingByMembers>() - .ComparingByMembers>(); + .ComparingByMembers>() + .ComparingByMembers>(); } } } diff --git a/test/Lsp.Tests/Models/InitializeParamsTests.cs b/test/Lsp.Tests/Models/InitializeParamsTests.cs index 6678b653b..039ceb8e2 100644 --- a/test/Lsp.Tests/Models/InitializeParamsTests.cs +++ b/test/Lsp.Tests/Models/InitializeParamsTests.cs @@ -50,6 +50,11 @@ public void SimpleTest(string expected) WillSave = true, DidSave = true, WillSaveWaitUntil = true + }, + FoldingRange = new FoldingRangeCapability { + DynamicRegistration = true, + LineFoldingOnly = true, + RangeLimit = 5000, } }, Workspace = new WorkspaceClientCapabilities() { diff --git a/test/Lsp.Tests/Models/InitializeParamsTests_$SimpleTest.json b/test/Lsp.Tests/Models/InitializeParamsTests_$SimpleTest.json index 2d7c76ca0..b9f05bbfc 100644 --- a/test/Lsp.Tests/Models/InitializeParamsTests_$SimpleTest.json +++ b/test/Lsp.Tests/Models/InitializeParamsTests_$SimpleTest.json @@ -76,6 +76,11 @@ "rename": { "prepareSupport": false, "dynamicRegistration": true + }, + "foldingRange": { + "rangeLimit": 5000, + "lineFoldingOnly": true, + "dynamicRegistration": true } }, "experimental": {