From b9fe5afb30d00e14aaf5d02ff12a74efb774d4f1 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Mon, 23 Jan 2023 13:10:25 +0100 Subject: Add a 'open server logs' button to the error notification --- editors/code/src/client.ts | 1 + editors/code/src/ctx.ts | 5 +++++ editors/code/src/lsp_ext.ts | 1 + 3 files changed, 7 insertions(+) (limited to 'editors/code') diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts index 1fbe9d4ea03..9335e9abb30 100644 --- a/editors/code/src/client.ts +++ b/editors/code/src/client.ts @@ -316,6 +316,7 @@ class ExperimentalFeatures implements lc.StaticFeature { caps.hoverActions = true; caps.serverStatusNotification = true; caps.colorDiagnosticOutput = true; + caps.openServerLogs = true; caps.commands = { commands: [ "rust-analyzer.runSingle", diff --git a/editors/code/src/ctx.ts b/editors/code/src/ctx.ts index d6cee5c8fc6..1860924c6de 100644 --- a/editors/code/src/ctx.ts +++ b/editors/code/src/ctx.ts @@ -187,6 +187,11 @@ export class Ctx { this.setServerStatus(params) ) ); + this.pushClientCleanup( + this._client.onNotification(ra.openServerLogs, () => { + this.outputChannel!.show(); + }) + ); } return this._client; } diff --git a/editors/code/src/lsp_ext.ts b/editors/code/src/lsp_ext.ts index 29349cc20f5..6ddf83799c0 100644 --- a/editors/code/src/lsp_ext.ts +++ b/editors/code/src/lsp_ext.ts @@ -21,6 +21,7 @@ export interface ServerStatusParams { export const serverStatus = new lc.NotificationType( "experimental/serverStatus" ); +export const openServerLogs = new lc.NotificationType0("rust-analyzer/openServerLogs"); export const reloadWorkspace = new lc.RequestType0("rust-analyzer/reloadWorkspace"); -- cgit 1.4.1-3-g733a5