下面列出了怎么用org.eclipse.lsp4j.FoldingRangeRequestParams的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public CompletableFuture<List<FoldingRange>> foldingRange(FoldingRangeRequestParams params) {
return computeDOMAsync(params.getTextDocument(), (cancelChecker, xmlDocument) -> {
return getXMLLanguageService().getFoldingRanges(xmlDocument, sharedSettings.getFoldingSettings(),
cancelChecker);
});
}
@Override
public CompletableFuture<List<FoldingRange>> foldingRange(FoldingRangeRequestParams params) {
logInfo(">> document/foldingRange");
return computeAsyncWithClientProgress((monitor) -> {
waitForLifecycleJobs(monitor);
return new FoldingRangeHandler().foldingRange(params, monitor);
});
}
public List<FoldingRange> foldingRange(FoldingRangeRequestParams params, IProgressMonitor monitor) {
List<FoldingRange> $ = new ArrayList<>();
ITypeRoot unit = JDTUtils.resolveTypeRoot(params.getTextDocument().getUri());
if (unit == null) {
return $;
}
computeFoldingRanges($, unit, monitor);
return $;
}
@Override
public CompletableFuture<List<FoldingRange>> foldingRange(FoldingRangeRequestParams params) {
logInfo(">> document/foldingRange");
return computeAsync((monitor) -> {
waitForLifecycleJobs(monitor);
return new FoldingRangeHandler().foldingRange(params, monitor);
});
}
private List<FoldingRange> getFoldingRanges(String className) throws CoreException {
String uri = ClassFileUtil.getURI(project, className);
TextDocumentIdentifier identifier = new TextDocumentIdentifier(uri);
FoldingRangeRequestParams params = new FoldingRangeRequestParams();
params.setTextDocument(identifier);
return new FoldingRangeHandler().foldingRange(params, monitor);
}
/**
* The folding range request is sent from the client to the server to return all folding
* ranges found in a given text document.
*
* Since version 3.10.0
*/
@JsonRequest
default CompletableFuture<List<FoldingRange>> foldingRange(FoldingRangeRequestParams params) {
throw new UnsupportedOperationException();
}