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) {