From eddb7b5b5ca8e93e419bc40e9c465685b5f4703c Mon Sep 17 00:00:00 2001 From: angelozerr Date: Sat, 22 Sep 2018 06:09:39 +0200 Subject: [PATCH] Move experimental to settings (see #133) --- .../org/eclipse/lsp4xml/XMLLanguageServer.java | 10 ++++++++++ .../eclipse/lsp4xml/XMLTextDocumentService.java | 17 ++++------------- .../lsp4xml/settings/XMLClientSettings.java | 6 ++++++ 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLLanguageServer.java b/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLLanguageServer.java index b78e107be..cbc5161f3 100644 --- a/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLLanguageServer.java +++ b/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLLanguageServer.java @@ -37,6 +37,7 @@ import org.eclipse.lsp4xml.settings.InitializationOptionsSettings; import org.eclipse.lsp4xml.settings.LogsSettings; import org.eclipse.lsp4xml.settings.XMLClientSettings; +import org.eclipse.lsp4xml.settings.XMLExperimentalCapabilities; import org.eclipse.lsp4xml.settings.XMLFormattingOptions; import org.eclipse.lsp4xml.settings.capabilities.ServerCapabilitiesInitializer; import org.eclipse.lsp4xml.settings.capabilities.XMLCapabilityManager; @@ -116,6 +117,15 @@ public void updateSettings(Object initializationOptionsSettings) { if (formatterSettings != null) { xmlTextDocumentService.setSharedFormattingOptions(formatterSettings); } + // Experimental capabilities + XMLExperimentalCapabilities experimental = clientSettings.getExperimental(); + if (experimental != null) { + boolean incrementalSupport = experimental != null && experimental.getIncrementalSupport() != null + && experimental.getIncrementalSupport().getEnabled() != null + ? experimental.getIncrementalSupport().getEnabled() + : false; + xmlTextDocumentService.setIncrementalSupport(incrementalSupport); + } } // Update XML language service extensions xmlLanguageService.updateSettings(initializationOptionsSettings); diff --git a/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLTextDocumentService.java b/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLTextDocumentService.java index 0f7d07739..906429dd1 100644 --- a/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLTextDocumentService.java +++ b/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/XMLTextDocumentService.java @@ -65,10 +65,7 @@ import org.eclipse.lsp4xml.dom.XMLParser; import org.eclipse.lsp4xml.services.XMLLanguageService; import org.eclipse.lsp4xml.services.extensions.CompletionSettings; -import org.eclipse.lsp4xml.settings.XMLExperimentalCapabilities; -import org.eclipse.lsp4xml.settings.capabilities.ClientCapabilitiesWrapper; import org.eclipse.lsp4xml.settings.XMLFormattingOptions; -import org.eclipse.lsp4xml.utils.JSONUtility; /** * XML text document service. @@ -124,16 +121,6 @@ public void updateClientCapabilities(ClientCapabilities capabilities) { codeActionLiteralSupport = textDocumentClientCapabilities.getCodeAction() != null && textDocumentClientCapabilities.getCodeAction().getCodeActionLiteralSupport() != null; } - - // Experimental capabilities - // get value of "experimental.incrementalSupport.enabled" - XMLExperimentalCapabilities experimental = JSONUtility.toModel(capabilities.getExperimental(), - XMLExperimentalCapabilities.class); - boolean incrementalSupport = experimental != null && experimental.getIncrementalSupport() != null - && experimental.getIncrementalSupport().getEnabled() != null - ? experimental.getIncrementalSupport().getEnabled() - : false; - documents.setIncremental(incrementalSupport); } public TextDocument getDocument(String uri) { @@ -334,4 +321,8 @@ public XMLFormattingOptions getSharedFormattingOptions() { return this.sharedFormattingOptions; } + public void setIncrementalSupport(boolean incrementalSupport) { + this.documents.setIncremental(incrementalSupport); + } + } diff --git a/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/settings/XMLClientSettings.java b/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/settings/XMLClientSettings.java index f555ccfd6..105eaef0f 100644 --- a/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/settings/XMLClientSettings.java +++ b/org.eclipse.lsp4xml/src/main/java/org/eclipse/lsp4xml/settings/XMLClientSettings.java @@ -21,6 +21,8 @@ public class XMLClientSettings { private LogsSettings logs; private XMLFormattingOptions format; + + private XMLExperimentalCapabilities experimental; public void setLogs(LogsSettings logs) { this.logs = logs; @@ -37,6 +39,10 @@ public void setFormat(XMLFormattingOptions format) { public XMLFormattingOptions getFormat() { return format; } + + public XMLExperimentalCapabilities getExperimental() { + return experimental; + } public static XMLClientSettings getSettings(Object initializationOptionsSettings) { return JSONUtility.toModel(initializationOptionsSettings, XMLClientSettings.class);