aboutsummaryrefslogtreecommitdiff
path: root/crates/gen_lsp_server/src/msg.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/gen_lsp_server/src/msg.rs')
-rw-r--r--crates/gen_lsp_server/src/msg.rs29
1 files changed, 18 insertions, 11 deletions
diff --git a/crates/gen_lsp_server/src/msg.rs b/crates/gen_lsp_server/src/msg.rs
index 7fcac6f6d..e0d0aeab5 100644
--- a/crates/gen_lsp_server/src/msg.rs
+++ b/crates/gen_lsp_server/src/msg.rs
@@ -1,11 +1,8 @@
1use std::io::{BufRead, Write}; 1use std::io::{BufRead, Write};
2 2
3use serde_json::{Value, from_str, to_string, from_value, to_value}; 3use languageserver_types::{notification::Notification, request::Request};
4use serde::{Serialize, de::DeserializeOwned}; 4use serde::{de::DeserializeOwned, Serialize};
5use languageserver_types::{ 5use serde_json::{from_str, from_value, to_string, to_value, Value};
6 request::Request,
7 notification::Notification,
8};
9 6
10use Result; 7use Result;
11 8
@@ -81,7 +78,10 @@ impl RawMessage {
81 #[serde(flatten)] 78 #[serde(flatten)]
82 msg: RawMessage, 79 msg: RawMessage,
83 } 80 }
84 let text = to_string(&JsonRpc { jsonrpc: "2.0", msg: self })?; 81 let text = to_string(&JsonRpc {
82 jsonrpc: "2.0",
83 msg: self,
84 })?;
85 write_msg_text(w, &text)?; 85 write_msg_text(w, &text)?;
86 Ok(()) 86 Ok(())
87 } 87 }
@@ -115,8 +115,9 @@ impl RawRequest {
115 115
116impl RawResponse { 116impl RawResponse {
117 pub fn ok<R>(id: u64, result: &R::Result) -> RawResponse 117 pub fn ok<R>(id: u64, result: &R::Result) -> RawResponse
118 where R: Request, 118 where
119 R::Result: Serialize, 119 R: Request,
120 R::Result: Serialize,
120 { 121 {
121 RawResponse { 122 RawResponse {
122 id, 123 id,
@@ -125,7 +126,11 @@ impl RawResponse {
125 } 126 }
126 } 127 }
127 pub fn err(id: u64, code: i32, message: String) -> RawResponse { 128 pub fn err(id: u64, code: i32, message: String) -> RawResponse {
128 let error = RawResponseError { code, message, data: None }; 129 let error = RawResponseError {
130 code,
131 message,
132 data: None,
133 };
129 RawResponse { 134 RawResponse {
130 id, 135 id,
131 result: None, 136 result: None,
@@ -174,7 +179,9 @@ fn read_msg_text(inp: &mut impl BufRead) -> Result<Option<String>> {
174 } 179 }
175 let mut parts = buf.splitn(2, ": "); 180 let mut parts = buf.splitn(2, ": ");
176 let header_name = parts.next().unwrap(); 181 let header_name = parts.next().unwrap();
177 let header_value = parts.next().ok_or_else(|| format_err!("malformed header: {:?}", buf))?; 182 let header_value = parts
183 .next()
184 .ok_or_else(|| format_err!("malformed header: {:?}", buf))?;
178 if header_name == "Content-Length" { 185 if header_name == "Content-Length" {
179 size = Some(header_value.parse::<usize>()?); 186 size = Some(header_value.parse::<usize>()?);
180 } 187 }