diff --git a/org.eclipse.lsp4e/META-INF/MANIFEST.MF b/org.eclipse.lsp4e/META-INF/MANIFEST.MF
index 64fb3b0a0..1c1ad2820 100644
--- a/org.eclipse.lsp4e/META-INF/MANIFEST.MF
+++ b/org.eclipse.lsp4e/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Language Server Protocol client for Eclipse IDE (Incubation)
Bundle-SymbolicName: org.eclipse.lsp4e;singleton:=true
-Bundle-Version: 0.18.11.qualifier
+Bundle-Version: 0.18.12.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-17
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0",
org.eclipse.equinox.common;bundle-version="3.8.0",
diff --git a/org.eclipse.lsp4e/pom.xml b/org.eclipse.lsp4e/pom.xml
index 006ea7e41..45bd041ce 100644
--- a/org.eclipse.lsp4e/pom.xml
+++ b/org.eclipse.lsp4e/pom.xml
@@ -10,7 +10,7 @@
org.eclipse.lsp4e
eclipse-plugin
- 0.18.11-SNAPSHOT
+ 0.18.12-SNAPSHOT
diff --git a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/LSContentAssistProcessor.java b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/LSContentAssistProcessor.java
index eea37ff9f..764899165 100644
--- a/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/LSContentAssistProcessor.java
+++ b/org.eclipse.lsp4e/src/org/eclipse/lsp4e/operations/completion/LSContentAssistProcessor.java
@@ -137,16 +137,19 @@ public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int
if (isIncomplete) {
anyIncomplete.set(true);
}
+ }).exceptionally(t -> {
+ if (!CancellationUtil.isRequestCancelledException(t)) {
+ LanguageServerPlugin.logError("'%s' LS failed to compute completion items.".formatted(w.serverDefinition.label), t); //$NON-NLS-1$
+ }
+ return null;
}));
cancellationSupport.execute(completionLanguageServersFuture);
this.cancellationSupport = cancellationSupport;
// Wait for the result of all LSP requests 'textDocument/completions', this future will be canceled with the next completion
this.completionLanguageServersFuture.get();
- } catch (ResponseErrorException | ExecutionException | CancellationException e) {
- if (!CancellationUtil.isRequestCancelledException(e)) { // do not report error if the server has cancelled the request
- LanguageServerPlugin.logError(e);
- }
+ } catch (ExecutionException e) {
+ // Ideally exceptions from each LS are handled above and we shouldn't be getting into this block
this.errorMessage = createErrorMessage(offset, e);
return createErrorProposal(offset, e);
} catch (InterruptedException e) {