diff --git a/vscode-extensions/vscode-manifest-yaml/package.json b/vscode-extensions/vscode-manifest-yaml/package.json index 1dccba063..0a92739c4 100644 --- a/vscode-extensions/vscode-manifest-yaml/package.json +++ b/vscode-extensions/vscode-manifest-yaml/package.json @@ -4,7 +4,7 @@ "description": "Provides validation and content assist for Cloudfoundry manifest.yml files", "icon": "icon.png", "version": "0.0.1", - "publisher": "Pivotal Inc.", + "publisher": "Pivotal", "repository": { "type": "git", "url": "https://github.com/kdvolder/vscode-lsapi-example.git" diff --git a/vscode-extensions/vscode-manifest-yaml/package.sh b/vscode-extensions/vscode-manifest-yaml/package.sh index fe8487162..3cda60f54 100755 --- a/vscode-extensions/vscode-manifest-yaml/package.sh +++ b/vscode-extensions/vscode-manifest-yaml/package.sh @@ -6,7 +6,9 @@ set -e # fail at the first sign of trouble -mvn clean package ## build language server fat jar +#Ensure commons are built and uptodate in local maven cache +mvn -f ../commons/pom.xml clean install +mvn clean package npm install vsce package diff --git a/vscode-extensions/vscode-manifest-yaml/pom.xml b/vscode-extensions/vscode-manifest-yaml/pom.xml index 45f8c11c5..270ec1a1a 100644 --- a/vscode-extensions/vscode-manifest-yaml/pom.xml +++ b/vscode-extensions/vscode-manifest-yaml/pom.xml @@ -2,10 +2,16 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - com.github.kdvolder vscode-manifest-yaml jar - 0.0.1-SNAPSHOT + + + org.springframework.ide.vscode + commons-parent + 0.0.1-SNAPSHOT + ../commons/pom.xml + + @@ -13,17 +19,8 @@ Local repository for JAR files file://${basedir}/repo - - - - oss-sonatype - oss-sonatype - https://oss.sonatype.org/content/repositories/snapshots/ - - true - - + distribution-repository @@ -31,52 +28,13 @@ file://${basedir}/dist - - 2.5.0 - 2.10 - + - + - io.typefox.lsapi - io.typefox.lsapi - 0.2.0-SNAPSHOT - - - io.typefox.lsapi - io.typefox.lsapi.services - 0.2.0-SNAPSHOT - - - io.typefox.lsapi - io.typefox.lsapi.annotations - 0.2.0-SNAPSHOT - - - - com.fasterxml.jackson.core - jackson-core - ${jackson-2-version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson-2-version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-2-version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson-2-version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson-2-version} + org.springframework.ide.vscode + language-server-commons + 0.0.1-SNAPSHOT @@ -90,19 +48,6 @@ guava 18.0 - - - junit - junit - 4.11 - test - - - org.assertj - assertj-core - 3.5.2 - test - diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/Assert.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/Assert.java deleted file mode 100644 index 6d0ae7ffd..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/Assert.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.springframework.ide.vscode.util; - -public class Assert { - - public static void isNull(String msg, Object obj) { - if (obj!=null) { - throw new IllegalStateException(msg); - } - } - -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/CompletionHandler.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/CompletionHandler.java deleted file mode 100644 index 166764a0b..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/CompletionHandler.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.springframework.ide.vscode.util; - -import java.util.concurrent.CompletableFuture; - -import io.typefox.lsapi.CompletionList; -import io.typefox.lsapi.TextDocumentPositionParams; - -@FunctionalInterface -public interface CompletionHandler { - CompletableFuture handle(TextDocumentPositionParams params); -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/CompletionResolveHandler.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/CompletionResolveHandler.java deleted file mode 100644 index 73d9d011a..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/CompletionResolveHandler.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.springframework.ide.vscode.util; - -import java.util.concurrent.CompletableFuture; - -import io.typefox.lsapi.CompletionItem; - -@FunctionalInterface -public interface CompletionResolveHandler { - CompletableFuture handle(CompletionItem unresolved); -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/Futures.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/Futures.java deleted file mode 100644 index 5ba42866b..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/Futures.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.springframework.ide.vscode.util; - -import java.util.concurrent.CompletableFuture; - -public class Futures { - - public static CompletableFuture of(T value) { - CompletableFuture f = new CompletableFuture(); - f.complete(value); - return f; - } - -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/JSON.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/JSON.java deleted file mode 100644 index 32df4f379..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/JSON.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.springframework.ide.vscode.util; - -import java.io.IOException; -import java.nio.file.Path; -import java.nio.file.Paths; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; -import com.fasterxml.jackson.datatype.jsr310.JSR310Module; - -public class JSON { - - public static final ObjectMapper JSON = new ObjectMapper().registerModule(new Jdk8Module()) - .registerModule(new JSR310Module()) - .registerModule(pathAsJson()) - .configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false); - - private static SimpleModule pathAsJson() { - SimpleModule m = new SimpleModule(); - - m.addSerializer(Path.class, new JsonSerializer() { - @Override - public void serialize(Path path, - JsonGenerator gen, - SerializerProvider serializerProvider) throws IOException, JsonProcessingException { - gen.writeString(path.toString()); - } - }); - - m.addDeserializer(Path.class, new JsonDeserializer() { - @Override - public Path deserialize(JsonParser parse, - DeserializationContext deserializationContext) throws IOException, JsonProcessingException { - return Paths.get(parse.getText()); - } - }); - - return m; - } - - - -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/ListenerList.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/ListenerList.java deleted file mode 100644 index a8bb01e51..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/ListenerList.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.springframework.ide.vscode.util; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Consumer; - -public class ListenerList { - - private List> listeners = new ArrayList<>(); - - public synchronized void fire(T evt) { - for (Consumer l : listeners) { - l.accept(evt); - } - } - - public void add(Consumer l) { - listeners.add(l); - } - -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/LoggingFormat.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/LoggingFormat.java deleted file mode 100644 index 29bbff43e..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/LoggingFormat.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.springframework.ide.vscode.util; - -import java.io.IOException; -import java.io.PrintWriter; -import java.io.StringWriter; -import java.time.Instant; -import java.util.StringJoiner; -import java.util.logging.*; - -public class LoggingFormat extends Formatter { - public static ThreadLocal request = new ThreadLocal<>(); - - @Override - public String format(LogRecord record) { - StringJoiner joiner = new StringJoiner("\t"); - - joiner.add(record.getLevel().getName()); - joiner.add(requestAsString()); - joiner.add(Thread.currentThread().getName()); - joiner.add(Instant.ofEpochMilli(record.getMillis()).toString()); -// joiner.add(record.getLoggerName()); - joiner.add(record.getSourceClassName() + "#" + record.getSourceMethodName()); - joiner.add(record.getMessage()); - - String result = joiner.toString() + "\n"; - - Throwable thrown = record.getThrown(); - - if (thrown != null) { - StringWriter stackTrace = new StringWriter(); - PrintWriter print = new PrintWriter(stackTrace); - - thrown.printStackTrace(print); - print.flush(); - - result = result + stackTrace + "\n"; - } - - return result; - } - - private CharSequence requestAsString() { - Integer i = request.get(); - - if (i == null) - return "?"; - else - return Integer.toString(i); - } - - private static boolean started = false; - - public static void startLogging() throws IOException { - if (!started) { - started = true; - - Logger root = Logger.getLogger(""); - - FileHandler file = new FileHandler("javac-services.%g.log", 100_000, 1, false); - - root.addHandler(file); - - for (Handler h : root.getHandlers()) - h.setFormatter(new LoggingFormat()); - } - } -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/Settings.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/Settings.java deleted file mode 100644 index 7ff3458ee..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/Settings.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.springframework.ide.vscode.util; - -import java.util.Map; - -/** - * Convenience wrapper around a 'settings' object. Provides some useful accessor methods to - * retrieve properties from the settings object. - */ -public class Settings { - - private Object settings; - - public Settings(Object settings) { - this.settings = settings; - } - - public Integer getInt(String... names) { - Object val = getProperty(names); - if (val instanceof Number) { - return ((Number) val).intValue(); - } - return null; - } - - public Object getProperty(String... names) { - return getProperty(settings, names, 0); - } - - @SuppressWarnings("rawtypes") - private static Object getProperty(Object settings, String[] names, int i) { - if (i >= names.length) { - return settings; - } else if (settings instanceof Map) { - Object sub = ((Map)settings).get(names[i]); - return getProperty(sub, names, i+1); - } else { - return null; - } - } - - - -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/ShowMessageException.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/ShowMessageException.java deleted file mode 100644 index 0f347024d..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/ShowMessageException.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.springframework.ide.vscode.util; - -import io.typefox.lsapi.MessageParams; -import io.typefox.lsapi.MessageParamsImpl; - -public class ShowMessageException extends RuntimeException { - - private static final long serialVersionUID = 1L; - public final MessageParams message; - - public ShowMessageException(MessageParams message, Exception cause) { - super(message.getMessage(), cause); - - this.message = message; - } - - public static ShowMessageException error(String message, Exception cause) { - return create(MessageParams.TYPE_ERROR, message, cause); - } - - public static ShowMessageException warning(String message, Exception cause) { - return create(MessageParams.TYPE_WARNING, message, cause); - } - - private static ShowMessageException create(int type, String message, Exception cause) { - MessageParamsImpl m = new MessageParamsImpl(); - - m.setMessage(message); - m.setType(type); - - return new ShowMessageException(m, cause); - } -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/SimpleLanguageServer.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/SimpleLanguageServer.java deleted file mode 100644 index 9cdbb36a3..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/SimpleLanguageServer.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.springframework.ide.vscode.util; - -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.concurrent.CompletableFuture; -import java.util.function.Consumer; -import java.util.logging.Level; -import java.util.logging.Logger; - -import io.typefox.lsapi.InitializeParams; -import io.typefox.lsapi.InitializeResult; -import io.typefox.lsapi.InitializeResultImpl; -import io.typefox.lsapi.MessageParams; -import io.typefox.lsapi.MessageParamsImpl; -import io.typefox.lsapi.ServerCapabilitiesImpl; -import io.typefox.lsapi.ShowMessageRequestParams; -import io.typefox.lsapi.services.LanguageServer; -import io.typefox.lsapi.services.WindowService; - -/** - * Abstract base class to implement LanguageServer. Bits and pieces copied from - * the 'JavaLanguageServer' example which seem generally useful / reusable end up in - * 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 LanguageServer { - - private static final Logger LOG = Logger.getLogger(SimpleLanguageServer.class.getName()); - - private Consumer showMessage = m -> {}; - - private Path workspaceRoot; - - private SimpleTextDocumentService tds; - - private SimpleWorkspaceService workspace; - - @Override - public CompletableFuture initialize(InitializeParams params) { - LOG.info("Initializing"); - String rootPath = params.getRootPath(); - if (rootPath==null) { - LOG.warning("workspaceRoot NOT SET"); - } else { - this.workspaceRoot= Paths.get(rootPath).toAbsolutePath().normalize(); - LOG.info("workspaceRoot = "+workspaceRoot); - } - - InitializeResultImpl result = new InitializeResultImpl(); - - ServerCapabilitiesImpl cap = getServerCapabilities(); - result.setCapabilities(cap); - - return CompletableFuture.completedFuture(result); - } - - @Override - public WindowService getWindowService() { - return new WindowService() { - @Override - public void onShowMessage(Consumer callback) { - showMessage = callback; - } - - @Override - public void onShowMessageRequest(Consumer callback) { - - } - - @Override - public void onLogMessage(Consumer callback) { - - } - }; - } - - public void onError(String message, Throwable error) { - if (error instanceof ShowMessageException) - showMessage.accept(((ShowMessageException) error).message); - else { - LOG.log(Level.SEVERE, message, error); - - MessageParamsImpl m = new MessageParamsImpl(); - - m.setMessage(message); - m.setType(MessageParams.TYPE_ERROR); - - showMessage.accept(m); - } - } - - protected abstract ServerCapabilitiesImpl getServerCapabilities(); - - @Override - public void shutdown() { - } - - @Override - public void exit() { - } - - - public Path getWorkspaceRoot() { - return workspaceRoot; - } - - @Override - public synchronized SimpleTextDocumentService getTextDocumentService() { - if (tds==null) { - tds = createTextDocumentService(); - } - return tds; - } - - protected SimpleTextDocumentService createTextDocumentService() { - return new SimpleTextDocumentService(); - } - - public SimpleWorkspaceService createWorkspaceService() { - return new SimpleWorkspaceService(); - } - - @Override - public synchronized SimpleWorkspaceService getWorkspaceService() { - if (workspace==null) { - workspace = createWorkspaceService(); - } - return workspace; - } - -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/SimpleTextDocumentService.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/SimpleTextDocumentService.java deleted file mode 100644 index bb47c3946..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/SimpleTextDocumentService.java +++ /dev/null @@ -1,271 +0,0 @@ -package org.springframework.ide.vscode.util; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.CompletableFuture; -import java.util.function.Consumer; -import java.util.logging.Logger; - -import io.typefox.lsapi.CodeActionParams; -import io.typefox.lsapi.CodeLens; -import io.typefox.lsapi.CodeLensParams; -import io.typefox.lsapi.Command; -import io.typefox.lsapi.CompletionItem; -import io.typefox.lsapi.CompletionList; -import io.typefox.lsapi.DiagnosticImpl; -import io.typefox.lsapi.DidChangeTextDocumentParams; -import io.typefox.lsapi.DidCloseTextDocumentParams; -import io.typefox.lsapi.DidOpenTextDocumentParams; -import io.typefox.lsapi.DidSaveTextDocumentParams; -import io.typefox.lsapi.DocumentFormattingParams; -import io.typefox.lsapi.DocumentHighlight; -import io.typefox.lsapi.DocumentOnTypeFormattingParams; -import io.typefox.lsapi.DocumentRangeFormattingParams; -import io.typefox.lsapi.DocumentSymbolParams; -import io.typefox.lsapi.Hover; -import io.typefox.lsapi.Location; -import io.typefox.lsapi.PublishDiagnosticsParams; -import io.typefox.lsapi.PublishDiagnosticsParamsImpl; -import io.typefox.lsapi.Range; -import io.typefox.lsapi.ReferenceParams; -import io.typefox.lsapi.RenameParams; -import io.typefox.lsapi.SignatureHelp; -import io.typefox.lsapi.SymbolInformation; -import io.typefox.lsapi.TextDocumentContentChangeEvent; -import io.typefox.lsapi.TextDocumentPositionParams; -import io.typefox.lsapi.TextEdit; -import io.typefox.lsapi.VersionedTextDocumentIdentifier; -import io.typefox.lsapi.WorkspaceEdit; -import io.typefox.lsapi.services.TextDocumentService; - -public class SimpleTextDocumentService implements TextDocumentService { - - private static final Logger LOG = Logger.getLogger(SimpleTextDocumentService.class.getName()); - - private Consumer publishDiagnostics = (p) -> {}; - - private Map documents = new HashMap<>(); - private ListenerList documentChangeListeners = new ListenerList<>(); - private CompletionHandler completionHandler = null; - private CompletionResolveHandler completionResolveHandler = null; - - public synchronized void onCompletion(CompletionHandler h) { - Assert.isNull("A completion handler is already set, multiple handlers not supported yet", completionHandler); - this.completionHandler = h; - } - - public synchronized void onCompletionResolve(CompletionResolveHandler h) { - Assert.isNull("A completionResolveHandler handler is already set, multiple handlers not supported yet", completionResolveHandler); - this.completionResolveHandler = h; - } - - /** - * Gets all documents this service is tracking, generally these are the documents that have been opened / changed, - * and not yet closed. - */ - public synchronized Collection getAll() { - return new ArrayList<>(documents.values()); - } - - - @Override - public final void didChange(DidChangeTextDocumentParams params) { - VersionedTextDocumentIdentifier docId = params.getTextDocument(); - String url = docId.getUri(); - if (url!=null) { - LOG.info("Document changed: "+url); - TextDocument doc = getOrCreateDocument(url); - for (TextDocumentContentChangeEvent change : params.getContentChanges()) { - doc.apply(change); - didChangeContent(doc, change); - } - } - } - - @Override - public void didOpen(DidOpenTextDocumentParams params) { - //LOG.info("didOpen: "+params); - //Example message: - //{ - // "jsonrpc":"2.0", - // "method":"textDocument/didOpen", - // "params":{ - // "textDocument":{ - // "uri":"file:///home/kdvolder/tmp/hello-java/hello.txt", - // "languageId":"plaintext", - // "version":1, - // "text":"This is some text ya-all o\nsss typescript\n" - // } - // } - //} - String url = params.getTextDocument().getUri(); - if (url!=null) { - String text = params.getTextDocument().getText(); - TextDocument doc = getOrCreateDocument(url); - doc.setText(text); - TextDocumentContentChangeEvent change = new TextDocumentContentChangeEvent() { - @Override - public Range getRange() { - return null; - } - - @Override - public Integer getRangeLength() { - return null; - } - - @Override - public String getText() { - return text; - } - }; - TextDocumentContentChange evt = new TextDocumentContentChange(doc, change); - documentChangeListeners.fire(evt); - } - } - - @Override - public void didClose(DidCloseTextDocumentParams params) { - String url = params.getTextDocument().getUri(); - if (url!=null) { - documents.remove(url); - } - } - - - void didChangeContent(TextDocument doc, TextDocumentContentChangeEvent change) { - documentChangeListeners.fire(new TextDocumentContentChange(doc, change)); - } - - public void onDidChangeContent(Consumer l) { - documentChangeListeners.add(l); - } - - private synchronized TextDocument getOrCreateDocument(String url) { - TextDocument doc = documents.get(url); - if (doc==null) { - documents.put(url, doc = new TextDocument(url)); - } - return doc; - } - - @Override - public CompletableFuture completion(TextDocumentPositionParams position) { - CompletionHandler h = completionHandler; - if (h!=null) { - return completionHandler.handle(position); - } - return null; //TODO: does caller handle nulls? Or do we need to provide something that create a empty completion list? - } - - @Override - public CompletableFuture resolveCompletionItem(CompletionItem unresolved) { - CompletionResolveHandler h = completionResolveHandler; - if (h!=null) { - return h.handle(unresolved); - } - return null; - } - - @Override - public CompletableFuture hover(TextDocumentPositionParams position) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture signatureHelp(TextDocumentPositionParams position) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture> definition(TextDocumentPositionParams position) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture> references(ReferenceParams params) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture documentHighlight(TextDocumentPositionParams position) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture> documentSymbol(DocumentSymbolParams params) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture> codeAction(CodeActionParams params) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture> codeLens(CodeLensParams params) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture resolveCodeLens(CodeLens unresolved) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture> formatting(DocumentFormattingParams params) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture> rangeFormatting(DocumentRangeFormattingParams params) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture> onTypeFormatting(DocumentOnTypeFormattingParams params) { - // TODO Auto-generated method stub - return null; - } - - @Override - public CompletableFuture rename(RenameParams params) { - // TODO Auto-generated method stub - return null; - } - - @Override - public void didSave(DidSaveTextDocumentParams params) { - // TODO Auto-generated method stub - - } - - @Override - public synchronized void onPublishDiagnostics(Consumer callback) { - publishDiagnostics = publishDiagnostics.andThen(callback); - } - - public void publishDiagnostics(TextDocument doc, List diagnostics) { - if (diagnostics!=null && !diagnostics.isEmpty()) { - PublishDiagnosticsParamsImpl params = new PublishDiagnosticsParamsImpl(); - params.setUri(doc.getUri()); - params.setDiagnostics(diagnostics); - publishDiagnostics.accept(params); - } - } - -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/SimpleWorkspaceService.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/SimpleWorkspaceService.java deleted file mode 100644 index d0df372c6..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/SimpleWorkspaceService.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.springframework.ide.vscode.util; - -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.function.Consumer; - -import io.typefox.lsapi.DidChangeConfigurationParams; -import io.typefox.lsapi.DidChangeWatchedFilesParams; -import io.typefox.lsapi.SymbolInformation; -import io.typefox.lsapi.WorkspaceSymbolParams; -import io.typefox.lsapi.services.WorkspaceService; - -public class SimpleWorkspaceService implements WorkspaceService { - - private ListenerList configurationListeners = new ListenerList<>(); - - @Override - public CompletableFuture> symbol(WorkspaceSymbolParams params) { - // TODO Auto-generated method stub - return null; - } - - @Override - public void didChangeConfiguraton(DidChangeConfigurationParams params) { - configurationListeners.fire(new Settings(params.getSettings())); - } - - @Override - public void didChangeWatchedFiles(DidChangeWatchedFilesParams params) { - // TODO Auto-generated method stub - - } - - public void onDidChangeConfiguraton(Consumer l) { - configurationListeners.add(l); - } - -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/TextDocument.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/TextDocument.java deleted file mode 100644 index 3fbf5bfa7..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/TextDocument.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.springframework.ide.vscode.util; - -import io.typefox.lsapi.Range; -import io.typefox.lsapi.TextDocumentContentChangeEvent; - -public class TextDocument { - - private final String uri; - private String text = ""; - - public TextDocument(String uri) { - this.uri = uri; - } - - public String getUri() { - return uri; - } - - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - } - public void apply(TextDocumentContentChangeEvent change) { - Range rng = change.getRange(); - if (rng==null) { - //full sync mode - this.text = change.getText(); - } else { - //incremental sync mode - throw new IllegalStateException("Incremental sync not yet implemented"); - } - } - - -} diff --git a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/TextDocumentContentChange.java b/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/TextDocumentContentChange.java deleted file mode 100644 index ca82c08ef..000000000 --- a/vscode-extensions/vscode-manifest-yaml/src/main/java/org/springframework/ide/vscode/util/TextDocumentContentChange.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.springframework.ide.vscode.util; - -import io.typefox.lsapi.TextDocumentContentChangeEvent; - -public class TextDocumentContentChange { - - private final TextDocument document; - private final TextDocumentContentChangeEvent change; - - public TextDocumentContentChange(TextDocument doc, TextDocumentContentChangeEvent change) { - this.document = doc; - this.change = change; - } - - public TextDocument getDocument() { - return document; - } - - public TextDocumentContentChangeEvent getChange() { - return change; - } - -}