diff options
Diffstat (limited to 'support/texlab/src/diagnostics/mod.rs')
-rw-r--r-- | support/texlab/src/diagnostics/mod.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/support/texlab/src/diagnostics/mod.rs b/support/texlab/src/diagnostics/mod.rs new file mode 100644 index 0000000000..c738395028 --- /dev/null +++ b/support/texlab/src/diagnostics/mod.rs @@ -0,0 +1,28 @@ +mod bibtex; +mod build; +mod latex; + +use self::bibtex::BibtexDiagnosticsProvider; +pub use self::bibtex::BibtexErrorCode; +use self::build::BuildDiagnosticsProvider; +use self::latex::LatexDiagnosticsProvider; +pub use self::latex::LatexLintOptions; +use crate::workspace::Document; +use lsp_types::Diagnostic; + +#[derive(Debug, PartialEq, Eq, Clone, Default)] +pub struct DiagnosticsManager { + pub build: BuildDiagnosticsProvider, + pub latex: LatexDiagnosticsProvider, + pub bibtex: BibtexDiagnosticsProvider, +} + +impl DiagnosticsManager { + pub fn get(&self, document: &Document) -> Vec<Diagnostic> { + let mut diagnostics = Vec::new(); + diagnostics.append(&mut self.build.get(document)); + diagnostics.append(&mut self.latex.get(document)); + diagnostics.append(&mut self.bibtex.get(document)); + diagnostics + } +} |