From 263b82c6d24b863fe08a03056ca0ed3dd2e6cdcc Mon Sep 17 00:00:00 2001 From: oxalica Date: Tue, 18 Apr 2023 03:36:03 +0800 Subject: [PATCH] Only enable ClientProcessMonitorLayer for Linux --- crates/nil/src/lib.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/crates/nil/src/lib.rs b/crates/nil/src/lib.rs index 3148d4f..b0f55c3 100644 --- a/crates/nil/src/lib.rs +++ b/crates/nil/src/lib.rs @@ -8,7 +8,6 @@ mod server; mod vfs; use anyhow::Result; -use async_lsp::client_monitor::ClientProcessMonitorLayer; use async_lsp::concurrency::ConcurrencyLayer; use async_lsp::server::LifecycleLayer; use async_lsp::stdio::{PipeStdin, PipeStdout}; @@ -83,13 +82,16 @@ pub async fn run_server_stdio() -> Result<()> { } let (frontend, _) = async_lsp::Frontend::new_server(|client| { - ServiceBuilder::new() + let b = ServiceBuilder::new() .layer(TracingLayer::default()) .layer(LifecycleLayer) // TODO: Use `CatchUnwindLayer`. - .layer(ConcurrencyLayer::new(concurrency)) - .layer(ClientProcessMonitorLayer::new(client.clone())) - .service(Server::new_router(client, init_messages)) + .layer(ConcurrencyLayer::new(concurrency)); + #[cfg(target_os = "linux")] + let b = b.layer(async_lsp::client_monitor::ClientProcessMonitorLayer::new( + client.clone(), + )); + b.service(Server::new_router(client, init_messages)) }); let input = BufReader::new(tokio::io::stdin());