(reader: &mut BufReader<tokio::process::ChildStdout>)
| 321 | } |
| 322 | |
| 323 | async fn wait_for_initialize(reader: &mut BufReader<tokio::process::ChildStdout>) -> Result<()> { |
| 324 | loop { |
| 325 | let Some(message) = read_message(reader).await? else { |
| 326 | return Err(TraceDecayError::Config { |
| 327 | message: "LSP server closed before initialize response".to_string(), |
| 328 | }); |
| 329 | }; |
| 330 | if message.id == Some(json!(1)) { |
| 331 | return Ok(()); |
| 332 | } |
| 333 | } |
| 334 | } |
| 335 | |
| 336 | async fn write_message(stdin: &mut tokio::process::ChildStdin, value: Value) -> Result<()> { |
| 337 | let body = serde_json::to_vec(&value).map_err(|e| TraceDecayError::Config { |
no test coverage detected