diff --git a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServer.java b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServer.java
index bbe8c4399..f9b7ba00f 100644
--- a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServer.java
+++ b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/BootJavaLanguageServer.java
@@ -92,7 +92,6 @@ public class BootJavaLanguageServer extends SimpleLanguageServer {
documents.onDidChangeContent(params -> {
TextDocument doc = params.getDocument();
validateWith(doc.getId(), reconcileEngine);
- highlighWith(doc, new WordHighlighter(this, "foo"));
});
ICompletionEngine bootCompletionEngine = createCompletionEngine(javaProjectFinder, indexProvider);
diff --git a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/WordHighlighter.java b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/WordHighlighter.java
deleted file mode 100644
index c089d78ff..000000000
--- a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/WordHighlighter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 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.boot.java;
-
-import java.util.List;
-import java.util.function.Function;
-
-import org.eclipse.lsp4j.Range;
-import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer;
-import org.springframework.ide.vscode.commons.languageserver.util.TextDocumentContentChange;
-import org.springframework.ide.vscode.commons.util.BadLocationException;
-import org.springframework.ide.vscode.commons.util.Log;
-import org.springframework.ide.vscode.commons.util.text.TextDocument;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Sample implementation of a 'highlighter' that can be used with {@link SimpleLanguageServer}.highlightWith.
- *
- * Finds every occurence of a given word and highlights it.
- *
- * @author Kris De Volder
- */
-public class WordHighlighter implements Function> {
-
- private final SimpleLanguageServer server;
- private final String word;
-
- public WordHighlighter(SimpleLanguageServer server, String word) {
- super();
- this.server = server;
- this.word = word;
- }
-
- @Override
- public List apply(TextDocument doc) {
- String text = doc.get();
- int wordStart = text.indexOf(word);
- ImmutableList.Builder highlights = ImmutableList.builder();
- while (wordStart>=0) {
- try {
- highlights.add(doc.toRange(wordStart, word.length()));
- } catch (BadLocationException e) {
- Log.log(e);
- }
- wordStart = text.indexOf(word, wordStart+word.length());
- }
- return highlights.build();
- }
-}
diff --git a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringLiveHoverWatchdog.java b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringLiveHoverWatchdog.java
index a6a55e5a0..86f640f51 100644
--- a/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringLiveHoverWatchdog.java
+++ b/headless-services/boot-java-language-server/src/main/java/org/springframework/ide/vscode/boot/java/utils/SpringLiveHoverWatchdog.java
@@ -10,15 +10,18 @@
*******************************************************************************/
package org.springframework.ide.vscode.boot.java.utils;
+import java.util.Arrays;
import java.util.Set;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.ConcurrentSkipListSet;
import org.eclipse.lsp4j.Range;
+import org.eclipse.lsp4j.TextDocumentIdentifier;
import org.springframework.ide.vscode.boot.java.BootJavaLanguageServer;
import org.springframework.ide.vscode.boot.java.handlers.BootJavaHoverProvider;
import org.springframework.ide.vscode.commons.boot.app.cli.SpringBootApp;
+import org.springframework.ide.vscode.commons.languageserver.HighlightParams;
import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer;
import org.springframework.ide.vscode.commons.util.text.TextDocument;
@@ -80,7 +83,7 @@ public class SpringLiveHoverWatchdog {
TextDocument doc = this.server.getTextDocumentService().get(docURI);
if (doc != null) {
Range[] ranges = this.hoverProvider.getLiveHoverHints(doc, runningBootApps);
- publishLiveHints(ranges);
+ publishLiveHints(docURI, ranges);
}
} catch (Exception e) {
e.printStackTrace();
@@ -95,15 +98,9 @@ public class SpringLiveHoverWatchdog {
}
}
- private void publishLiveHints(Range[] ranges) {
- for (Range range : ranges) {
- int startLine = range.getStart().getLine();
- int startChar = range.getStart().getCharacter();
- int endLine = range.getEnd().getLine();
- int endChar = range.getEnd().getCharacter();
-
- System.out.println("live hover information at: " + startLine + ":" + startChar + " - " + endLine + ":" + endChar);
- }
+ private void publishLiveHints(String docURI, Range[] ranges) {
+ System.out.println(" PUBLISH LIVE HOVER HINTS !!! " + ranges.length);
+ server.getClient().highlight(new HighlightParams(new TextDocumentIdentifier(docURI), Arrays.asList(ranges)));
}
private void cleanupLiveHints(String docURI) {
diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java
index 4c7fd0cd3..f732c61bc 100644
--- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java
+++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java
@@ -17,7 +17,6 @@ import java.util.LinkedHashSet;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.CompletableFuture;
-import java.util.function.Function;
import org.eclipse.lsp4j.ApplyWorkspaceEditParams;
import org.eclipse.lsp4j.ApplyWorkspaceEditResponse;
@@ -38,7 +37,6 @@ import org.eclipse.lsp4j.TextDocumentSyncKind;
import org.eclipse.lsp4j.services.LanguageClient;
import org.eclipse.lsp4j.services.LanguageClientAware;
import org.eclipse.lsp4j.services.LanguageServer;
-import org.springframework.ide.vscode.commons.languageserver.HighlightParams;
import org.springframework.ide.vscode.commons.languageserver.ProgressParams;
import org.springframework.ide.vscode.commons.languageserver.ProgressService;
import org.springframework.ide.vscode.commons.languageserver.STS4LanguageClient;
@@ -462,13 +460,4 @@ public abstract class SimpleLanguageServer implements LanguageServer, LanguageCl
testListener = languageServerTestListener;
}
- protected void highlighWith(TextDocument doc, Function> wordHighlighter) {
- List highlights = wordHighlighter.apply(doc);
- if (highlights==null) {
- highlights = ImmutableList.of();
- }
- client.highlight(new HighlightParams(doc.getId(), highlights));
- }
-
-
}