diff options
author | Aleksey Kladov <[email protected]> | 2018-12-06 18:16:37 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2018-12-06 18:16:37 +0000 |
commit | 28ddecf6c99ef23bc96b9eb7bc8ee049f1732e76 (patch) | |
tree | 7912f80008f47e240be2ed8c88f923824409f396 /crates/gen_lsp_server/src/lib.rs | |
parent | f6e8b376d1d21b8b697de5ef1e35a341855202ed (diff) |
modernize even more
Diffstat (limited to 'crates/gen_lsp_server/src/lib.rs')
-rw-r--r-- | crates/gen_lsp_server/src/lib.rs | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/crates/gen_lsp_server/src/lib.rs b/crates/gen_lsp_server/src/lib.rs index 5dab8f408..8779fbf0f 100644 --- a/crates/gen_lsp_server/src/lib.rs +++ b/crates/gen_lsp_server/src/lib.rs | |||
@@ -59,16 +59,7 @@ | |||
59 | //! } | 59 | //! } |
60 | //! ``` | 60 | //! ``` |
61 | 61 | ||
62 | #[macro_use] | 62 | use failure::{bail, format_err}; |
63 | extern crate failure; | ||
64 | #[macro_use] | ||
65 | extern crate log; | ||
66 | extern crate serde; | ||
67 | extern crate serde_json; | ||
68 | #[macro_use] | ||
69 | extern crate serde_derive; | ||
70 | extern crate crossbeam_channel; | ||
71 | extern crate languageserver_types; | ||
72 | 63 | ||
73 | mod msg; | 64 | mod msg; |
74 | mod stdio; | 65 | mod stdio; |
@@ -81,7 +72,7 @@ use languageserver_types::{ | |||
81 | }; | 72 | }; |
82 | 73 | ||
83 | pub type Result<T> = ::std::result::Result<T, failure::Error>; | 74 | pub type Result<T> = ::std::result::Result<T, failure::Error>; |
84 | pub use { | 75 | pub use crate::{ |
85 | msg::{ErrorCode, RawMessage, RawNotification, RawRequest, RawResponse, RawResponseError}, | 76 | msg::{ErrorCode, RawMessage, RawNotification, RawRequest, RawResponse, RawResponseError}, |
86 | stdio::{stdio_transport, Threads}, | 77 | stdio::{stdio_transport, Threads}, |
87 | }; | 78 | }; |
@@ -98,18 +89,18 @@ pub fn run_server( | |||
98 | sender: Sender<RawMessage>, | 89 | sender: Sender<RawMessage>, |
99 | server: impl FnOnce(InitializeParams, &Receiver<RawMessage>, &Sender<RawMessage>) -> Result<()>, | 90 | server: impl FnOnce(InitializeParams, &Receiver<RawMessage>, &Sender<RawMessage>) -> Result<()>, |
100 | ) -> Result<()> { | 91 | ) -> Result<()> { |
101 | info!("lsp server initializes"); | 92 | log::info!("lsp server initializes"); |
102 | let params = initialize(&receiver, &sender, caps)?; | 93 | let params = initialize(&receiver, &sender, caps)?; |
103 | info!("lsp server initialized, serving requests"); | 94 | log::info!("lsp server initialized, serving requests"); |
104 | server(params, &receiver, &sender)?; | 95 | server(params, &receiver, &sender)?; |
105 | info!("lsp server waiting for exit notification"); | 96 | log::info!("lsp server waiting for exit notification"); |
106 | match receiver.recv() { | 97 | match receiver.recv() { |
107 | Some(RawMessage::Notification(n)) => n | 98 | Some(RawMessage::Notification(n)) => n |
108 | .cast::<Exit>() | 99 | .cast::<Exit>() |
109 | .map_err(|n| format_err!("unexpected notification during shutdown: {:?}", n))?, | 100 | .map_err(|n| format_err!("unexpected notification during shutdown: {:?}", n))?, |
110 | m => bail!("unexpected message during shutdown: {:?}", m), | 101 | m => bail!("unexpected message during shutdown: {:?}", m), |
111 | } | 102 | } |
112 | info!("lsp server shutdown complete"); | 103 | log::info!("lsp server shutdown complete"); |
113 | Ok(()) | 104 | Ok(()) |
114 | } | 105 | } |
115 | 106 | ||