下面列出了org.eclipse.lsp4j.PublishDiagnosticsParams#setDiagnostics ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public void releaseStale()
{
//if any files have been removed, they will still appear in this set, so
//clear the errors so that they don't persist
for (URI uri : staleFilesWithProblems)
{
PublishDiagnosticsParams publish = new PublishDiagnosticsParams();
publish.setDiagnostics(new ArrayList<>());
publish.setUri(uri.toString());
if (languageClient != null)
{
languageClient.publishDiagnostics(publish);
}
}
staleFilesWithProblems.clear();
HashSet<URI> temp = newFilesWithProblems;
newFilesWithProblems = staleFilesWithProblems;
staleFilesWithProblems = temp;
}
@Override
public void didClose(DidCloseTextDocumentParams params) {
// remove source from map
sourceTextMap.remove(params.getTextDocument().getUri());
// clear diagnostics
PublishDiagnosticsParams diagnostics = new PublishDiagnosticsParams();
diagnostics.setUri(params.getTextDocument().getUri());
diagnostics.setDiagnostics(new LinkedList<>());
this.client.publishDiagnostics(diagnostics);
// diagnostics
diagnostics(params.getTextDocument().getUri());
}
/** Converts given issues to {@link Diagnostic}s and sends them to LSP client */
public void publishDiagnostics(URI uri, Iterable<? extends LSPIssue> issues) {
if (client != null) {
PublishDiagnosticsParams publishDiagnosticsParams = new PublishDiagnosticsParams();
publishDiagnosticsParams.setUri(uriExtensions.toUriString(uri));
List<Diagnostic> diags = toDiagnostics(issues);
publishDiagnosticsParams.setDiagnostics(diags);
client.publishDiagnostics(publishDiagnosticsParams);
}
}
private void clearProblemsForURI(URI uri)
{
PublishDiagnosticsParams publish = new PublishDiagnosticsParams();
ArrayList<Diagnostic> diagnostics = new ArrayList<>();
publish.setDiagnostics(diagnostics);
publish.setUri(uri.toString());
if (languageClient != null)
{
languageClient.publishDiagnostics(publish);
}
}