Some steps towards mergin boot-java and boot-properties LS

- Refactor towards more composable LanguageServers
- disable fatjar support on boot-java and boot-properties
This commit is contained in:
Kris De Volder
2018-02-09 09:49:21 -08:00
parent 6f03e83e59
commit 5c19bdefe6
37 changed files with 137 additions and 139 deletions

View File

@@ -76,7 +76,7 @@ import reactor.core.scheduler.Schedulers;
* here so we can try to keep the subclass itself more 'clutter free' and focus on
* what its really doing and not the 'wiring and plumbing'.
*/
public abstract class SimpleLanguageServer implements Sts4LanguageServer, LanguageClientAware, ServiceNotificationsClient, WorkspaceFoldersProposedService {
public class SimpleLanguageServer implements Sts4LanguageServer, LanguageClientAware, ServiceNotificationsClient, WorkspaceFoldersProposedService, SimpleLanguageServerWrapper {
private static final Scheduler RECONCILER_SCHEDULER = Schedulers.newSingle("Reconciler");
@@ -116,7 +116,7 @@ public abstract class SimpleLanguageServer implements Sts4LanguageServer, Langua
this.client = (STS4LanguageClient) _client;
}
protected VscodeCompletionEngineAdapter createCompletionEngineAdapter(SimpleLanguageServer server, ICompletionEngine engine) {
public VscodeCompletionEngineAdapter createCompletionEngineAdapter(SimpleLanguageServer server, ICompletionEngine engine) {
return new VscodeCompletionEngineAdapter(server, engine, completionResolver);
}
@@ -406,7 +406,7 @@ public abstract class SimpleLanguageServer implements Sts4LanguageServer, Langua
* Convenience method. Subclasses can call this to use a {@link IReconcileEngine} ported
* from old STS codebase to validate a given {@link TextDocument} and publish Diagnostics.
*/
protected void validateWith(TextDocumentIdentifier docId, IReconcileEngine engine) {
public void validateWith(TextDocumentIdentifier docId, IReconcileEngine engine) {
CompletableFuture<Void> reconcileSession = this.busyReconcile = new CompletableFuture<Void>();
// Log.debug("Reconciling BUSY");
@@ -547,4 +547,9 @@ public abstract class SimpleLanguageServer implements Sts4LanguageServer, Langua
return diagnosticService;
}
@Override
public SimpleLanguageServer getServer() {
return this;
}
}

View File

@@ -0,0 +1,17 @@
/*******************************************************************************
* Copyright (c) 2018 Pivotal, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Pivotal, Inc. - initial API and implementation
*******************************************************************************/
package org.springframework.ide.vscode.commons.languageserver.util;
public interface SimpleLanguageServerWrapper {
SimpleLanguageServer getServer();
}