diff --git a/futures_boxed/src/lib.rs b/futures_boxed/src/lib.rs index 67d35f9b5..c076bd937 100644 --- a/futures_boxed/src/lib.rs +++ b/futures_boxed/src/lib.rs @@ -3,7 +3,7 @@ extern crate proc_macro; -use proc_macro::TokenStream; +use proc_macro::{TokenStream, TokenTree}; use quote::quote; use quote::ToTokens; use std::iter::FromIterator; @@ -15,7 +15,11 @@ pub fn boxed(_attr: TokenStream, item: TokenStream) -> TokenStream { match parse::(item.clone()) { Ok(fn_) => boxed_fn(fn_), Err(_) => { - let item: TokenStream = TokenStream::from_iter(item.into_iter().skip(1)); + let item = TokenStream::from_iter(item.into_iter().filter(|x| match x { + TokenTree::Ident(x) if x.to_string() == "async" => false, + _ => true, + })); + let method: TraitItemMethod = parse(item).unwrap(); boxed_trait_method(method) } @@ -30,6 +34,7 @@ fn boxed_fn(fn_: ItemFn) -> TokenStream { let tokens = quote! { #(#attrs)* #vis #decl { + use futures::future::FutureExt; let task = async move #block; task.boxed() } diff --git a/jsonrpc/src/client.rs b/jsonrpc/src/client.rs index 2bf6ee52d..cd3abaccd 100644 --- a/jsonrpc/src/client.rs +++ b/jsonrpc/src/client.rs @@ -1,6 +1,5 @@ use crate::types::*; use futures::channel::oneshot; -use futures::future::BoxFuture; use futures::lock::Mutex; use futures::prelude::*; use futures_boxed::boxed; @@ -12,8 +11,6 @@ use std::sync::Arc; pub type Result = std::result::Result; -pub type FutureResult<'a, T> = BoxFuture<'a, Result>; - pub trait ResponseHandler { #[boxed] async fn handle(&self, response: Response); diff --git a/jsonrpc_derive/src/lib.rs b/jsonrpc_derive/src/lib.rs index 42803f0c9..cc1200ace 100644 --- a/jsonrpc_derive/src/lib.rs +++ b/jsonrpc_derive/src/lib.rs @@ -3,7 +3,9 @@ extern crate proc_macro; +use proc_macro::TokenStream; use quote::quote; +use std::str::FromStr; use syn::export::TokenStream2; use syn::*; @@ -52,18 +54,12 @@ impl MethodMeta { } #[proc_macro_attribute] -pub fn jsonrpc_method( - _attr: proc_macro::TokenStream, - item: proc_macro::TokenStream, -) -> proc_macro::TokenStream { +pub fn jsonrpc_method(_attr: TokenStream, item: TokenStream) -> TokenStream { item } #[proc_macro_attribute] -pub fn jsonrpc_server( - _attr: proc_macro::TokenStream, - item: proc_macro::TokenStream, -) -> proc_macro::TokenStream { +pub fn jsonrpc_server(_attr: TokenStream, item: TokenStream) -> TokenStream { let impl_: ItemImpl = parse_macro_input!(item); let generics = &impl_.generics; let self_ty = &impl_.self_ty; @@ -75,7 +71,6 @@ pub fn jsonrpc_server( impl #generics jsonrpc::RequestHandler for #self_ty { #[boxed] async fn handle_request(&self, request: jsonrpc::Request) -> jsonrpc::Response { - use futures::prelude::*; use jsonrpc::*; match request.method.as_str() { @@ -99,10 +94,8 @@ pub fn jsonrpc_server( } #[proc_macro_attribute] -pub fn jsonrpc_client( - attr: proc_macro::TokenStream, - item: proc_macro::TokenStream, -) -> proc_macro::TokenStream { +pub fn jsonrpc_client(attr: TokenStream, item: TokenStream) -> TokenStream { + let item = TokenStream::from_str(&item.to_string().replace("async ", "")).unwrap(); let trait_: ItemTrait = parse_macro_input!(item); let trait_ident = &trait_.ident; let stubs = generate_client_stubs(&trait_.items); @@ -113,7 +106,7 @@ pub fn jsonrpc_client( #trait_ pub struct #struct_ident { - client: std::sync::Arc> + client: jsonrpc::Client } impl #struct_ident @@ -122,7 +115,7 @@ pub fn jsonrpc_client( { pub fn new(output: std::sync::Arc>) -> Self { Self { - client: std::sync::Arc::new(jsonrpc::Client::new(output)), + client: jsonrpc::Client::new(output), } } } @@ -138,8 +131,9 @@ pub fn jsonrpc_client( where O: jsonrpc::Output, { - fn handle(&self, response: jsonrpc::Response) -> futures::future::BoxFuture<'_, ()> { - self.client.handle(response) + #[boxed] + async fn handle(&self, response: jsonrpc::Response) -> () { + self.client.handle(response).await } } }; @@ -195,36 +189,24 @@ fn generate_client_stubs(items: &Vec) -> Vec { let mut stubs = Vec::new(); for item in items { let method = unwrap!(item, TraitItem::Method(x) => x); + let attrs = &method.attrs; let sig = &method.sig; let param = unwrap!(&sig.decl.inputs[1], FnArg::Captured(x) => &x.pat); - let meta = MethodMeta::parse(method.attrs.first().unwrap()); + let meta = MethodMeta::parse(attrs.first().unwrap()); let name = &meta.name; let stub = match meta.kind { MethodKind::Request => quote!( + #[boxed] #sig { - use futures::prelude::*; - use jsonrpc::*; - - let client = std::sync::Arc::clone(&self.client); - let task = async move { - let result = client.send_request(#name.to_owned(), #param).await?; - serde_json::from_value(result).map_err(|_| Error::deserialize_error()) - }; - - task.boxed() + let result = self.client.send_request(#name.to_owned(), #param).await?; + serde_json::from_value(result).map_err(|_| jsonrpc::Error::deserialize_error()) } ), MethodKind::Notification => quote!( + #[boxed] #sig { - use futures::prelude::*; - - let client = std::sync::Arc::clone(&self.client); - let task = async move { - self.client.send_notification(#name.to_owned(), #param).await; - }; - - task.boxed() + self.client.send_notification(#name.to_owned(), #param).await } ), }; diff --git a/src/build.rs b/src/build.rs index 226dda41a..21d0ffa88 100644 --- a/src/build.rs +++ b/src/build.rs @@ -1,6 +1,5 @@ use crate::client::LspClient; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::*; use serde::{Deserialize, Serialize}; diff --git a/src/client.rs b/src/client.rs index a5f29a7da..257d601e5 100644 --- a/src/client.rs +++ b/src/client.rs @@ -1,10 +1,8 @@ use crate::diagnostics::LatexLintOptions; use crate::formatting::bibtex::BibtexFormattingOptions; -use futures::future::BoxFuture; use futures::lock::Mutex; -use futures::prelude::*; use futures_boxed::boxed; -use jsonrpc::client::{FutureResult, Result}; +use jsonrpc::client::Result; use jsonrpc_derive::{jsonrpc_client, jsonrpc_method}; use lsp_types::*; use serde::Serialize; @@ -14,22 +12,28 @@ use std::collections::HashMap; #[jsonrpc_client(LatexLspClient)] pub trait LspClient { #[jsonrpc_method("workspace/configuration", kind = "request")] - fn configuration(&self, params: ConfigurationParams) -> FutureResult<'_, serde_json::Value>; + #[boxed] + async fn configuration(&self, params: ConfigurationParams) -> Result; #[jsonrpc_method("window/showMessage", kind = "notification")] - fn show_message(&self, params: ShowMessageParams) -> BoxFuture<'_, ()>; + #[boxed] + async fn show_message(&self, params: ShowMessageParams); #[jsonrpc_method("client/registerCapability", kind = "request")] - fn register_capability(&self, params: RegistrationParams) -> FutureResult<'_, ()>; + #[boxed] + async fn register_capability(&self, params: RegistrationParams) -> Result<()>; #[jsonrpc_method("textDocument/publishDiagnostics", kind = "notification")] - fn publish_diagnostics(&self, params: PublishDiagnosticsParams) -> BoxFuture<'_, ()>; + #[boxed] + async fn publish_diagnostics(&self, params: PublishDiagnosticsParams); #[jsonrpc_method("window/progress", kind = "notification")] - fn progress(&self, params: ProgressParams) -> BoxFuture<'_, ()>; + #[boxed] + async fn progress(&self, params: ProgressParams) -> (); #[jsonrpc_method("window/logMessage", kind = "notification")] - fn log_message(&self, params: LogMessageParams) -> BoxFuture<'_, ()>; + #[boxed] + async fn log_message(&self, params: LogMessageParams) -> (); } #[derive(Debug, PartialEq, Eq, Clone, Default)] diff --git a/src/completion/bibtex/entry_type.rs b/src/completion/bibtex/entry_type.rs index e24c8c9e4..d36b0a354 100644 --- a/src/completion/bibtex/entry_type.rs +++ b/src/completion/bibtex/entry_type.rs @@ -4,7 +4,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::bibtex::BibtexDeclaration; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; diff --git a/src/completion/bibtex/field_name.rs b/src/completion/bibtex/field_name.rs index 2fae7419b..f14250507 100644 --- a/src/completion/bibtex/field_name.rs +++ b/src/completion/bibtex/field_name.rs @@ -4,7 +4,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::bibtex::BibtexNode; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; diff --git a/src/completion/bibtex/kernel_command.rs b/src/completion/bibtex/kernel_command.rs index 649846eaa..b942611b6 100644 --- a/src/completion/bibtex/kernel_command.rs +++ b/src/completion/bibtex/kernel_command.rs @@ -5,7 +5,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::bibtex::BibtexNode; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/argument_symbol.rs b/src/completion/latex/argument_symbol.rs index e33957e6f..60d831259 100644 --- a/src/completion/latex/argument_symbol.rs +++ b/src/completion/latex/argument_symbol.rs @@ -2,7 +2,6 @@ use crate::completion::factory; use crate::completion::latex::combinators::LatexCombinators; use crate::data::symbols::DATABASE; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; diff --git a/src/completion/latex/begin_command.rs b/src/completion/latex/begin_command.rs index 800d21429..9958ad09e 100644 --- a/src/completion/latex/begin_command.rs +++ b/src/completion/latex/begin_command.rs @@ -2,7 +2,6 @@ use crate::completion::factory; use crate::completion::factory::LatexComponentId; use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/citation.rs b/src/completion/latex/citation.rs index 7136466ab..966b8ed77 100644 --- a/src/completion/latex/citation.rs +++ b/src/completion/latex/citation.rs @@ -3,7 +3,6 @@ use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::latex::CITATION_COMMANDS; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; diff --git a/src/completion/latex/color.rs b/src/completion/latex/color.rs index cfa6d0456..001b08a41 100644 --- a/src/completion/latex/color.rs +++ b/src/completion/latex/color.rs @@ -1,7 +1,6 @@ use crate::completion::factory; use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/color_model.rs b/src/completion/latex/color_model.rs index 5a8822c39..8d666af90 100644 --- a/src/completion/latex/color_model.rs +++ b/src/completion/latex/color_model.rs @@ -1,7 +1,6 @@ use crate::completion::factory; use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/command_symbol.rs b/src/completion/latex/command_symbol.rs index cfde6ce95..7adfe7c30 100644 --- a/src/completion/latex/command_symbol.rs +++ b/src/completion/latex/command_symbol.rs @@ -3,7 +3,6 @@ use crate::completion::factory::LatexComponentId; use crate::completion::latex::combinators::LatexCombinators; use crate::data::symbols::DATABASE; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/import.rs b/src/completion/latex/import.rs index b2221c2fc..3e15ddb59 100644 --- a/src/completion/latex/import.rs +++ b/src/completion/latex/import.rs @@ -1,7 +1,6 @@ use crate::completion::factory; use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/include.rs b/src/completion/latex/include.rs index d3b10cb9a..7209f0f2c 100644 --- a/src/completion/latex/include.rs +++ b/src/completion/latex/include.rs @@ -2,7 +2,6 @@ use crate::completion::factory; use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::latex::LatexCommand; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::path::{Path, PathBuf}; diff --git a/src/completion/latex/kernel_command.rs b/src/completion/latex/kernel_command.rs index e4b6ff8c0..9be1c06ca 100644 --- a/src/completion/latex/kernel_command.rs +++ b/src/completion/latex/kernel_command.rs @@ -3,7 +3,6 @@ use crate::completion::factory::LatexComponentId; use crate::completion::latex::combinators::LatexCombinators; use crate::completion::latex::kernel_primitives::KERNEL_COMMANDS; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/kernel_environment.rs b/src/completion/latex/kernel_environment.rs index 5ac72b629..d70efc647 100644 --- a/src/completion/latex/kernel_environment.rs +++ b/src/completion/latex/kernel_environment.rs @@ -3,7 +3,6 @@ use crate::completion::factory::LatexComponentId; use crate::completion::latex::combinators::LatexCombinators; use crate::completion::latex::kernel_primitives::KERNEL_ENVIRONMENTS; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/label.rs b/src/completion/latex/label.rs index 734bede50..41f98a2cf 100644 --- a/src/completion/latex/label.rs +++ b/src/completion/latex/label.rs @@ -3,7 +3,6 @@ use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::latex::*; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/pgf_library.rs b/src/completion/latex/pgf_library.rs index 8a6573887..a153db248 100644 --- a/src/completion/latex/pgf_library.rs +++ b/src/completion/latex/pgf_library.rs @@ -1,7 +1,6 @@ use crate::completion::factory; use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/tikz_command.rs b/src/completion/latex/tikz_command.rs index 9a38dbd03..790197696 100644 --- a/src/completion/latex/tikz_command.rs +++ b/src/completion/latex/tikz_command.rs @@ -2,7 +2,6 @@ use crate::completion::factory; use crate::completion::factory::LatexComponentId; use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/tikz_library.rs b/src/completion/latex/tikz_library.rs index d39f57800..38ae365b2 100644 --- a/src/completion/latex/tikz_library.rs +++ b/src/completion/latex/tikz_library.rs @@ -1,7 +1,6 @@ use crate::completion::factory; use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams}; use std::borrow::Cow; diff --git a/src/completion/latex/user_command.rs b/src/completion/latex/user_command.rs index 5b2d4af8f..6ed6055a8 100644 --- a/src/completion/latex/user_command.rs +++ b/src/completion/latex/user_command.rs @@ -4,7 +4,6 @@ use crate::completion::latex::combinators::LatexCombinators; use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use itertools::Itertools; use lsp_types::{CompletionItem, CompletionParams}; diff --git a/src/completion/mod.rs b/src/completion/mod.rs index 851227ba4..c3257cc4f 100644 --- a/src/completion/mod.rs +++ b/src/completion/mod.rs @@ -23,7 +23,6 @@ use self::latex::tikz_library::LatexTikzLibraryCompletionProvider; use self::latex::user_command::LatexUserCommandCompletionProvider; use self::quality::OrderByQualityCompletionProvider; use crate::feature::{ConcatProvider, FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use itertools::Itertools; use lsp_types::{CompletionItem, CompletionParams}; diff --git a/src/completion/quality.rs b/src/completion/quality.rs index 9cefb3075..5b0c6b20a 100644 --- a/src/completion/quality.rs +++ b/src/completion/quality.rs @@ -4,7 +4,6 @@ use crate::syntax::latex::*; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; use crate::workspace::Document; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{CompletionItem, CompletionParams, Position}; use std::borrow::Cow; diff --git a/src/definition/latex_citation.rs b/src/definition/latex_citation.rs index 35b88edec..57839a94f 100644 --- a/src/definition/latex_citation.rs +++ b/src/definition/latex_citation.rs @@ -3,7 +3,6 @@ use crate::syntax::latex::{LatexCitation, LatexToken}; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; use crate::workspace::Document; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{Location, TextDocumentPositionParams}; diff --git a/src/definition/latex_label.rs b/src/definition/latex_label.rs index acc7a43cb..2e9348614 100644 --- a/src/definition/latex_label.rs +++ b/src/definition/latex_label.rs @@ -3,7 +3,6 @@ use crate::syntax::latex::*; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; use crate::workspace::Document; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{Location, TextDocumentPositionParams}; diff --git a/src/definition/mod.rs b/src/definition/mod.rs index c52e3c4c8..577c2a004 100644 --- a/src/definition/mod.rs +++ b/src/definition/mod.rs @@ -4,7 +4,6 @@ mod latex_label; use self::latex_citation::LatexCitationDefinitionProvider; use self::latex_label::LatexLabelDefinitionProvider; use crate::feature::{ConcatProvider, FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{Location, TextDocumentPositionParams}; diff --git a/src/feature.rs b/src/feature.rs index 52d3e4ecd..aa2d7779d 100644 --- a/src/feature.rs +++ b/src/feature.rs @@ -3,7 +3,6 @@ use crate::resolver::TexResolver; #[cfg(test)] use crate::workspace::WorkspaceBuilder; use crate::workspace::{Document, Workspace}; -use futures::prelude::*; use futures_boxed::boxed; #[cfg(test)] use lsp_types::*; diff --git a/src/folding/bibtex_declaration.rs b/src/folding/bibtex_declaration.rs index 2162f45be..1e7aa940a 100644 --- a/src/folding/bibtex_declaration.rs +++ b/src/folding/bibtex_declaration.rs @@ -2,7 +2,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::bibtex::BibtexDeclaration; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{FoldingRange, FoldingRangeKind, FoldingRangeParams}; diff --git a/src/folding/latex_environment.rs b/src/folding/latex_environment.rs index cf2985691..4f3d657d6 100644 --- a/src/folding/latex_environment.rs +++ b/src/folding/latex_environment.rs @@ -1,7 +1,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{FoldingRange, FoldingRangeKind, FoldingRangeParams}; diff --git a/src/folding/latex_section.rs b/src/folding/latex_section.rs index 2e71dbb48..abda98868 100644 --- a/src/folding/latex_section.rs +++ b/src/folding/latex_section.rs @@ -1,7 +1,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{FoldingRange, FoldingRangeKind, FoldingRangeParams}; diff --git a/src/folding/mod.rs b/src/folding/mod.rs index 1da048c6e..8f89d8e26 100644 --- a/src/folding/mod.rs +++ b/src/folding/mod.rs @@ -6,7 +6,6 @@ use self::bibtex_declaration::BibtexDeclarationFoldingProvider; use self::latex_environment::LatexEnvironmentFoldingProvider; use self::latex_section::LatexSectionFoldingProvider; use crate::feature::{ConcatProvider, FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{FoldingRange, FoldingRangeParams}; diff --git a/src/highlight/latex_label.rs b/src/highlight/latex_label.rs index 076435991..f80e8818b 100644 --- a/src/highlight/latex_label.rs +++ b/src/highlight/latex_label.rs @@ -2,7 +2,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::latex::*; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{DocumentHighlight, DocumentHighlightKind, TextDocumentPositionParams}; diff --git a/src/highlight/mod.rs b/src/highlight/mod.rs index 0828531f8..c441acf12 100644 --- a/src/highlight/mod.rs +++ b/src/highlight/mod.rs @@ -2,7 +2,6 @@ mod latex_label; use self::latex_label::LatexLabelHighlightProvider; use crate::feature::{ConcatProvider, FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{DocumentHighlight, TextDocumentPositionParams}; diff --git a/src/hover/bibtex_entry_type.rs b/src/hover/bibtex_entry_type.rs index 5ad0df97a..5a0467787 100644 --- a/src/hover/bibtex_entry_type.rs +++ b/src/hover/bibtex_entry_type.rs @@ -2,7 +2,6 @@ use crate::data::bibtex_entry_type; use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::*; use std::borrow::Cow; diff --git a/src/hover/bibtex_field.rs b/src/hover/bibtex_field.rs index abc37b882..1f21b920f 100644 --- a/src/hover/bibtex_field.rs +++ b/src/hover/bibtex_field.rs @@ -2,7 +2,6 @@ use crate::data::bibtex_field; use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::bibtex::*; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::*; use std::borrow::Cow; diff --git a/src/hover/latex_citation.rs b/src/hover/latex_citation.rs index 0769d1be0..4157e4ab7 100644 --- a/src/hover/latex_citation.rs +++ b/src/hover/latex_citation.rs @@ -4,7 +4,6 @@ use crate::formatting::bibtex::{BibtexFormattingOptions, BibtexFormattingParams} use crate::syntax::bibtex::BibtexEntry; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{Hover, HoverContents, MarkupContent, MarkupKind, TextDocumentPositionParams}; use std::borrow::Cow; diff --git a/src/hover/latex_component.rs b/src/hover/latex_component.rs index 547446652..ebc9f1c48 100644 --- a/src/hover/latex_component.rs +++ b/src/hover/latex_component.rs @@ -3,7 +3,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::latex::LatexIncludeKind; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{Hover, HoverContents, TextDocumentPositionParams}; diff --git a/src/hover/mod.rs b/src/hover/mod.rs index 424f858a9..4d757e320 100644 --- a/src/hover/mod.rs +++ b/src/hover/mod.rs @@ -8,7 +8,6 @@ use self::bibtex_field::BibtexFieldHoverProvider; use self::latex_citation::LatexCitationHoverProvider; use self::latex_component::LatexComponentHoverProvider; use crate::feature::{ChoiceProvider, FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{Hover, TextDocumentPositionParams}; diff --git a/src/link/latex_include.rs b/src/link/latex_include.rs index 95a796eec..bc2717d1e 100644 --- a/src/link/latex_include.rs +++ b/src/link/latex_include.rs @@ -2,7 +2,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::latex::*; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{DocumentLink, DocumentLinkParams}; diff --git a/src/link/mod.rs b/src/link/mod.rs index afcde207d..aebd82ea1 100644 --- a/src/link/mod.rs +++ b/src/link/mod.rs @@ -2,7 +2,6 @@ mod latex_include; use crate::feature::{ConcatProvider, FeatureProvider, FeatureRequest}; use crate::link::latex_include::LatexIncludeLinkProvider; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{DocumentLink, DocumentLinkParams}; diff --git a/src/reference/bibtex_entry.rs b/src/reference/bibtex_entry.rs index f1780d8e7..73dc2ae2f 100644 --- a/src/reference/bibtex_entry.rs +++ b/src/reference/bibtex_entry.rs @@ -1,7 +1,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{Location, ReferenceParams}; diff --git a/src/reference/latex_label.rs b/src/reference/latex_label.rs index f42ad4fe5..b37c06b0a 100644 --- a/src/reference/latex_label.rs +++ b/src/reference/latex_label.rs @@ -1,7 +1,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::latex::LatexLabelKind; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{Location, ReferenceParams}; diff --git a/src/reference/mod.rs b/src/reference/mod.rs index 9d232997a..d5e8d22e4 100644 --- a/src/reference/mod.rs +++ b/src/reference/mod.rs @@ -4,7 +4,6 @@ mod latex_label; use self::bibtex_entry::BibtexEntryReferenceProvider; use self::latex_label::LatexLabelReferenceProvider; use crate::feature::{ConcatProvider, FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{Location, ReferenceParams}; diff --git a/src/rename/bibtex_entry.rs b/src/rename/bibtex_entry.rs index a327c1249..bdf4d40a6 100644 --- a/src/rename/bibtex_entry.rs +++ b/src/rename/bibtex_entry.rs @@ -3,7 +3,6 @@ use crate::syntax::bibtex::BibtexSyntaxTree; use crate::syntax::latex::LatexSyntaxTree; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::*; use std::borrow::Cow; diff --git a/src/rename/latex_command.rs b/src/rename/latex_command.rs index 8d48807e0..707982b46 100644 --- a/src/rename/latex_command.rs +++ b/src/rename/latex_command.rs @@ -1,7 +1,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{RenameParams, TextEdit, WorkspaceEdit}; use std::borrow::Cow; diff --git a/src/rename/latex_environment.rs b/src/rename/latex_environment.rs index 5a20c579b..f049d5009 100644 --- a/src/rename/latex_environment.rs +++ b/src/rename/latex_environment.rs @@ -1,7 +1,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{RenameParams, TextEdit, WorkspaceEdit}; use std::borrow::Cow; diff --git a/src/rename/latex_label.rs b/src/rename/latex_label.rs index 7b6ca163a..c3209ab82 100644 --- a/src/rename/latex_label.rs +++ b/src/rename/latex_label.rs @@ -1,7 +1,6 @@ use crate::feature::{FeatureProvider, FeatureRequest}; use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{RenameParams, TextEdit, WorkspaceEdit}; use std::borrow::Cow; diff --git a/src/rename/mod.rs b/src/rename/mod.rs index 0b4fc188f..b69135214 100644 --- a/src/rename/mod.rs +++ b/src/rename/mod.rs @@ -8,7 +8,6 @@ use self::latex_command::LatexCommandRenameProvider; use self::latex_environment::LatexEnvironmentRenameProvider; use self::latex_label::LatexLabelRenameProvider; use crate::feature::{ChoiceProvider, FeatureProvider, FeatureRequest}; -use futures::prelude::*; use futures_boxed::boxed; use lsp_types::{RenameParams, WorkspaceEdit}; diff --git a/src/server.rs b/src/server.rs index 4b66c36df..215647f7b 100644 --- a/src/server.rs +++ b/src/server.rs @@ -24,7 +24,6 @@ use crate::syntax::text::SyntaxNode; use crate::syntax::SyntaxTree; use crate::workspace::WorkspaceManager; use futures::lock::Mutex; -use futures::prelude::*; use futures_boxed::boxed; use jsonrpc::server::Result; use jsonrpc_derive::{jsonrpc_method, jsonrpc_server};