diff options
Diffstat (limited to 'crates/gen_lsp_server')
-rw-r--r-- | crates/gen_lsp_server/src/lib.rs | 2 | ||||
-rw-r--r-- | crates/gen_lsp_server/src/msg.rs | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/crates/gen_lsp_server/src/lib.rs b/crates/gen_lsp_server/src/lib.rs index a31e90f35..b47db0df4 100644 --- a/crates/gen_lsp_server/src/lib.rs +++ b/crates/gen_lsp_server/src/lib.rs | |||
@@ -21,7 +21,7 @@ use languageserver_types::{ | |||
21 | 21 | ||
22 | pub type Result<T> = ::std::result::Result<T, failure::Error>; | 22 | pub type Result<T> = ::std::result::Result<T, failure::Error>; |
23 | pub use { | 23 | pub use { |
24 | msg::{RawMessage, RawRequest, RawResponse, RawResponseError, RawNotification}, | 24 | msg::{RawMessage, RawRequest, RawResponse, RawResponseError, RawNotification, ErrorCode}, |
25 | stdio::{stdio_transport, Threads}, | 25 | stdio::{stdio_transport, Threads}, |
26 | }; | 26 | }; |
27 | 27 | ||
diff --git a/crates/gen_lsp_server/src/msg.rs b/crates/gen_lsp_server/src/msg.rs index 9426e98ec..533d7da3e 100644 --- a/crates/gen_lsp_server/src/msg.rs +++ b/crates/gen_lsp_server/src/msg.rs | |||
@@ -120,6 +120,16 @@ impl RawResponse { | |||
120 | } | 120 | } |
121 | 121 | ||
122 | impl RawNotification { | 122 | impl RawNotification { |
123 | pub fn new<N>(params: N::Params) -> RawNotification | ||
124 | where | ||
125 | N: Notification, | ||
126 | N::Params: Serialize, | ||
127 | { | ||
128 | RawNotification { | ||
129 | method: N::METHOD.to_string(), | ||
130 | params: to_value(¶ms).unwrap(), | ||
131 | } | ||
132 | } | ||
123 | pub fn cast<N>(self) -> ::std::result::Result<N::Params, RawNotification> | 133 | pub fn cast<N>(self) -> ::std::result::Result<N::Params, RawNotification> |
124 | where | 134 | where |
125 | N: Notification, | 135 | N: Notification, |