diff options
Diffstat (limited to 'editors/code/src')
| -rw-r--r-- | editors/code/src/client.ts | 1 | ||||
| -rw-r--r-- | editors/code/src/ctx.ts | 5 | ||||
| -rw-r--r-- | editors/code/src/lsp_ext.ts | 1 |
3 files changed, 7 insertions, 0 deletions
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<ServerStatusParams>( "experimental/serverStatus" ); +export const openServerLogs = new lc.NotificationType0("rust-analyzer/openServerLogs"); export const reloadWorkspace = new lc.RequestType0<null, void>("rust-analyzer/reloadWorkspace"); |
