From f611a55f386158f2151493043573bf33bd4d53c6 Mon Sep 17 00:00:00 2001 From: Nikolay Rykunov Date: Wed, 17 Dec 2025 19:05:56 +0100 Subject: [PATCH] [dap] LSP-335: Provide lsp server coroutine scope to the command handler GitOrigin-RevId: d6e066b306414b9c16b19a306e55f00cca969419 --- .../com/jetbrains/lsp/implementation/LspHandlers.kt | 4 +++- .../srcCommonMain/com/jetbrains/lsp/implementation/withLsp.kt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fleet/lsp.protocol/srcCommonMain/com/jetbrains/lsp/implementation/LspHandlers.kt b/fleet/lsp.protocol/srcCommonMain/com/jetbrains/lsp/implementation/LspHandlers.kt index d7bcd552de20..ec17a92a32c9 100644 --- a/fleet/lsp.protocol/srcCommonMain/com/jetbrains/lsp/implementation/LspHandlers.kt +++ b/fleet/lsp.protocol/srcCommonMain/com/jetbrains/lsp/implementation/LspHandlers.kt @@ -34,12 +34,14 @@ interface LspHandlersBuilder { class LspHandlerContext( val lspClient: LspClient, + val lspScope: CoroutineScope, ) context(context: LspHandlerContext) val lspClient: LspClient get() = context.lspClient - +context(context: LspHandlerContext) +val lspScope: CoroutineScope get() = context.lspScope class LspRequestHandler( val requestType: RequestType, diff --git a/fleet/lsp.protocol/srcCommonMain/com/jetbrains/lsp/implementation/withLsp.kt b/fleet/lsp.protocol/srcCommonMain/com/jetbrains/lsp/implementation/withLsp.kt index 8d76e8092b5f..07814b83f4a4 100644 --- a/fleet/lsp.protocol/srcCommonMain/com/jetbrains/lsp/implementation/withLsp.kt +++ b/fleet/lsp.protocol/srcCommonMain/com/jetbrains/lsp/implementation/withLsp.kt @@ -99,7 +99,7 @@ suspend fun withLsp( } } - val lspHandlerContext = LspHandlerContext(lspClient) + val lspHandlerContext = LspHandlerContext(lspClient, this) launch(CoroutineName("incoming requests accepter") + createCoroutineContext(lspClient)) { withSupervisor { supervisor ->