diff --git a/futures_boxed/src/lib.rs b/futures_boxed/src/lib.rs index 67d35f9b..c076bd93 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 2bf6ee52..cd3abacc 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 42803f0c..cc1200ac 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 226dda41..21d0ffa8 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 a5f29a7d..257d601e 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 e24c8c9e..d36b0a35 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 2fae7419..f1425050 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 649846ea..b942611b 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 e33957e6..60d83125 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 800d2142..9958ad09 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 7136466a..966b8ed7 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 cfa6d045..001b08a4 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 5a8822c3..8d666af9 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 cfde6ce9..7adfe7c3 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 b2221c2f..3e15ddb5 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 d3b10cb9..7209f0f2 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 e4b6ff8c..9be1c06c 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 5ac72b62..d70efc64 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 734bede5..41f98a2c 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 8a657388..a153db24 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 9a38dbd0..79019769 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 d39f5780..38ae365b 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 5b2d4af8..6ed6055a 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 851227ba..c3257cc4 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 9cefb307..5b0c6b20 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 35b88ede..57839a94 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 acc7a43c..2e934861 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 c52e3c4c..577c2a00 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 52d3e4ec..aa2d7779 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 2162f45b..1e7aa940 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 cf298569..4f3d657d 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 2e71dbb4..abda9886 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 1da048c6..8f89d8e2 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 07643599..f80e8818 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 0828531f..c441acf1 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 5ad0df97..5a046778 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 abc37b88..1f21b920 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 0769d1be..4157e4ab 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 54744665..ebc9f1c4 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 424f858a..4d757e32 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 95a796ee..bc2717d1 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 afcde207..aebd82ea 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 f1780d8e..73dc2ae2 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 f42ad4fe..b37c06b0 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 9d232997..d5e8d22e 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 a327c124..bdf4d40a 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 8d48807e..707982b4 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 5a20c579..f049d500 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 7b6ca163..c3209ab8 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 0b4fc188..b6913521 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 4b66c36d..215647f7 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};