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