aboutsummaryrefslogtreecommitdiff
path: root/crates/gen_lsp_server/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/gen_lsp_server/src/lib.rs')
-rw-r--r--crates/gen_lsp_server/src/lib.rs21
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] 62use failure::{bail, format_err};
63extern crate failure;
64#[macro_use]
65extern crate log;
66extern crate serde;
67extern crate serde_json;
68#[macro_use]
69extern crate serde_derive;
70extern crate crossbeam_channel;
71extern crate languageserver_types;
72 63
73mod msg; 64mod msg;
74mod stdio; 65mod stdio;
@@ -81,7 +72,7 @@ use languageserver_types::{
81}; 72};
82 73
83pub type Result<T> = ::std::result::Result<T, failure::Error>; 74pub type Result<T> = ::std::result::Result<T, failure::Error>;
84pub use { 75pub 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