Java 类org.eclipse.lsp4j.TextDocumentPositionParams 实例源码
项目:camel-language-server
文件:CamelLanguageServerHoverTest.java
@Test
public void testProvideDocumentationOnHover() throws Exception {
CamelLanguageServer camelLanguageServer = initializeLanguageServer("<from uri=\"ahc:httpUri\" xmlns=\"http://camel.apache.org/schema/spring\"></from>\n");
TextDocumentPositionParams position = new TextDocumentPositionParams(new TextDocumentIdentifier(DUMMY_URI), new Position(0, 13));
CompletableFuture<Hover> hover = camelLanguageServer.getTextDocumentService().hover(position);
assertThat(hover.get().getContents().get(0).getLeft()).isEqualTo(AHC_DOCUMENTATION);
}
项目:vscode-javac
文件:SignatureHelpTest.java
private SignatureHelp doHelp(String file, int row, int column) throws IOException {
TextDocumentIdentifier document = new TextDocumentIdentifier();
document.setUri(FindResource.uri(file).toString());
Position position = new Position();
position.setLine(row - 1);
position.setCharacter(column - 1);
TextDocumentPositionParams p = new TextDocumentPositionParams();
p.setTextDocument(document);
p.setPosition(position);
try {
return server.getTextDocumentService().signatureHelp(p).get();
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException(e);
}
}
项目:eclipse.jdt.ls
文件:CompletionHandler.java
Either<List<CompletionItem>, CompletionList> completion(TextDocumentPositionParams position,
IProgressMonitor monitor) {
List<CompletionItem> completionItems = null;
try {
ICompilationUnit unit = JDTUtils.resolveCompilationUnit(position.getTextDocument().getUri());
completionItems = this.computeContentAssist(unit,
position.getPosition().getLine(),
position.getPosition().getCharacter(), monitor);
} catch (OperationCanceledException ignorable) {
// No need to pollute logs when query is cancelled
monitor.setCanceled(true);
} catch (Exception e) {
JavaLanguageServerPlugin.logException("Problem with codeComplete for " + position.getTextDocument().getUri(), e);
monitor.setCanceled(true);
}
CompletionList $ = new CompletionList();
if (monitor.isCanceled()) {
$.setIsIncomplete(true);
completionItems = null;
JavaLanguageServerPlugin.logInfo("Completion request cancelled");
} else {
JavaLanguageServerPlugin.logInfo("Completion request completed");
}
$.setItems(completionItems == null ? Collections.emptyList() : completionItems);
return Either.forRight($);
}
项目:eclipse.jdt.ls
文件:JDTLanguageServer.java
@Override
public CompletableFuture<Either<List<CompletionItem>, CompletionList>> completion(TextDocumentPositionParams position) {
logInfo(">> document/completion");
CompletionHandler handler = new CompletionHandler();
final IProgressMonitor[] monitors = new IProgressMonitor[1];
CompletableFuture<Either<List<CompletionItem>, CompletionList>> result = computeAsync((cc) -> {
monitors[0] = toMonitor(cc);
if (Boolean.getBoolean(JAVA_LSP_JOIN_ON_COMPLETION)) {
try {
Job.getJobManager().join(DocumentLifeCycleHandler.DOCUMENT_LIFE_CYCLE_JOBS, monitors[0]);
} catch (OperationCanceledException ignorable) {
// No need to pollute logs when query is cancelled
} catch (InterruptedException e) {
JavaLanguageServerPlugin.logException(e.getMessage(), e);
}
}
return handler.completion(position, monitors[0]);
});
result.join();
if (monitors[0].isCanceled()) {
result.cancel(true);
}
return result;
}
项目:eclipse.jdt.ls
文件:JDTLanguageServer.java
@Override
public CompletableFuture<List<? extends Location>> definition(TextDocumentPositionParams position) {
logInfo(">> document/definition");
NavigateToDefinitionHandler handler = new NavigateToDefinitionHandler(this.preferenceManager);
return computeAsync((cc) -> {
IProgressMonitor monitor = toMonitor(cc);
try {
Job.getJobManager().join(DocumentLifeCycleHandler.DOCUMENT_LIFE_CYCLE_JOBS, monitor);
} catch (OperationCanceledException ignorable) {
// No need to pollute logs when query is cancelled
} catch (InterruptedException e) {
JavaLanguageServerPlugin.logException(e.getMessage(), e);
}
return handler.definition(position, toMonitor(cc));
});
}
项目:eclipse.jdt.ls
文件:HoverHandlerTest.java
@Test
public void testHover() throws Exception {
//given
//Hovers on the System.out
String payload = createHoverRequest("src/java/Foo.java", 5, 15);
TextDocumentPositionParams position = getParams(payload);
//when
Hover hover = handler.hover(position, monitor);
//then
assertNotNull(hover);
assertNotNull(hover.getContents());
MarkedString signature = hover.getContents().get(0).getRight();
assertEquals("Unexpected hover " + signature, "java", signature.getLanguage());
assertEquals("Unexpected hover " + signature, "java.Foo", signature.getValue());
String doc = hover.getContents().get(1).getLeft();
assertEquals("Unexpected hover " + doc, "This is foo", doc);
}
项目:eclipse.jdt.ls
文件:HoverHandlerTest.java
@Test
public void testHoverStandalone() throws Exception {
//given
//Hovers on the System.out
URI standalone = Paths.get("projects","maven","salut","src","main","java","java","Foo.java").toUri();
String payload = createHoverRequest(standalone, 10, 71);
TextDocumentPositionParams position = getParams(payload);
//when
Hover hover = handler.hover(position, monitor);
//then
assertNotNull(hover);
assertNotNull(hover.getContents());
MarkedString signature = hover.getContents().get(0).getRight();
assertEquals("Unexpected hover " + signature, "java", signature.getLanguage());
assertEquals("Unexpected hover " + signature, "java.Foo", signature.getValue());
String doc = hover.getContents().get(1).getLeft();
assertEquals("Unexpected hover "+doc, "This is foo", doc);
}
项目:eclipse.jdt.ls
文件:HoverHandlerTest.java
@Test
public void testHoverPackage() throws Exception {
// given
// Hovers on the java.internal package
String payload = createHoverRequest("src/java/Baz.java", 2, 16);
TextDocumentPositionParams position = getParams(payload);
// when
Hover hover = handler.hover(position, monitor);
// then
assertNotNull(hover);
String signature = hover.getContents().get(0).getRight().getValue();//
assertEquals("Unexpected signature ", "java.internal", signature);
String result = hover.getContents().get(1).getLeft();//
assertEquals("Unexpected hover ", "this is a **bold** package!", result);
}
项目:eclipse.jdt.ls
文件:HoverHandlerTest.java
@Test
public void testEmptyHover() throws Exception {
//given
//Hovers on the System.out
URI standalone = Paths.get("projects","maven","salut","src","main","java","java","Foo.java").toUri();
String payload = createHoverRequest(standalone, 1, 2);
TextDocumentPositionParams position = getParams(payload);
//when
Hover hover = handler.hover(position, monitor);
//then
assertNotNull(hover);
assertNotNull(hover.getContents());
assertEquals(1, hover.getContents().size());
assertEquals("Should find empty hover for " + payload, "", hover.getContents().get(0).getLeft());
}
项目:eclipse.jdt.ls
文件:HoverHandlerTest.java
@Test
public void testHoverVariable() throws Exception {
//given
//Hover on args parameter
String argParam = createHoverRequest("src/java/Foo.java", 7, 37);
TextDocumentPositionParams position = getParams(argParam);
//when
Hover hover = handler.hover(position, monitor);
//then
assertNotNull(hover);
assertNotNull(hover.getContents());
MarkedString signature = hover.getContents().get(0).getRight();
assertEquals("Unexpected hover " + signature, "java", signature.getLanguage());
assertEquals("Unexpected hover " + signature, "String[] args - java.Foo.main(String[])", signature.getValue());
}
项目:eclipse.jdt.ls
文件:HoverHandlerTest.java
@Test
public void testHoverOnPackageWithJavadoc() throws Exception {
importProjects("maven/salut2");
project = WorkspaceHelper.getProject("salut2");
handler = new HoverHandler(preferenceManager);
//given
//Hovers on the org.apache.commons import
String payload = createHoverRequest("src/main/java/foo/Bar.java", 2, 22);
TextDocumentPositionParams position = getParams(payload);
//when
Hover hover = handler.hover(position, monitor);
assertNotNull(hover);
String result = hover.getContents().get(0).getRight().getValue();//
assertEquals("Unexpected hover ", "org.apache.commons", result);
assertEquals(logListener.getErrors().toString(), 0, logListener.getErrors().size());
}
项目:eclipse.jdt.ls
文件:HoverHandlerTest.java
@Test
public void testHoverThrowable() throws Exception {
String uriString = ClassFileUtil.getURI(project, "java.lang.Exception");
IClassFile classFile = JDTUtils.resolveClassFile(uriString);
String contents = JavaLanguageServerPlugin.getContentProviderManager().getSource(classFile, monitor);
IDocument document = new Document(contents);
IRegion region = new FindReplaceDocumentAdapter(document).find(0, "Throwable", true, false, false, false);
int offset = region.getOffset();
int line = document.getLineOfOffset(offset);
int character = offset - document.getLineOffset(line);
TextDocumentIdentifier textDocument = new TextDocumentIdentifier(uriString);
Position position = new Position(line, character);
TextDocumentPositionParams params = new TextDocumentPositionParams(textDocument, position);
Hover hover = handler.hover(params, monitor);
assertNotNull(hover);
assertTrue("Unexpected hover ", !hover.getContents().isEmpty());
}
项目:xtext-core
文件:LanguageServerImpl.java
protected Either<List<CompletionItem>, CompletionList> completion(final CancelIndicator origialCancelIndicator, final TextDocumentPositionParams params) {
final LanguageServerImpl.BufferedCancelIndicator cancelIndicator = new LanguageServerImpl.BufferedCancelIndicator(origialCancelIndicator);
final URI uri = this._uriExtensions.toUri(params.getTextDocument().getUri());
final IResourceServiceProvider resourceServiceProvider = this.languagesRegistry.getResourceServiceProvider(uri);
ContentAssistService _get = null;
if (resourceServiceProvider!=null) {
_get=resourceServiceProvider.<ContentAssistService>get(ContentAssistService.class);
}
final ContentAssistService contentAssistService = _get;
if ((contentAssistService == null)) {
CompletionList _completionList = new CompletionList();
return Either.<List<CompletionItem>, CompletionList>forRight(_completionList);
}
final Function2<Document, XtextResource, CompletionList> _function = (Document document, XtextResource resource) -> {
return contentAssistService.createCompletionList(document, resource, params, cancelIndicator);
};
final CompletionList completionList = this.workspaceManager.<CompletionList>doRead(uri, _function);
return Either.<List<CompletionItem>, CompletionList>forRight(completionList);
}
项目:xtext-core
文件:LanguageServerImpl.java
protected List<? extends Location> definition(final CancelIndicator cancelIndicator, final TextDocumentPositionParams params) {
final URI uri = this._uriExtensions.toUri(params.getTextDocument().getUri());
final IResourceServiceProvider resourceServiceProvider = this.languagesRegistry.getResourceServiceProvider(uri);
DocumentSymbolService _get = null;
if (resourceServiceProvider!=null) {
_get=resourceServiceProvider.<DocumentSymbolService>get(DocumentSymbolService.class);
}
final DocumentSymbolService documentSymbolService = _get;
if ((documentSymbolService == null)) {
return CollectionLiterals.<Location>emptyList();
}
final Function2<Document, XtextResource, List<? extends Location>> _function = (Document document, XtextResource resource) -> {
return documentSymbolService.getDefinitions(document, resource, params, this.resourceAccess, cancelIndicator);
};
return this.workspaceManager.<List<? extends Location>>doRead(uri, _function);
}
项目:xtext-core
文件:LanguageServerImpl.java
@Override
public CompletableFuture<Hover> hover(final TextDocumentPositionParams params) {
final Function1<CancelIndicator, Hover> _function = (CancelIndicator cancelIndicator) -> {
final URI uri = this._uriExtensions.toUri(params.getTextDocument().getUri());
final IResourceServiceProvider resourceServiceProvider = this.languagesRegistry.getResourceServiceProvider(uri);
IHoverService _get = null;
if (resourceServiceProvider!=null) {
_get=resourceServiceProvider.<IHoverService>get(IHoverService.class);
}
final IHoverService hoverService = _get;
if ((hoverService == null)) {
return IHoverService.EMPTY_HOVER;
}
final Function2<Document, XtextResource, Hover> _function_1 = (Document document, XtextResource resource) -> {
return hoverService.hover(document, resource, params, cancelIndicator);
};
return this.workspaceManager.<Hover>doRead(uri, _function_1);
};
return this.requestManager.<Hover>runRead(_function);
}
项目:xtext-core
文件:LanguageServerImpl.java
@Override
public CompletableFuture<SignatureHelp> signatureHelp(final TextDocumentPositionParams params) {
final Function1<CancelIndicator, SignatureHelp> _function = (CancelIndicator cancelIndicator) -> {
final URI uri = this._uriExtensions.toUri(params.getTextDocument().getUri());
final IResourceServiceProvider serviceProvider = this.languagesRegistry.getResourceServiceProvider(uri);
ISignatureHelpService _get = null;
if (serviceProvider!=null) {
_get=serviceProvider.<ISignatureHelpService>get(ISignatureHelpService.class);
}
final ISignatureHelpService helper = _get;
if ((helper == null)) {
return ISignatureHelpService.EMPTY;
}
final Function2<Document, XtextResource, SignatureHelp> _function_1 = (Document doc, XtextResource resource) -> {
return helper.getSignatureHelp(doc, resource, params, cancelIndicator);
};
return this.workspaceManager.<SignatureHelp>doRead(uri, _function_1);
};
return this.requestManager.<SignatureHelp>runRead(_function);
}
项目:xtext-core
文件:LanguageServerImpl.java
@Override
public CompletableFuture<List<? extends DocumentHighlight>> documentHighlight(final TextDocumentPositionParams params) {
final Function1<CancelIndicator, List<? extends DocumentHighlight>> _function = (CancelIndicator cancelIndicator) -> {
final URI uri = this._uriExtensions.toUri(params.getTextDocument().getUri());
final IResourceServiceProvider serviceProvider = this.languagesRegistry.getResourceServiceProvider(uri);
IDocumentHighlightService _get = null;
if (serviceProvider!=null) {
_get=serviceProvider.<IDocumentHighlightService>get(IDocumentHighlightService.class);
}
final IDocumentHighlightService service = _get;
if ((service == null)) {
return CollectionLiterals.<DocumentHighlight>emptyList();
}
final Function2<Document, XtextResource, List<? extends DocumentHighlight>> _function_1 = (Document doc, XtextResource resource) -> {
return service.getDocumentHighlights(doc, resource, params, cancelIndicator);
};
return this.workspaceManager.<List<? extends DocumentHighlight>>doRead(uri, _function_1);
};
return this.requestManager.<List<? extends DocumentHighlight>>runRead(_function);
}
项目:lsp4j
文件:LauncherTest.java
@Test public void testRequest() throws Exception {
TextDocumentPositionParams p = new TextDocumentPositionParams();
p.setPosition(new Position(1,1));
p.setTextDocument(new TextDocumentIdentifier("test/foo.txt"));
CompletionList result = new CompletionList();
result.setIsIncomplete(true);
result.setItems(new ArrayList<>());
CompletionItem item = new CompletionItem();
item.setDetail("test");
item.setDocumentation("doc");
item.setFilterText("filter");
item.setInsertText("insert");
item.setKind(CompletionItemKind.Field);
result.getItems().add(item);
server.expectedRequests.put("textDocument/completion", new Pair<>(p, result));
CompletableFuture<Either<List<CompletionItem>, CompletionList>> future = clientLauncher.getRemoteProxy().getTextDocumentService().completion(p);
Assert.assertEquals(Either.forRight(result).toString(), future.get(TIMEOUT, TimeUnit.MILLISECONDS).toString());
client.joinOnEmpty();
}
项目:che
文件:FindDefinitionAction.java
@Override
public void actionPerformed(ActionEvent e) {
EditorPartPresenter activeEditor = editorAgent.getActiveEditor();
TextEditor textEditor = ((TextEditor) activeEditor);
TextDocumentPositionParams paramsDTO =
dtoBuildHelper.createTDPP(textEditor.getDocument(), textEditor.getCursorPosition());
final Promise<List<Location>> promise = client.definition(paramsDTO);
promise
.then(
arg -> {
if (arg.size() == 1) {
presenter.onLocationSelected(arg.get(0));
} else {
presenter.openLocation(promise);
}
})
.catchError(
arg -> {
presenter.showError(arg);
});
}
项目:camel-language-server
文件:CamelLanguageServerHoverTest.java
@Test
public void testDontProvideDocumentationOnHoverForBadPlaces() throws Exception {
CamelLanguageServer camelLanguageServer = initializeLanguageServer("<from uri=\"ahc:httpUri\" xmlns=\"http://camel.apache.org/schema/spring\"></from>\n");
TextDocumentPositionParams position = new TextDocumentPositionParams(new TextDocumentIdentifier(DUMMY_URI), new Position(0, 4));
CompletableFuture<Hover> hover = camelLanguageServer.getTextDocumentService().hover(position);
assertThat(hover.get()).isNull();
}
项目:camel-language-server
文件:AbstractCamelLanguageServerTest.java
protected CompletableFuture<Either<List<CompletionItem>, CompletionList>> getCompletionFor(CamelLanguageServer camelLanguageServer, Position position) {
TextDocumentService textDocumentService = camelLanguageServer.getTextDocumentService();
TextDocumentPositionParams dummyCompletionPositionRequest = new TextDocumentPositionParams(new TextDocumentIdentifier(DUMMY_URI), position);
CompletableFuture<Either<List<CompletionItem>, CompletionList>> completions = textDocumentService.completion(dummyCompletionPositionRequest);
return completions;
}
项目:vscode-javac
文件:CompletionsBase.java
protected List<? extends CompletionItem> items(String file, int row, int column) {
URI uri = FindResource.uri(file);
TextDocumentPositionParams position =
new TextDocumentPositionParams(
new TextDocumentIdentifier(uri.toString()),
uri.toString(),
new Position(row - 1, column - 1));
try {
return server.getTextDocumentService().completion(position).get().getRight().getItems();
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException(e);
}
}
项目:SOMns-vscode
文件:SomLanguageServer.java
@Override
public CompletableFuture<Either<List<CompletionItem>, CompletionList>> completion(
final TextDocumentPositionParams position) {
CompletionList result = som.getCompletions(
position.getTextDocument().getUri(), position.getPosition().getLine(),
position.getPosition().getCharacter());
return CompletableFuture.completedFuture(Either.forRight(result));
}
项目:SOMns-vscode
文件:SomLanguageServer.java
@Override
public CompletableFuture<List<? extends Location>> definition(
final TextDocumentPositionParams position) {
List<? extends Location> result = som.getDefinitions(
position.getTextDocument().getUri(), position.getPosition().getLine(),
position.getPosition().getCharacter());
return CompletableFuture.completedFuture(result);
}
项目:SOMns-vscode
文件:SomLanguageServer.java
@Override
public CompletableFuture<List<? extends DocumentHighlight>> documentHighlight(
final TextDocumentPositionParams position) {
// TODO: this is wrong, it should be something entirely different.
// this feature is about marking the occurrences of a selected element
// like a variable, where it is used.
// so, this should actually return multiple results.
// The spec is currently broken for that.
DocumentHighlight result = som.getHighlight(position.getTextDocument().getUri(),
position.getPosition().getLine() + 1, position.getPosition().getCharacter() + 1);
ArrayList<DocumentHighlight> list = new ArrayList<>(1);
list.add(result);
return CompletableFuture.completedFuture(list);
}
项目:eclipse.jdt.ls
文件:HoverHandler.java
public Hover hover(TextDocumentPositionParams position, IProgressMonitor monitor) {
ITypeRoot unit = JDTUtils.resolveTypeRoot(position.getTextDocument().getUri());
List<Either<String, MarkedString>> content = null;
if (unit != null && !monitor.isCanceled()) {
content = computeHover(unit, position.getPosition().getLine(), position.getPosition().getCharacter(), monitor);
}
Hover $ = new Hover();
$.setContents(content);
return $;
}
项目:eclipse.jdt.ls
文件:SignatureHelpHandler.java
public SignatureHelp signatureHelp(TextDocumentPositionParams position, IProgressMonitor monitor) {
SignatureHelp help = new SignatureHelp();
if (!preferenceManager.getPreferences(null).isSignatureHelpEnabled()) {
return help;
}
try {
ICompilationUnit unit = JDTUtils.resolveCompilationUnit(position.getTextDocument().getUri());
final int offset = JsonRpcHelpers.toOffset(unit.getBuffer(), position.getPosition().getLine(), position.getPosition().getCharacter());
int[] contextInfomation = getContextInfomation(unit.getBuffer(), offset);
if (contextInfomation[0] == -1) {
return help;
}
SignatureHelpRequestor collector = new SignatureHelpRequestor(unit, contextInfomation[0] + 1);
if (offset > -1 && !monitor.isCanceled()) {
unit.codeComplete(contextInfomation[0] + 1, collector, monitor);
help = collector.getSignatureHelp(monitor);
if (help != null) {
int currentParameter = contextInfomation[1];
List<SignatureInformation> infos = help.getSignatures();
for (int i = 0; i < infos.size(); i++) {
if (infos.get(i).getParameters().size() >= currentParameter + 1) {
help.setActiveSignature(i);
help.setActiveParameter(currentParameter);
break;
}
}
}
}
} catch (CoreException ex) {
JavaLanguageServerPlugin.logException("Find signatureHelp failure ", ex);
}
return help;
}
项目:eclipse.jdt.ls
文件:CompletionHandlerTest.java
@Test
public void testCompletion_javadoc() throws Exception {
IJavaProject javaProject = JavaCore.create(project);
ICompilationUnit unit = (ICompilationUnit) javaProject.findElement(new Path("org/sample/TestJavadoc.java"));
unit.becomeWorkingCopy(null);
String joinOnCompletion = System.getProperty(JDTLanguageServer.JAVA_LSP_JOIN_ON_COMPLETION);
try {
System.setProperty(JDTLanguageServer.JAVA_LSP_JOIN_ON_COMPLETION, "true");
int[] loc = findCompletionLocation(unit, "inner.");
TextDocumentPositionParams position = JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]));
String source = unit.getSource();
changeDocument(unit, source, 3);
Job.getJobManager().join(DocumentLifeCycleHandler.DOCUMENT_LIFE_CYCLE_JOBS, new NullProgressMonitor());
changeDocument(unit, source, 4);
CompletionList list = server.completion(position).join().getRight();
for (CompletionItem item : list.getItems()) {
server.resolveCompletionItem(item);
}
CompletionItem resolved = list.getItems().get(0);
assertEquals("Test ", resolved.getDocumentation());
} finally {
unit.discardWorkingCopy();
if (joinOnCompletion == null) {
System.clearProperty(JDTLanguageServer.JAVA_LSP_JOIN_ON_COMPLETION);
} else {
System.setProperty(JDTLanguageServer.JAVA_LSP_JOIN_ON_COMPLETION, joinOnCompletion);
}
}
}
项目:eclipse.jdt.ls
文件:DocumentHighlightHandlerTest.java
@Test
public void testDocumentHighlightHandler() throws Exception {
String uri = ClassFileUtil.getURI(project, "org.sample.Highlight");
TextDocumentIdentifier identifier = new TextDocumentIdentifier(uri);
TextDocumentPositionParams params = new TextDocumentPositionParams(identifier, new Position(5, 10));
List<? extends DocumentHighlight> highlights = handler.documentHighlight(params, monitor);
assertEquals(4, highlights.size());
assertHighlight(highlights.get(0), 5, 9, 15, DocumentHighlightKind.Write);
assertHighlight(highlights.get(1), 6, 2, 8, DocumentHighlightKind.Read);
assertHighlight(highlights.get(2), 7, 2, 8, DocumentHighlightKind.Write);
assertHighlight(highlights.get(3), 8, 2, 8, DocumentHighlightKind.Read);
}
项目:eclipse.jdt.ls
文件:HoverHandlerTest.java
@Test
public void testHoverInheritedJavadoc() throws Exception {
// given
// Hovers on the overriding foo()
String payload = createHoverRequest("src/java/Bar.java", 22, 19);
TextDocumentPositionParams position = getParams(payload);
// when
Hover hover = handler.hover(position, monitor);
// then
assertNotNull(hover);
String result = hover.getContents().get(1).getLeft();//
assertEquals("Unexpected hover ", "This method comes from Foo", result);
}
项目:eclipse.jdt.ls
文件:HoverHandlerTest.java
@Test
public void testHoverUnresolvedType() throws Exception {
importProjects("eclipse/unresolvedtype");
project = WorkspaceHelper.getProject("unresolvedtype");
handler = new HoverHandler(preferenceManager);
//given
//Hovers on the IFoo
String payload = createHoverRequest("src/pckg/Foo.java", 2, 31);
TextDocumentPositionParams position = getParams(payload);
// when
Hover hover = handler.hover(position, monitor);
assertNotNull(hover);
assertTrue("Unexpected hover ", hover.getContents().isEmpty());
}
项目:eclipse.jdt.ls
文件:NavigateToDefinitionHandlerTest.java
@Test
public void testGetEmptyDefinition() throws Exception {
List<? extends Location> definitions = handler.definition(
new TextDocumentPositionParams(new TextDocumentIdentifier("/foo/bar"), new Position(1, 1)), monitor);
assertNotNull(definitions);
assertEquals(1, definitions.size());
assertNotNull("Location has no Range", definitions.get(0).getRange());
}
项目:eclipse.jdt.ls
文件:NavigateToDefinitionHandlerTest.java
private void testClass(String className, int line, int column) throws JavaModelException {
String uri = ClassFileUtil.getURI(project, className);
TextDocumentIdentifier identifier = new TextDocumentIdentifier(uri);
List<? extends Location> definitions = handler
.definition(new TextDocumentPositionParams(identifier, new Position(line, column)), monitor);
assertNotNull(definitions);
assertEquals(1, definitions.size());
assertNotNull(definitions.get(0).getUri());
assertTrue(definitions.get(0).getRange().getStart().getLine() >= 0);
}
项目:xtext-core
文件:AbstractLanguageServerTest.java
protected void testDefinition(final Procedure1<? super DefinitionTestConfiguration> configurator) {
try {
@Extension
final DefinitionTestConfiguration configuration = new DefinitionTestConfiguration();
configuration.setFilePath(("MyModel." + this.fileExtension));
configurator.apply(configuration);
final String fileUri = this.initializeContext(configuration).getUri();
TextDocumentPositionParams _textDocumentPositionParams = new TextDocumentPositionParams();
final Procedure1<TextDocumentPositionParams> _function = (TextDocumentPositionParams it) -> {
TextDocumentIdentifier _textDocumentIdentifier = new TextDocumentIdentifier(fileUri);
it.setTextDocument(_textDocumentIdentifier);
int _line = configuration.getLine();
int _column = configuration.getColumn();
Position _position = new Position(_line, _column);
it.setPosition(_position);
};
TextDocumentPositionParams _doubleArrow = ObjectExtensions.<TextDocumentPositionParams>operator_doubleArrow(_textDocumentPositionParams, _function);
final CompletableFuture<List<? extends Location>> definitionsFuture = this.languageServer.definition(_doubleArrow);
final List<? extends Location> definitions = definitionsFuture.get();
Procedure1<? super List<? extends Location>> _assertDefinitions = configuration.getAssertDefinitions();
boolean _tripleNotEquals = (_assertDefinitions != null);
if (_tripleNotEquals) {
configuration.getAssertDefinitions().apply(definitions);
} else {
final String actualDefinitions = this.toExpectation(definitions);
this.assertEquals(configuration.getExpectedDefinitions(), actualDefinitions);
}
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
项目:xtext-core
文件:ContentAssistService.java
public CompletionList createCompletionList(final Document document, final XtextResource resource, final TextDocumentPositionParams params, final CancelIndicator cancelIndicator) {
try {
final CompletionList result = new CompletionList();
result.setIsIncomplete(true);
final IdeContentProposalAcceptor acceptor = this.proposalAcceptorProvider.get();
final int caretOffset = document.getOffSet(params.getPosition());
final Position caretPosition = params.getPosition();
final TextRegion position = new TextRegion(caretOffset, 0);
try {
this.createProposals(document.getContents(), position, caretOffset, resource, acceptor);
} catch (final Throwable _t) {
if (_t instanceof Throwable) {
final Throwable t = (Throwable)_t;
boolean _isOperationCanceledException = this.operationCanceledManager.isOperationCanceledException(t);
boolean _not = (!_isOperationCanceledException);
if (_not) {
throw t;
}
} else {
throw Exceptions.sneakyThrow(_t);
}
}
final Procedure2<ContentAssistEntry, Integer> _function = (ContentAssistEntry it, Integer idx) -> {
final CompletionItem item = this.toCompletionItem(it, caretOffset, caretPosition, document);
item.setSortText(Strings.padStart(Integer.toString((idx).intValue()), 5, '0'));
List<CompletionItem> _items = result.getItems();
_items.add(item);
};
IterableExtensions.<ContentAssistEntry>forEach(acceptor.getEntries(), _function);
return result;
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
项目:xtext-core
文件:LanguageServerImpl.java
@Override
public CompletableFuture<Either<List<CompletionItem>, CompletionList>> completion(final TextDocumentPositionParams params) {
final Function1<CancelIndicator, Either<List<CompletionItem>, CompletionList>> _function = (CancelIndicator origialCancelIndicator) -> {
return this.completion(origialCancelIndicator, params);
};
return this.requestManager.<Either<List<CompletionItem>, CompletionList>>runRead(_function);
}
项目:xtext-core
文件:LanguageServerImpl.java
@Override
public CompletableFuture<List<? extends Location>> definition(final TextDocumentPositionParams params) {
final Function1<CancelIndicator, List<? extends Location>> _function = (CancelIndicator cancelIndicator) -> {
return this.definition(cancelIndicator, params);
};
return this.requestManager.<List<? extends Location>>runRead(_function);
}
项目:lsp4j
文件:ValidationTest.java
@Test
public void testInvalidCompletion() {
RequestMessage message = new RequestMessage();
message.setJsonrpc("2.0");
message.setId("1");
message.setMethod(MessageMethods.DOC_COMPLETION);
TextDocumentPositionParams params = new TextDocumentPositionParams();
params.setTextDocument(new TextDocumentIdentifier("file:///tmp/foo"));
message.setParams(params);
assertIssues(message, "The accessor 'getPosition' must return a non-null value.");
}
项目:che
文件:DtoBuildHelper.java
public TextDocumentPositionParams createTDPP(Document document, int cursorOffset) {
TextDocumentPositionParams paramsDTO = dtoFactory.createDto(TextDocumentPositionParams.class);
TextDocumentIdentifier identifierDTO = dtoFactory.createDto(TextDocumentIdentifier.class);
identifierDTO.setUri(document.getFile().getLocation().toString());
Position Position = dtoFactory.createDto(Position.class);
TextPosition position = document.getPositionFromIndex(cursorOffset);
Position.setCharacter(position.getCharacter());
Position.setLine(position.getLine());
paramsDTO.setUri(document.getFile().getLocation().toString());
paramsDTO.setTextDocument(identifierDTO);
paramsDTO.setPosition(Position);
return paramsDTO;
}
项目:che
文件:DtoBuildHelper.java
public TextDocumentPositionParams createTDPP(Document document, TextPosition position) {
TextDocumentPositionParams paramsDTO = dtoFactory.createDto(TextDocumentPositionParams.class);
TextDocumentIdentifier identifierDTO = dtoFactory.createDto(TextDocumentIdentifier.class);
identifierDTO.setUri(document.getFile().getLocation().toString());
Position Position = dtoFactory.createDto(Position.class);
Position.setCharacter(position.getCharacter());
Position.setLine(position.getLine());
paramsDTO.setUri(document.getFile().getLocation().toString());
paramsDTO.setTextDocument(identifierDTO);
paramsDTO.setPosition(Position);
return paramsDTO;
}