From 28ddecf6c99ef23bc96b9eb7bc8ee049f1732e76 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 6 Dec 2018 21:16:37 +0300 Subject: modernize even more --- crates/gen_lsp_server/Cargo.toml | 1 + crates/gen_lsp_server/src/lib.rs | 21 ++++++--------------- crates/gen_lsp_server/src/msg.rs | 19 ++++++++++--------- crates/gen_lsp_server/src/stdio.rs | 3 ++- crates/ra_analysis/src/lib.rs | 8 -------- crates/ra_analysis/tests/tests.rs | 7 ------- crates/ra_cli/src/main.rs | 10 +--------- crates/ra_editor/src/lib.rs | 11 +---------- crates/ra_editor/src/test_utils.rs | 5 +++-- crates/ra_editor/src/typing.rs | 2 +- crates/ra_syntax/src/lib.rs | 4 ---- crates/ra_syntax/src/reparsing.rs | 8 ++++---- 12 files changed, 29 insertions(+), 70 deletions(-) diff --git a/crates/gen_lsp_server/Cargo.toml b/crates/gen_lsp_server/Cargo.toml index cf5c34a88..08b357b1e 100644 --- a/crates/gen_lsp_server/Cargo.toml +++ b/crates/gen_lsp_server/Cargo.toml @@ -1,4 +1,5 @@ [package] +edition = "2018" name = "gen_lsp_server" version = "0.1.0" authors = ["Aleksey Kladov "] 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 @@ //! } //! ``` -#[macro_use] -extern crate failure; -#[macro_use] -extern crate log; -extern crate serde; -extern crate serde_json; -#[macro_use] -extern crate serde_derive; -extern crate crossbeam_channel; -extern crate languageserver_types; +use failure::{bail, format_err}; mod msg; mod stdio; @@ -81,7 +72,7 @@ use languageserver_types::{ }; pub type Result = ::std::result::Result; -pub use { +pub use crate::{ msg::{ErrorCode, RawMessage, RawNotification, RawRequest, RawResponse, RawResponseError}, stdio::{stdio_transport, Threads}, }; @@ -98,18 +89,18 @@ pub fn run_server( sender: Sender, server: impl FnOnce(InitializeParams, &Receiver, &Sender) -> Result<()>, ) -> Result<()> { - info!("lsp server initializes"); + log::info!("lsp server initializes"); let params = initialize(&receiver, &sender, caps)?; - info!("lsp server initialized, serving requests"); + log::info!("lsp server initialized, serving requests"); server(params, &receiver, &sender)?; - info!("lsp server waiting for exit notification"); + log::info!("lsp server waiting for exit notification"); match receiver.recv() { Some(RawMessage::Notification(n)) => n .cast::() .map_err(|n| format_err!("unexpected notification during shutdown: {:?}", n))?, m => bail!("unexpected message during shutdown: {:?}", m), } - info!("lsp server shutdown complete"); + log::info!("lsp server shutdown complete"); Ok(()) } diff --git a/crates/gen_lsp_server/src/msg.rs b/crates/gen_lsp_server/src/msg.rs index e1b27c808..1e5384380 100644 --- a/crates/gen_lsp_server/src/msg.rs +++ b/crates/gen_lsp_server/src/msg.rs @@ -1,10 +1,11 @@ use std::io::{BufRead, Write}; use languageserver_types::{notification::Notification, request::Request}; -use serde::{de::DeserializeOwned, Serialize}; +use serde_derive::{Deserialize, Serialize}; use serde_json::{from_str, from_value, to_string, to_value, Value}; +use failure::{bail, format_err}; -use Result; +use crate::Result; #[derive(Debug, Serialize, Deserialize, Clone)] #[serde(untagged)] @@ -91,7 +92,7 @@ impl RawRequest { pub fn new(id: u64, params: &R::Params) -> RawRequest where R: Request, - R::Params: Serialize, + R::Params: serde::Serialize, { RawRequest { id, @@ -102,7 +103,7 @@ impl RawRequest { pub fn cast(self) -> ::std::result::Result<(u64, R::Params), RawRequest> where R: Request, - R::Params: DeserializeOwned, + R::Params: serde::de::DeserializeOwned, { if self.method != R::METHOD { return Err(self); @@ -117,7 +118,7 @@ impl RawResponse { pub fn ok(id: u64, result: &R::Result) -> RawResponse where R: Request, - R::Result: Serialize, + R::Result: serde::Serialize, { RawResponse { id, @@ -143,7 +144,7 @@ impl RawNotification { pub fn new(params: &N::Params) -> RawNotification where N: Notification, - N::Params: Serialize, + N::Params: serde::Serialize, { RawNotification { method: N::METHOD.to_string(), @@ -153,7 +154,7 @@ impl RawNotification { pub fn cast(self) -> ::std::result::Result where N: Notification, - N::Params: DeserializeOwned, + N::Params: serde::de::DeserializeOwned, { if self.method != N::METHOD { return Err(self); @@ -191,12 +192,12 @@ fn read_msg_text(inp: &mut impl BufRead) -> Result> { buf.resize(size, 0); inp.read_exact(&mut buf)?; let buf = String::from_utf8(buf)?; - debug!("< {}", buf); + log::debug!("< {}", buf); Ok(Some(buf)) } fn write_msg_text(out: &mut impl Write, msg: &str) -> Result<()> { - debug!("> {}", msg); + log::debug!("> {}", msg); write!(out, "Content-Length: {}\r\n\r\n", msg.len())?; out.write_all(msg.as_bytes())?; out.flush()?; diff --git a/crates/gen_lsp_server/src/stdio.rs b/crates/gen_lsp_server/src/stdio.rs index 3d8a1712a..35d8e46d0 100644 --- a/crates/gen_lsp_server/src/stdio.rs +++ b/crates/gen_lsp_server/src/stdio.rs @@ -4,8 +4,9 @@ use std::{ }; use crossbeam_channel::{bounded, Receiver, Sender}; +use failure::bail; -use {RawMessage, Result}; +use crate::{RawMessage, Result}; pub fn stdio_transport() -> (Receiver, Sender, Threads) { let (writer_sender, mut writer_receiver) = bounded::(16); diff --git a/crates/ra_analysis/src/lib.rs b/crates/ra_analysis/src/lib.rs index 90528edfd..4b8b10816 100644 --- a/crates/ra_analysis/src/lib.rs +++ b/crates/ra_analysis/src/lib.rs @@ -1,14 +1,6 @@ //! ra_analyzer crate is the brain of Rust analyzer. It relies on the `salsa` //! crate, which provides and incremental on-demand database of facts. -extern crate fst; -extern crate ra_editor; -extern crate ra_syntax; -extern crate rayon; -extern crate relative_path; -extern crate rustc_hash; -extern crate salsa; - macro_rules! ctry { ($expr:expr) => { match $expr { diff --git a/crates/ra_analysis/tests/tests.rs b/crates/ra_analysis/tests/tests.rs index 71d20dbe9..4ce2c5c85 100644 --- a/crates/ra_analysis/tests/tests.rs +++ b/crates/ra_analysis/tests/tests.rs @@ -1,10 +1,3 @@ -extern crate ra_analysis; -extern crate ra_editor; -extern crate ra_syntax; -extern crate relative_path; -extern crate rustc_hash; -extern crate test_utils; - use ra_syntax::TextRange; use test_utils::assert_eq_dbg; diff --git a/crates/ra_cli/src/main.rs b/crates/ra_cli/src/main.rs index 5ca86df4d..939f7fe77 100644 --- a/crates/ra_cli/src/main.rs +++ b/crates/ra_cli/src/main.rs @@ -1,11 +1,3 @@ -extern crate clap; -#[macro_use] -extern crate failure; -extern crate join_to_string; -extern crate ra_editor; -extern crate ra_syntax; -extern crate tools; - use std::{fs, io::Read, path::Path, time::Instant}; use clap::{App, Arg, SubCommand}; @@ -97,7 +89,7 @@ fn render_test(file: &Path, line: usize) -> Result<(String, String)> { *start_line <= line && line <= *start_line + t.text.lines().count() }); let test = match test { - None => bail!("No test found at line {} at {}", line, file.display()), + None => failure::bail!("No test found at line {} at {}", line, file.display()), Some((_start_line, test)) => test, }; let file = SourceFileNode::parse(&test.text); diff --git a/crates/ra_editor/src/lib.rs b/crates/ra_editor/src/lib.rs index c6b116159..ce080ee97 100644 --- a/crates/ra_editor/src/lib.rs +++ b/crates/ra_editor/src/lib.rs @@ -1,12 +1,3 @@ -extern crate itertools; -extern crate join_to_string; -extern crate ra_syntax; -extern crate rustc_hash; -extern crate superslice; -#[cfg(test)] -#[macro_use] -extern crate test_utils as _test_utils; - mod code_actions; mod edit; mod extend_selection; @@ -154,7 +145,7 @@ pub fn find_node_at_offset<'a, N: AstNode<'a>>( #[cfg(test)] mod tests { use super::*; - use crate::test_utils::{add_cursor, assert_eq_dbg, extract_offset}; + use crate::test_utils::{add_cursor, assert_eq_dbg, extract_offset, assert_eq_text}; #[test] fn test_highlighting() { diff --git a/crates/ra_editor/src/test_utils.rs b/crates/ra_editor/src/test_utils.rs index cbeb6433b..f0a4f250a 100644 --- a/crates/ra_editor/src/test_utils.rs +++ b/crates/ra_editor/src/test_utils.rs @@ -1,7 +1,8 @@ -use crate::LocalEdit; -pub use crate::_test_utils::*; use ra_syntax::{SourceFileNode, TextRange, TextUnit}; +use crate::LocalEdit; +pub use test_utils::*; + pub fn check_action Option>( before: &str, after: &str, diff --git a/crates/ra_editor/src/typing.rs b/crates/ra_editor/src/typing.rs index f894d8392..9703e0371 100644 --- a/crates/ra_editor/src/typing.rs +++ b/crates/ra_editor/src/typing.rs @@ -238,7 +238,7 @@ fn compute_ws(left: SyntaxNodeRef, right: SyntaxNodeRef) -> &'static str { #[cfg(test)] mod tests { use super::*; - use crate::test_utils::{add_cursor, check_action, extract_offset, extract_range}; + use crate::test_utils::{add_cursor, check_action, extract_offset, extract_range, assert_eq_text}; fn check_join_lines(before: &str, after: &str) { check_action(before, after, |file, offset| { diff --git a/crates/ra_syntax/src/lib.rs b/crates/ra_syntax/src/lib.rs index 56c61ae5d..0e5c9baad 100644 --- a/crates/ra_syntax/src/lib.rs +++ b/crates/ra_syntax/src/lib.rs @@ -20,10 +20,6 @@ #![allow(missing_docs)] //#![warn(unreachable_pub)] // rust-lang/rust#47816 -#[cfg(test)] -#[macro_use] -extern crate test_utils; - pub mod algo; pub mod ast; mod lexer; diff --git a/crates/ra_syntax/src/reparsing.rs b/crates/ra_syntax/src/reparsing.rs index ddcb8f6f6..732fb0e4a 100644 --- a/crates/ra_syntax/src/reparsing.rs +++ b/crates/ra_syntax/src/reparsing.rs @@ -179,10 +179,10 @@ fn merge_errors( #[cfg(test)] mod tests { - use super::{ - super::{test_utils::extract_range, text_utils::replace_range, utils::dump_tree, SourceFileNode}, - reparse_block, reparse_leaf, AtomEdit, GreenNode, SyntaxError, SyntaxNodeRef, -}; + use test_utils::{extract_range, assert_eq_text}; + + use crate::{SourceFileNode, text_utils::replace_range, utils::dump_tree }; + use super::*; fn do_check(before: &str, replace_with: &str, reparser: F) where -- cgit v1.2.3