Update lsp4j to 2.0 snapshot version

This commit is contained in:
Kris De Volder
2017-02-27 15:53:14 -08:00
parent bfb41d2dcb
commit bcebac6923
4 changed files with 32 additions and 16 deletions

View File

@@ -10,21 +10,23 @@
*******************************************************************************/
package org.springframework.ide.vscode.commons.languageserver.hover;
import java.util.Collections;
import java.util.concurrent.CompletableFuture;
import org.eclipse.lsp4j.Hover;
import org.eclipse.lsp4j.Range;
import org.eclipse.lsp4j.TextDocumentPositionParams;
import org.eclipse.lsp4j.jsonrpc.messages.Either;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguageServer;
import org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService;
import org.springframework.ide.vscode.commons.util.Futures;
import org.springframework.ide.vscode.commons.util.Renderable;
import org.springframework.ide.vscode.commons.util.StringUtil;
import org.springframework.ide.vscode.commons.util.text.IRegion;
import org.springframework.ide.vscode.commons.util.text.TextDocument;
import com.google.common.collect.ImmutableList;
import reactor.util.function.Tuple2;
public class VscodeHoverEngineAdapter implements VscodeHoverEngine {
@@ -71,9 +73,11 @@ public class VscodeHoverEngineAdapter implements VscodeHoverEngine {
IRegion region = hoverTuple.getT2();
Range range = doc.toRange(region.getOffset(), region.getLength());
Hover hover = new Hover(Collections.singletonList(render(hoverInfo, type)), range);
return Futures.of(hover);
String rendered = render(hoverInfo, type);
if (StringUtil.hasText(rendered)) {
Hover hover = new Hover(ImmutableList.of(Either.forLeft(rendered)), range);
return CompletableFuture.completedFuture(hover);
}
}
}
} catch (Exception e) {

View File

@@ -51,6 +51,7 @@ import org.eclipse.lsp4j.TextDocumentPositionParams;
import org.eclipse.lsp4j.TextEdit;
import org.eclipse.lsp4j.VersionedTextDocumentIdentifier;
import org.eclipse.lsp4j.WorkspaceEdit;
import org.eclipse.lsp4j.jsonrpc.messages.Either;
import org.eclipse.lsp4j.services.LanguageClient;
import org.eclipse.lsp4j.services.TextDocumentService;
import org.springframework.ide.vscode.commons.languageserver.LanguageIds;
@@ -207,12 +208,13 @@ public class SimpleTextDocumentService implements TextDocumentService {
public final static CompletableFuture<Hover> NO_HOVER = CompletableFuture.completedFuture(new Hover(ImmutableList.of(), null));
@Override
public CompletableFuture<CompletionList> completion(TextDocumentPositionParams position) {
public CompletableFuture<Either<List<CompletionItem>, CompletionList>> completion(TextDocumentPositionParams position) {
CompletionHandler h = completionHandler;
if (h!=null) {
return completionHandler.handle(position);
return completionHandler.handle(position)
.thenApply(Either::forRight);
}
return CompletableFuture.completedFuture(NO_COMPLETIONS);
return CompletableFuture.completedFuture(Either.forRight(NO_COMPLETIONS));
}
@Override