下面列出了怎么用org.eclipse.lsp4j.services.LanguageClientAware的API类实例代码及写法,或者点击链接到github查看源代码。
private static void run(InputStream in, OutputStream out) throws Exception {
LanguageServerImpl server = new LanguageServerImpl();
Launcher<LanguageClient> serverLauncher = LSPLauncher.createServerLauncher(server, in, out);
((LanguageClientAware) server).connect(serverLauncher.getRemoteProxy());
serverLauncher.startListening();
while (true) {
try {
Thread.sleep(100000);
} catch (InterruptedException ex) {
//ignore
}
}
}
@Override
protected void connect(Collection<Object> localServices, LanguageClient remoteProxy) {
localServices.stream()
.filter(LanguageClientAware.class::isInstance)
.forEach(languageClientAware -> ((LanguageClientAware) languageClientAware).connect(remoteProxy));
}
@Override
public void connect(LanguageClient client) {
this.client = client;
((LanguageClientAware) getTextDocumentService()).connect(client);
}
@Override
protected void connect(Collection<Object> localServices, LanguageClient remoteProxy) {
localServices.stream()
.filter(LanguageClientAware.class::isInstance)
.forEach(languageClientAware -> ((LanguageClientAware) languageClientAware).connect(remoteProxy));
}