From a931fb1ef633473e272bb3f9ba86968dd90f44a7 Mon Sep 17 00:00:00 2001 From: Muhammad Mominul Huque Date: Sat, 15 Jun 2019 01:03:17 +0600 Subject: Get rid of failure: gen_lsp_server --- crates/gen_lsp_server/Cargo.toml | 1 - crates/gen_lsp_server/examples/01_gen_lsp_server.rs | 6 ++++-- .../examples/02_gen_lsp_server_with_logging.rs | 6 ++++-- crates/gen_lsp_server/src/lib.rs | 16 ++++++++-------- crates/gen_lsp_server/src/msg.rs | 7 +++---- crates/gen_lsp_server/src/stdio.rs | 5 ++--- 6 files changed, 21 insertions(+), 20 deletions(-) (limited to 'crates/gen_lsp_server') diff --git a/crates/gen_lsp_server/Cargo.toml b/crates/gen_lsp_server/Cargo.toml index fa2fefea5..d375606d0 100644 --- a/crates/gen_lsp_server/Cargo.toml +++ b/crates/gen_lsp_server/Cargo.toml @@ -10,7 +10,6 @@ description = "Generic LSP server scaffold." [dependencies] lsp-types = "0.57.0" log = "0.4.3" -failure = "0.1.4" serde_json = "1.0.34" serde = { version = "1.0.83", features = ["derive"] } crossbeam-channel = "0.3.5" diff --git a/crates/gen_lsp_server/examples/01_gen_lsp_server.rs b/crates/gen_lsp_server/examples/01_gen_lsp_server.rs index 60c581075..bc497f74a 100644 --- a/crates/gen_lsp_server/examples/01_gen_lsp_server.rs +++ b/crates/gen_lsp_server/examples/01_gen_lsp_server.rs @@ -1,3 +1,5 @@ +use std::error::Error; + use crossbeam_channel::{Sender, Receiver}; use lsp_types::{ ServerCapabilities, InitializeParams, @@ -5,7 +7,7 @@ use lsp_types::{ }; use gen_lsp_server::{run_server, stdio_transport, handle_shutdown, RawMessage, RawResponse}; -fn main() -> Result<(), failure::Error> { +fn main() -> Result<(), Box> { let (receiver, sender, io_threads) = stdio_transport(); run_server(ServerCapabilities::default(), receiver, sender, main_loop)?; io_threads.join()?; @@ -16,7 +18,7 @@ fn main_loop( _params: InitializeParams, receiver: &Receiver, sender: &Sender, -) -> Result<(), failure::Error> { +) -> Result<(), Box> { for msg in receiver { match msg { RawMessage::Request(req) => { diff --git a/crates/gen_lsp_server/examples/02_gen_lsp_server_with_logging.rs b/crates/gen_lsp_server/examples/02_gen_lsp_server_with_logging.rs index 27e4f1cbc..1a6174462 100644 --- a/crates/gen_lsp_server/examples/02_gen_lsp_server_with_logging.rs +++ b/crates/gen_lsp_server/examples/02_gen_lsp_server_with_logging.rs @@ -42,6 +42,8 @@ //! {"jsonrpc": "2.0", "method": "exit", "params": null} //! ``` +use std::error::Error; + use crossbeam_channel::{Sender, Receiver}; use lsp_types::{ ServerCapabilities, InitializeParams, @@ -52,7 +54,7 @@ use gen_lsp_server::{ run_server, stdio_transport, handle_shutdown, RawMessage, RawResponse, RawRequest, }; -fn main() -> Result<(), failure::Error> { +fn main() -> Result<(), Box> { // Set up logging. Because `stdio_transport` gets a lock on stdout and stdin, we must have // our logging only write out to stderr. flexi_logger::Logger::with_str("info").start().unwrap(); @@ -75,7 +77,7 @@ fn main_loop( _params: InitializeParams, receiver: &Receiver, sender: &Sender, -) -> Result<(), failure::Error> { +) -> Result<(), Box> { info!("starting example main loop"); for msg in receiver { info!("got msg: {:?}", msg); diff --git a/crates/gen_lsp_server/src/lib.rs b/crates/gen_lsp_server/src/lib.rs index 1cd5a3a7c..7643dcacc 100644 --- a/crates/gen_lsp_server/src/lib.rs +++ b/crates/gen_lsp_server/src/lib.rs @@ -54,7 +54,7 @@ //! } //! ``` -use failure::{bail, format_err}; +use std::error::Error; mod msg; mod stdio; @@ -66,7 +66,7 @@ use lsp_types::{ InitializeParams, InitializeResult, ServerCapabilities, }; -pub type Result = ::std::result::Result; +pub type Result = ::std::result::Result>; pub use crate::{ msg::{ErrorCode, RawMessage, RawNotification, RawRequest, RawResponse, RawResponseError}, stdio::{stdio_transport, Threads}, @@ -92,8 +92,8 @@ pub fn run_server( match receiver.recv() { Ok(RawMessage::Notification(n)) => n .cast::() - .map_err(|n| format_err!("unexpected notification during shutdown: {:?}", n))?, - m => bail!("unexpected message during shutdown: {:?}", m), + .map_err(|n| format!("unexpected notification during shutdown: {:?}", n))?, + m => Err(format!("unexpected message during shutdown: {:?}", m))?, } log::info!("lsp server shutdown complete"); Ok(()) @@ -118,19 +118,19 @@ fn initialize( ) -> Result { let (id, params) = match receiver.recv() { Ok(RawMessage::Request(req)) => match req.cast::() { - Err(req) => bail!("expected initialize request, got {:?}", req), + Err(req) => Err(format!("expected initialize request, got {:?}", req))?, Ok(req) => req, }, - msg => bail!("expected initialize request, got {:?}", msg), + msg => Err(format!("expected initialize request, got {:?}", msg))?, }; let resp = RawResponse::ok::(id, &InitializeResult { capabilities: caps }); sender.send(RawMessage::Response(resp)).unwrap(); match receiver.recv() { Ok(RawMessage::Notification(n)) => { n.cast::() - .map_err(|_| format_err!("expected initialized notification"))?; + .map_err(|_| "expected initialized notification")?; } - _ => bail!("expected initialized notification"), + _ => Err(format!("expected initialized notification"))?, } Ok(params) } diff --git a/crates/gen_lsp_server/src/msg.rs b/crates/gen_lsp_server/src/msg.rs index 1d39ba4bc..8138b84eb 100644 --- a/crates/gen_lsp_server/src/msg.rs +++ b/crates/gen_lsp_server/src/msg.rs @@ -3,7 +3,6 @@ use std::io::{BufRead, Write}; use lsp_types::{notification::Notification, request::Request}; use serde::{Deserialize, Serialize}; use serde_json::{from_str, from_value, to_string, to_value, Value}; -use failure::{bail, format_err}; use crate::Result; @@ -175,7 +174,7 @@ fn read_msg_text(inp: &mut impl BufRead) -> Result> { return Ok(None); } if !buf.ends_with("\r\n") { - bail!("malformed header: {:?}", buf); + Err(format!("malformed header: {:?}", buf))?; } let buf = &buf[..buf.len() - 2]; if buf.is_empty() { @@ -184,12 +183,12 @@ fn read_msg_text(inp: &mut impl BufRead) -> Result> { let mut parts = buf.splitn(2, ": "); let header_name = parts.next().unwrap(); let header_value = - parts.next().ok_or_else(|| format_err!("malformed header: {:?}", buf))?; + parts.next().ok_or_else(|| format!("malformed header: {:?}", buf))?; if header_name == "Content-Length" { size = Some(header_value.parse::()?); } } - let size = size.ok_or_else(|| format_err!("no Content-Length"))?; + let size = size.ok_or("no Content-Length")?; let mut buf = buf.into_bytes(); buf.resize(size, 0); inp.read_exact(&mut buf)?; diff --git a/crates/gen_lsp_server/src/stdio.rs b/crates/gen_lsp_server/src/stdio.rs index 2d6418400..f8931f2dc 100644 --- a/crates/gen_lsp_server/src/stdio.rs +++ b/crates/gen_lsp_server/src/stdio.rs @@ -4,7 +4,6 @@ use std::{ }; use crossbeam_channel::{bounded, Receiver, Sender}; -use failure::bail; use lsp_types::notification::Exit; use crate::{RawMessage, Result}; @@ -48,11 +47,11 @@ impl Threads { pub fn join(self) -> Result<()> { match self.reader.join() { Ok(r) => r?, - Err(_) => bail!("reader panicked"), + Err(_) => Err("reader panicked")?, } match self.writer.join() { Ok(r) => r, - Err(_) => bail!("writer panicked"), + Err(_) => Err("writer panicked")?, } } } -- cgit v1.2.3 From f032eeb05f0b7d77e30cd6c5eea016cc5d649e3f Mon Sep 17 00:00:00 2001 From: Muhammad Mominul Huque Date: Sat, 15 Jun 2019 13:24:02 +0600 Subject: Get rid of failure: ra_batch ra_cli --- crates/gen_lsp_server/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/gen_lsp_server') diff --git a/crates/gen_lsp_server/src/lib.rs b/crates/gen_lsp_server/src/lib.rs index 7643dcacc..7c4fbbee4 100644 --- a/crates/gen_lsp_server/src/lib.rs +++ b/crates/gen_lsp_server/src/lib.rs @@ -66,7 +66,7 @@ use lsp_types::{ InitializeParams, InitializeResult, ServerCapabilities, }; -pub type Result = ::std::result::Result>; +pub type Result = std::result::Result>; pub use crate::{ msg::{ErrorCode, RawMessage, RawNotification, RawRequest, RawResponse, RawResponseError}, stdio::{stdio_transport, Threads}, -- cgit v1.2.3 From ebb40c7f87d58fb74c8f3b4dfcb2704140599d65 Mon Sep 17 00:00:00 2001 From: Muhammad Mominul Huque Date: Sat, 15 Jun 2019 13:37:15 +0600 Subject: cargo format --- crates/gen_lsp_server/src/lib.rs | 3 +-- crates/gen_lsp_server/src/msg.rs | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'crates/gen_lsp_server') diff --git a/crates/gen_lsp_server/src/lib.rs b/crates/gen_lsp_server/src/lib.rs index 7c4fbbee4..8e7697ed4 100644 --- a/crates/gen_lsp_server/src/lib.rs +++ b/crates/gen_lsp_server/src/lib.rs @@ -127,8 +127,7 @@ fn initialize( sender.send(RawMessage::Response(resp)).unwrap(); match receiver.recv() { Ok(RawMessage::Notification(n)) => { - n.cast::() - .map_err(|_| "expected initialized notification")?; + n.cast::().map_err(|_| "expected initialized notification")?; } _ => Err(format!("expected initialized notification"))?, } diff --git a/crates/gen_lsp_server/src/msg.rs b/crates/gen_lsp_server/src/msg.rs index 8138b84eb..2928e4f8b 100644 --- a/crates/gen_lsp_server/src/msg.rs +++ b/crates/gen_lsp_server/src/msg.rs @@ -182,8 +182,7 @@ fn read_msg_text(inp: &mut impl BufRead) -> Result> { } let mut parts = buf.splitn(2, ": "); let header_name = parts.next().unwrap(); - let header_value = - parts.next().ok_or_else(|| format!("malformed header: {:?}", buf))?; + let header_value = parts.next().ok_or_else(|| format!("malformed header: {:?}", buf))?; if header_name == "Content-Length" { size = Some(header_value.parse::()?); } -- cgit v1.2.3 From 125d6e74f71eb71199fe03ea7f6a42cf852a4de2 Mon Sep 17 00:00:00 2001 From: Muhammad Mominul Huque Date: Sat, 15 Jun 2019 13:53:37 +0600 Subject: Fix a doc test --- crates/gen_lsp_server/src/lib.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'crates/gen_lsp_server') diff --git a/crates/gen_lsp_server/src/lib.rs b/crates/gen_lsp_server/src/lib.rs index 8e7697ed4..7ecef83cb 100644 --- a/crates/gen_lsp_server/src/lib.rs +++ b/crates/gen_lsp_server/src/lib.rs @@ -5,11 +5,12 @@ //! Run with `RUST_LOG=gen_lsp_server=debug` to see all the messages. //! //! ```no_run +//! use std::error::Error; //! use crossbeam_channel::{Sender, Receiver}; //! use lsp_types::{ServerCapabilities, InitializeParams, request::{GotoDefinition, GotoDefinitionResponse}}; //! use gen_lsp_server::{run_server, stdio_transport, handle_shutdown, RawMessage, RawResponse}; //! -//! fn main() -> Result<(), failure::Error> { +//! fn main() -> Result<(), Box> { //! let (receiver, sender, io_threads) = stdio_transport(); //! run_server( //! ServerCapabilities::default(), @@ -25,7 +26,7 @@ //! _params: InitializeParams, //! receiver: &Receiver, //! sender: &Sender, -//! ) -> Result<(), failure::Error> { +//! ) -> Result<(), Box> { //! for msg in receiver { //! match msg { //! RawMessage::Request(req) => { -- cgit v1.2.3