Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--editors/code/package.json5
-rw-r--r--editors/code/src/client.ts2
-rw-r--r--editors/code/src/lang_client.ts (renamed from editors/code/src/base_client.ts)6
3 files changed, 11 insertions, 2 deletions
diff --git a/editors/code/package.json b/editors/code/package.json
index 2dde66c970..59f89cebde 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -502,6 +502,11 @@
"default": true,
"type": "boolean"
},
+ "rust-analyzer.showRequestFailedErrorNotification": {
+ "markdownDescription": "Whether to show panic error notifications.",
+ "default": true,
+ "type": "boolean"
+ },
"rust-analyzer.showDependenciesExplorer": {
"markdownDescription": "Whether to show the dependencies view.",
"default": true,
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts
index ed7066a1b7..c27a446b38 100644
--- a/editors/code/src/client.ts
+++ b/editors/code/src/client.ts
@@ -10,7 +10,7 @@ import { type Config, prepareVSCodeConfig } from "./config";
import { randomUUID } from "crypto";
import { sep as pathSeparator } from "path";
import { unwrapUndefinable } from "./undefinable";
-import { RaLanguageClient } from "./base_client";
+import { RaLanguageClient } from "./lang_client";
export interface Env {
[name: string]: string;
diff --git a/editors/code/src/base_client.ts b/editors/code/src/lang_client.ts
index 085920fb66..e28330e6db 100644
--- a/editors/code/src/base_client.ts
+++ b/editors/code/src/lang_client.ts
@@ -1,9 +1,13 @@
import * as lc from "vscode-languageclient/node";
+import * as vscode from "vscode";
export class RaLanguageClient extends lc.LanguageClient {
override error(message: string, data?: any, showNotification?: boolean | "force"): void {
// ignore `Request TYPE failed.` errors
- if (message.startsWith("Request") && message.endsWith("failed.")) {
+ const showError = vscode.workspace
+ .getConfiguration("rust-analyzer")
+ .get("showRequestFailedErrorNotification");
+ if (!showError && message.startsWith("Request") && message.endsWith("failed.")) {
return;
}