From 861781f11c08f5eab641153fb3a3cb4a3d043af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20F=C3=B6rster?= Date: Fri, 3 May 2019 21:39:03 +0200 Subject: [PATCH] Refactor LaTeX module --- src/completion/factory.rs | 1 - src/completion/latex/combinators.rs | 7 ++----- src/completion/latex/data/types.rs | 3 +-- src/completion/latex/label.rs | 3 +-- src/completion/latex/user_command.rs | 3 +-- src/completion/quality.rs | 3 +-- src/definition/latex_citation.rs | 4 +--- src/definition/latex_label.rs | 3 +-- src/folding/latex_environment.rs | 3 +-- src/folding/latex_section.rs | 4 +--- src/highlight/latex_label.rs | 3 +-- src/link/latex_include.rs | 4 +--- src/reference/bibtex_entry.rs | 6 ++---- src/reference/latex_label.rs | 3 +-- src/rename/bibtex_entry.rs | 5 +---- src/rename/latex_command.rs | 4 +--- src/rename/latex_environment.rs | 6 ++---- src/rename/latex_label.rs | 4 +--- src/syntax/latex/mod.rs | 20 +++++++++++++++----- src/workspace.rs | 5 +---- 20 files changed, 36 insertions(+), 58 deletions(-) diff --git a/src/completion/factory.rs b/src/completion/factory.rs index 9d718fc99..62994c85b 100644 --- a/src/completion/factory.rs +++ b/src/completion/factory.rs @@ -1,4 +1,3 @@ -use crate::completion::factory::CompletionItemData::Command; use lsp_types::{CompletionItem, CompletionItemKind, InsertTextFormat}; use serde::{Deserialize, Serialize}; diff --git a/src/completion/latex/combinators.rs b/src/completion/latex/combinators.rs index d2be5a3d0..e58f847f0 100644 --- a/src/completion/latex/combinators.rs +++ b/src/completion/latex/combinators.rs @@ -1,11 +1,8 @@ use crate::feature::FeatureRequest; use crate::range; -use crate::syntax::latex::analysis::environment::ENVIRONMENT_COMMANDS; -use crate::syntax::latex::analysis::finder::{LatexCommandFinder, LatexFinder, LatexNode}; -use crate::syntax::latex::ast::*; -use crate::syntax::text::SyntaxNode; +use crate::syntax::latex::*; use crate::workspace::SyntaxTree; -use lsp_types::{CompletionItem, CompletionParams, Position}; +use lsp_types::{CompletionItem, CompletionParams}; pub struct LatexCombinators; diff --git a/src/completion/latex/data/types.rs b/src/completion/latex/data/types.rs index 73e7dab01..c71de947c 100644 --- a/src/completion/latex/data/types.rs +++ b/src/completion/latex/data/types.rs @@ -1,5 +1,4 @@ -use crate::syntax::latex::analysis::include::LatexIncludeAnalyzer; -use crate::syntax::latex::ast::LatexVisitor; +use crate::syntax::latex::{LatexIncludeAnalyzer, LatexVisitor}; use crate::workspace::{Document, SyntaxTree}; use itertools::Itertools; use serde::{Deserialize, Serialize}; diff --git a/src/completion/latex/label.rs b/src/completion/latex/label.rs index da5479800..15e363d93 100644 --- a/src/completion/latex/label.rs +++ b/src/completion/latex/label.rs @@ -1,8 +1,7 @@ use crate::completion::factory; use crate::completion::latex::combinators::LatexCombinators; use crate::feature::FeatureRequest; -use crate::syntax::latex::analysis::label::*; -use crate::syntax::latex::ast::LatexVisitor; +use crate::syntax::latex::*; use crate::workspace::SyntaxTree; use lsp_types::{CompletionItem, CompletionParams}; diff --git a/src/completion/latex/user_command.rs b/src/completion/latex/user_command.rs index 4b328402c..906b6071c 100644 --- a/src/completion/latex/user_command.rs +++ b/src/completion/latex/user_command.rs @@ -2,8 +2,7 @@ use crate::completion::factory; use crate::completion::factory::LatexComponentId; use crate::completion::latex::combinators::LatexCombinators; use crate::feature::FeatureRequest; -use crate::syntax::latex::analysis::command::LatexCommandAnalyzer; -use crate::syntax::latex::ast::LatexVisitor; +use crate::syntax::latex::{LatexCommandAnalyzer, LatexVisitor}; use crate::syntax::text::SyntaxNode; use crate::workspace::SyntaxTree; use itertools::Itertools; diff --git a/src/completion/quality.rs b/src/completion/quality.rs index 1359c8fcc..d58ac280d 100644 --- a/src/completion/quality.rs +++ b/src/completion/quality.rs @@ -2,8 +2,7 @@ use crate::feature::FeatureRequest; use crate::range; use crate::syntax::bibtex::ast::{BibtexToken, BibtexVisitor}; use crate::syntax::bibtex::finder::{BibtexFinder, BibtexNode}; -use crate::syntax::latex::analysis::finder::{LatexCommandFinder, LatexFinder, LatexNode}; -use crate::syntax::latex::ast::{LatexToken, LatexVisitor}; +use crate::syntax::latex::*; use crate::syntax::text::SyntaxNode; use crate::workspace::{Document, SyntaxTree}; use lsp_types::{CompletionItem, CompletionParams, Position}; diff --git a/src/definition/latex_citation.rs b/src/definition/latex_citation.rs index 93646bcef..53031939d 100644 --- a/src/definition/latex_citation.rs +++ b/src/definition/latex_citation.rs @@ -1,9 +1,7 @@ use crate::feature::FeatureRequest; use crate::range; use crate::syntax::bibtex::ast::BibtexDeclaration; -use crate::syntax::bibtex::BibtexSyntaxTree; -use crate::syntax::latex::analysis::citation::LatexCitationAnalyzer; -use crate::syntax::latex::ast::LatexVisitor; +use crate::syntax::latex::{LatexCitationAnalyzer, LatexVisitor}; use crate::syntax::text::SyntaxNode; use crate::workspace::{Document, SyntaxTree}; use lsp_types::{Location, TextDocumentPositionParams}; diff --git a/src/definition/latex_label.rs b/src/definition/latex_label.rs index ce58270a1..a0fb00332 100644 --- a/src/definition/latex_label.rs +++ b/src/definition/latex_label.rs @@ -1,7 +1,6 @@ use crate::feature::FeatureRequest; use crate::range; -use crate::syntax::latex::analysis::label::{LatexLabelAnalyzer, LatexLabelKind}; -use crate::syntax::latex::ast::LatexVisitor; +use crate::syntax::latex::*; use crate::syntax::text::SyntaxNode; use crate::workspace::{Document, SyntaxTree}; use lsp_types::{Location, TextDocumentPositionParams}; diff --git a/src/folding/latex_environment.rs b/src/folding/latex_environment.rs index e9315a924..bf3e64066 100644 --- a/src/folding/latex_environment.rs +++ b/src/folding/latex_environment.rs @@ -1,6 +1,5 @@ use crate::feature::FeatureRequest; -use crate::syntax::latex::analysis::environment::LatexEnvironmentAnalyzer; -use crate::syntax::latex::ast::LatexVisitor; +use crate::syntax::latex::{LatexEnvironmentAnalyzer, LatexVisitor}; use crate::syntax::text::SyntaxNode; use crate::workspace::SyntaxTree; use lsp_types::{FoldingRange, FoldingRangeKind, FoldingRangeParams}; diff --git a/src/folding/latex_section.rs b/src/folding/latex_section.rs index 9a217ed5c..58c4f4efb 100644 --- a/src/folding/latex_section.rs +++ b/src/folding/latex_section.rs @@ -1,7 +1,5 @@ use crate::feature::FeatureRequest; -use crate::syntax::latex::analysis::section::LatexSectionAnalyzer; -use crate::syntax::latex::ast::LatexVisitor; -use crate::syntax::text::SyntaxNode; +use crate::syntax::latex::{LatexSectionAnalyzer, LatexVisitor, SyntaxNode}; use crate::workspace::SyntaxTree; use lsp_types::{FoldingRange, FoldingRangeKind, FoldingRangeParams}; diff --git a/src/highlight/latex_label.rs b/src/highlight/latex_label.rs index d7ac763ec..6daa74284 100644 --- a/src/highlight/latex_label.rs +++ b/src/highlight/latex_label.rs @@ -1,7 +1,6 @@ use crate::feature::FeatureRequest; use crate::range; -use crate::syntax::latex::analysis::label::{LatexLabel, LatexLabelAnalyzer, LatexLabelKind}; -use crate::syntax::latex::ast::LatexVisitor; +use crate::syntax::latex::*; use crate::syntax::text::SyntaxNode; use crate::workspace::SyntaxTree; use lsp_types::{DocumentHighlight, DocumentHighlightKind, TextDocumentPositionParams}; diff --git a/src/link/latex_include.rs b/src/link/latex_include.rs index fea75d060..5e4571ae8 100644 --- a/src/link/latex_include.rs +++ b/src/link/latex_include.rs @@ -1,7 +1,5 @@ use crate::feature::FeatureRequest; -use crate::syntax::latex::analysis::include::{LatexInclude, LatexIncludeAnalyzer}; -use crate::syntax::latex::ast::LatexVisitor; -use crate::syntax::text::SyntaxNode; +use crate::syntax::latex::*; use crate::workspace::SyntaxTree; use lsp_types::{DocumentLink, DocumentLinkParams}; diff --git a/src/reference/bibtex_entry.rs b/src/reference/bibtex_entry.rs index 414ff74fd..91d2a8647 100644 --- a/src/reference/bibtex_entry.rs +++ b/src/reference/bibtex_entry.rs @@ -1,9 +1,7 @@ use crate::feature::FeatureRequest; use crate::range; -use crate::syntax::bibtex::ast::{BibtexDeclaration, BibtexEntry}; -use crate::syntax::latex::analysis::citation::LatexCitationAnalyzer; -use crate::syntax::latex::ast::LatexVisitor; -use crate::syntax::text::SyntaxNode; +use crate::syntax::bibtex::ast::BibtexDeclaration; +use crate::syntax::latex::{LatexCitationAnalyzer, LatexVisitor, SyntaxNode}; use crate::workspace::SyntaxTree; use lsp_types::{Location, ReferenceParams}; diff --git a/src/reference/latex_label.rs b/src/reference/latex_label.rs index 84c9ef132..ca7936014 100644 --- a/src/reference/latex_label.rs +++ b/src/reference/latex_label.rs @@ -1,7 +1,6 @@ use crate::feature::FeatureRequest; use crate::range; -use crate::syntax::latex::analysis::label::{LatexLabelAnalyzer, LatexLabelKind}; -use crate::syntax::latex::ast::LatexVisitor; +use crate::syntax::latex::{LatexLabelAnalyzer, LatexLabelKind, LatexVisitor}; use crate::workspace::SyntaxTree; use lsp_types::{Location, ReferenceParams}; diff --git a/src/rename/bibtex_entry.rs b/src/rename/bibtex_entry.rs index 9afaab58a..7a9d4987c 100644 --- a/src/rename/bibtex_entry.rs +++ b/src/rename/bibtex_entry.rs @@ -2,10 +2,7 @@ use crate::feature::FeatureRequest; use crate::range; use crate::syntax::bibtex::ast::BibtexDeclaration; use crate::syntax::bibtex::BibtexSyntaxTree; -use crate::syntax::latex::analysis::citation::LatexCitationAnalyzer; -use crate::syntax::latex::ast::LatexVisitor; -use crate::syntax::latex::LatexSyntaxTree; -use crate::syntax::text::SyntaxNode; +use crate::syntax::latex::{LatexCitationAnalyzer, LatexSyntaxTree, LatexVisitor, SyntaxNode}; use crate::workspace::SyntaxTree; use lsp_types::RenameParams; use lsp_types::WorkspaceEdit; diff --git a/src/rename/latex_command.rs b/src/rename/latex_command.rs index 105a842b4..0a78ec7ae 100644 --- a/src/rename/latex_command.rs +++ b/src/rename/latex_command.rs @@ -1,8 +1,6 @@ use crate::feature::FeatureRequest; use crate::range; -use crate::syntax::latex::analysis::command::LatexCommandAnalyzer; -use crate::syntax::latex::ast::LatexVisitor; -use crate::syntax::text::SyntaxNode; +use crate::syntax::latex::{LatexCommandAnalyzer, LatexVisitor, SyntaxNode}; use crate::workspace::SyntaxTree; use lsp_types::{RenameParams, TextEdit, WorkspaceEdit}; use std::collections::HashMap; diff --git a/src/rename/latex_environment.rs b/src/rename/latex_environment.rs index 06a87c51b..9fca16c51 100644 --- a/src/rename/latex_environment.rs +++ b/src/rename/latex_environment.rs @@ -1,10 +1,8 @@ use crate::feature::FeatureRequest; use crate::range; -use crate::syntax::latex::analysis::environment::*; -use crate::syntax::latex::ast::LatexVisitor; -use crate::syntax::text::SyntaxNode; +use crate::syntax::latex::{LatexEnvironmentAnalyzer, LatexVisitor, SyntaxNode}; use crate::workspace::SyntaxTree; -use lsp_types::{Position, RenameParams, TextEdit, WorkspaceEdit}; +use lsp_types::{RenameParams, TextEdit, WorkspaceEdit}; use std::collections::HashMap; pub struct LatexEnvironmentRenameProvider; diff --git a/src/rename/latex_label.rs b/src/rename/latex_label.rs index edd0a3bc9..63ddb6e2b 100644 --- a/src/rename/latex_label.rs +++ b/src/rename/latex_label.rs @@ -1,8 +1,6 @@ use crate::feature::FeatureRequest; use crate::range; -use crate::syntax::latex::analysis::label::LatexLabelAnalyzer; -use crate::syntax::latex::ast::LatexVisitor; -use crate::syntax::text::SyntaxNode; +use crate::syntax::latex::{LatexLabelAnalyzer, LatexVisitor, SyntaxNode}; use crate::workspace::SyntaxTree; use lsp_types::{RenameParams, TextEdit, WorkspaceEdit}; use std::collections::HashMap; diff --git a/src/syntax/latex/mod.rs b/src/syntax/latex/mod.rs index 9b8314e5b..f7cb3c6cb 100644 --- a/src/syntax/latex/mod.rs +++ b/src/syntax/latex/mod.rs @@ -1,12 +1,22 @@ -pub mod analysis; -pub mod ast; -pub mod lexer; -pub mod parser; +mod analysis; +mod ast; +mod lexer; +mod parser; -use crate::syntax::latex::ast::LatexRoot; use crate::syntax::latex::lexer::LatexLexer; use crate::syntax::latex::parser::LatexParser; +pub use crate::syntax::latex::analysis::citation::*; +pub use crate::syntax::latex::analysis::command::*; +pub use crate::syntax::latex::analysis::environment::*; +pub use crate::syntax::latex::analysis::equation::*; +pub use crate::syntax::latex::analysis::finder::*; +pub use crate::syntax::latex::analysis::include::*; +pub use crate::syntax::latex::analysis::label::*; +pub use crate::syntax::latex::analysis::section::*; +pub use crate::syntax::latex::ast::*; +pub use crate::syntax::text::{Span, SyntaxNode}; + #[derive(Debug, PartialEq, Eq, Clone)] pub struct LatexSyntaxTree { pub root: LatexRoot, diff --git a/src/workspace.rs b/src/workspace.rs index 610327e7f..6ef5352b6 100644 --- a/src/workspace.rs +++ b/src/workspace.rs @@ -1,8 +1,5 @@ use crate::syntax::bibtex::BibtexSyntaxTree; -use crate::syntax::latex::analysis::environment::LatexEnvironmentAnalyzer; -use crate::syntax::latex::analysis::include::LatexIncludeAnalyzer; -use crate::syntax::latex::ast::{LatexToken, LatexVisitor}; -use crate::syntax::latex::LatexSyntaxTree; +use crate::syntax::latex::*; use futures::channel::{mpsc, oneshot}; use futures::executor::ThreadPool; use futures::lock::Mutex;