aboutsummaryrefslogtreecommitdiff
path: root/crates/server/src/main.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-09-16 10:54:24 +0100
committerAleksey Kladov <[email protected]>2018-09-16 11:07:39 +0100
commitb5021411a84822cb3f1e3aeffad9550dd15bdeb6 (patch)
tree9dca564f8e51b298dced01c4ce669c756dce3142 /crates/server/src/main.rs
parentba0bfeee12e19da40b5eabc8d0408639af10e96f (diff)
rename all things
Diffstat (limited to 'crates/server/src/main.rs')
-rw-r--r--crates/server/src/main.rs52
1 files changed, 0 insertions, 52 deletions
diff --git a/crates/server/src/main.rs b/crates/server/src/main.rs
deleted file mode 100644
index 968b3b87a..000000000
--- a/crates/server/src/main.rs
+++ /dev/null
@@ -1,52 +0,0 @@
1#[macro_use]
2extern crate log;
3#[macro_use]
4extern crate failure;
5extern crate flexi_logger;
6extern crate gen_lsp_server;
7extern crate m;
8
9use flexi_logger::{Logger, Duplicate};
10use gen_lsp_server::{run_server, stdio_transport};
11use m::Result;
12
13fn main() -> Result<()> {
14 ::std::env::set_var("RUST_BACKTRACE", "short");
15 Logger::with_env_or_str("error")
16 .duplicate_to_stderr(Duplicate::All)
17 .log_to_file()
18 .directory("log")
19 .start()?;
20 info!("lifecycle: server started");
21 match ::std::panic::catch_unwind(|| main_inner()) {
22 Ok(res) => {
23 info!("lifecycle: terminating process with {:?}", res);
24 res
25 }
26 Err(_) => {
27 error!("server panicked");
28 bail!("server panicked")
29 }
30 }
31}
32
33fn main_inner() -> Result<()> {
34 let (receiver, sender, threads) = stdio_transport();
35 let cwd = ::std::env::current_dir()?;
36 run_server(
37 m::server_capabilities(),
38 |params, r, s| {
39 let root = params.root_uri
40 .and_then(|it| it.to_file_path().ok())
41 .unwrap_or(cwd);
42 m::main_loop(false, root, r, s)
43 },
44 receiver,
45 sender,
46 )?;
47 info!("shutting down IO...");
48 threads.join()?;
49 info!("... IO is down");
50 Ok(())
51}
52