HoverInfo -> Renderable refactoring
This commit is contained in:
@@ -1,36 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2016 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.hover;
|
||||
|
||||
import org.springframework.ide.vscode.commons.util.HtmlBuffer;
|
||||
|
||||
/**
|
||||
* Placeholder. Still need to figure out what exactly we should do with this in
|
||||
* vscode. TODO: rename to Renderable
|
||||
*/
|
||||
public interface HoverInfo {
|
||||
|
||||
void renderAsHtml(HtmlBuffer buffer);
|
||||
|
||||
void renderAsMarkdown(StringBuilder buffer);
|
||||
|
||||
default String toMarkdown() {
|
||||
StringBuilder buffer = new StringBuilder();
|
||||
renderAsMarkdown(buffer);
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
default String toHtml() {
|
||||
HtmlBuffer buffer = new HtmlBuffer();
|
||||
renderAsHtml(buffer);
|
||||
return buffer.toString();
|
||||
}
|
||||
}
|
||||
@@ -12,11 +12,12 @@ package org.springframework.ide.vscode.commons.languageserver.hover;
|
||||
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.IDocument;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.IRegion;
|
||||
import org.springframework.ide.vscode.commons.util.Renderable;
|
||||
|
||||
import reactor.util.function.Tuple2;
|
||||
|
||||
public interface HoverInfoProvider {
|
||||
|
||||
Tuple2<HoverInfo, IRegion> getHoverInfo(IDocument document, int offset) throws Exception;
|
||||
Tuple2<Renderable, IRegion> getHoverInfo(IDocument document, int offset) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.springframework.ide.vscode.commons.languageserver.util.SimpleLanguage
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService;
|
||||
import org.springframework.ide.vscode.commons.languageserver.util.TextDocument;
|
||||
import org.springframework.ide.vscode.commons.util.Futures;
|
||||
import org.springframework.ide.vscode.commons.util.Renderable;
|
||||
|
||||
import reactor.util.function.Tuple2;
|
||||
|
||||
@@ -49,9 +50,9 @@ public class VscodeHoverEngineAdapter implements VscodeHoverEngine {
|
||||
if (doc!=null) {
|
||||
int offset = doc.toOffset(params.getPosition());
|
||||
|
||||
Tuple2<HoverInfo, IRegion> hoverTuple = hoverInfoProvider.getHoverInfo(doc, offset);
|
||||
Tuple2<Renderable, IRegion> hoverTuple = hoverInfoProvider.getHoverInfo(doc, offset);
|
||||
if (hoverTuple != null) {
|
||||
HoverInfo hoverInfo = hoverTuple.getT1();
|
||||
Renderable hoverInfo = hoverTuple.getT1();
|
||||
IRegion region = hoverTuple.getT2();
|
||||
Range range = doc.toRange(region.getOffset(), region.getLength());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user