From a6e4b4297d840e9cfe4bdf373f24da8202f58e2d Mon Sep 17 00:00:00 2001 From: Jason Date: Sun, 3 Apr 2022 12:17:30 +0800 Subject: refactor(lsp): migrate from lspower back to tower-lsp (#14163) --- test_util/src/lsp.rs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'test_util') diff --git a/test_util/src/lsp.rs b/test_util/src/lsp.rs index 1a3104542..c61793f98 100644 --- a/test_util/src/lsp.rs +++ b/test_util/src/lsp.rs @@ -11,8 +11,8 @@ use regex::Regex; use serde::de; use serde::Deserialize; use serde::Serialize; -use serde_json::json; use serde_json::Value; +use serde_json::{json, to_value}; use std::io; use std::io::Write; use std::path::Path; @@ -324,12 +324,20 @@ impl LspClient { V: Serialize, R: de::DeserializeOwned, { - let value = json!({ - "jsonrpc": "2.0", - "id": self.request_id, - "method": method.as_ref(), - "params": params, - }); + let value = if to_value(¶ms).unwrap().is_null() { + json!({ + "jsonrpc": "2.0", + "id": self.request_id, + "method": method.as_ref(), + }) + } else { + json!({ + "jsonrpc": "2.0", + "id": self.request_id, + "method": method.as_ref(), + "params": params, + }) + }; self.write(value)?; self.reader.read_message(|msg| match msg { -- cgit v1.2.3